i try parse
PAC0.BIN
PAC1.BIN
PAC2.BIN
PAC0.BIN = Table of Content
PAC1.BIN = FILE1
PAC2.BIN = FILE2
PAC0.BIN:
4 byte numFolder
4 byte numFile
4 byte arrayNamesSize
4 byte unk
16 byte padding
224 byte arrayFolderInfo = (numFolder*32)
69248 byte arrayFileInfo = (numFile*64)
18744 byte arrayNamesInfo = (arrayNamesSize)
arrayFolderInfo:
4 byte index
4 byte maybe elementfolder1?
4 byte unk2
4 byte numberContent
4 byte numberContent again?
4 byte maybe elementfolder2?
8 byte padding
(
I can't explain how to parse arrayFolderInfo,
but my guess might be the result like this:
["./",
"./charadata",
"./data",
"./data/obj",
"./eventdata",
"./icon",
"./sound",]
)
array FileInfo:
2 byte location = 0:dummy,1:FILE1,2:FILE2
2 byte type = 0:folder, 1:file
4 byte nameOffset in arrayNamesInfo
4 byte lenName
4 byte fileOffset
4 byte fileSize
4 byte null
4 byte indexFolder in arrayFolderInfo
4 byte fileSize +(padding 0x800)
32 byte hashFile = SHA256
with information fileName, fileOffset, fileSize
this is enough to create an unpacker / repacker,
the * .lzs file itself uses the lzss0 compression
with the contents of a kind of packed file,
the funny thing recently i was worked
with the exact same compression/file ("STORY OF SEASONS Friends of Mineral Town")
and this python script for unpack / repack,
not the best, but the least
we can make a test, and wait for someone more skilled at this thing.
I have tried to unpack / repack / insert into ISO,
I think it's fine for now.
Game boot as usual.
and about this
I found where the text is stored in memory. It's a block from about 09E1E6EC to 09E40D39. This doesn't give full understanding of exactly where it is stored on disk but it's a step.
the file is in "./eventdata/event_scene_XXXXXX/event_common/DTEventMes.bin"