Hardland .PVR
-
- Posts: 165
- Joined: Wed Aug 13, 2014 10:00 am
Re: Hardland .PVR
Code: Select all
# Hardland
# PVR to DDS converter
# by MerlinSVK Oct 2014
# script for QuickBMS http://aluigi.org/papers.htm#quickbms
set MEMORY_FILE binary "\x44\x44\x53\x20\x7C\x00\x00\x00\x0F\x10\x02\x00\xAA\xAA\xAA\xAA\xBB\xBB\xBB\xBB\xCC\xCC\xCC\xCC\x00\x00\x00\x00\xDD\xDD\xDD\xDD\x4D\x45\x52\x4C\x49\x4E\x3A\x29\x01\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x41\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\xFF\x00\x00\x00\x00\xFF\x00\x00\x00\x00\xFF\x00\x00\x00\x00\xFF\x08\x10\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
get NAME basename
string HNAME = NAME
string HNAME += ".flag"
string NAME += ".dds"
get FSIZE asize
goto 0x10
get FLAG long
log HNAME 0x10 4 # make a flag file used for DDS -> PVR conversion
goto 0x18
get HEIGHT long
get WIDTH long
goto 0x2C
get MIPS long
goto 0x34
savepos START
math DATASIZE = FSIZE
math DATASIZE -= 0x34
putVarChr MEMORY_FILE 0XC HEIGHT long
putVarChr MEMORY_FILE 0x10 WIDTH long
putVarChr MEMORY_FILE 0x14 DATASIZE long
putVarChr MEMORY_FILE 0x1C MIPS long
append
log MEMORY_FILE START DATASIZE
append
get DDSSIZE asize MEMORY_FILE
log NAME 0 DDSSIZE MEMORY_FILE
Code: Select all
# Hardland
# DDS to PVR converter
# by MerlinSVK Oct 2014
# script for QuickBMS http://aluigi.org/papers.htm#quickbms
set MEMORY_FILE binary "\x50\x56\x52\x03\x00\x00\x00\x00\x72\x67\x62\x61\x08\x08\x08\x08\x00\x00\x00\x00\x00\x00\x00\x00\xAA\xAA\xAA\xAA\xBB\xBB\xBB\xBB\x01\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\xDD\xDD\xDD\xDD\x00\x00\x00\x00"
open FDDE DDS 0
open FDDE FLAG 1 FLAGFILE
get NAME basename 0
if FLAGFILE == 0
print "%NAME%.flag file doesn't exist, quitting..."
cleanexit
else
get FLAG long 1
endif
string NAME += ".pvr_NEW"
goto 0xC
get HEIGHT long
get WIDTH long
get DATASIZE long
goto 0x1C
get MIPS long
append
log MEMORY_FILE 0x80 DATASIZE
append
putVarChr MEMORY_FILE 0x10 FLAG long
putVarChr MEMORY_FILE 0x18 HEIGHT long
putVarChr MEMORY_FILE 0x1C WIDTH long
putVarChr MEMORY_FILE 0x2C MIPS long
get PVRSIZE asize MEMORY_FILE
log NAME 0 PVRSIZE MEMORY_FILE