Important information: this site is currently scheduled to go offline indefinitely by end of the year.
Help me extract Bloody Roar 3 .DAT file
-
- ultra-n00b
- Posts: 1
- Joined: Tue Apr 19, 2011 10:34 am
-
- mega-veteran
- Posts: 190
- Joined: Sat Jan 09, 2010 9:37 pm
- Has thanked: 8 times
- Been thanked: 64 times
Re: Help me extract Bloody Roar 3 .DAT file
Here is information about Bloody Roar 3:S0UZ wrote:Help me plz anyone
The main data file is IMAGE00.dat
However the file names are in the
IMAGE00.TBL file.
Here is the format of the IMAGE00.TBL file:
01 00
2Byte#NumberofRealFiles
4Byte#NumberofTotalFiles(in mine it includes the null last file of size zero)
4ByteIntegerOffsetToFileTable (on mine the pointer says 0x18)
4ByteIntegerSizeofASCIITable
4ByteIntegerOffsetToASCIITable
4ByteIntegerOffsetToEndofTBLfile
FileTableArrayFormat:
{4ByteUnknown, 4ByteStartofFile, 4ByteSizeofFile}
(In my file table the last listing is of size zero so a script should account for this to avoid an error because the last dummy file does not have a file name, only the first "NumberofRealFiles" are valid files)
ASCIITableArrayFormat:
File Paths are 0x00 terminated
I accept ALL requests. Let me know your requests.
-
- mega-veteran
- Posts: 190
- Joined: Sat Jan 09, 2010 9:37 pm
- Has thanked: 8 times
- Been thanked: 64 times
Re: Help me extract Bloody Roar 3 .DAT file
I made a QuickBMS script, that will extract the .dat file from Bloody Roar 3. What you do is run this script:
http://ps23dformat.wikispaces.com/file/view/br3.bms
Put both the
IMAGE00.DAT file
and the
IMAGE00.TBL file in the same folder.
Then open the br3.bms file using QuickBMS
http://aluigi.altervista.org/quickbms.htm
First select the .TBL file
Then select where you want the files saved.
http://ps23dformat.wikispaces.com/file/view/br3.bms
Put both the
IMAGE00.DAT file
and the
IMAGE00.TBL file in the same folder.
Then open the br3.bms file using QuickBMS
http://aluigi.altervista.org/quickbms.htm
First select the .TBL file
Then select where you want the files saved.
Code: Select all
<bms games="'Bloody Roar 3'" platforms="'PS2'" ext="DAT">
open FDDE TBL 0
open FDDE DAT 1
ImpType Standard ;
Set D Long 2 ;
GoTo D 0 ;
Get C Int 0 ;
Get D Long 0 ;
Get D Long 0 ;
Get D Long 0 ;
Get D Long 0 ;
Get D Long 0 ;
Get D Long 0 ;
SavePos D 0 ;
Set JF Long 16 ;
GoTo JF 0 ;
Get JF Long 0 ;
GoTo D 0 ;
For T = 1 To C ;
SavePos FOO 0 ;
Get FO Long 0 ;
SavePos D 0 ;
SavePos CSO 0 ;
Get CS Long 0 ;
Get D Long 0 ;
SavePos D 0 ;
GoTo JF 0 ;
Get FN String 0 ;
SavePos JF 0 ;
GoTo D 0 ;
Log FN FO CS 1 ;
Next T ;
</bms>
I accept ALL requests. Let me know your requests.
-
- mega-veteran
- Posts: 190
- Joined: Sat Jan 09, 2010 9:37 pm
- Has thanked: 8 times
- Been thanked: 64 times
Re: Help me extract Bloody Roar 3 .DAT file
Yes, I want to work on this game, the format is complex, I do not know what to make of the models which are contained in the TTM files, but currently I do know most of the format of the Texture files, which have the extension TI, let me make a script, to convert the textures, and I will post the script here.S0UZ wrote:Can anyone make some script for import model into 3ds max or blender plz
I accept ALL requests. Let me know your requests.
-
- mega-veteran
- Posts: 190
- Joined: Sat Jan 09, 2010 9:37 pm
- Has thanked: 8 times
- Been thanked: 64 times
Re: Help me extract Bloody Roar 3 .DAT file
Here is a script that will convert most of the TI files from this game. The only TI files it does not convert, are ones in which the texture count is different then the palate count.
This is a QuickBMS script:
http://ps23dformat.wikispaces.com/file/ ... xtures.bms
Run with the commandprompt the -w must be lowercase:
then when it asks you what other file you want to open just put in a name of a non existing file, say dat.dat.
Then the script will out put several .TXD files.
Use the free program called "PS2TXDViewer" from
http://www.steve-m.com/downloads/tools/txdviewer/
to open the txd files, ignore any error, by just clicking ok, and do not highlight anything but the first texture in each txd, as there is only one texture per txd, highlighting anything else but the first texture will crash the program.
Press control-F to see the texture properly. To extract you must go over to the menu, and press extract several textures, select the first, but uncheck the options.
An example of a converted texture:
Here is the script:
This is a QuickBMS script:
http://ps23dformat.wikispaces.com/file/ ... xtures.bms
Run with the commandprompt the -w must be lowercase:
Code: Select all
D:\black\quickbms\quickbms.exe -w D:\black\quickbms\br3TItotxdtextures.bms D:\black\quickbms\0210.TI D:\black\quickbms
Then the script will out put several .TXD files.
Use the free program called "PS2TXDViewer" from
http://www.steve-m.com/downloads/tools/txdviewer/
to open the txd files, ignore any error, by just clicking ok, and do not highlight anything but the first texture in each txd, as there is only one texture per txd, highlighting anything else but the first texture will crash the program.
Press control-F to see the texture properly. To extract you must go over to the menu, and press extract several textures, select the first, but uncheck the options.
An example of a converted texture:
Here is the script:
Code: Select all
open FDSE ? 1 ;
Get startfile Long 0 ;
Get texcount short 0 ;
Get palcount short 0 ;
Get base Long 0 ;
If texcount != palcount ;
CleanExit ;
EndIf
GoTo startfile 0 ;
SavePos palbase 0 ;
Math Fox = texcount ;
Math Fox *= 16 ;
Math Fox += palbase ;
Math texbase = Fox ;
GoTo texbase 0 ;
SavePos texbase 0 ;
For T = 1 To palcount ;
GoTo 0 1 ;
set M Byte 0x16 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
SavePos TotalSize 1 ;
Put 0 Long 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
set M Byte 0x01 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x04 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
Put palcount Long 1 ;
SavePos Zebra 1 ;
GoTo texbase 0 ;
Get D short 0 ;
Get X short 0 ;
Get Y short 0 ;
Get D short 0 ;
Get totex long 0 ;
GoTo 4 0 SEEK_CUR ;
SavePos texbase 0 ;
GoTo palbase 0 ;
GoTo 8 0 SEEK_CUR ;
Get topal long 0 ;
GoTo 4 0 SEEK_CUR ;
SavePos palbase 0 ;
Math HALFX = X ;
Math HALFX /= 2 ;
Math HALFY = Y ;
Math HALFY /= 2 ;
Math TLONG = X ;
Math TLONG *= Y ;
Math TLONG += 1372 ;
Math XY = X ;
Math XY *= Y ;
Math atex = totex ;
Math atex += base ;
Math apal = topal ;
Math apal += base ;
GoTo Zebra 1 ;
set M Byte 0x15 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
Put TLONG Long 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
set M Byte 0x01 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
set M Byte 0x50 ;
Put M Byte 1 ;
set M Byte 0x53 ;
Put M Byte 1 ;
set M Byte 0x32 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x06 ;
Put M Byte 1 ;
set M Byte 0x11 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x02 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x0C ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
set M Byte 0x45 ;
Put M Byte 1 ;
set M Byte 0x5F ;
Put M Byte 1 ;
set M Byte 0x41 ;
Put M Byte 1 ;
set M Byte 0x30 ;
Put M Byte 1 ;
set M Byte 0x30 ;
Put M Byte 1 ;
set M Byte 0x5F ;
Put M Byte 1 ;
set M Byte 0x36 ;
Put M Byte 1 ;
set M Byte 0x32 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x02 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x04 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x01 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x5A ;
Put M Byte 1 ;
set M Byte 0xE8 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
set M Byte 0x01 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x40 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
Put X Long 1 ;
Put Y Long 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x04 ;
Put M Byte 1 ;
set M Byte 0xB5 ;
Put M Byte 1 ;
set M Byte 0x02 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x80 ;
Put M Byte 1 ;
set M Byte 0x30 ;
Put M Byte 1 ;
set M Byte 0xDD ;
Put M Byte 1 ;
set M Byte 0x05 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x20 ;
Put M Byte 1 ;
set M Byte 0x5C ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x0C ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x40 ;
Put M Byte 1 ;
set M Byte 0x80 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x05 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
set M Byte 0x54 ;
Put M Byte 1 ;
set M Byte 0x80 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x40 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x04 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x40 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x40 ;
Put M Byte 1 ;
set M Byte 0x56 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x50 ;
Put M Byte 1 ;
set M Byte 0x04 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x18 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0xC0 ;
Put M Byte 1 ;
set M Byte 0x0F ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x01 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x90 ;
Put M Byte 1 ;
set M Byte 0x5A ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
set M Byte 0x03 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x10 ;
Put M Byte 1 ;
set M Byte 0x0E ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x51 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
Put HALFX Long 1 ;
Put HALFY Long 1 ;
set M Byte 0x52 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x53 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x04 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
SavePos qqq 1 ;
For Pixel = 1 To XY ;
GoTo atex 0 ;
Get pix Byte 0 ;
SavePos atex 0 ;
GoTo qqq 1 ;
Put pix Byte 1 ;
SavePos qqq 1 ;
Next Pixel ;
GoTo qqq 1 ;
set M Byte 0x03 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x10 ;
Put M Byte 1 ;
set M Byte 0x0E ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x40 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x51 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x20 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x20 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x52 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x53 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x01 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
SavePos qqq 1 ;
For deer = 1 To 1024 ;
GoTo apal 0 ;
Get pix Byte 0 ;
SavePos apal 0 ;
GoTo qqq 1 ;
Put pix Byte 1 ;
SavePos qqq 1 ;
Next deer ;
GoTo qqq 1 ;
set M Byte 0x03 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x10 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
set M Byte 0x10 ;
Put M Byte 1 ;
set M Byte 0x01 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x04 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0xFF ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x08 ;
Put M Byte 1 ;
set M Byte 0xC0 ;
Put M Byte 1 ;
set M Byte 0x0F ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
set M Byte 0x00 ;
Put M Byte 1 ;
SavePos Zebra 1 ;
GoTo TotalSize 1 ;
Put Zebra Long 1 ;
Set NUM long T ;
string QQ = texture. ;
string QQ += NUM ;
string QQ += .TXD ;
Log QQ 0 Zebra 1 ;
For wolfwolf = 0 To Zebra ;
Put 0 Byte 1 ;
Next wolfwolf ;
Next T ;
I accept ALL requests. Let me know your requests.
Re: Help me extract Bloody Roar 3 .DAT file
I had onetime saw you edit pcsx2 to edit texture,does this effect point or vertex of those model?I mean when you edit vertex of 1 model,will you figure out what this file is and what to do with it?Sorry i'm just noob in this,and my request may be too hard,you are the only one who continue in this,so i'm hoping you don't abandon itFurryFan wrote:Yes, I want to work on this game, the format is complex, I do not know what to make of the models which are contained in the TTM files, but currently I do know most of the format of the Texture files, which have the extension TI, let me make a script, to convert the textures, and I will post the script here.S0UZ wrote:Can anyone make some script for import model into 3ds max or blender plz
Re: Help me extract Bloody Roar 3 .DAT file
FurryFan wrote: ↑Wed Aug 29, 2012 1:22 am Here is a script that will convert most of the TI files from this game. The only TI files it does not convert, are ones in which the texture count is different then the palate count.
This is a QuickBMS script:
http://ps23dformat.wikispaces.com/file/ ... xtures.bms
Run with the commandprompt the -w must be lowercase:then when it asks you what other file you want to open just put in a name of a non existing file, say dat.dat.Code: Select all
D:\black\quickbms\quickbms.exe -w D:\black\quickbms\br3TItotxdtextures.bms D:\black\quickbms\0210.TI D:\black\quickbms
Then the script will out put several .TXD files.
Use the free program called "PS2TXDViewer" from
http://www.steve-m.com/downloads/tools/txdviewer/
to open the txd files, ignore any error, by just clicking ok, and do not highlight anything but the first texture in each txd, as there is only one texture per txd, highlighting anything else but the first texture will crash the program.
Press control-F to see the texture properly. To extract you must go over to the menu, and press extract several textures, select the first, but uncheck the options.
An example of a converted texture:
Here is the script:Code: Select all
open FDSE ? 1 ; Get startfile Long 0 ; Get texcount short 0 ; Get palcount short 0 ; Get base Long 0 ; If texcount != palcount ; CleanExit ; EndIf GoTo startfile 0 ; SavePos palbase 0 ; Math Fox = texcount ; Math Fox *= 16 ; Math Fox += palbase ; Math texbase = Fox ; GoTo texbase 0 ; SavePos texbase 0 ; For T = 1 To palcount ; GoTo 0 1 ; set M Byte 0x16 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; SavePos TotalSize 1 ; Put 0 Long 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; set M Byte 0x01 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x04 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; Put palcount Long 1 ; SavePos Zebra 1 ; GoTo texbase 0 ; Get D short 0 ; Get X short 0 ; Get Y short 0 ; Get D short 0 ; Get totex long 0 ; GoTo 4 0 SEEK_CUR ; SavePos texbase 0 ; GoTo palbase 0 ; GoTo 8 0 SEEK_CUR ; Get topal long 0 ; GoTo 4 0 SEEK_CUR ; SavePos palbase 0 ; Math HALFX = X ; Math HALFX /= 2 ; Math HALFY = Y ; Math HALFY /= 2 ; Math TLONG = X ; Math TLONG *= Y ; Math TLONG += 1372 ; Math XY = X ; Math XY *= Y ; Math atex = totex ; Math atex += base ; Math apal = topal ; Math apal += base ; GoTo Zebra 1 ; set M Byte 0x15 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; Put TLONG Long 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; set M Byte 0x01 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; set M Byte 0x50 ; Put M Byte 1 ; set M Byte 0x53 ; Put M Byte 1 ; set M Byte 0x32 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x06 ; Put M Byte 1 ; set M Byte 0x11 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x02 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x0C ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; set M Byte 0x45 ; Put M Byte 1 ; set M Byte 0x5F ; Put M Byte 1 ; set M Byte 0x41 ; Put M Byte 1 ; set M Byte 0x30 ; Put M Byte 1 ; set M Byte 0x30 ; Put M Byte 1 ; set M Byte 0x5F ; Put M Byte 1 ; set M Byte 0x36 ; Put M Byte 1 ; set M Byte 0x32 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x02 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x04 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x01 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x5A ; Put M Byte 1 ; set M Byte 0xE8 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; set M Byte 0x01 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x40 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; Put X Long 1 ; Put Y Long 1 ; set M Byte 0x08 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x04 ; Put M Byte 1 ; set M Byte 0xB5 ; Put M Byte 1 ; set M Byte 0x02 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x80 ; Put M Byte 1 ; set M Byte 0x30 ; Put M Byte 1 ; set M Byte 0xDD ; Put M Byte 1 ; set M Byte 0x05 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x20 ; Put M Byte 1 ; set M Byte 0x5C ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x0C ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x40 ; Put M Byte 1 ; set M Byte 0x80 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x05 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; set M Byte 0x54 ; Put M Byte 1 ; set M Byte 0x80 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x40 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x04 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x40 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x40 ; Put M Byte 1 ; set M Byte 0x56 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x50 ; Put M Byte 1 ; set M Byte 0x04 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x18 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0xC0 ; Put M Byte 1 ; set M Byte 0x0F ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x01 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x90 ; Put M Byte 1 ; set M Byte 0x5A ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; set M Byte 0x03 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x10 ; Put M Byte 1 ; set M Byte 0x0E ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x51 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; Put HALFX Long 1 ; Put HALFY Long 1 ; set M Byte 0x52 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x53 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x04 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; SavePos qqq 1 ; For Pixel = 1 To XY ; GoTo atex 0 ; Get pix Byte 0 ; SavePos atex 0 ; GoTo qqq 1 ; Put pix Byte 1 ; SavePos qqq 1 ; Next Pixel ; GoTo qqq 1 ; set M Byte 0x03 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x10 ; Put M Byte 1 ; set M Byte 0x0E ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x40 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x51 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x20 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x20 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x52 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x53 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x01 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; SavePos qqq 1 ; For deer = 1 To 1024 ; GoTo apal 0 ; Get pix Byte 0 ; SavePos apal 0 ; GoTo qqq 1 ; Put pix Byte 1 ; SavePos qqq 1 ; Next deer ; GoTo qqq 1 ; set M Byte 0x03 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x10 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; set M Byte 0x10 ; Put M Byte 1 ; set M Byte 0x01 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x04 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0xFF ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x08 ; Put M Byte 1 ; set M Byte 0xC0 ; Put M Byte 1 ; set M Byte 0x0F ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; set M Byte 0x00 ; Put M Byte 1 ; SavePos Zebra 1 ; GoTo TotalSize 1 ; Put Zebra Long 1 ; Set NUM long T ; string QQ = texture. ; string QQ += NUM ; string QQ += .TXD ; Log QQ 0 Zebra 1 ; For wolfwolf = 0 To Zebra ; Put 0 Byte 1 ; Next wolfwolf ; Next T ;
Hello.
Thanks for the script and the tips, i was able to extract some txd files with this.
But i want to know if there is a way to reinsert a modified image into the txd or build a new working TXD. I want to make changes to the UI of the game (characters select portraits, main menu screen,etc.)
Because if i build a new TXD with "TXD builder" when i want to open it again with "TXD viewer" it gives me a "range check error".
I made a spanish translation of the game some years ago, and i didnt knew how to extract TI files ,so, some things are still in english.
https://www.youtube.com/watch?v=7uU9qiAFrTc
Thanks for the help.