Hacking RSL Data Containers

TempusC

Well-Known Member
OP
Member
Joined
Nov 22, 2006
Messages
229
Trophies
0
Website
www.FatalFrame4.net
XP
91
Country
Canada
I was asked to look into the feasibility of a translation patch for the currently cancelled Fatal Frame 4. After gathering the game resources, I found they consisted mostly of

.thp files - movie files, around since the GC era. Shouldn't contain subtitles.
.brstm files - sound files

and our hopeful winner, .rsl files (as well as a bunch of other files that are too few to contain the necessary text)


The rsl files comprise 99% of all data other than the thp and brstm files. They seem to contain a variety of data, including images and textures, but no or little clearly legible raw text (Shift-JIS raw text, of course).

The rsl files are probably either some form of compression, or a proprietary file for an in-house editor to contain a series of data bundles and resources.

There are thousands of these little guys, sometimes with wildly varying filesizes and structures. However, most (about 70%) of the rsl files have a similar heading.

0x03 - 0x03 - RMHG
0x04 - 0x3F - unknown
0x40 - 0x43 - RMHG
0x44 - 0x9F - unknown
0xA0 - 0xA3 - GDLG or GCT0 or SCR0 of CGMG

Another recurring pattern is the sequence: "STRIMAG2" (usually within the first 1000 addresses)

Often the addresses for the above are modified, with more of the unknown space in between. In several cases, the header appears in multiple parts of the file, mostly near the middle.

Below is an abridged list of the file structure (many files omitted)
Titles in brackets represent a series of files with those variations.

CODE
Zero 4
--Debug
----MENUBG.BIN
--HAYA
----TEXTURE.RSL
--Hide
----FB(00-12)_4.BIN
----FB(00-12)_16.BIN
----FINDER(C,R,W,BLANK)_4_3.RSL
----FINDER(C,R,W,BLANK)_16_9.RSL
----Item (1400+items)
------ITEM(0000-9999)_16_9.RSL
------ITEM(0000-9999).RSL
----keyguide
------KEYGUIDE.RSL
----test_font_mini.txt
----test_font.txt
----test.def
----TEST.rsl
----Title.RSL
----TU_002.thp
----yg_998.thp
----yg_999.thp
--Miya
----ALBUM_HELP_0.RSL
----BackCloud(N,W).RSL
----BackNomaru(N,W).RSL
----Bochi(N,W).RSL
----GALLERY_GAZOU_(2_0-6_3)(N,W).RSL
----Gishikijou(BLANK,2,B1)(N,W).RSL
----Kyuukan(1F,2F,3F,B1F,B2F)(N,W).RSL
----MENU_(various:Setup,SaveLoad,Photo,Option,Title,Top,etc...)(N,W).RSL
----Mission_Failure(N,W).RSL
----Mission_Success(N,W).RSL
----OL_GET_ITEM(0-12).RSL
----OL_ITEM(0-12).RSL
----PB_GET_ITEM(0-37).RSL
----PB_INFO(0-37).RSL
----Renrakuturo(N,W).RSL
----Shinkan(1F,2F,3F,4F,B1F)(N,W).RSL
----Syugyoujou(0-3)(N,W).RSL
----TecmoBack.RSL
----Todai(A-K)(N,W).RSL
----Yomotsuki(1F,2F)(N,W).RSL
--MOVIE
----Various thp files
--RSL (1000+files) - uniques contain unique char/num strings, 3-6 chars long
----C(00-30).RSL
----C(uniques).RSL
----CT(00-13)(N,W).RSL
----D(0000-9999).RSL
----D(uniques).RSL
----E(uniques).RSL
----EF(500-999).RSL
----GO(uniques).RSL
----I(000-600).RSL
----J(uniques).RSL
----KR(uniques).RSL
----M(uniques).RSL
----N(uniques).RSL
----PZ(000-999).RSL
----PZ(000_4_1 - 000_16-4).RSL
----PZ(000-005)_TEX_(N,W).RSL
----R(101-999).RSL
----RUK(00-A01).RSL
----S(uniques).RSL
----TU(000-990)(BLANK,_4,_16).RSL
----XXX00.RSL
----XXXA00.RSL
----YYY00.RSL
----YYYA00.RSL
----ZZZ00.RSL
----ZZZA00.RSL
--Sample
----futagos.bin
----futagos.tga
--SND
----Various brstm files and company




If anyone has suggestions about the RSL format or other insights, it would be appreciated. If anyone can point me to good resources for this sort of trouble, please do - it's not really my area of expertise. I'll continue to fiddle in the meantime.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Veho @ Veho: Imagine putting your butt near it :tpi: