Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # WAVEBK11
- # Spider Man 2 (Xbox)
- # script for QuickBMS http://quickbms.aluigi.org
- math ADD_RIFF_HEADER = 0
- idstring "WAVEBK"
- goto 0x20
- get NAME string
- goto 0x40
- get FILES long
- get INFO_OFF long
- goto 0x50
- get DUMMY_SIZE long
- get DUMMY_OFF long
- goto 0x60
- get NAMES_SIZE long
- get NAMES_OFF long
- #log MEMORY_FILE3 NAMES_OFF NAMES_SIZE
- goto INFO_OFF
- for i = 0 < FILES
- get NAME_OFF long
- get DUMMY2 long
- get SIZE long
- get DUMMY4 long
- get DUMMY5 long
- get DUMMY6 long
- get DUMMY7 long # -1
- get OFFSET long
- get FREQUENCY long
- get ZERO long
- # goto NAME_OFF MEMORY_FILE3
- # get NAME string MEMORY_FILE3
- if ADD_RIFF_HEADER == 0
- string NAME p= "%d_%d.raw" i FREQUENCY
- log NAME OFFSET SIZE
- else
- string NAME += ".wav"
- math CHANNELS = 2
- callfunction TOIMAWAV 1
- endif
- next i
- startfunction TOIMAWAV
- set MEMORY_FILE binary "\x52\x49\x46\x46\x00\x00\x00\x00\x57\x41\x56\x45\x66\x6d\x74\x20\x14\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x40\x00\x64\x61\x74\x61\x00\x00\x00\x00"
- math BITS = 4
- set RIFFSIZE long SIZE
- math RIFFSIZE += 36
- set BLOCKALIGN long BITS
- xmath BLOCKALIGN "36 * CHANNELS"
- xmath AVGBYTES "(689 * BLOCKALIGN) + 4"
- putvarchr MEMORY_FILE 4 RIFFSIZE long
- putvarchr MEMORY_FILE 20 0x0069 short # wFormatTag (use 0x11 for IMA ADPCM)
- putvarchr MEMORY_FILE 22 CHANNELS short # wChannels
- putvarchr MEMORY_FILE 24 FREQUENCY long # dwSamplesPerSec
- putvarchr MEMORY_FILE 28 AVGBYTES long # dwAvgBytesPerSec
- putvarchr MEMORY_FILE 32 BLOCKALIGN short # wBlockAlign
- putvarchr MEMORY_FILE 34 BITS short # wBitsPerSample
- get MEMORY_FILE_SIZE asize MEMORY_FILE
- xmath TMP "MEMORY_FILE_SIZE - 4"
- putvarchr MEMORY_FILE TMP SIZE long
- log MEMORY_FILE2 0 MEMORY_FILE_SIZE MEMORY_FILE
- append
- log MEMORY_FILE2 OFFSET SIZE
- append
- get RIFF_SIZE asize MEMORY_FILE2
- log NAME 0 RIFF_SIZE MEMORY_FILE2
- endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement