Well, anyone had hacked hotel?
I've made so far:
After unpacking ROM, I've found textdata_usa.wpf
It has many files in there, in such structure:
24 bytes for name of packed file;
4 byte - file size; 4 byte - start of next file;
After that I've mad a simple unpacker, and convert this textdata_usa.wpf to a directory with bunch of files.
I need to translate, so I look into *.txt
It have this structure:
12 3D DA - header;
01/00 - type of file;
4 next bytes = unknown yet;
8 bytes = size of used part of file (adding to this number 16, increasing to nearest number, which divide on 16, and this is real filesystem size)
1byte = some flag; (in filetype 01 there are three of these flags: FF,FD,FB)
2 bytes = count of pointers with offsets (could be 1 byte instead of two, maybe there are resemblance with previous flag)
3 bytes = another header, common for many files;
1 byte = unknown;
After that, starts pointer table with such structure:
[2 bytes offset][2 bytes pointer] FF (delimeter)
[2 bytes offset][2 bytes pointer][2 bytes offset][2 bytes pointer] FF (delimeter)
....
[2 bytes offset][2 bytes pointer][2 bytes offset][2 bytes pointer] FF (delimeter)
[2 bytes offset][2 bytes pointer] (can be leading 00 00)
Count of pointers and offsets can be even, so table will ends after FF.
Text starts in point 16 + (count of pointers with offsets)*9/2
That's all.
After that, I see text with missing some words;
For example, here is missing word "for".
Someone have some ideas?
I'll continue digging there anyway.
I've made so far:
After unpacking ROM, I've found textdata_usa.wpf
It has many files in there, in such structure:
24 bytes for name of packed file;
4 byte - file size; 4 byte - start of next file;
After that I've mad a simple unpacker, and convert this textdata_usa.wpf to a directory with bunch of files.
I need to translate, so I look into *.txt
It have this structure:
12 3D DA - header;
01/00 - type of file;
4 next bytes = unknown yet;
8 bytes = size of used part of file (adding to this number 16, increasing to nearest number, which divide on 16, and this is real filesystem size)
1byte = some flag; (in filetype 01 there are three of these flags: FF,FD,FB)
2 bytes = count of pointers with offsets (could be 1 byte instead of two, maybe there are resemblance with previous flag)
3 bytes = another header, common for many files;
1 byte = unknown;
After that, starts pointer table with such structure:
[2 bytes offset][2 bytes pointer] FF (delimeter)
[2 bytes offset][2 bytes pointer][2 bytes offset][2 bytes pointer] FF (delimeter)
....
[2 bytes offset][2 bytes pointer][2 bytes offset][2 bytes pointer] FF (delimeter)
[2 bytes offset][2 bytes pointer] (can be leading 00 00)
Count of pointers and offsets can be even, so table will ends after FF.
Text starts in point 16 + (count of pointers with offsets)*9/2
That's all.
After that, I see text with missing some words;
For example, here is missing word "for".
Someone have some ideas?
I'll continue digging there anyway.