lol kind of cute, and since I had this game ever since it came out (C74..which is like 6-7 years ago) and just found an extractor (although I wanted to write a bms script myself).
Models aren't particularly high-quality, but whatever

Code: Select all
#Kimi ga Yobu, Megiddo no Oka de
#script by chrrox
get temp long
get files long
savepos tbl
comtype PUYO_LZ01
for i = 0 < files
goto tbl
savepos nstart
findloc NameEnd string "\x0"
math NameEnd - nstart
filexor "0xff"
getdstring name NameEnd
filexor ""
set skip 31
math skip - NameEnd
getdstring null skip
get comp byte
get zsize long
math zsize - 4
get offset long
savepos tbl
goto offset
get size long
savepos offset
clog name offset zsize size
next i



Code: Select all
#for mesh type 0x01 only. Other type found: 0x81
char_3 idstring
byte meshType
word unk
word numMesh
word sectionSize
numMesh unk { #lots of unknowns. Total 193 bytes
float_8 unk
dword_10 unk
float unk
byte unk
char_40 name
char_??? texture (maybe)
#just read bytes till you have 193 for this struct
}
#(seek to sectionSize + 53)
word numCoords
numCoords {
float_3, vx, vy, vz
}
word numNormals
numNormals {
float_3, nx, ny, nz
}
word numUV
numUV {
float_2, tu, tv
}
word unkCount
unkCount {
float unk
}
#a bunch of floats, followed by faces section
#face indexes coords, normals, and UV, but I haven't figured out the structure for a single face. Maybe material as well, since all mesh names and textures are defined at once.


Code: Select all
<--continue from previous unk section -->
byte unk
dword_11 unk (nulls?)
float_4 unk
dword_4 unk (nulls?)
word unk
dword sectionLength (or num shorts)
#then we run into a bunch of shorts.
Code: Select all
00 00 01 00 02 00 03 00 03 00 00 00 00 00 00 00 00 00 01 00 01 00 00 00 01 00 02 00
02 00 00 00 03 00 03 00 00 00 00 00 00 00 01 00 02 00 02 00 00 00 02 00 03 00 03 00 00 00
Code: Select all
00 00 01 00 10 00 03 00 08 00 00 00 00 00 00 00 02 00 01 00 01 00 01 00 07 00 02 00
02 00 02 00 03 00 07 00 02 00 02 00 02 00 02 00 01 00 01 00 01 00 01 00 03 00 03 00
03 00 03 00 0B 00 04 00 04 00 04 00 0A 00 05 00 05 00 05 00 04 00 06 00 06 00 06 00
03 00 0A 00 05 00 05 00 05 00 05 00 07 00 07 00 07 00 04 00 06 00 06 00 06 00 03 00
02 00 08 00 08 00 01 00 04 00 09 00 09 00 06 00 05 00 0A 00 0A 00 07 00 03 00 02 00
08 00 08 00 01 00 05 00 0A 00 0A 00 07 00 01 00 0B 00 0B 00 03 00 03 00 00 00 0C 00
0C 00 08 00 03 00 0D 00 0D 00 09 00 02 00 08 00 08 00 01 00 03 00 03 00 0D 00 0D 00
09 00 04 00 09 00 09 00 06 00 02 00 08 00 08 00 01 00 03 00 09 00 0E 00 0E 00 0A 00
0B 00 0F 00 0F 00 04 00 03 00 10 00 10 00 09 00 03 00 0B 00 0F 00 0F 00 04 00 04 00
11 00 11 00 06 00 03 00 10 00 10 00 09 00 03 00 06 00 12 00 12 00 0B 00 00 00 13 00
13 00 08 00 08 00 14 00 14 00 00 00 03 00 08 00 14 00 14 00 00 00 00 00 13 00 13 00
08 00 02 00 15 00 15 00 01 00 03 00 06 00 12 00 16 00 0B 00 09 00 0E 00 17 00 0A 00
03 00 10 00 18 00 09 00 03 00 06 00 12 00 16 00 0B 00 03 00 10 00 18 00 09 00 00 00
13 00 19 00 08 00 03 00 0A 00 16 00 1A 00 05 00 07 00 17 00 1B 00 02 00 05 00 18 00
1C 00 07 00 03 00 07 00 17 00 1B 00 02 00 01 00 19 00 1D 00 03 00 05 00 18 00 1C 00 00 00
Code: Select all
00 00 00 00 01 00 10 00 03 00 08 00 00 00 00 00 00 00 02 00 01 00 01 00 01 00 07 00
02 00 02 00 02 00 03 00 07 00 02 00 02 00 02 00 02 00 01 00 01 00 01 00 01 00 03 00
03 00 03 00 03 00 0B 00 04 00 04 00 04 00 0A 00 05 00 05 00 05 00 04 00 06 00 06 00
06 00 03 00 0A 00 05 00 05 00 05 00 05 00 07 00 07 00 07 00 04 00 06 00 06 00 06 00
03 00 02 00 08 00 08 00 01 00 04 00 09 00 09 00 06 00 05 00 0A 00 0A 00 07 00 03 00
02 00 08 00 08 00 01 00 05 00 0A 00 0A 00 07 00 01 00 0B 00 0B 00 03 00 03 00 00 00
0C 00 0C 00 08 00 03 00 0D 00 0D 00 09 00 02 00 08 00 08 00 01 00 03 00 03 00 0D 00
0D 00 09 00 04 00 09 00 09 00 06 00 02 00 08 00 08 00 01 00 03 00 09 00 0E 00 0E 00
0A 00 0B 00 0F 00 0F 00 04 00 03 00 10 00 10 00 09 00 03 00 0B 00 0F 00 0F 00 04 00
04 00 11 00 11 00 06 00 03 00 10 00 10 00 09 00 03 00 06 00 12 00 12 00 0B 00 00 00
13 00 13 00 08 00 08 00 14 00 14 00 00 00 03 00 08 00 14 00 14 00 00 00 00 00 13 00
13 00 08 00 02 00 15 00 15 00 01 00 03 00 06 00 12 00 16 00 0B 00 09 00 0E 00 17 00
0A 00 03 00 10 00 18 00 09 00 03 00 06 00 12 00 16 00 0B 00 03 00 10 00 18 00 09 00
00 00 13 00 19 00 08 00 03 00 0A 00 16 00 1A 00 05 00 07 00 17 00 1B 00 02 00 05 00
18 00 1C 00 07 00 03 00 07 00 17 00 1B 00 02 00 01 00 19 00 1D 00 03 00 05 00 18 00 1C 00


