The rules have been updated, read them now: Rules!

Wild Arms 3 .BIN decompression?

Read or post about compression. And decompression. Or ask questions how to decompress your files.
Post Reply
SmashFan127
advanced
Posts: 51
Joined: Sun Jun 17, 2012 2:09 am
Has thanked: 5 times
Been thanked: 1 time

Wild Arms 3 .BIN decompression?

Post by SmashFan127 » Fri Apr 18, 2014 4:44 am

Hello, all. I am here to find a way to decompress the BTLMON.BIN file for the guy behind PS23DFormat. According to him, the files us some sort of LZ compression to house the character and enemy models.

Sample file:
http://www.mediafire.com/download/gwmki ... BTLMON.BIN

EDIT: Here is a pic of the first few bytes in the file

Image
Last edited by SmashFan127 on Sat Apr 26, 2014 9:12 pm, edited 1 time in total.

SmashFan127
advanced
Posts: 51
Joined: Sun Jun 17, 2012 2:09 am
Has thanked: 5 times
Been thanked: 1 time

Re: Wild Arms 3 .BIN decompression?

Post by SmashFan127 » Wed Apr 23, 2014 3:27 am

Is there anyone available?

First post has been edited to include the first few bytes.

User avatar
chrrox
Moderator
Posts: 2592
Joined: Sun May 18, 2008 3:01 pm
Has thanked: 57 times
Been thanked: 1335 times

Re: Wild Arms 3 .BIN decompression?

Post by chrrox » Sat Feb 13, 2021 1:52 am

quickbms script to decompress files.
Needs to add support for extracting sub archives (align data to 0x800 after last file and start over again)
Run this first for now.

Code: Select all

getdstring DIV 4
goto 0
for
findloc OFFSET string DIV
print "%OFFSET%"
getdstring TMP 0x20
findloc SIZE string DIV
goto SIZE
math SIZE - OFFSET
log "" OFFSET SIZE
next
then you can do this
quickbms.exe -d -F "*.dat" "C:\Users\Downloads\Wild Arms 3 (USA)\Wild Arms 3 (USA)\STG\test.txt" "C:\Users\Downloads\Wild Arms 3 (USA)\Wild Arms 3 (USA)\BTL\1" "C:\Users\Downloads\Wild Arms 3 (USA)\Wild Arms 3 (USA)\BTL\2"

Code: Select all

comtype LZSS0
savepos BASE
findloc FILES string "\x00\x00\x00\x00"
math FILES / 4
print "%FILES%"
for i = 0 < FILES
get OFFSET long
math OFFSET - 0x1D00000
putarray 0 i OFFSET
next i
math FILES - 1
for i = 0 < FILES
set j i
math j + 1
getarray OFFSET 0 i
getarray SIZE 0 j
math SIZE - OFFSET
if SIZE > 0
math OFFSET + BASE
log MEMORY_FILE OFFSET SIZE
get TSIZE long MEMORY_FILE
get SIZE asize MEMORY_FILE
print "%TSIZE%"
if TSIZE > 0x1FFFFF || TSIZE < 0
log "" 0 SIZE MEMORY_FILE
else
math SIZE - 4
clog "" 4 SIZE TSIZE MEMORY_FILE
endif
endif
next i

Sharppy
advanced
Posts: 50
Joined: Thu Jun 07, 2018 8:09 am
Has thanked: 1 time
Been thanked: 7 times

Re: Wild Arms 3 .BIN decompression?

Post by Sharppy » Fri Apr 09, 2021 6:59 am

Thanks for looking into this I was able to decompress the files .MWO but is there any support to figuring out the monster data in the BTLMON.BIN ? Or even finding out how the bone structure works in the decompressed files. I've studied that script for over a year now and its a mystery. You and daemon are some of the best and if these files are too much then it seems i will never get a working model from this series. I could really use some help. I found by changing the script from seek 20 to seek 31 it finds the world/stages. Some kind of byte stride/padding value ? I can't be the only one who wants this title :keke: any help on compression or how to get the bones/animations would be a major help.

Post Reply