ROM Hack .pac files help

Leeg

Well-Known Member
OP
Member
Joined
May 29, 2009
Messages
103
Trophies
1
Age
31
Location
Spain
XP
1,451
Country
Well... regarding control codes I found:

10000C006E + "random number" displays an animation of a 3d model in the top screen

0D0014 This is always placed before a character name (that is displayed in the top of the text box)

02000C00 This controls BK images (book-style images displayed in the top screen, the ones we edited in ntf format)

0A And this is a jump line.


I know it's not a lot, ... but that was what I found.
 

Leeg

Well-Known Member
OP
Member
Joined
May 29, 2009
Messages
103
Trophies
1
Age
31
Location
Spain
XP
1,451
Country
http://crackerscrap.com/docs/dsromstructure.html

According to that...

QUOTE said:
0x70-0x73 4 bytes ARM9 pointer table

And our file says...

AC 0A 00 02

So ARM9 pointer table starts there, or maybe

02 00 0A AC

But I've tried both and none of them gives result... so I thought that maybe I'm not dealing with that hex the right way.

I think that if I manage to understand that I'll get the location of other pointer tables.

Any idea?
 

rastsan

8 baller, Death Wizard,
Member
Joined
May 28, 2008
Messages
1,002
Trophies
0
Location
toronto
Website
rastsan.wordpress.com
XP
401
Country
Canada
try looking at that address in memory. I had to do that with zoids battle colosuem all the pointers are memory pointers (but then all the stuff pointed to is in the overlay bins).

which I think fast6191 can explain better than I can as they explained it to me.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,329
Trophies
3
XP
27,259
Country
United Kingdom
The ARM pointers are less to do with the text and more likely something to do with the game proper. I am not ruling out there being pointers or some related concept in some of the binaries at this point (I have not even looked) but if it is as complex as it is looking to be it might even be there are not any pointers in the story text section even to the point where it is a true text parser/scripting engine (homebrew aside I can not think of another example on the DS). Nice catch though on the bk stuff being related to file names and the control codes you have already managed to figure out.

General idea for pointers (ARM9 and otherwise) though. For this I am probably going to have to refer to the GBA and going into some ideas in programming but I will try to keep it a bit light on the DS hardware front though.

The GBA had cartridges you could see in the ram- 08000000 to 09FFFFFF (and a few upper regions that had the same data but different wait states) and to this end if a game needed something from the cart it could call for it directly by various methods (this nicety gave rise to tracing- http://www.romhacking.net/docs/361/ ) but the DS does not have a cart in memory so it copies thing to ram by various methods (you can try to hook into them and watch dma transfers and cart reads but it is not quite as nice/developed as GBA stuff).

With most things being all in memory the data can then be (or indeed is) pointed at once it is in memory (this is especially common with files always intended to be in memory like the binaries and overlays) especially if it is able to be predicted/calculated to be in a given location in memory.

This prediction is hard though not to mention if you can edit a file (or have it build a new one) that is one thing but having to edit code (and probably recompile) it is considerably more troublesome even if you are only in a one man team (multiple people and especially if they are not all programmers) hence us getting simpler pointers that work on file level rather than memory locations for just about everything on the DS). It also ties into "pointer arithmetic" which is where pointers are fiddled with to get to required section (in that fixed length part you might know where it starts- get the start location, if you want the 97th entry take the length value, multiply it by 97 in this case and then add the result to the start location to get you the location you need or if you prefer think back to the pac files where we added up the length values to get the locations in the files).
Most pointers are some variation on this (languages like C have a good chunk of the language built around pointers which causes endless debate about how to teach such languages and what needs to be taught on the flip side nearly all high level languages seek to do away with actual memory locations for various reasons some of which were already mentioned) but we do not tend to consider this step as it is usually easier to figure out the simple pointers and fix them when we break them- kind of like how you do not recode the game to read JPEG images and play avi files but figure out the formats and work with them instead). Memory pointers are a kind of special case for this in that they need no calculations (at first anyway) as they point where the things are in as far as the game is concerned.
http://nocash.emubase.de/gbatek.htm#dsmemorymaps has a map of the DS memory so yeah that value could well be pointing at the "Main Memory" although if it can trigger files and such as well all bets are off until more info appears (that is a really low value in the ram so chances are it is directly in the binary, I will have to check the rom (NDSTS and most other tools of that nature will tell you easily enough not to mention that link to cracker's site).

The other reason we usually have premade pointers is that about the only way to figure out when something has finished is to read a section, check it and then carry on reading or indeed stop when it is finished which is hugely time/resource consuming which you really do not want to do on a handheld (consoles it is not so bad)- there are variations like checking from the end/maximum values or actually parsing the text like the game in this case (sometimes pointers are used for it though) does not know where every new line command is found but probably only starts a new line when it detects the 0a character).

Back on topic it looks like you get to figure out the scripting engine- you can come at it from an assembly coder's perspective but that will require you to know a bit about assembly (although it might not be that bad) so I would instead consider testing and corruption. Expand sections to see what happens- does stuff get cut off, does it work fine or does the game crash even?

Edit- for the sake of it http://gbatemp.net/index.php?showtopic=185...p;#entry2326367 could be worth a quick read or not.
 

Leeg

Well-Known Member
OP
Member
Joined
May 29, 2009
Messages
103
Trophies
1
Age
31
Location
Spain
XP
1,451
Country
Thanks again, I really appreciate your help since the rom is already in english and you could just skip my messages ,
wink.gif


I found that if you add 0A (jump-line) for instance here:

ORIGINAL:

TEXTBOX1--------------
Every story needs /0a
a charming character.
--------------------------

EDITED:

TEXTBOX1--------------
Every story needs /0a
/0a
/0a
--------------------------

TEXTBOX2--------------
a charming character.
-------------------------

Next textbox (TEXTBOX3) follows as should be, no changes. So textboxes are autogenerated depending on needed, so I think that only the first one per character is pointed.

Also, another thing that confirms my theory is that there is a HEX repeated before every first textbox:

03 00 XX 00 00 00 00 00 (only XX changes, and it is repeated so no idea how it works)

Which I think acts as pointer or it is pointed itself, I don't know...


PS:
G014 (hex: 00 08 00 10 00 47 30 31 34) calls Naming character window.
bXXX is background image, for instance: 62 30 33 32 is b032
6DXXXXXX displays a 3dmodel (which is controled with the 10000C006E hex I posted previously), for instance: 6d 30 38 34 (m084) is the Witch 3D model.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,329
Trophies
3
XP
27,259
Country
United Kingdom
Well this seems to be a half decent scripting engine. As for coming back I mainly frequent this section in the hopes of finding something interesting to pull apart, if others wish to do something useful with that then great.

To this end some reverse engineering of the format/attempting to pull together the data we have on it so far and maybe work it up a bit more. I know most of this is a repeat of conversations we have already had but if this carries on much longer it is going to get annoying to try to piece together everything. I am considering all the formats done for now so this is just event.dat

It will be covered later but it seems several parts of the file call other files by name rather than by some other method which is nice I guess and probably to be expected at some level (I would have generated a list of sorts similar to SDAT myself but that is a different matter for a different day)
Knowing this a list of all the files in data directory (ndstool/dslazy/dsbuff users this is another game that has all the files in a directory called data so it will be data\data\[somefile] if you pull it apart)..

This is just a straight name list, the game appears to arrange the files unix style (where case matters) where bZ would come before B0.
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:Pre;overflow:auto'>ArrangePanelBG.pac
ArrangePanelOBJ.pac
b001.pac
b004.pac
b005.pac
b006.pac
b007.pac
b008.pac
b009.pac
b012.pac
b013.pac
b014.pac
b015.pac
b018.pac
b021.pac
b022.pac
b023.pac
b024.pac
b027.pac
b030.pac
b031.pac
b032.pac
b033.pac
b035.pac
b036.pac
b050.pac
b051.pac
bkA01.ntf
bkA02.ntf
bkA03.ntf
bkB01.ntf
bkB02.ntf
bkBLK.ntf
bkC01.ntf
bkD01.ntf
bkD02.ntf
bkDmy.ntf
bkE01.ntf
bkF01.ntf
bkF02.ntf
bkF03.ntf
bkG01.ntf
bkH01.ntf
bkH02.ntf
bkI01.ntf
bkJ01.ntf
bkJ02.ntf
bkJ03.ntf
bkJ04.ntf
bkJ05.ntf
bkJ06.ntf
bkJ07.ntf
bkJ08.ntf
bkK01.ntf
bkK02.ntf
bkK03.ntf
bkL01.ntf
bkL02.ntf
bkM01.ntf
bkM02.ntf
bkN01.ntf
bkN02.ntf
bkO01.ntf
bkO02.ntf
bkO03.ntf
bkP01.ntf
bkQ01.ntf
bkQ02.ntf
bkQ03.ntf
bkQ04.ntf
bkR01.ntf
bkS01.ntf
bkT01.ntf
bkU01.ntf
bkU02.ntf
bkU03.ntf
bkU04.ntf
bkU05.ntf
Book.nsbmd
Book.pac
book01.nsbmd
book01.pac
book02.nsbmd
book02.pac
BookLowerOBJ.pac
BtlFld.isd
ButtleAllyTargetOBJ.pac
ButtleLowerBG1-0.pac
ButtleLowerBG1.pac
ButtleLowerBG1Black.pac
ButtleLowerBG2-0.pac
ButtleLowerBG2-1.pac
ButtleLowerBG3-0.pac
ButtleLowerBG3.pac
ButtleLowerBG5-0.pac
ButtleLowerBG8-0.pac
ButtleLowerBG8-1.pac
ButtleLowerBG9-0.pac
ButtleLowerOBJ2.pac
ButtleLowerOBJ3.pac
ButtleLowerOBJ4.pac
ButtleResultBG.pac
ButtleResultOBJ.pac
ButtleUpperBG1.pac
ButtleUpperBG2.pac
ButtleUpperBG3.pac
ButtleUpperBG4.pac
ButtleUpperOBJ2.pac
ChatUpperObj.pac
croud.nsbmd
croud.pac
d00.pac
d01.pac
d01e.pac
d02.pac
d03.pac
d03e.pac
d04.pac
d04e.pac
d05.pac
d05e.pac
d06.pac
d06e.pac
d07.pac
d07e.pac
d08.pac
d3p.pac
default_data.dat
Element.pac
endcut.nsbmd
endcut.pac
EndCutMainOBJ.pac
endroll.dat
event.dat
F001.pac
F002.pac
F003.pac
F004.pac
F005.pac
F006.pac
F007.pac
F008.pac
F009.pac
F010.pac
F011.pac
F012.pac
F013.pac
F014.pac
F015.pac
F016.pac
F017.pac
F018.pac
F019.pac
F020.pac
F021.pac
F022.pac
F023.pac
F024.pac
F025.pac
F026.pac
F027.pac
F028.pac
F029.pac
F030.pac
F031.pac
F032.pac
F033.pac
F034.pac
F035.pac
F036.pac
F037.pac
F038.pac
F039.pac
F040.pac
F041.pac
F042.pac
F043.pac
F044.pac
F045.pac
F046.pac
F047.pac
F048.pac
F049.pac
F051.pac
F080.pac
F081.pac
F082.pac
F083.pac
F090.pac
F091.pac
F092.pac
F093.pac
F094.pac
F095.pac
F096.pac
F097.pac
F098.pac
F099.pac
F100.pac
F101.pac
F102.pac
fieldObj.pac
fin00.pac
fin01.pac
gameoverLow.pac
gameoverUp.pac
global_data.dat
heal.nsbmd
heal.pac
i01.pac
i02.pac
i03.pac
i04.pac
i05.pac
i06.pac
i07.pac
i08.pac
i09.pac
i10.pac
i11.pac
i12.pac
i13.pac
j001.nsbmd
j001_01.nsbca
j001_02.nsbca
j001_03.nsbca
j001_04.nsbca
j002.nsbmd
j002_02.nsbca
j002_03.nsbca
j002_04.nsbca
j002_05.nsbca
j003.nsbmd
j003_02.nsbca
j003_03.nsbca
j003_04.nsbca
j004.nsbmd
j004B.nsbmd
j004_02.nsbca
j004_03.nsbca
j004_04.nsbca
j005.nsbmd
j005_01.nsbca
j005_02.nsbca
j005_03.nsbca
ka00.pac
ka01.pac
ka02.pac
ka03.pac
ka04.pac
ka05.pac
ka06.pac
ka07.pac
ka08.pac
ka09.pac
ka10.pac
ka11.pac
ki00.pac
ki01.pac
ki02.pac
ki03.pac
ki04.pac
ki05.pac
ki06.pac
ki07.pac
ki08.pac
kira.ntf
kirablue.ntf
kiragreen.ntf
kirared.ntf
kirayellow.ntf
l00.pac
l01.pac
l02.pac
l02e.pac
l03.pac
l03e.pac
l04.pac
l05.pac
l06.pac
l06e.pac
l07.pac
l07e.pac
l08.pac
l08e.pac
l09.pac
Lc10.NFTR
Lc12.NFTR
Lc12N.NFTR
Lc8.NFTR
LcDbg.NFTR
legalLower.pac
legalUpper.pac
m001.pac
m002.pac
m003.pac
m004.pac
m005.pac
m006.pac
m007.pac
m008.pac
m009.pac
m010.pac
m011.pac
m012.pac
m013.pac
m014.pac
m015.pac
m016.pac
m017.pac
m018.pac
m019.pac
m020.pac
m021.pac
m022.pac
m023.pac
m024.pac
m025.pac
m026.pac
m027.pac
m028.pac
m029.pac
m030.pac
m031.pac
m032.pac
m033.pac
m034.pac
m035.pac
m036.pac
m037.pac
m038.pac
m039.pac
m040.pac
m041.pac
m042.pac
m043.pac
m044.pac
m045.pac
m046.pac
m047.pac
m048.pac
m049.pac
m050.pac
m051.pac
m052.pac
m053.pac
m054.pac
m055.pac
m056.pac
m057.pac
m058.pac
m059.pac
m060.pac
m061.pac
m062.pac
m065.pac
m066.pac
m067.pac
m068.pac
m069.pac
m070.pac
m071.pac
m072.pac
m073.pac
m074.pac
m075.pac
m076.pac
m077.pac
m078.pac
m079.pac
m080.pac
m081.pac
m082.pac
m083.pac
m084.pac
m085.pac
m086.pac
m088.pac
m089.pac
m094.pac
m095.pac
m096.pac
m097.pac
m100.pac
m101.pac
m102.pac
m103.pac
m104.pac
m105.pac
m106.pac
m107.pac
m108.pac
m109.pac
m110.pac
m111.pac
m112.pac
m113.pac
m114.pac
m115.pac
m116.pac
m117.pac
MainMenuEquip.pac
mapObj.pac
map_ozCastle.nsbmd
map_ozCastle.pac
MenuLowerBG.pac
MenuLowerBG2.pac
MenuLowerOBJ.pac
MenuLowerOBJ2.pac
MenuLowerStatusBG1.pac
MenuLowerStatusBG2.pac
MenuLowerStatusBG3.pac
MenuLowerStatusOBJ.pac
MenuNewEquipment.pac
MenuUpperBG.pac
MenuUpperBG1.pac
MenuUpperBG2.pac
MenuUpperOBJ.pac
moya.nsbmd
moya.pac
moyan.ntf
mve.pac
n001.pac
n002.pac
n003.pac
n004.pac
n005.pac
n006.pac
n007.pac
n008.pac
n009.pac
n010.pac
n011.pac
n012.pac
n013.pac
n014.pac
n015.pac
n016.pac
n017.pac
n018.pac
n019.pac
n020.pac
n021.pac
n022.pac
n023.pac
n024.pac
n025.pac
n026.pac
n027.pac
n028.pac
n029.pac
n030.pac
n031.pac
n032.pac
n033.pac
n034.pac
n035.pac
n036.pac
n037.pac
n038.pac
n039.pac
n040.pac
n041.pac
n042.pac
n043.pac
n044.pac
n045.pac
n046.pac
n047.pac
n048.pac
n049.pac
n050.pac
n051.pac
n052.pac
n053.pac
n054.pac
n055.pac
n056.pac
n057.pac
n058.pac
n059.pac
n060.pac
n061.pac
n062.pac
n065.pac
n066.pac
n067.pac
n068.pac
n069.pac
n070.pac
n071.pac
n072.pac
n073.pac
n074.pac
n075.pac
n076.pac
n077.pac
n078.pac
n079.pac
n080.pac
n081.pac
n082.pac
n083.pac
n084.pac
n085.pac
n086.pac
n087.pac
n090.pac
n091.pac
n092.pac
n093.pac
n094.pac
n095.pac
n096.pac
n097.pac
n100.pac
n101.pac
n102.pac
n106.pac
n107.pac
n108.pac
n113.pac
n114.pac
n115.pac
n116.pac
n117.pac
n118.pac
n119.pac
n120.pac
n121.pac
ninten.pac
o001.pac
o002.pac
o003.pac
o004.pac
o005.pac
o006.pac
o007.pac
o008.pac
o009.pac
o010.pac
o011.pac
o013.pac
o015.pac
o016.pac
o018.pac
o020.pac
o021.pac
o023.pac
o024.pac
o027.pac
o028.pac
o029.pac
o030.pac
o031.pac
o032.pac
o033.pac
o034.pac
o035.pac
o036.pac
o037.pac
o038.pac
o039.pac
o040.pac
op.dat
opCam01.nsbmd
opCam01.pac
opCam02.nsbmd
opCam02.pac
opCam03.nsbmd
opCam03.pac
opCam04.nsbmd
opCam04.pac
opCamera.nsbmd
opCamera.pac
opDoro.pac
ops01.pac
ops02.pac
ops03.pac
ops04.pac
ops05.pac
ops06.pac
ops07.pac
ops08.pac
ops09.pac
ops10.pac
ops11.pac
ops12.pac
ops13.pac
OP_EFE.nsbmd
OP_EFE.pac
OZCastle.nsbmd
OZCastleOBJ.pac
OZShopOBJ.pac
pa01.pac
pa02.pac
pa03.pac
pa04.pac
pa05.pac
pa06.pac
pigeon.nsbmd
pigeon.pac
popup.nsbmd
popup.pac
r02.nsbmd
room.nsbmd
shadow.nsbmd
shadow2.nsbmd
SkyL.pac
SkyR.pac
sound_data.sdat
spot.nsbmd
spot.pac
Title.pac
TitleBack.nsbmd
TitleLogo.nsbmd
titleLowerBG.pac
trackBallBG1.pac
trackBallBG2.pac
trackBallObj1.pac
ui_Black.pac
ui_buy_up01.pac
ui_ehon01.pac
ui_gameover.pac
ui_gameoverW.pac
ui_kaiwa01.pac
ui_kaiwa02.pac
ui_kbdBG.pac
ui_koro02.pac
ui_koro03.pac
ui_koro03_1.pac
ui_koro04_1.pac
ui_koro04_2.pac
ui_m05_3.pac
ui_m05_4.pac
ui_mst_01.pac
ui_mst_02.pac
ui_mst_03.pac
ui_mst_04.pac
ui_ne00_01.pac
ui_ne00_02.pac
ui_ne00_03.pac
ui_ne00_04.pac
ui_ne00_05.pac
ui_op01_logo.pac
ui_op02.pac
ui_op02_1.pac
ui_ozBG.pac
ui_ozbuy_01.pac
ui_ozbuy_02.pac
ui_ozbuy_04.pac
ui_ozbuy_OBJ.pac
ui_ozMenuBG.pac
ui_SL01l.pac
ui_SL01lW.pac
ui_SL01s.pac
ui_SL01sW.pac
ui_SL02.pac
ui_SL02OBJ.pac
ui_stageclear_1.pac
ui_stageclear_2.pac
ui_suspend.pac
ui_title.pac
ui_Tutorial01.pac
ui_Tutorial02.pac
ui_Tutorial03.pac
ui_wp.pac
ui_YN01.pac
ui_YN02.pac
WBLogo.pac
xseed.pac
</div>


The text seems to be a mixture of ASCII and shiftJIS but the odd thing is the shiftJIS can be seen immediately following ASCII without so much as a break to a 16bit boundary (this will tend to break most shiftJIS parsers- certainly the simple ones like we have in crystaltile2 co). Moreover I imagine this to be quite costly in resources which on top of a scripting engine is not good but this is not a code review at this point so enough of that for the moment.
Example can be found right at the start of the text section. (020c hex)

0D00 1400 5769 7463 6881 6981 4881 6A00 0000 0000
Ascii output ....Witch.i.H.j.....
Proper output
....Witch(?)
(for those without good text parsing in their browser that is the shiftJIS version of a bracketed question mark- "(?)" although without quotes).

<b>Markup.</b>
0d00 1400 is character naming box.
0A even when buried in text triggers a new line.
You say bXXX calls a background image which makes sense and seems to line with file names.

1000 0C00 6E?? you say calls a NSMBD (others reading remember NSBMD is the 3d model format from the DS SDK). The values ?? takes are rather limited though.
194 instances
Values I see (hex naturally)
31
32
33
34
35
36
37
38
39
61
62
63
64
66
(I think I got them all but I am not 100%). That would be 14 possibilities.
Fairly even spread through the text for most of them, some were more common than others, I probably should have done a frequency analysis or something along those lines trying to match it but I will leave that for now.
There are some 30 nsbmd files in the rom (along with a few animations) assuming nothing in the pac files. A bunch of those NSBMD files are named j00? which you do see at the start of the event.dat before the text.
Some (going by names alone) appear to be for other parts of the game but when all the
book0
j00
and
opCam
are added up you get 13 possibilities but that is pure speculation right now.

0200 0C00 calls bk files, seemingly by name although it is ASCII by this point. 02000C00626B53303100 for example (it would be bkS01)

I see some 0400 1000 frequently before j00 but occasionally other ASCII as well. "j0??????" (sometimes it has a trailing en and others it has skl- enemy and skill perhaps?), "F0?????", "Wmap??", "newcstl" (no file named for this though- the obvious expansion being newcastle of which there are a couple of NSMBD files with castle in the name), "spirit" a few times, "shop" another time or two and "opfingt" once.

I also see a handful of 0500 1000 followed by dra?? (?? being 01, 02 or 03) or skills in ASCII.

0300 ???? also features as you say (in fact it seems to be 8 bytes long but I doubt it ever has need of that much text). This is about as close to pointers as I have seen although might be a kind of "no parsing the following amount of bytes" as they are not necessarily to the next 0300 ???? section (or something else notable) but creating a new file the ???? section seems to correspond to the end of the text at least (0000 if no text which could indicate a higher order/parsing method- load file, load name box, figure text length, load text, parse any additional data and load according imagery sort of thing) with the data not covered by the length section following usually (I have not checked them all) being one of the other call values. However some of the files have a 00?? after them still within the length value specified by the 0300 section. Unlike the text decode the these do seem to be using 16 bit boundaries.


<img src="http://pix.gbatemp.net/32303/10wizardozndsdemohack22jul2011.jpg" border="0" class="linked-image" />

Another example
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:Pre;overflow:auto'>00000000 0300 <!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->9C00<!--colorc--></span><!--/colorc--> 0000 0000 5769 7468 2074 6869 ........With thi
00000010 732C 2049 2065 6E64 206D 7920 6175 6469 s, I end my audi
00000020 656E 6365 2121 0A0A 4672 6F6D 2074 6869 ence!!..From thi
00000030 7320 6461 7920 666F 7274 682C 2049 2066 s day forth, I f
00000040 6F72 6269 6420 616E 796F 6E65 0A74 6F20 orbid anyone.to
00000050 656E 7465 7220 6D79 2063 6173 746C 6520 enter my castle
00000060 7769 7468 6F75 7420 7065 726D 6973 7369 without permissi
00000070 6F6E 210A 456E 7465 7220 616E 6420 796F on!.Enter and yo
00000080 7520 7368 616C 6C20 6469 6521 210A 0A4E u shall die!!..N
00000090 6F77 206C 6561 7665 2121 21<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->00 04<!--colorc--></span><!--/colorc-->00 1000 ow leave!!!<!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro-->..<!--colorc--></span><!--/colorc-->...
000000A0 676F 6373 746C gocstl
</div>

00 0400 1000 gocstl already being mentioned earlier.

This leaves the likes of the MSN and if there are any proper pointers in the file.

I also got bored and took a look at the binary (it is uncompressed- at least as a whole file)- a lot of interesting files and names in there (you can seem some images in it too- they look to be SDK formats for the keyboard backing images).
Quite a good hit to miss ratio as well for such a search (the following code box is the result of a very minor cleanup)- some stuff is to be expected but I usually only see the odd wifi related message.
Lc10 is one of the main fonts. I did not have much luck pulling what appeared to be a font out of the binary but I did not try anything beyond a basic copy and paste.

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->0x00000BBFÂÂÂÂ0x00000016ÂÂÂÂ![SDK+NINTENDO:BACKUP]
0x0007CF24ÂÂÂÂ0x00000006ÂÂÂÂHPXERF
0x0007D3FCÂÂÂÂ0x00000007ÂÂÂÂ[email protected]
0x0007D84CÂÂÂÂ0x00000004ÂÂÂÂKNBA
0x0007D9FCÂÂÂÂ0x00000004ÂÂÂÂRAHC
0x0007DA30ÂÂÂÂ0x00000004ÂÂÂÂSOPC
0x0007DA7CÂÂÂÂ0x00000007ÂÂÂÂ[email protected]
0x0007DAB8ÂÂÂÂ0x00000004ÂÂÂÂPMCP
0x0007DC24ÂÂÂÂ0x00000004ÂÂÂÂRTFN
0x0007DC2CÂÂÂÂ0x00000007ÂÂÂÂ[email protected]
0x0007DCFCÂÂÂÂ0x00000010ÂÂÂÂFNIFHDWCPAMCPLGC
0x0007DD74ÂÂÂÂ0x00000004ÂÂÂÂKBEC
0x0007DE6CÂÂÂÂ0x00000004ÂÂÂÂNRCS
0x0008D220ÂÂÂÂ0x00000004ÂÂÂÂBTX0
0x00090448ÂÂÂÂ0x0000000EÂÂÂÂBVA0BTP0BMD0XÂÂÂÂ
0x00090598ÂÂÂÂ0x0000000EÂÂÂÂBVA0BTP0BMD0dÂÂÂÂ
0x00093825ÂÂÂÂ0x00000079ÂÂÂÂÂÂ !!"""##$$$%%&&'''(())**++,,--..//0112233455667889::;<<=>[email protected][]^_`abcdeghijkmnoqrsuvwyz{}~
0x0009389FÂÂÂÂ0x000000F0ÂÂÂÂ !!!""###$$%%&&&''(())**++,,--..//00112334456677899:;;<=>>[email protected]@ABCCDEFGGHIJKLMMNOPQRSTUVWXYZ[\]^_`bcdefgijklmopqstuwxy{|[email protected]
0x00093A00ÂÂÂÂ0x0000005FÂÂÂÂ !"#$%&'()*+,-./0123456789:;<=>[email protected][\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~
0x00093B68ÂÂÂÂ0x00000004ÂÂÂÂNAN(
0x00093B6DÂÂÂÂ0x00000008ÂÂÂÂINFINITY
0x00093F40ÂÂÂÂ0x00000009ÂÂÂÂo004_root
0x00094348ÂÂÂÂ0x00000005ÂÂÂÂLc12N
0x000947C3ÂÂÂÂ0x00000009ÂÂÂÂADH~OqW/`
0x000947D4ÂÂÂÂ0x00000006ÂÂÂÂcamera
0x000947E8ÂÂÂÂ0x00000006ÂÂÂÂtarget
0x00098AFCÂÂÂÂ0x00000014ÂÂÂÂdata/sound_data.sdat
0x00098B14ÂÂÂÂ0x00000014ÂÂÂÂdata/global_data.dat
0x0009A505ÂÂÂÂ0x00000004ÂÂÂÂSFOT
0x0009A522ÂÂÂÂ0x00000004ÂÂÂÂ9NXS
0x0009AD37ÂÂÂÂ0x00000005ÂÂÂÂTe\Ng
0x0009E5C4ÂÂÂÂ0x000000BEÂÂÂÂ !"#$%&'()*+,-./0123456789:;<=>[email protected][\]^_`abcdefghijklmnopqrstuvwxyz{|}~
0x000AB54CÂÂÂÂ0x00000005ÂÂÂÂAM|PM
0x000AB58CÂÂÂÂ0x00000008ÂÂÂÂ%m/%d/%y
0x000AB5A4ÂÂÂÂ0x0000000BÂÂÂÂ%I:%M:%S %p
0x000AB5B0ÂÂÂÂ0x0000000EÂÂÂÂ%a %b %e %T %Y
0x000AB5C0ÂÂÂÂ0x00000054ÂÂÂÂSun|Sunday|Mon|Monday|Tue|Tuesday|Wed|Wednesday|Thu|Thursday|Fri|Friday|Sat
|Saturday
0x000AB618ÂÂÂÂ0x00000085ÂÂÂÂJan|January|Feb|February|Mar|March|Apr|April|May|May|Jun|June|Jul|July|Aug|
August|Sep|September|Oct|October|Nov|November|Dec|Dec
0x000AB6C0ÂÂÂÂ0x00000014ÂÂÂÂ!"#$%&'()*
0x000AB6E2ÂÂÂÂ0x00000034ÂÂÂÂ+-/13579;=?ACEGIKMOQSUWY[]
0x000AB722ÂÂÂÂ0x00000034ÂÂÂÂ,.02468:<>@BDFHJLNPRTVXZ\^
0x000AB760ÂÂÂÂ0x00000005ÂÂÂÂ0x0p0
0x000AB768ÂÂÂÂ0x00000004ÂÂÂÂ-INF
0x000AB770ÂÂÂÂ0x00000004ÂÂÂÂ-inf
0x000AB780ÂÂÂÂ0x00000004ÂÂÂÂ-NAN
0x000AB788ÂÂÂÂ0x00000004ÂÂÂÂ-nan
0x000AB9E0ÂÂÂÂ0x00000004ÂÂÂÂ.pac
0x000ABA48ÂÂÂÂ0x00000005ÂÂÂÂ.NSCR
0x000ABA50ÂÂÂÂ0x00000005ÂÂÂÂ.NCLR
0x000ABA58ÂÂÂÂ0x00000005ÂÂÂÂ.NCGR
0x000ABA60ÂÂÂÂ0x00000005ÂÂÂÂ.NFTR
0x000ABA68ÂÂÂÂ0x00000005ÂÂÂÂ.NCER
0x000ABA70ÂÂÂÂ0x00000005ÂÂÂÂ.NANR
0x000ABA7CÂÂÂÂ0x00000004ÂÂÂÂ.isd
0x000ABC5CÂÂÂÂ0x00000008ÂÂÂÂF036D000
0x000ABCF4ÂÂÂÂ0x00000004ÂÂÂÂdata
0x000ABCFCÂÂÂÂ0x00000008ÂÂÂÂfieldObj
0x000ABD08ÂÂÂÂ0x00000007ÂÂÂÂsignpnl
0x000ABD10ÂÂÂÂ0x00000007ÂÂÂÂsprtpnl
0x000ABD18ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ABD20ÂÂÂÂ0x00000007ÂÂÂÂynpanel
0x000ABD28ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ABD30ÂÂÂÂ0x00000009ÂÂÂÂui_koro02
0x000ABD3CÂÂÂÂ0x00000007ÂÂÂÂopfingt
0x000ABD44ÂÂÂÂ0x00000007ÂÂÂÂopfingt
0x000ABE60ÂÂÂÂ0x00000004ÂÂÂÂbody
0x000ABE68ÂÂÂÂ0x00000006ÂÂÂÂcamera
0x000ABE70ÂÂÂÂ0x00000004ÂÂÂÂnear
0x000ABE7CÂÂÂÂ0x00000010ÂÂÂÂperspective_fovy
0x000ABE90ÂÂÂÂ0x00000012ÂÂÂÂperspective_aspect
0x000ABEA4ÂÂÂÂ0x00000007ÂÂÂÂscale_w
0x000ABEB0ÂÂÂÂ0x00000005ÂÂÂÂcolor
0x000ABEB8ÂÂÂÂ0x00000005ÂÂÂÂalpha
0x000ABEC0ÂÂÂÂ0x00000006ÂÂÂÂoffset
0x000ABEC8ÂÂÂÂ0x00000005ÂÂÂÂshift
0x000ABED0ÂÂÂÂ0x00000004ÂÂÂÂmode
0x000ABED8ÂÂÂÂ0x00000005ÂÂÂÂcolor
0x000ABEE0ÂÂÂÂ0x00000009ÂÂÂÂfog_table
0x000ABEECÂÂÂÂ0x00000004ÂÂÂÂ.ntf
0x000ABEF4ÂÂÂÂ0x00000006ÂÂÂÂ.nsbmd
0x000ABEFCÂÂÂÂ0x00000004ÂÂÂÂ.pac
0x000ABF04ÂÂÂÂ0x00000006ÂÂÂÂ.nsbca
0x000ABF0CÂÂÂÂ0x00000006ÂÂÂÂ.nsbta
0x000ABF14ÂÂÂÂ0x00000006ÂÂÂÂ.nsbtp
0x000ABF1CÂÂÂÂ0x00000006ÂÂÂÂ.nsbva
0x000ABF24ÂÂÂÂ0x00000006ÂÂÂÂ.nsbma
0x000ABF2CÂÂÂÂ0x00000004ÂÂÂÂ.pac
0x000ABF38ÂÂÂÂ0x00000004ÂÂÂÂ.pac
0x000ABF40ÂÂÂÂ0x00000004ÂÂÂÂ.pac
0x000ABF48ÂÂÂÂ0x00000004ÂÂÂÂ.pac
0x000ABF9CÂÂÂÂ0x0000000BÂÂÂÂ@@@@@@@@@@@
0x000ACB9CÂÂÂÂ0x0000000CÂÂÂÂtrackBallBG1
0x000ACBACÂÂÂÂ0x0000000CÂÂÂÂtrackBallBG2
0x000ACBBCÂÂÂÂ0x0000000DÂÂÂÂtrackBallObj1
0x000ACBCCÂÂÂÂ0x0000000BÂÂÂÂui_koro04_1
0x000ACBD8ÂÂÂÂ0x00000007ÂÂÂÂElement
0x000ACBE0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACBE8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACBF0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACBF8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC00ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC08ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC10ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC18ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC20ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC28ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC30ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC38ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC40ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ACC48ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ACC50ÂÂÂÂ0x0000000BÂÂÂÂui_koro03_1
0x000ACC5CÂÂÂÂ0x00000007ÂÂÂÂElement
0x000ACC64ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC6CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC74ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC7CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC84ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC8CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000ACC94ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ACC9CÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ACCA4ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ACCACÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ACCB4ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ACCE0ÂÂÂÂ0x00000004ÂÂÂÂ<!--
0x000ACCE8ÂÂÂÂ0x00000004ÂÂÂÂ<
0x000ACCF0ÂÂÂÂ0x00000004ÂÂÂÂ>
0x000ACCF8ÂÂÂÂ0x00000005ÂÂÂÂ<PRE>
0x000ACD00ÂÂÂÂ0x00000005ÂÂÂÂ&
0x000ACD08ÂÂÂÂ0x00000006ÂÂÂÂ</PRE>
0x000ACD10ÂÂÂÂ0x00000006ÂÂÂÂ"
0x000ACD18ÂÂÂÂ0x00000006ÂÂÂÂ'
0x000ACD20ÂÂÂÂ0x00000008ÂÂÂÂ<script>
0x000ACD2CÂÂÂÂ0x00000009ÂÂÂÂ</Script>
0x000ACD38ÂÂÂÂ0x00000009ÂÂÂÂ<![CDATA[
0x000ACD44ÂÂÂÂ0x00000009ÂÂÂÂ<!DOCTYPE
0x000ACD50ÂÂÂÂ0x00000040ÂÂÂÂABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
0x000ACE24ÂÂÂÂ0x00000008ÂÂÂÂNo error
0x000ACE30ÂÂÂÂ0x0000001AÂÂÂÂWarning: Unmatched end tag
0x000ACE4CÂÂÂÂ0x00000019ÂÂÂÂWarning: No XML tag found
0x000ACE68ÂÂÂÂ0x00000012ÂÂÂÂError: No XML data
0x000ACE7CÂÂÂÂ0x0000001DÂÂÂÂError: Missing start tag name
0x000ACE9CÂÂÂÂ0x0000001BÂÂÂÂError: Missing end tag name
0x000ACEB8ÂÂÂÂ0x00000018ÂÂÂÂError: Unmatched end tag
0x000ACED4ÂÂÂÂ0x0000001EÂÂÂÂError: Unmatched clear tag end
0x000ACEF4ÂÂÂÂ0x0000001DÂÂÂÂError: Unexpected token found
0x000ACF14ÂÂÂÂ0x00000018ÂÂÂÂError: No elements found
0x000ACF30ÂÂÂÂ0x00000015ÂÂÂÂError: File not found
0x000ACF48ÂÂÂÂ0x0000001AÂÂÂÂError: First Tag not found
0x000ACF64ÂÂÂÂ0x0000001FÂÂÂÂError: Unknown character entity
0x000ACF84ÂÂÂÂ0x0000003DÂÂÂÂError: unable to convert between WideChar and MultiByte chars
0x000ACFC4ÂÂÂÂ0x00000026ÂÂÂÂError: unable to open file for writing
0x000ACFECÂÂÂÂ0x0000001DÂÂÂÂError: cannot write into file
0x000AD00CÂÂÂÂ0x00000034ÂÂÂÂWarning: Base64-string length is not a multiple of 4
0x000AD044ÂÂÂÂ0x00000023ÂÂÂÂWarning: Base64-string is truncated
0x000AD068ÂÂÂÂ0x00000032ÂÂÂÂError: Base64-string contains an illegal character
0x000AD09CÂÂÂÂ0x0000002FÂÂÂÂError: Base64 decode output buffer is too small
0x000AD0CCÂÂÂÂ0x00000007ÂÂÂÂUnknown
0x000AD0E0ÂÂÂÂ0x00000015ÂÂÂÂFirst Tag should be '
0x000AD0FCÂÂÂÂ0x00000023ÂÂÂÂXML Parsing error inside file '%s'.
0x000AD123ÂÂÂÂ0x00000016ÂÂÂÂAt line %i, column %i.
0x000AD13AÂÂÂÂ0x00000006ÂÂÂÂ%s%s%s
0x000AD144ÂÂÂÂ0x00000008ÂÂÂÂencoding
0x000AD150ÂÂÂÂ0x00000005ÂÂÂÂutf-8
0x000AD158ÂÂÂÂ0x00000004ÂÂÂÂutf8
0x000AD160ÂÂÂÂ0x00000008ÂÂÂÂshiftjis
0x000AD16CÂÂÂÂ0x00000009ÂÂÂÂshift-jis
0x000AD178ÂÂÂÂ0x00000004ÂÂÂÂsjis
0x000AD310ÂÂÂÂ0x00000004ÂÂÂÂdata
0x000AD318ÂÂÂÂ0x0000000EÂÂÂÂButtleUpperBG3
0x000AD328ÂÂÂÂ0x0000000EÂÂÂÂButtleUpperBG4
0x000AD338ÂÂÂÂ0x0000000FÂÂÂÂButtleUpperOBJ2
0x000AD348ÂÂÂÂ0x00000006ÂÂÂÂBtlFld
0x000AD350ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl01
0x000AD35CÂÂÂÂ0x00000008ÂÂÂÂbtlpnl02
0x000AD368ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl03
0x000AD374ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl04
0x000AD380ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl05
0x000AD38CÂÂÂÂ0x00000008ÂÂÂÂbtlpnl06
0x000AD398ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl07
0x000AD3A4ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl08
0x000AD3B0ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl09
0x000AD3BCÂÂÂÂ0x00000008ÂÂÂÂbtlpnl10
0x000AD3C8ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl11
0x000AD3D4ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl12
0x000AD3E0ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl13
0x000AD3ECÂÂÂÂ0x00000008ÂÂÂÂbtlpnl14
0x000AD3F8ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl15
0x000AD404ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl16
0x000AD410ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl17
0x000AD41CÂÂÂÂ0x00000008ÂÂÂÂbtlpnl01
0x000AD520ÂÂÂÂ0x00000004ÂÂÂÂdata
0x000AD528ÂÂÂÂ0x0000000AÂÂÂÂlegalUpper
0x000AD534ÂÂÂÂ0x0000000AÂÂÂÂlegalLower
0x000AD540ÂÂÂÂ0x00000005ÂÂÂÂxseed
0x000AD548ÂÂÂÂ0x00000006ÂÂÂÂninten
0x000AD550ÂÂÂÂ0x00000006ÂÂÂÂWBLogo
0x000AD644ÂÂÂÂ0x00000004ÂÂÂÂdata
0x000AD64CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AD7B4ÂÂÂÂ0x00000004ÂÂÂÂdata
0x000AD7BCÂÂÂÂ0x00000005ÂÂÂÂui_wp
0x000AD7C4ÂÂÂÂ0x00000006ÂÂÂÂmapObj
0x000AD7CCÂÂÂÂ0x00000004ÂÂÂÂstat
0x000AD7D4ÂÂÂÂ0x0000000CÂÂÂÂmap_ozCastle
0x000AD7E4ÂÂÂÂ0x0000000CÂÂÂÂmap_ozCastle
0x000AD7F4ÂÂÂÂ0x0000000CÂÂÂÂmap_ozCastle
0x000AD804ÂÂÂÂ0x00000004ÂÂÂÂspot
0x000AD80CÂÂÂÂ0x00000004ÂÂÂÂspot
0x000AD814ÂÂÂÂ0x00000004ÂÂÂÂspot
0x000AD81CÂÂÂÂ0x00000009ÂÂÂÂWmapP%02d
0x000AD828ÂÂÂÂ0x00000005ÂÂÂÂcroud
0x000AD830ÂÂÂÂ0x00000005ÂÂÂÂcroud
0x000AD838ÂÂÂÂ0x00000005ÂÂÂÂcroud
0x000AD840ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AD848ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AD850ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AD858ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AD860ÂÂÂÂ0x00000008ÂÂÂÂmapangle
0x000AD86CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AD95CÂÂÂÂ0x00000005ÂÂÂÂenemy
0x000AD964ÂÂÂÂ0x00000005ÂÂÂÂstart
0x000AD96CÂÂÂÂ0x00000004ÂÂÂÂwarp
0x000AD974ÂÂÂÂ0x00000008ÂÂÂÂtreasure
0x000AD980ÂÂÂÂ0x00000006ÂÂÂÂswitch
0x000AD988ÂÂÂÂ0x00000005ÂÂÂÂenemy
0x000AD990ÂÂÂÂ0x00000005ÂÂÂÂstart
0x000AD998ÂÂÂÂ0x00000004ÂÂÂÂwarp
0x000AD9A0ÂÂÂÂ0x00000008ÂÂÂÂtreasure
0x000AD9ACÂÂÂÂ0x00000006ÂÂÂÂswitch
0x000AD9B4ÂÂÂÂ0x00000007ÂÂÂÂcoll_ka
0x000AD9BCÂÂÂÂ0x00000007ÂÂÂÂcoll_yu
0x000AD9D0ÂÂÂÂ0x00000004ÂÂÂÂcoll
0x000ADA5CÂÂÂÂ0x00000004ÂÂÂÂj005
0x000ADA64ÂÂÂÂ0x00000007ÂÂÂÂj005_01
0x000ADA6CÂÂÂÂ0x00000004ÂÂÂÂj005
0x000ADA74ÂÂÂÂ0x00000006ÂÂÂÂshadow
0x000ADC08ÂÂÂÂ0x00000006ÂÂÂÂshadow
0x000ADC10ÂÂÂÂ0x00000004ÂÂÂÂ%s%s
0x000ADC18ÂÂÂÂ0x00000004ÂÂÂÂ%s%s
0x000ADC2CÂÂÂÂ0x00000006ÂÂÂÂshadow
0x000ADC34ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ADC3CÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ADC44ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ADC4CÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ADC54ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ADC5CÂÂÂÂ0x00000007ÂÂÂÂsignpnl
0x000ADC64ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ADC6CÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ADC74ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ADC7CÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ADC84ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ADC8CÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ADC94ÂÂÂÂ0x00000006ÂÂÂÂshadow
0x000ADC9CÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ADCA4ÂÂÂÂ0x00000007ÂÂÂÂaimKira
0x000ADCACÂÂÂÂ0x0000000AÂÂÂÂkirayellow
0x000ADCB8ÂÂÂÂ0x00000005ÂÂÂÂpopup
0x000ADCC0ÂÂÂÂ0x00000005ÂÂÂÂpopup
0x000ADCC8ÂÂÂÂ0x00000005ÂÂÂÂpopup
0x000ADD00ÂÂÂÂ0x00000004ÂÂÂÂo009
0x000ADD50ÂÂÂÂ0x00000004ÂÂÂÂ.ofa
0x000ADD58ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ADD60ÂÂÂÂ0x00000007ÂÂÂÂynpanel
0x000ADD68ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000ADD74ÂÂÂÂ0x00000007ÂÂÂÂynpanel
0x000ADD7CÂÂÂÂ0x00000007ÂÂÂÂynpanel
0x000ADD84ÂÂÂÂ0x00000007ÂÂÂÂynpanel
0x000ADD8CÂÂÂÂ0x00000007ÂÂÂÂsignpnl
0x000ADD94ÂÂÂÂ0x00000007ÂÂÂÂsprtpnl
0x000ADED0ÂÂÂÂ0x00000004ÂÂÂÂj001
0x000AE0C0ÂÂÂÂ0x00000015ÂÂÂÂdata/default_data.dat
0x000AE0D8ÂÂÂÂ0x00000007ÂÂÂÂj001prm
0x000AE0E0ÂÂÂÂ0x00000007ÂÂÂÂj002prm
0x000AE0E8ÂÂÂÂ0x00000007ÂÂÂÂj003prm
0x000AE0F0ÂÂÂÂ0x00000007ÂÂÂÂj004prm
0x000AE0F8ÂÂÂÂ0x00000008ÂÂÂÂj001name
0x000AE104ÂÂÂÂ0x00000008ÂÂÂÂj002name
0x000AE110ÂÂÂÂ0x00000008ÂÂÂÂj003name
0x000AE11CÂÂÂÂ0x00000008ÂÂÂÂj004name
0x000AE128ÂÂÂÂ0x00000008ÂÂÂÂj005name
0x000AE134ÂÂÂÂ0x00000005ÂÂÂÂitems
0x000AE13CÂÂÂÂ0x00000007ÂÂÂÂalltime
0x000AE144ÂÂÂÂ0x00000006ÂÂÂÂj001en
0x000AE14CÂÂÂÂ0x00000006ÂÂÂÂj002en
0x000AE154ÂÂÂÂ0x00000006ÂÂÂÂj003en
0x000AE15CÂÂÂÂ0x00000006ÂÂÂÂj004en
0x000AE164ÂÂÂÂ0x00000006ÂÂÂÂj005en
0x000AE16CÂÂÂÂ0x00000007ÂÂÂÂj001skl
0x000AE174ÂÂÂÂ0x00000007ÂÂÂÂj002skl
0x000AE17CÂÂÂÂ0x00000007ÂÂÂÂj003skl
0x000AE184ÂÂÂÂ0x00000007ÂÂÂÂj004skl
0x000AE18CÂÂÂÂ0x00000006ÂÂÂÂspirit
0x000AE194ÂÂÂÂ0x00000005ÂÂÂÂmoney
0x000AE1A0ÂÂÂÂ0x00000004ÂÂÂÂshop
0x000AE1A8ÂÂÂÂ0x00000007ÂÂÂÂtotobad
0x000AE1B0ÂÂÂÂ0x00000008ÂÂÂÂtotogood
0x000AE1BCÂÂÂÂ0x00000008ÂÂÂÂtotoskil
0x000AE1C8ÂÂÂÂ0x00000005ÂÂÂÂorder
0x000AE1E4ÂÂÂÂ0x00000005ÂÂÂÂb%03d
0x000AE1ECÂÂÂÂ0x00000008ÂÂÂÂRIZFILE0
0x000AE1F8ÂÂÂÂ0x00000008ÂÂÂÂRIZFILE0
0x000AE204ÂÂÂÂ0x00000008ÂÂÂÂRIZFILE0
0x000AE210ÂÂÂÂ0x00000008ÂÂÂÂRIZFILE0
0x000AE21CÂÂÂÂ0x00000008ÂÂÂÂRIZFILE0
0x000AE228ÂÂÂÂ0x00000008ÂÂÂÂRIZFILE0
0x000AE234ÂÂÂÂ0x00000008ÂÂÂÂRIZFILE0
0x000AE2B4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE2BCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE2C4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE2CCÂÂÂÂ0x00000007ÂÂÂÂui_YN02
0x000AE2D4ÂÂÂÂ0x0000000CÂÂÂÂMenuLowerObj
0x000AE2E4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE2ECÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE2F4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE3CCÂÂÂÂ0x00000038ÂÂÂÂ@ A B C D E F G H I D D E D D E G G H D D E D D E G G H
0x000AE448ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE450ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE460ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl09
0x000AE47CÂÂÂÂ0x00000006ÂÂÂÂAttack
0x000AE490ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE4A4ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl10
0x000AE4D0ÂÂÂÂ0x00000150ÂÂÂÂ@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ @ A B C D E F G H I D D E D D E G G H D D E D D E G G H @ A B C D E F G
0x000AE7CCÂÂÂÂ0x00000008ÂÂÂÂbtlpnl02
0x000AE7D8ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl03
0x000AE7E4ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl05
0x000AE7F0ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl08
0x000AE7FCÂÂÂÂ0x00000008ÂÂÂÂbtlpnl02
0x000AE808ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl07
0x000AE814ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl02
0x000AE820ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl04
0x000AE82CÂÂÂÂ0x00000008ÂÂÂÂbtlpnl02
0x000AE838ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl02
0x000AE844ÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG1-0
0x000AE858ÂÂÂÂ0x0000000FÂÂÂÂButtleLowerOBJ3
0x000AE868ÂÂÂÂ0x00000013ÂÂÂÂButtleLowerBG1Black
0x000AE87CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE884ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE88CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE894ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE89CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE8A4ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl02
0x000AE8B0ÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG2-0
0x000AE8C4ÂÂÂÂ0x0000000FÂÂÂÂButtleLowerOBJ4
0x000AE8D4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE8DCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE8E4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE8ECÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE8F4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE914ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE920ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE92CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE95CÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG2-1
0x000AE970ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl03
0x000AE97CÂÂÂÂ0x00000008ÂÂÂÂbtlpnl08
0x000AE988ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl05
0x000AE994ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl04
0x000AE9A0ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl07
0x000AE9ACÂÂÂÂ0x00000008ÂÂÂÂbtlpnl01
0x000AE9B8ÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG3-0
0x000AE9CCÂÂÂÂ0x0000000FÂÂÂÂButtleLowerOBJ3
0x000AE9DCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE9E4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE9ECÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE9F4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AE9FCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEA04ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl04
0x000AEA10ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl05
0x000AEA1CÂÂÂÂ0x00000008ÂÂÂÂbtlpnl02
0x000AEA28ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl08
0x000AEA34ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl02
0x000AEA40ÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG5-0
0x000AEA54ÂÂÂÂ0x0000000FÂÂÂÂButtleLowerOBJ3
0x000AEA64ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEA6CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEA74ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEA7CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEA84ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl02
0x000AEA90ÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG8-0
0x000AEAA4ÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG8-1
0x000AEAB8ÂÂÂÂ0x0000000FÂÂÂÂButtleLowerOBJ2
0x000AEAC8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEAD0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEAD8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEAE0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEAE8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEAF0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEB24ÂÂÂÂ0x0000000EÂÂÂÂButtleLowerBG1
0x000AEB34ÂÂÂÂ0x0000000EÂÂÂÂButtleLowerOBJ
0x000AEB44ÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000AEB64ÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG5-0
0x000AEB78ÂÂÂÂ0x00000013ÂÂÂÂButtleAllyTargetOBJ
0x000AEB8CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEB94ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEBA0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEBA8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEBB8ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl02
0x000AEBC4ÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG8-0
0x000AEBD8ÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG8-1
0x000AEBECÂÂÂÂ0x0000000FÂÂÂÂButtleLowerOBJ2
0x000AEBFCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEC04ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEC0CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEC14ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEC1CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEC24ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEC3CÂÂÂÂ0x0000000EÂÂÂÂButtleResultBG
0x000AEC4CÂÂÂÂ0x0000000FÂÂÂÂButtleResultOBJ
0x000AEC5CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEC64ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AEC74ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl01
0x000AEC80ÂÂÂÂ0x00000008ÂÂÂÂbtlpnl02
0x000AEC8CÂÂÂÂ0x0000000EÂÂÂÂButtleLowerBG1
0x000AEC9CÂÂÂÂ0x0000000EÂÂÂÂButtleLowerOBJ
0x000AECACÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000AECC8ÂÂÂÂ0x0000000EÂÂÂÂButtleLowerBG1
0x000AECD8ÂÂÂÂ0x0000000EÂÂÂÂButtleLowerOBJ
0x000AECE8ÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000AED04ÂÂÂÂ0x0000000EÂÂÂÂButtleLowerBG1
0x000AED14ÂÂÂÂ0x0000000EÂÂÂÂButtleLowerOBJ
0x000AED24ÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000AED38ÂÂÂÂ0x0000000EÂÂÂÂButtleLowerBG1
0x000AED48ÂÂÂÂ0x0000000EÂÂÂÂButtleLowerOBJ
0x000AED58ÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000AED74ÂÂÂÂ0x0000000EÂÂÂÂButtleLowerBG1
0x000AED84ÂÂÂÂ0x0000000EÂÂÂÂButtleLowerOBJ
0x000AED94ÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000AEDA8ÂÂÂÂ0x0000000EÂÂÂÂButtleLowerBG1
0x000AEDB8ÂÂÂÂ0x0000000EÂÂÂÂButtleLowerOBJ
0x000AEDC8ÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000AEDE0ÂÂÂÂ0x0000000EÂÂÂÂButtleLowerBG1
0x000AEDF0ÂÂÂÂ0x0000000EÂÂÂÂButtleLowerOBJ
0x000AEFACÂÂÂÂ0x00000004ÂÂÂÂdata
0x000AEFB4ÂÂÂÂ0x00000007ÂÂÂÂui_ozBG
0x000AEFBCÂÂÂÂ0x0000000BÂÂÂÂOZCastleOBJ
0x000AEFC8ÂÂÂÂ0x00000008ÂÂÂÂOZCastle
0x000AEFD4ÂÂÂÂ0x00000004ÂÂÂÂn087
0x000AEFE0ÂÂÂÂ0x00000004ÂÂÂÂn113
0x000AEFE8ÂÂÂÂ0x00000006ÂÂÂÂscn059
0x000AEFF0ÂÂÂÂ0x00000007ÂÂÂÂshadow2
0x000AEFF8ÂÂÂÂ0x00000004ÂÂÂÂheal
0x000AF000ÂÂÂÂ0x00000004ÂÂÂÂheal
0x000AF008ÂÂÂÂ0x00000004ÂÂÂÂheal
0x000AF010ÂÂÂÂ0x00000007ÂÂÂÂj001_03
0x000AF018ÂÂÂÂ0x00000009ÂÂÂÂobj_skirt
0x000AF024ÂÂÂÂ0x00000004ÂÂÂÂj002
0x000AF02CÂÂÂÂ0x00000007ÂÂÂÂj002_03
0x000AF034ÂÂÂÂ0x00000004ÂÂÂÂj002
0x000AF03CÂÂÂÂ0x00000008ÂÂÂÂobj_body
0x000AF048ÂÂÂÂ0x00000004ÂÂÂÂj003
0x000AF050ÂÂÂÂ0x00000007ÂÂÂÂj003_03
0x000AF058ÂÂÂÂ0x00000004ÂÂÂÂj003
0x000AF060ÂÂÂÂ0x00000008ÂÂÂÂobj_Body
0x000AF06CÂÂÂÂ0x00000005ÂÂÂÂj004B
0x000AF074ÂÂÂÂ0x00000007ÂÂÂÂj004_03
0x000AF07CÂÂÂÂ0x00000005ÂÂÂÂj004B
0x000AF084ÂÂÂÂ0x00000008ÂÂÂÂboj_body
0x000AF090ÂÂÂÂ0x00000004ÂÂÂÂj005
0x000AF098ÂÂÂÂ0x00000007ÂÂÂÂj005_03
0x000AF0A0ÂÂÂÂ0x00000004ÂÂÂÂj005
0x000AF0A8ÂÂÂÂ0x00000008ÂÂÂÂobj_body
0x000AF0B4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF0BCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF0C4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF0CCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF0D4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF0DCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF0E4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF0ECÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF0F4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF0FCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF104ÂÂÂÂ0x00000006ÂÂÂÂmsn060
0x000AF10CÂÂÂÂ0x00000007ÂÂÂÂnewcstl
0x000AF114ÂÂÂÂ0x00000007ÂÂÂÂnewcstl
0x000AF120ÂÂÂÂ0x00000008ÂÂÂÂtryagain
0x000AF12CÂÂÂÂ0x00000008ÂÂÂÂtryagain
0x000AF1E4ÂÂÂÂ0x00000007ÂÂÂÂshadow2
0x000AF2D0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF4A0ÂÂÂÂ0x0000000CÂÂÂÂMenuLowerBG2
0x000AF4B0ÂÂÂÂ0x0000000DÂÂÂÂMenuLowerOBJ2
0x000AF4C0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF4C8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF4D0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF4D8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF4E0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF4E8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF4F0ÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG8-0
0x000AF504ÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG8-1
0x000AF518ÂÂÂÂ0x0000000FÂÂÂÂButtleLowerOBJ2
0x000AF528ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF530ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF538ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF540ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF548ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF550ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF558ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF580ÂÂÂÂ0x00000007ÂÂÂÂynpanel
0x000AF588ÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG5-0
0x000AF59CÂÂÂÂ0x0000000FÂÂÂÂButtleLowerOBJ3
0x000AF5ACÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF5B4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF5BCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF5C4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF5CCÂÂÂÂ0x0000000DÂÂÂÂMainMenuEquip
0x000AF5DCÂÂÂÂ0x0000000FÂÂÂÂButtleLowerOBJ2
0x000AF5ECÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF5F4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF5FCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF604ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF60CÂÂÂÂ0x00000010ÂÂÂÂMenuNewEquipment
0x000AF620ÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG8-1
0x000AF634ÂÂÂÂ0x0000000FÂÂÂÂButtleLowerOBJ2
0x000AF644ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF64CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF654ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF65CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF664ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF66CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF674ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF69CÂÂÂÂ0x0000000BÂÂÂÂMenuLowerBG
0x000AF6A8ÂÂÂÂ0x0000000CÂÂÂÂMenuLowerOBJ
0x000AF6B8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF6C0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF6C8ÂÂÂÂ0x0000000BÂÂÂÂMenuLowerBG
0x000AF6D4ÂÂÂÂ0x0000000CÂÂÂÂMenuLowerOBJ
0x000AF6E4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF6ECÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF6F4ÂÂÂÂ0x00000012ÂÂÂÂMenuLowerStatusBG1
0x000AF708ÂÂÂÂ0x00000012ÂÂÂÂMenuLowerStatusBG2
0x000AF71CÂÂÂÂ0x00000012ÂÂÂÂMenuLowerStatusBG3
0x000AF730ÂÂÂÂ0x00000012ÂÂÂÂMenuLowerStatusOBJ
0x000AF744ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF74CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF754ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF7A0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF7A8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF7E8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF7F0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF848ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF850ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF85CÂÂÂÂ0x0000000BÂÂÂÂMenuLowerBG
0x000AF868ÂÂÂÂ0x0000000CÂÂÂÂMenuLowerOBJ
0x000AF878ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF880ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF888ÂÂÂÂ0x00000007ÂÂÂÂui_YN02
0x000AF890ÂÂÂÂ0x0000000CÂÂÂÂMenuLowerOBJ
0x000AF8A0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF8ACÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF8B4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF8BCÂÂÂÂ0x00000008ÂÂÂÂui_m05_4
0x000AF8C8ÂÂÂÂ0x00000007ÂÂÂÂui_op02
0x000AF8D0ÂÂÂÂ0x0000000CÂÂÂÂMenuLowerOBJ
0x000AF8E0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF8E8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF8F0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF8F8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF900ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF908ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF918ÂÂÂÂ0x00000014ÂÂÂÂdata/global_data.dat
0x000AF930ÂÂÂÂ0x00000006ÂÂÂÂnewscn
0x000AF938ÂÂÂÂ0x00000007ÂÂÂÂui_SL02
0x000AF940ÂÂÂÂ0x0000000AÂÂÂÂui_SL02OBJ
0x000AF94CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF954ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF95CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF964ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF978ÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000AF980ÂÂÂÂ0x00000007ÂÂÂÂui_YN01
0x000AF988ÂÂÂÂ0x0000000CÂÂÂÂMenuLowerOBJ
0x000AF998ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF9A0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF9ACÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF9B8ÂÂÂÂ0x00000007ÂÂÂÂWmapP00
0x000AF9C0ÂÂÂÂ0x00000008ÂÂÂÂui_kbdBG
0x000AF9CCÂÂÂÂ0x0000000CÂÂÂÂMenuLowerOBJ
0x000AF9DCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AF9E4ÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000AF9ECÂÂÂÂ0x0000000AÂÂÂÂui_ne00_02
0x000AF9F8ÂÂÂÂ0x0000000AÂÂÂÂui_ne00_03
0x000AFA04ÂÂÂÂ0x0000000AÂÂÂÂui_ne00_04
0x000AFA10ÂÂÂÂ0x0000000AÂÂÂÂui_ne00_05
0x000AFA1CÂÂÂÂ0x0000000AÂÂÂÂui_ne00_01
0x000AFA28ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFA30ÂÂÂÂ0x00000008ÂÂÂÂui_Black
0x000AFA98ÂÂÂÂ0x00000007ÂÂÂÂmmpnl01
0x000AFAA0ÂÂÂÂ0x00000007ÂÂÂÂmmpnl02
0x000AFAA8ÂÂÂÂ0x00000007ÂÂÂÂmmpnl03
0x000AFAB0ÂÂÂÂ0x00000007ÂÂÂÂmmpnl04
0x000AFAB8ÂÂÂÂ0x00000007ÂÂÂÂmmpnl05
0x000AFAC0ÂÂÂÂ0x00000007ÂÂÂÂmmpnl06
0x000AFAC8ÂÂÂÂ0x00000007ÂÂÂÂmmpnl07
0x000AFAD0ÂÂÂÂ0x00000007ÂÂÂÂmmpnl08
0x000AFAD8ÂÂÂÂ0x00000007ÂÂÂÂmmpnl09
0x000AFAE0ÂÂÂÂ0x00000007ÂÂÂÂmmpnl10
0x000AFAE8ÂÂÂÂ0x00000007ÂÂÂÂmmpnl11
0x000AFAF0ÂÂÂÂ0x00000007ÂÂÂÂmmpnl12
0x000AFAF8ÂÂÂÂ0x00000007ÂÂÂÂmmpnl13
0x000AFB00ÂÂÂÂ0x00000007ÂÂÂÂmmpnl14
0x000AFB08ÂÂÂÂ0x00000007ÂÂÂÂmmpnl15
0x000AFB10ÂÂÂÂ0x00000007ÂÂÂÂarngpnl
0x000AFB18ÂÂÂÂ0x00000007ÂÂÂÂynpanel
0x000AFB20ÂÂÂÂ0x00000007ÂÂÂÂmmpnl16
0x000AFB28ÂÂÂÂ0x00000006ÂÂÂÂstat01
0x000AFB30ÂÂÂÂ0x00000006ÂÂÂÂstat02
0x000AFC20ÂÂÂÂ0x00000007ÂÂÂÂmmpnl01
0x000AFC28ÂÂÂÂ0x00000007ÂÂÂÂmmpnl01
0x000AFC30ÂÂÂÂ0x0000000EÂÂÂÂArrangePanelBG
0x000AFC40ÂÂÂÂ0x0000000FÂÂÂÂArrangePanelOBJ
0x000AFC50ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFC58ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFC60ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFC68ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFC74ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFC7CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFC84ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFC8CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFCB4ÂÂÂÂ0x00000007ÂÂÂÂozpnl01
0x000AFCBCÂÂÂÂ0x00000007ÂÂÂÂozpnl02
0x000AFCC4ÂÂÂÂ0x00000007ÂÂÂÂozpnl03
0x000AFCCCÂÂÂÂ0x00000007ÂÂÂÂozpnl04
0x000AFCD4ÂÂÂÂ0x00000007ÂÂÂÂozpnl05
0x000AFDFCÂÂÂÂ0x00000004ÂÂÂÂdata
0x000AFE04ÂÂÂÂ0x0000000BÂÂÂÂui_ozMenuBG
0x000AFE10ÂÂÂÂ0x0000000BÂÂÂÂui_buy_up01
0x000AFE1CÂÂÂÂ0x00000009ÂÂÂÂOZShopOBJ
0x000AFE28ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFE30ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFE38ÂÂÂÂ0x00000008ÂÂÂÂOZCastle
0x000AFE44ÂÂÂÂ0x00000004ÂÂÂÂn087
0x000AFE50ÂÂÂÂ0x00000004ÂÂÂÂn113
0x000AFE58ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFE60ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFE6CÂÂÂÂ0x0000000BÂÂÂÂui_ozbuy_01
0x000AFE78ÂÂÂÂ0x0000000CÂÂÂÂui_ozbuy_OBJ
0x000AFE88ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFE90ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFE98ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFEA0ÂÂÂÂ0x0000000BÂÂÂÂui_ozbuy_02
0x000AFEACÂÂÂÂ0x0000000CÂÂÂÂui_ozbuy_OBJ
0x000AFEBCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFEC4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFED4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFEDCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFEE4ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFEECÂÂÂÂ0x0000000BÂÂÂÂMenuLowerBG
0x000AFEF8ÂÂÂÂ0x0000000CÂÂÂÂMenuLowerOBJ
0x000AFF08ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFF10ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFF18ÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG8-0
0x000AFF2CÂÂÂÂ0x00000010ÂÂÂÂButtleLowerBG8-1
0x000AFF40ÂÂÂÂ0x0000000FÂÂÂÂButtleLowerOBJ2
0x000AFF50ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFF58ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFF60ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFF68ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFF70ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFF9CÂÂÂÂ0x0000000BÂÂÂÂui_ozbuy_04
0x000AFFA8ÂÂÂÂ0x0000000CÂÂÂÂui_ozbuy_OBJ
0x000AFFB8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFFC0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFFC8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFFD0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFFD8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFFE8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000AFFF8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B0000ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B0008ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B0010ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B0018ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B0020ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B0040ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B00ECÂÂÂÂ0x00000004ÂÂÂÂdata
0x000B00F4ÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000B00FCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B0104ÂÂÂÂ0x00000009ÂÂÂÂui_ehon01
0x000B0110ÂÂÂÂ0x0000000CÂÂÂÂBookLowerOBJ
0x000B0120ÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000B0128ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B0130ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B0138ÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000B0148ÂÂÂÂ0x00000008ÂÂÂÂscanline
0x000B0154ÂÂÂÂ0x00000005ÂÂÂÂmoyan
0x000B01D0ÂÂÂÂ0x0000000EÂÂÂÂdata/event.dat
0x000B0264ÂÂÂÂ0x00000007ÂÂÂÂj001_01
0x000B026CÂÂÂÂ0x00000006ÂÂÂÂshadow
0x000B0274ÂÂÂÂ0x00000004ÂÂÂÂfoot
0x000B027CÂÂÂÂ0x00000004ÂÂÂÂkira
0x000B0284ÂÂÂÂ0x00000007ÂÂÂÂtrcball
0x000B0380ÂÂÂÂ0x00000038ÂÂÂÂ`@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]@[email protected]
0x000B0478ÂÂÂÂ0x00000004ÂÂÂÂdata
0x000B0480ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B0488ÂÂÂÂ0x0000000AÂÂÂÂui_kaiwa01
0x000B0494ÂÂÂÂ0x0000000AÂÂÂÂui_kaiwa02
0x000B04A0ÂÂÂÂ0x0000000CÂÂÂÂChatUpperObj
0x000B04B0ÂÂÂÂ0x0000000DÂÂÂÂMenuLowerOBJ2
0x000B04C0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B04C8ÂÂÂÂ0x00000006ÂÂÂÂBtlFld
0x000B04D0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B04D8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B04E0ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B055CÂÂÂÂ0x0000000CÂÂÂÂMenuUpperBG1
0x000B056CÂÂÂÂ0x0000000CÂÂÂÂMenuUpperOBJ
0x000B057CÂÂÂÂ0x0000000CÂÂÂÂMenuUpperBG1
0x000B058CÂÂÂÂ0x0000000CÂÂÂÂMenuUpperOBJ
0x000B059CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B05F8ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B0600ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B060CÂÂÂÂ0x0000000CÂÂÂÂMenuUpperBG1
0x000B0644ÂÂÂÂ0x0000000CÂÂÂÂMenuUpperBG2
0x000B0654ÂÂÂÂ0x0000000CÂÂÂÂMenuUpperBG2
0x000B0664ÂÂÂÂ0x00000009ÂÂÂÂui_mst_01
0x000B0670ÂÂÂÂ0x00000009ÂÂÂÂui_mst_02
0x000B067CÂÂÂÂ0x00000009ÂÂÂÂui_mst_03
0x000B0688ÂÂÂÂ0x00000009ÂÂÂÂui_mst_04
0x000B0698ÂÂÂÂ0x00000008ÂÂÂÂui_Black
0x000B06A4ÂÂÂÂ0x00000008ÂÂÂÂui_Black
0x000B06B0ÂÂÂÂ0x00000009ÂÂÂÂui_SL01lW
0x000B06BCÂÂÂÂ0x00000009ÂÂÂÂui_SL01sW
0x000B06CCÂÂÂÂ0x00000008ÂÂÂÂui_SL01l
0x000B06D8ÂÂÂÂ0x00000008ÂÂÂÂui_SL01s
0x000B0754ÂÂÂÂ0x00000009ÂÂÂÂui_op02_1
0x000B0760ÂÂÂÂ0x00000009ÂÂÂÂui_op02_1
0x000B07E8ÂÂÂÂ0x00000005ÂÂÂÂfoot2
0x000B07F0ÂÂÂÂ0x00000007ÂÂÂÂkirared
0x000B07F8ÂÂÂÂ0x00000004ÂÂÂÂkira
0x000B0800ÂÂÂÂ0x00000007ÂÂÂÂkirared
0x000B0808ÂÂÂÂ0x0000000AÂÂÂÂkirayellow
0x000B0814ÂÂÂÂ0x00000009ÂÂÂÂkiragreen
0x000B0820ÂÂÂÂ0x00000008ÂÂÂÂkirablue
0x000B08DCÂÂÂÂ0x00000004ÂÂÂÂdata
0x000B08E4ÂÂÂÂ0x00000009ÂÂÂÂui_koro02
0x000B08F0ÂÂÂÂ0x00000008ÂÂÂÂfieldObj
0x000B08FCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000B0A38ÂÂÂÂ0x00000032ÂÂÂÂB0D0F0H0J0K0M0O0Q0S0U0W0Y0[0]0_0a0d0f0h0o0r0u0x0{0
0x000B0AB1ÂÂÂÂ0x00000008ÂÂÂÂ0000
0x000B0ABBÂÂÂÂ0x00000027ÂÂÂÂ0N0P0R0T0V0X0Z0^0`0b0e0g0i0p0s0v0y0|0
0x000B0AE3ÂÂÂÂ0x0000000AÂÂÂÂ00000
0x000B0B1BÂÂÂÂ0x0000000AÂÂÂÂ00000
0x000B0B29ÂÂÂÂ0x00000026ÂÂÂÂ0000000000000000000
0x000B0B51ÂÂÂÂ0x00000009ÂÂÂÂ0t0w0z0}0
0x000B0B5BÂÂÂÂ0x0000002EÂÂÂÂ00000000000000000000000
0x000B0B93ÂÂÂÂ0x0000000AÂÂÂÂ00000
0x000B0BA0ÂÂÂÂ0x0000000AÂÂÂÂA0C0E0G0I0
0x000B0BABÂÂÂÂ0x00000016ÂÂÂÂ00000000000
0x000B0BC3ÂÂÂÂ0x0000000EÂÂÂÂ0000000
0x000B0BEBÂÂÂÂ0x00000010ÂÂÂÂ00000000
0x000B0BFDÂÂÂÂ0x0000000EÂÂÂÂ0000000
0x000B0C18ÂÂÂÂ0x00000004ÂÂÂÂRTFN
0x000B0C28ÂÂÂÂ0x00000004ÂÂÂÂFNIF
0x000B0C44ÂÂÂÂ0x00000005ÂÂÂÂPLGCT
0x000B0CABÂÂÂÂ0x00000006ÂÂÂÂ@>ÂÂÂÂ! $
0x000B0EFBÂÂÂÂ0x00000004ÂÂÂÂ9)%$
0x000B12ACÂÂÂÂ0x00000004ÂÂÂÂf3$D
0x000B137FÂÂÂÂ0x00000004ÂÂÂÂ"$DU
0x000B1A3EÂÂÂÂ0x00000005ÂÂÂÂ 8ÂÂ@
0x000B1AB6ÂÂÂÂ0x00000004ÂÂÂÂAdLQ
0x000B1B98ÂÂÂÂ0x00000005ÂÂÂÂ[email protected]
0x000B1DD8ÂÂÂÂ0x00000004ÂÂÂÂPAMC
0x000B1DF0ÂÂÂÂ0x00000004ÂÂÂÂPAMC
0x000B1E40ÂÂÂÂ0x00000008ÂÂÂÂefgh
0x000B1E50ÂÂÂÂ0x00000012ÂÂÂÂjklmnopqr
0x000B1E64ÂÂÂÂ0x00000008ÂÂÂÂstuv
0x000B1E74ÂÂÂÂ0x00000008ÂÂÂÂyz{|
0x000B1EBCÂÂÂÂ0x00000004ÂÂÂÂPAMC
0x000B1ED0ÂÂÂÂ0x0000000AÂÂÂÂ'}\~]
0x000B1F72ÂÂÂÂ0x0000004AÂÂÂÂ1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ'
0x000B1FBEÂÂÂÂ0x0000004AÂÂÂÂ1234567890abcdefghijklmnopqrstuvwxyz'
0x000B200AÂÂÂÂ0x0000004AÂÂÂÂ1234567890abcdefghijklmnopqrstuvwxyz'
0x000B20C6ÂÂÂÂ0x0000003EÂÂÂÂB0D0F0H0J0K0M0O0Q0S0U0W0Y0[0]0_0a0d0f0h0j0k0l0m0n0o0r0u0x0{0~0
0x000B2196ÂÂÂÂ0x00000016ÂÂÂÂ1234567890=
0x000B2212ÂÂÂÂ0x00000012ÂÂÂÂ:;@~_+-*/
0x000B223CÂÂÂÂ0x0000000AÂÂÂÂ)<>{}
0x000B2250ÂÂÂÂ0x00000004ÂÂÂÂm&j&
0x000B6274ÂÂÂÂ0x00000004ÂÂÂÂATTR
0x000B6484ÂÂÂÂ0x00000005ÂÂÂÂLINK
0x000B648CÂÂÂÂ0x00000014ÂÂÂÂfs_keyboardColor.ncl
0x000B64A4ÂÂÂÂ0x00000004ÂÂÂÂCMNT
0x000B94B0ÂÂÂÂ0x00000004ÂÂÂÂATTR
0x000B9640ÂÂÂÂ0x00000005ÂÂÂÂLINK<
0x000B9648ÂÂÂÂ0x00000031ÂÂÂÂ..\SoftKeyboard\kbd\data\bin\fs_keyboardColor.ncl
0x000B967CÂÂÂÂ0x00000004ÂÂÂÂCMNT
0x000BC688ÂÂÂÂ0x00000004ÂÂÂÂATTR
0x000BC818ÂÂÂÂ0x00000005ÂÂÂÂLINK<
0x000BC820ÂÂÂÂ0x00000031ÂÂÂÂ..\SoftKeyboard\kbd\data\bin\fs_keyboardColor.ncl
0x000BC854ÂÂÂÂ0x00000004ÂÂÂÂCMNT
0x000BF860ÂÂÂÂ0x00000004ÂÂÂÂATTR
0x000BF9F0ÂÂÂÂ0x00000005ÂÂÂÂLINK<
0x000BF9F8ÂÂÂÂ0x00000031ÂÂÂÂ..\SoftKeyboard\kbd\data\bin\fs_keyboardColor.ncl
0x000BFA2CÂÂÂÂ0x00000004ÂÂÂÂCMNT
0x000C0244ÂÂÂÂ0x00000004ÂÂÂÂdata
0x000C024CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C0254ÂÂÂÂ0x0000000AÂÂÂÂgameoverUp
0x000C0260ÂÂÂÂ0x00000008ÂÂÂÂui_Black
0x000C026CÂÂÂÂ0x0000000BÂÂÂÂui_gameover
0x000C0278ÂÂÂÂ0x0000000BÂÂÂÂgameoverLow
0x000C0284ÂÂÂÂ0x0000000FÂÂÂÂButtleLowerOBJ3
0x000C0294ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C029CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C02A4ÂÂÂÂ0x00000006ÂÂÂÂgocstl
0x000C02ACÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C02B4ÂÂÂÂ0x00000008ÂÂÂÂtryagain
0x000C02C0ÂÂÂÂ0x00000007ÂÂÂÂWmapP00
0x000C0340ÂÂÂÂ0x00000004ÂÂÂÂdata
0x000C0348ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C0350ÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000C0358ÂÂÂÂ0x00000005ÂÂÂÂLc12N
0x000C0360ÂÂÂÂ0x00000010ÂÂÂÂdata/endroll.dat
0x000C0374ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C037CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C0384ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C038CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C03BCÂÂÂÂ0x00000005ÂÂÂÂLc12N
0x000C03DCÂÂÂÂ0x00000005ÂÂÂÂfin01
0x000C03E4ÂÂÂÂ0x00000005ÂÂÂÂfin00
0x000C04D4ÂÂÂÂ0x00000004ÂÂÂÂdata
0x000C04DCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C04E4ÂÂÂÂ0x0000000FÂÂÂÂui_stageclear_1
0x000C04F4ÂÂÂÂ0x0000000FÂÂÂÂui_stageclear_2
0x000C0504ÂÂÂÂ0x0000000BÂÂÂÂOZCastleOBJ
0x000C051CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C0528ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C05ACÂÂÂÂ0x00000004ÂÂÂÂdata
0x000C05B4ÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000C05BCÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C05C4ÂÂÂÂ0x0000000DÂÂÂÂui_Tutorial01
0x000C05D4ÂÂÂÂ0x0000000DÂÂÂÂui_Tutorial03
0x000C05E4ÂÂÂÂ0x0000000DÂÂÂÂui_Tutorial02
0x000C05F4ÂÂÂÂ0x0000000CÂÂÂÂBookLowerOBJ
0x000C0604ÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000C060CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C0614ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C061CÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000C062CÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000C0634ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C063CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C0750ÂÂÂÂ0x00000004ÂÂÂÂdata
0x000C0758ÂÂÂÂ0x00000004ÂÂÂÂSkyL
0x000C0760ÂÂÂÂ0x00000004ÂÂÂÂSkyR
0x000C0768ÂÂÂÂ0x0000000CÂÂÂÂMenuLowerOBJ
0x000C0778ÂÂÂÂ0x0000000CÂÂÂÂMenuLowerOBJ
0x000C0788ÂÂÂÂ0x00000005ÂÂÂÂLc12N
0x000C0794ÂÂÂÂ0x00000006ÂÂÂÂshadow
0x000C079CÂÂÂÂ0x00000007ÂÂÂÂj001_04
0x000C07A4ÂÂÂÂ0x00000004ÂÂÂÂj001
0x000C07ACÂÂÂÂ0x00000004ÂÂÂÂj002
0x000C07B4ÂÂÂÂ0x00000006ÂÂÂÂshadow
0x000C07BCÂÂÂÂ0x00000007ÂÂÂÂj002_04
0x000C07C4ÂÂÂÂ0x00000004ÂÂÂÂj002
0x000C07CCÂÂÂÂ0x00000004ÂÂÂÂj003
0x000C07D4ÂÂÂÂ0x00000007ÂÂÂÂj003_04
0x000C07DCÂÂÂÂ0x00000004ÂÂÂÂj003
0x000C07E4ÂÂÂÂ0x00000005ÂÂÂÂj004B
0x000C07ECÂÂÂÂ0x00000007ÂÂÂÂj004_04
0x000C07F4ÂÂÂÂ0x00000005ÂÂÂÂj004B
0x000C07FCÂÂÂÂ0x00000004ÂÂÂÂj005
0x000C0804ÂÂÂÂ0x00000007ÂÂÂÂj005_01
0x000C080CÂÂÂÂ0x00000004ÂÂÂÂj005
0x000C0814ÂÂÂÂ0x00000006ÂÂÂÂpigeon
0x000C081CÂÂÂÂ0x00000006ÂÂÂÂpigeon
0x000C0824ÂÂÂÂ0x00000006ÂÂÂÂpigeon
0x000C082CÂÂÂÂ0x00000004ÂÂÂÂF101
0x000C0834ÂÂÂÂ0x00000004ÂÂÂÂF101
0x000C083CÂÂÂÂ0x00000004ÂÂÂÂF101
0x000C0844ÂÂÂÂ0x00000004ÂÂÂÂF101
0x000C084CÂÂÂÂ0x00000007ÂÂÂÂops%02d
0x000C08CCÂÂÂÂ0x00000004ÂÂÂÂdata
0x000C08D4ÂÂÂÂ0x00000008ÂÂÂÂui_Black
0x000C08E0ÂÂÂÂ0x0000000CÂÂÂÂui_op01_logo
0x000C08F0ÂÂÂÂ0x0000000CÂÂÂÂMenuLowerOBJ
0x000C0900ÂÂÂÂ0x00000006ÂÂÂÂOP_EFE
0x000C0908ÂÂÂÂ0x00000006ÂÂÂÂOP_EFE
0x000C0910ÂÂÂÂ0x00000006ÂÂÂÂOP_EFE
0x000C0A7CÂÂÂÂ0x00000004ÂÂÂÂF100
0x000C0A8CÂÂÂÂ0x00000007ÂÂÂÂopCam01
0x000C0AD4ÂÂÂÂ0x00000004ÂÂÂÂb032
0x000C0ADCÂÂÂÂ0x00000004ÂÂÂÂm084
0x000C0AE4ÂÂÂÂ0x00000007ÂÂÂÂopCam02
0x000C0B2CÂÂÂÂ0x00000004ÂÂÂÂb032
0x000C0B34ÂÂÂÂ0x00000004ÂÂÂÂm084
0x000C0B3CÂÂÂÂ0x00000007ÂÂÂÂopCam03
0x000C0B84ÂÂÂÂ0x00000004ÂÂÂÂF102
0x000C0B94ÂÂÂÂ0x00000007ÂÂÂÂopCam04
0x000C0BDCÂÂÂÂ0x00000004ÂÂÂÂF102
0x000C0BECÂÂÂÂ0x00000007ÂÂÂÂopCam04
0x000C0C2CÂÂÂÂ0x00000004ÂÂÂÂdata
0x000C0C34ÂÂÂÂ0x0000000AÂÂÂÂui_kaiwa01
0x000C0C40ÂÂÂÂ0x0000000AÂÂÂÂui_kaiwa02
0x000C0C4CÂÂÂÂ0x0000000CÂÂÂÂChatUpperObj
0x000C0C5CÂÂÂÂ0x0000000DÂÂÂÂMenuLowerOBJ2
0x000C0C6CÂÂÂÂ0x00000004ÂÂÂÂLc12
0x000C0C7CÂÂÂÂ0x00000006ÂÂÂÂBtlFld
0x000C0C84ÂÂÂÂ0x00000007ÂÂÂÂj001_01
0x000C0C8CÂÂÂÂ0x00000004ÂÂÂÂj002
0x000C0C94ÂÂÂÂ0x00000007ÂÂÂÂj002_05
0x000C0C9CÂÂÂÂ0x00000004ÂÂÂÂj002
0x000C0CA4ÂÂÂÂ0x00000004ÂÂÂÂj003
0x000C0CACÂÂÂÂ0x00000007ÂÂÂÂj003_04
0x000C0CB4ÂÂÂÂ0x00000004ÂÂÂÂj003
0x000C0CBCÂÂÂÂ0x00000005ÂÂÂÂj004B
0x000C0CC4ÂÂÂÂ0x00000007ÂÂÂÂj004_04
0x000C0CCCÂÂÂÂ0x00000005ÂÂÂÂj004B
0x000C0CD4ÂÂÂÂ0x00000004ÂÂÂÂj005
0x000C0CDCÂÂÂÂ0x00000007ÂÂÂÂj005_01
0x000C0CE4ÂÂÂÂ0x00000004ÂÂÂÂj005
0x000C0D6CÂÂÂÂ0x00000004ÂÂÂÂdata
0x000C0D74ÂÂÂÂ0x00000006ÂÂÂÂbook01
0x000C0D7CÂÂÂÂ0x00000006ÂÂÂÂbook02
0x000C0DFCÂÂÂÂ0x00000014ÂÂÂÂdata/global_data.dat
0x000C0E14ÂÂÂÂ0x00000004ÂÂÂÂdata
0x000C0E1CÂÂÂÂ0x00000008ÂÂÂÂui_title
0x000C0E28ÂÂÂÂ0x0000000CÂÂÂÂMenuLowerOBJ
0x000C0E38ÂÂÂÂ0x00000009ÂÂÂÂTitleLogo
0x000C0E44ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C0E4CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C0E54ÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C0E5CÂÂÂÂ0x00000004ÂÂÂÂLc10
0x000C0E6CÂÂÂÂ0x00000014ÂÂÂÂdata/global_data.dat
0x000C0E84ÂÂÂÂ0x00000006ÂÂÂÂnewscn
0x000C0F04ÂÂÂÂ0x00000004ÂÂÂÂdata
0x000C0F0CÂÂÂÂ0x0000000DÂÂÂÂEndCutMainOBJ
0x000C0F1CÂÂÂÂ0x00000006ÂÂÂÂendcut
0x000C0F24ÂÂÂÂ0x00000006ÂÂÂÂendcut
0x000C0F2CÂÂÂÂ0x00000006ÂÂÂÂendcut
0x000C10A8ÂÂÂÂ0x00000004ÂÂÂÂdata
0x000C10B4ÂÂÂÂ0x00000004ÂÂÂÂRoom
0x000C10BCÂÂÂÂ0x00000004ÂÂÂÂj005
0x000C10C4ÂÂÂÂ0x00000007ÂÂÂÂj005_02
0x000C10CCÂÂÂÂ0x00000004ÂÂÂÂj005
0x000C10D4ÂÂÂÂ0x00000007ÂÂÂÂj001_02
0x000C10DCÂÂÂÂ0x00000004ÂÂÂÂj002
0x000C10E4ÂÂÂÂ0x00000007ÂÂÂÂj002_02
0x000C10ECÂÂÂÂ0x00000004ÂÂÂÂj002
0x000C10F4ÂÂÂÂ0x00000004ÂÂÂÂj003
0x000C10FCÂÂÂÂ0x00000007ÂÂÂÂj003_02
0x000C1104ÂÂÂÂ0x00000004ÂÂÂÂj003
0x000C110CÂÂÂÂ0x00000004ÂÂÂÂj004
0x000C1114ÂÂÂÂ0x00000007ÂÂÂÂj004_02
0x000C111CÂÂÂÂ0x00000004ÂÂÂÂj004
0x000C6689ÂÂÂÂ0x00000006ÂÂÂÂ[email protected]<!--c2--></div><!--ec2-->

There is but one msn in all that (msn060) which I find curious. Do also have a little search against <a href="http://www.romhacking.net/docs/%5B469%5Dnds_formats.htm" target="_blank">http://www.romhacking.net/docs/%5B469%5Dnds_formats.htm</a> - many format magic stamps.

I will also note the "boj_body"- typo perhaps (always nice to bugfix a game you are hacking, alternatively it might be a simple break for the game to stop it loading a file for whatever reason- kind of like how you might rename a virus fixing program to dodge some checks).


Hmm it seems I turned this into another investigation post rather than a formats and markup post I intended to make. Oh well hopefully it is still useful, more pulling things apart and checking them against the game look to be in order. Possibly even seeing if you can expand the files a bit- get them to display images where there were none. Wonder if I we will see a total conversion of this at some point.

Edit Another two values to look at
0100 1C00 - always seem to preceed msn values and other choice things.
0600 1C00 - always seem to preceed "Btl??" and one case of "skip" and another single case of "Label_1"
Together aside from a few length values a search for 1C00 is also pretty useful.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,329
Trophies
3
XP
27,259
Country
United Kingdom
event.dat decoding method for The Wizard of Oz: Beyond the Yellow Brick Road
A game scripting language after a fashion.
Seems to be broken up into sections. Mostly titled "msn" but several others.
No overall pointer section in the event.dat itself and nothing obvious in the binary (I checked for lengths, locations, rom offsets and other similar features) but I did not head down the disassembly path.

Relative pointers stacked on top of/following pointers similar to the pac files that kicked this whole thread off.
In some ways it appears to be derived from a C type language or one that revolves around lengths as opposed to a true parser (that or it is a binary markup language).

I also looked at it from the perspective of the text as well, there appear to be some branching paths however minor (seemingly for no responses). This, assuming nothing buried in the binary somewhere, is great as it means you can change lengths and only have to worry about the one file.



Commands
I posit the 0c 1c and other things before the msn and co are in fact section lengths as they quite often correspond to lengths of stuff before something else. C appears a lot as it is a multiple of 4.
Calls/choose your own adventure stylings- one section does appear to be able to call the other.
It is probably best if the whole file is considered part of the scripting language.
To then end you can be considered to have text objects that are fed to the text parser somewhere else. This text parser uses 0a for a new line, supports ASCII and shiftJIS with the shiftJIS appearing to be an immediate detection rather than needing to be in a 16 bit length. ShiftJIS is important (I refer back to the (?) part) and there appears to be some untranslated text buried within the file. On occasion the text section appears to end with some random data but I have yet to figure what this does.

006E = dog name.
0073 7472 (.str) at BE4
7570 at the ghost meeting (first battle in the game on that video- http://www.youtube.com/watch?v=rnOf4S31ZyU ).
0064 0A79 at scarecrow naming.

The script engine looks to parse the whole file.
It starts with newscn, ends with scnend, has dbgscn at the start and one other mention in the file. This is getting slightly ahead of things though

Commands appear to be up to three fold (all hexadecimal unless otherwise noted)

First seems to be a command type, in order of their appearances in the event.dat file
0100 new scene, new message (msn) some times. dsn as well.
0400 Wmap stuff, j000 (3d models?) at 1c30 "0400 1000 4630 3031 4930 3030 0100 0000" ....F001I000....
0700 new message (msn) on occasion.
0800 U000, w000 and such. No idea what this means for the rom as a whole. Also G014 F001
1000 n? ?=number. This would appear to correspond to the 6E?? thing of another 3d model command.
0D00 character name
0300 some normal text. Padded to 8 bytes for type and name.
0E00 not sure. At 348 "0E00 0800 0700 0000" at 428 "0E00 0800 0700 0000" at 4dc "0E00 0800 3300 0000" at 07bc 0E00 0800 2A00 0000
0F00 (first seen at 4e4) data there "0F00 0800 C900 0100"
0200 (first seen at 4ec) data there "0200 0C00 626B 4130 3100 0000" at 7CC "0200 0C00 626B 4130 3200 0000" . This would be the bk files.
0600 First appear at CCB8 (if you do a search the first one is part of another file). This looks to be a kind of warp.
Code:
0000CCB8 0600 1C00 736B 6970 5F31 0000 0100 0000 ....skip_1......
0000CCC8 7275 6E30 3539 0000 0100 0000ÂÂÂÂÂÂÂÂÂÂ run059......

FC80 has some good 0600 stuff.

Code:
0001074C 0600 1C00 4274 6C5F 3100 0000 0100 0000 6472 6130 3100 0000 0000 0000 ....Btl_1.......dra01.......
00010768 0600 1C00 4274 6C5F 3200 0000 0100 0000 6472 6130 3100 0000 0100 0000 ....Btl_2.......dra01.......
00010784 0600 1C00 4274 6C5F 3300 0000 0100 0000 6472 6130 3100 0000 0200 0000 ....Btl_3.......dra01.......
000107A0 0600 1C00 4274 6C5F 3400 0000 0100 0000 6472 6130 3100 0000 0300 0000 ....Btl_4.......dra01.......
000107BC 0600 1C00 4274 6C5F 3500 0000 0100 0000 6472 6130 3100 0000 0400 0000 ....Btl_5.......dra01.......
000107D8 0600 1C00 4274 6C5F 3600 0000 0000 0000 0000 0000 0000 0000 0000 0000 ....Btl_6...................
000107F4 0A00 0C00 4274 6C5F 3100 0000ÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂÂ ....Btl_1...

Shortly after that is
0A00 Another warp perhaps (it appears around the dsn stuff and just before the text for "Father Dragon"

0900 shortly after. Another possible warp (looks to be a yes/no challenge type battle).

Sometimes it runs 07 then 01 for the same name msn

I was far too lazy to parse the lot by hand so I skipped around checking every so often after a while and it always held up.
The highest number there is 1000 where the lowest is 0100 with hex in there so the obvious thing to do is look for the missing values.

By my reckoning there should be commands
0100
0200
0300
0400
0500
0600
0700
0800
0900
0A00
0B00
0C00
0D00
0E00
0F00
1000
1100
1200
1300
and possibly up to 1F00

Ignoring the above that leaves
0000 Troublesome to search for but I may have found one, albeit it appeared to be a NOP (short for No OPeration- a way of stalling for a cycle) of a sort (0000 0400 - 4 a command and one that is 4 long means this does nothing) at 011c48.
0500 searching after a few false positives leaves some "dra??" and "skills"
0B00 Nothing at all in the entire file.
0C00 A common length value it seems. 011c40 has 0C00 0800 FE01 1200 and a search for 0c00 0800 nets some results that appear valid at a glance.
1100 Possible at 1Bc4 with 1100 0800 FFFF FFFF
1200 No commands used here.
1300 1 possible at DDD4

Aside from 0500 most of those will have to be determined experimentally or if you do fancy figuring out if any commands were not used (some debug commands or something) it is time for ASM.


Not sure where I should record this but when names appear it appears as though the default name is picked for the file-
After you name the scarecrow the next time Airy Scarecrow changes to plain "Strawman". Player names appear to follow the same pattern. I guess this also means you have to account for this if you are going to go the total conversion route.

Going for speculation I am guessing there is a kind of counter kept for save data (and actual running) as opposed to a proper pointer. Not sure how it works- you are going to want full screens on restoration of saves so it might keep a counter at the last msn or something. I guess the game could also do a search of sorts although that could be tricky.

Second seems to be a length value for the command type in hex, no byte flipping necessary. Padding on occasion (will have to be determined for the file types- mainly padded for 0300). The 0300 stuff seems to do a kind of roman language style length value and has the entire thing left most- B000 0000 0000 0000 rather than 0000 0000 0000 00B0 (give or take endianess)

that I can recall I have not seen a length value greater than 8 bits with most text sections being broken up before they get that far (even within the msn).

The third part of the command is the actual command data/payload.
Should further input be needed as it is for a several commands that comes third. This can include loadings for screens (several of the text free msn files do this), text still needs to be properly decoded but I am guessing the random end values can be formatting of a sort.

This can be text or other micro commands by the looks of things- some of the msn stuff presumably has some probably 2d image data calls.

Ultra short good news- assuming no file level pointers you can edit as much as you like and you only have to change the length values for the section you are editing. Scripting engine stuff is a pain but believe me when I say just about every rom hacker that has ever had to tangle with "proper" pointers would trade places with you for this in a heart beat.
 

Leeg

Well-Known Member
OP
Member
Joined
May 29, 2009
Messages
103
Trophies
1
Age
31
Location
Spain
XP
1,451
Country
Well... er.... Hello again, I am sorry for not posting anything in a whole year ... I have been really busy with college and had to drop the translation of this game... So I do not really think anyone will answer my following question because I do not really deserve it... :( but here it goes:


I've reached a part of the script in "event.dat" which doesn't obbey the rules of the other texts.

To remind how it worked:
There were 03 00 XX 00 placed just before every piece of text, the XX were the value of its length. So for instance:

cap1tw.png


Here, the text has a length of 18, so the hex is 03 00 18 00.

Now I will explain the problem I found...

When I reached this part of the script:

cap2f.png


I found that if I tried to change the hex value which defines the lengh of that text the rom would not work. And if I gave a wrong value, the rom would run fine, but when reaching that part, the whole game would not display more text at all.

I don not know why is this happening... it is as if the length rules previously stated are not working here... I have tried skipping that part and going on, but it is all the same, editing the length will not work in all further text.

So yeah, I am totally lost here. I have tried differents things but I have not reached a solution yet.

Thanks. And sorry again for not being here.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,329
Trophies
3
XP
27,259
Country
United Kingdom
Looks like you made a minor mistake (I have done similar things after staring at pointers for a long time when going manual there on many occasions and I do not even want to think about the times I tried manually decompressing a few hundred bytes of LZ) and counted from the text rather than the start of the command that we eventually sussed the format out as, fortunately I was playing with the method again the other day as part of the docs.
What I decoded it as
gallery_32303_143_6437.png

Sorry about the poor choice of colours there but it should still be OK.
 
  • Like
Reactions: 1 person

Leeg

Well-Known Member
OP
Member
Joined
May 29, 2009
Messages
103
Trophies
1
Age
31
Location
Spain
XP
1,451
Country
Hi, FAST6191. Thanks for your reply, you are really kind :)

From what I have understood in your post, if I got this:

capp1.png
Length: 18

And just for the sake of testing I add 4 bytes (taking for granted that I need them). Then 18 + 4 = 1C.

The result will be:

capp2.png
Length: 1C

I think that this follows the rules I have been using in all the previous script... but it will not work here (the rom will not run). Well, in fact, the length method will not work since the previous chunk of text "You have come a long way, and I welcome you!!!" forwards.

Thanks again,
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,329
Trophies
3
XP
27,259
Country
United Kingdom
That would be the change I would make but I would be hesitant to pad it out with 00 - try 20 (space) or some other valid character instead (00 in text assuming it is not just space tends to do odd things).

After this I have to think memory issues (you are presently 04E0 ahead of the original script by my count) or screen alignment issues (too much text in a box/buffer). To test for the former see what happens if you edit the next text box after this section and make it longer (although it is pretty long by the looks of things which might speak to the buffer idea).
 

Leeg

Well-Known Member
OP
Member
Joined
May 29, 2009
Messages
103
Trophies
1
Age
31
Location
Spain
XP
1,451
Country
Ok, so I have tried filling the empty bytes with 20, but the result is the same.

The kind of text I am currently editing appears in screen like this:

wizmod25213750.png


"I have been awaiting your arrival.
Welcome to my castle, brave warriors!!"


In the example shown in this screen I did not have any problems at all to enlarge its length, the problem begins with the part "You have come a long way, and I welcome you!!!"

The next chunk of text (the big one) is a bkscene, so it appears book-like, as in the beginning of the game. It seems I cannot change its length (although I could do it in previous bkscenes), the rom will not open, and the same with the rest of the script.. :S I am starting to think that I will not be able to conclude this.

I know it will be really hard to find a solution, and of course I am not asking anyone to do it for me. I think it would be enough to have some testing ideas to try new things. What really bothers me is that the rom does not open when I give it the right length for that text, but it will when a random length is given, although it will not display the text.
 

Leeg

Well-Known Member
OP
Member
Joined
May 29, 2009
Messages
103
Trophies
1
Age
31
Location
Spain
XP
1,451
Country
Damn! :( I have tested something... and I did not like its result.

I have tried deleting 4 bytes of previous text and adding them to the part that gives me problems... the result is... that it worked...so... what does it mean? which conclusion can I draw from this? Have I filled all the space in the rom so I cannot edit anything more? I hope not... :'(
 

rastsan

8 baller, Death Wizard,
Member
Joined
May 28, 2008
Messages
1,002
Trophies
0
Location
toronto
Website
rastsan.wordpress.com
XP
401
Country
Canada
time to take this to a debugger. Insert a breakpoint just before the text in question and see exactly what is happening. If possible video that and post here for others to take a look at.
 

rastsan

8 baller, Death Wizard,
Member
Joined
May 28, 2008
Messages
1,002
Trophies
0
Location
toronto
Website
rastsan.wordpress.com
XP
401
Country
Canada
Its what Fast was talking about with the buffer thing. So play the game in a debugging emulator (desmume, nogba....)
Take a clean unedited version of your rom and dump the memory with haste or emuhaste. Do the same with your edited version. Then find the text that isn't edited in the first memory dump. Find in memory in the second dump the the edited text. Please note if they are not at the same offset then that is a big flag of trouble. (well plus the additional 4e0 fast was talking about. )
If they are in relatively the same spot as in the original clean memory - see what you are overwriting with your new text. If you are lucky It won't be anything. If you are unlucky something is being written to an area you are using for your edited text. You won't know until you compare both memory dumps.
this will also be your chance to do a couple things. one to look for space to send you edited text. two to see if the pointers in file are being changed to memory pointers and to check if in the clean memory dump if stuff is being over written and pointed to - to. If it goes well you may just have a memory based pointer some where that needs to get moved or another file that needs to be shifted to another spot or you have now found space to write your new text (which is why you were looking for "empty" space).

I know there are better guides then me trying to explain to you how to insert breakpoints so I will let google be your friend for searching for that. Breakpoints are good for seeing just exactly where the error happens. Also for seeing what you can do to fix them. Sorry i couldn't be of more help.
 
  • Like
Reactions: 1 person

Leeg

Well-Known Member
OP
Member
Joined
May 29, 2009
Messages
103
Trophies
1
Age
31
Location
Spain
XP
1,451
Country
rastsan,

All help is appreciated, thanks ^^. I know that what I am doing is not an easy task, and that I should have more knowledge on the topic...
However, I am afraid I will not be able to accomplish your task since the rom does not run when editing that part. ARM9 disassembler gives this:

disa1.png
disa2.png



Anyway... I also found this:
http://vgcoding.blogspot.com.es/2011/01/how-to-debug-your-nds-rom-using-visual.html Could you take a quick look at this and tell me if this is what you request? I could try to do it.

Thanks again.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,329
Trophies
3
XP
27,259
Country
United Kingdom
Desmume has some stuff but I would instead look at iDeaS for this type of debugging (primarily as it has a run to selection breakpoint option, it is not as nice to play roms on but that is not why we are here)- http://ciacin.site90.com/ideas.php
The idea is you get to just before the scene and then go to the debugging window and find a location before pressing run to selection and then analysing the differences memory (it could be the classic buffer overflow).
I will have to have a look at the blog link though as debugging grade tools aside from no$gba dev version (not sure if we can get it again), maybe IDA* and possibly datel cheat making gear aside there is nothing much compared to the likes of VBA-SDL-h on the GBA. Debugging can still be done it is just not as nice and Ratsan's technique is quite valid but it is something of a workaround for a lack of true debugging abilities as seen on the likes of the GBA.

*compared to the x86 debugging abilities what I have seen of ARM debugging in IDA is not that close.

If it is a lack of memory/too small buffer although you can start doing memory handling it would not be the first game to have two parts to the hack (play up to ? and save it, run the second rom patch and load the save there). I suspect it is more of an immediate buffer issue though for as you say right after that there are a couple of huge sections and if it tries to fit them all in memory that is where issues might appear.

That reducing the size still works (ish) only strengthens that case which means again you could head down the full memory shuffling hack path or instead comes the ancient art of fudging the translation for space reasons. For instance "I have been awaiting your arrival. Welcome to my castle, brave warriors!!" is a nice line but "Brave warriors I have been expecting you" means almost exactly the same thing and probably does not lose anything (it does not look like something that will be referenced later or a notable speech pattern). You could go further than that even ("Brave warriors, welcome" or "Welcome brave warriors") but I do recall the wizard in the original story being somewhat grandiose for these scenes so that might not be ideal.
 
  • Like
Reactions: 1 person

Leeg

Well-Known Member
OP
Member
Joined
May 29, 2009
Messages
103
Trophies
1
Age
31
Location
Spain
XP
1,451
Country
Hi FAST6191,

Thanks for your reply. Excuse my ignorance but... how am I supposed to get to that part of the game if the rom does not open? I can play my edited rom to that point without editing that part, but I do not see the point on doing so :S

If it is a lack of memory problem, then I am f*cked, because I have hardly reached the beginning of the game,... if I had to split this, maybe the result would be more than 30 patches to complete the translation. I hope it is not that kind of problem, since giving another hex value to the length of that part makes the rom run perfectly, but without displaying further text from that point onwards. The problem comes when I give it the right value.

Thanks again.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,329
Trophies
3
XP
27,259
Country
United Kingdom
My apologies I should have elaborated
I was thinking more along the lines or see how the original game handles it and see how the original game with regards to what has changed in memory and what happens when your working edit gets to that point.

It might be that despite the scripting language no three sections should have more than so many bytes or the decode/graphics making command will overwrite something (it looks like the game itself can go backwards if you want at the end of a given sequence). To that end the lack of memory might not be for the entire file just a few sections.

Also it might be time to try something like using the scripting engine properly as right now you are just changing command lengths which is fine but instead consider adding a command/splitting an existing command across a couple of them. My first instinct there would be to see if 0000 0400 is in fact a NOP (no operation) command as there are a few things it could be but NOP is still my main guess).

Edit
I did just dump the ram and it might be the bad scenario after all as it seems the whole event.dat is in memory from the start and after it there is some stuff which looks like pointers to memory (these would be generated at runtime it looks like, there are about 130 of them and they are pointing at choice locations of text like the start of it) and then 600 hex of 00 (this might be what you are running out of but I am not prepared to call that as it looks like there is a lot of stuff happening at runtime- this game gets odder and odder compared to standard games).
At this stage there does appear to be a tiny bit of space elsewhere in the ram but I dumped it quite literally as the witch first appeared on screen so that might not hold if we do end up having to try something clever but I do not want to think about that yet.
Edit2- checked a bit later and the ram is fairly full.

Looks like some more testing as to what might be happening needs to be done. I had hoped with a scripting engine like this it would be easier but apparently not.

Edit3.... thinking about it this might be a prime candidate for a hack to use the GBA memory section (32 megs of low latency, high speed memory visible directly on the memory bus that is not really used for anything outside of homebrew and the browser).
 
  • Like
Reactions: 1 person
General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: Lol