Golden Sun Hacking Community
01, October, 2020, 02:58:08 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: The last working version of the classic TLA Editor is Teawater's unofficial "mapeditor" draft.
 
  Home   Forum   DC Wiki Help Search Calendar Downloads Login Register  
Pages: 1 ... 5 6 [7] 8   Go Down
  Print  
Author Topic: Making text editor.  (Read 81529 times)
0 Members and 1 Guest are viewing this topic.

Regular Member
**

Coins: 0
Offline Offline

Posts: 64

« Reply #120 on: 27, December, 2014, 05:22:19 AM »

Google translate can be really finicky. If you ever get an accurate translation for a complete sentence, consider yourself lucky lol

It usually works pretty well for small parts, though, and I often make use of it when I encounter kanji I'm not familiar with.

ahaha, yeah, I've tried it, God you can't understand most of the phrases.

Logged

View Profile

Regular Member
**

Coins: 0
Offline Offline

Posts: 64

« Reply #121 on: 30, December, 2014, 12:56:13 AM »

I want to announce a new patch release :D after some months there was a lot of progress in the graphics of the game, which are also quite important, this includes in-game portraits, partner's naming screen, and minigame description (the firewood minigame one).

http://www.mediafire.com/download/l1suy7m816i8sm5/sn3gba_graphic_menus_v0.6_Jrombase.ups

Thanks and kudos to Ghanmi from the gbatemp forums for the big graphic help, mz, Almagest and FAST for helping with kanji identification for a handful of graphical NPC names.TsubasaShaoranExel and Leaf, as well as the previous translators, for names.

To leaf, hope the script is treating you well, xD If you need any type of context of when a char is saying anything and how ask me right away, I'll be glad to help.
« Last Edit: 30, December, 2014, 11:29:50 PM by pablitox » Logged

View Profile

Regular Member
**

Coins: 0
Offline Offline

Posts: 64

« Reply #122 on: 09, February, 2015, 10:38:03 PM »

Hey there, wanted o make a bit of a post.

I did change some graphics, thanks to ghanmi for the quick tutorial, so this leaves only compressed graphics and the script insertion. I did not receive any news from Aent of whatsoever, so I'm looking for help again. I hope that aent can share with use what they have if they decide to answer again.
Logged

View Profile

Regular Member
**

Coins: 0
Offline Offline

Posts: 64

« Reply #123 on: 12, April, 2015, 02:11:56 AM »

I am still taking appliances to finish this translation, romhackers needed
Logged

View Profile

Regular Member
**

Coins: 0
Offline Offline

Posts: 64

« Reply #124 on: 22, June, 2015, 09:05:44 PM »

This is still going!


This thread will be used to give an update on the translation of this game. The old thread had a lot of outdated information and broken links, so I decided to make a new one with the latest patch and information available.

A bit of story - Translation

As far as it goes, the translation had it's problems since the beginning: translators and hackers leaving with a half unfinished job were the most common.
Two years ago, the project was revived by oil_ who made a site the translation:

http://sntranslation.vacau.com

A lot of people did contribute to it (kind of an open translation) though some parts of it still bother me a bit (some stiff translations, untranslated lines, etc). Luckily, another user is making a TLC and proofreading, so when I receive the polished version I'll post it. Meanwhile, here's the current version of the script: https://github.com/wangds/sncsm3/blob/master/resources/scriptTXT.7z

Hacking the game

Well, that's all about the translation so far. The hacking front wasn't as lucky as the other one, but some progress has been made since oil_ left:

Graphical front: following parakarry's footsteps, ghanmi could make use of their awesome skills and translated some graphics:





Though some of them are still missing:

+Select Hero:
+Select Partner:
+"Tsushin" (Link) in-menu graphic
+"Omake" (Extras) in-menu graphic
+Similar in-menu graphics in Engrish that may need fixing
+Fishing tutorial:
+Names in Credits

and some minor problems:

+Title screen, third and fourth options: I messed up inserting one of the four frames for "2P" ("tsushin/link" option, the graphic probably needs to be redone) and didn't touch omake "bonus".
For those two I'll need to use the no$gba debugger to move the sprites anyways removing the gaps for a proper translation.
+Opening lines not fixed yet to use the proper translation ("a land called paradise"). This should be possible (called "a paradise land" once). The wording is awkward because of tiles repeating and imposing draconian limitations on the thing, but it should be possible if the tilemap is modified.
+The glow effect doesn't match the crude shitty new English logo. It needs heavy tile map reworking.

All the NPC and character's grahpics were translated. I'll try searching for the missing ones, but if someone wants to help it could be good too. Here are some files which will be useful:

Parakarry's old files: https://www.mediafire.com/folder/3ltu3ztzon6t7/patch


Script front: This one's the most difficult so far. For what I gathered asking the process involve finding some opcodes of the game (pointers that indicate what the game has to do, example load V.E's portrait, wait for user's input to advance, etc). Luckily, another user from the last thread, Earthdarkness, has decided to lend us a helping hand making tools that can overcome the character limits of each line. We'll have to wait for their input on the tools, but im sure it will be done.

About the system messages, Ritchburn's tools did provide a good help to translate things like weapons, items. So far the progress in that front is:

Weapons: 100% translated (with each weapon's description).
Items (includes equipables, imbue, recovery, ores): 100% translated.
Quest Items (99% translated; did find a problem with some of them, more on that in a while).
Magic: 100% translated. (even the guardian beast special attack).
Special Skills: 100% translated.
Bestiary: 100% translated (proofreading could be awesome).
Boss data: 90%
Other system messages:~50% Translated.

The process involved a lot of trial and error, so I left it kind of unfinished. Also there's certain problems I found with some messages:
  • One of them is a boss which
    Spoiler for Hidden:
    should have the same name as the main character, same as with your partner
    I found no way to assing it. If someone could look that one up, it could be awesome.
  • In the same way, one system message goes roughly like: (Guardian) smithing rank is now (Option1) (in runes: (Guardian)鍛冶ランクが(Option1)になりました) where (Guardian) means the type of weapon (sword, axe, spear, fist, drill, bow) and (option1) is the rank (Usually 1, 2 or 3).
If anyone could help me and take a look at them, It'd be useful too.

The patch

Here's the latest patch released:

http://www.mediafire.com/download/l1suy7m816i8sm5/sn3gba_graphic+menus_v0.6_Jrombase.ups

it includes the graphics done by ghanmi and some of my translated system messages.

Credits:

translation:
macaronron
salixa
X_Wings
xswordcraftx
cyan
haruka-123
Zynk
Akiron
Chronomoogle
TheZu
gangrelion

hacking
Ritchburn
Aent
TLZ
Earthdarkness
Ghanmi
and everyone else involved I may have forgotten, lol.

Contact

PM me or send a message to pablofernandez409@hotmail.com , I'd strongly advice NOT to use the sntranslation chatroom as the site is totally outdated.

Updates

soon.
Logged

View Profile

Regular Member
**

Coins: 0
Offline Offline

Posts: 64

« Reply #125 on: 29, November, 2017, 06:29:38 PM »

Hey everyone! sorry for necro bumping this post again.


I'm still working on Hajimari no Ishi, and while we made a LOT of progress translating the script, we need help inserting it back into the rom.

Hopefully Aent is not busy enough to help us back, or another person with similar hacking knowledge.


Thank you! Happy
Logged

View Profile
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2491

« Reply #126 on: 30, November, 2017, 06:46:08 AM »

I should probably look into this again.

Would be fun if I could find a way to make it use Golden Sun's text compression!

Just remember, I make *no promises*, though.... Esp. since that last time I looked at it (years ago),.... it turned out I didn't make much progress...  I forget if we documented any of the code or not. So I'll need to find those addresses again. - It'll likely be a complex task...


@Script = So do we have it in a text document? One line per index? (If the game does it by index? Forget. Edit: Oh yes, you have it one per file by address... went to the link in the earlier post.) I know that lines can have funny stuff going on in them, though. But I'll need to think what's actually needed in the event /all/ the text is being compressed at the same time. (And with the possibility of modifying the code.)


For now, I will just look... then decide if I'll do anything a bit later.


---
I think I'll document the functions.... There's likely going to be a lot of code editing(?) if this goes through?
And with the compression format theory, you don't really have to go to 8-bit char... could keep it 16-bit. (Maybe, at least with a slightly modified version of the compression format.) ... Since that's what would be in the char trees... where-as, the text data would be variable bits. (In theory.) ; But I think I'm interested in making it 8-bits when it is in the char trees... should I ever have a decent enough plan....
« Last Edit: 30, November, 2017, 07:23:12 PM by Fox » Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)
View Profile

Regular Member
**

Coins: 0
Offline Offline

Posts: 64

« Reply #127 on: 30, November, 2017, 08:33:37 PM »

I should probably look into this again.

Would be fun if I could find a way to make it use Golden Sun's text compression!

Just remember, I make *no promises*, though.... Esp. since that last time I looked at it (years ago),.... it turned out I didn't make much progress...  I forget if we documented any of the code or not. So I'll need to find those addresses again. - It'll likely be a complex task...


@Script = So do we have it in a text document? One line per index? (If the game does it by index? Forget. Edit: Oh yes, you have it one per file by address... went to the link in the earlier post.) I know that lines can have funny stuff going on in them, though. But I'll need to think what's actually needed in the event /all/ the text is being compressed at the same time. (And with the possibility of modifying the code.)


For now, I will just look... then decide if I'll do anything a bit later.


---
I think I'll document the functions.... There's likely going to be a lot of code editing(?) if this goes through?
And with the compression format theory, you don't really have to go to 8-bit char... could keep it 16-bit. (Maybe, at least with a slightly modified version of the compression format.) ... Since that's what would be in the char trees... where-as, the text data would be variable bits. (In theory.) ; But I think I'm interested in making it 8-bits when it is in the char trees... should I ever have a decent enough plan....

That would be definitely useful fox! Hopefully your try yields good results this time.

As a reminder of where we are right now: the script is currently compressed using LZ77, and it's made of PSI3 files or varying lengths. Each of this script files have a subset of different control codes, that tell the game how to show the information (portraits, type of text box, if the dialogue branches etc) A lot of them have been identified and I'm doing my best to document them, it will take a day or two though. It's not a complete list but I'm sure it'll be useful too.
Logged

View Profile
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2491

« Reply #128 on: 30, November, 2017, 11:17:13 PM »

Well, any work to bring the translation project 1 step closer to finishing is good work.... (Even if it's minor.)

Sounds good. Where might I find the most updated English script, anyway?  Not too familiar with PSI3 files, but I'll look at them. I think before I was studying system related text (Uncompressed)... But all that is nice to know.



Thinking about it a little more, should we not fully do 8-bits... (If 16-bits are easier.)... we can still do the GS Compression, and still do 8-bits in the char tables (Since I just realized 16-bits there would be clumsy regardless/Would have made sense for normal Huffman, though.), but have those values look up the 16-bit codes. Hm! (That'd be a max 0x200 byte table (Likely less) + whatever code to make it work.) Each 16-bit would represent a single character, though... So double characters should be avoided... to do variable length characters) -- But of course, I'd like to do a bit of research on Summon Night's code, so a lot of this could just be empty thoughts.
« Last Edit: 30, November, 2017, 11:48:40 PM by Fox » Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)
View Profile

Regular Member
**

Coins: 0
Offline Offline

Posts: 64

« Reply #129 on: 01, December, 2017, 12:04:28 AM »

Well, any work to bring the translation project 1 step closer to finishing is good work.... (Even if it's minor.)

Sounds good. Where might I find the most updated English script, anyway?  Not too familiar with PSI3 files, but I'll look at them. I think before I was studying system related text (Uncompressed)... But all that is nice to know.

The most updated english script is here: https://github.com/salixa/SNSC3-Translation

As you can see, it's formatted differently because some progress was made in identyfying the control codes. Alas I don't have all the info available.

Arount here, page 5-6 there's some tools to rip and uncompress the english script, using a C function first and passing the scripts through DSDECMP
Logged

View Profile
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2491

« Reply #130 on: 01, December, 2017, 01:08:23 AM »

Okay. Thanks! Wow. A lot to take in.

And that sounds nice. I kind of wish there was a key. (Hex values that represent each control code.) I'll probably get them as I document the game code. (Depending on how much time I devote to it.) ; (Though, I guess you're working on that... if going by your posts.)

@rip/uncompress = If it is compressed in the ROM, another option is to just dig it out of the game's RAM where it is decompressed?
« Last Edit: 01, December, 2017, 01:17:14 AM by Fox » Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)
View Profile

Regular Member
**

Coins: 0
Offline Offline

Posts: 64

« Reply #131 on: 01, December, 2017, 03:46:14 AM »

Okay. Thanks! Wow. A lot to take in.

And that sounds nice. I kind of wish there was a key. (Hex values that represent each control code.) I'll probably get them as I document the game code. (Depending on how much time I devote to it.) ; (Though, I guess you're working on that... if going by your posts.)

@rip/uncompress = If it is compressed in the ROM, another option is to just dig it out of the game's RAM where it is decompressed?

if it's useful, the uncompressed script inside the gba are stored at 0x02006000 which is in the WRAM. Some control codes were documented with their hex value, once I'm done I'll share them.
Logged

View Profile

Regular Member
**

Coins: 0
Offline Offline

Posts: 64

« Reply #132 on: 03, December, 2017, 04:41:21 AM »

Okay. Thanks! Wow. A lot to take in.

And that sounds nice. I kind of wish there was a key. (Hex values that represent each control code.) I'll probably get them as I document the game code. (Depending on how much time I devote to it.) ; (Though, I guess you're working on that... if going by your posts.)

@rip/uncompress = If it is compressed in the ROM, another option is to just dig it out of the game's RAM where it is decompressed?

I have collected everything I know about how the control codes work in-game, with some examples. Also, how the script is read by the game.

Here's the file: https://www.mediafire.com/file/os9sqb59xpdbbw7/List%20of%20Hajimari%20no%20Ishi%20Control%20Codes.txt
Logged

View Profile
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2491

« Reply #133 on: 03, December, 2017, 06:49:48 PM »

Oh cool. That's nice.

One thing, though.  It looks a bit unorganized and rushed.

I'd prefer the commands written the 16-bit way (That is the way they are written, right?).... and for them to be in order by their number... So like....

Something like below, but I'll have to work quite a bit on it....

---

General / Control Flow?
0000
0001
0002 = conditional jump, test player's gender
0003 = simple jump
0004 = End of script
0005
0006
0007 = function call

(Not sure if there are categories for 0100+ and 0200+)


???
0300
0301
0302
0303
0304
0305
0306
0307 = Set variable
0308 = Normal Text box
0309 = for text that spans 3 lines
030A
030B = Text box with large letters
030C = for one line
030D = options
030E = End
030F
0310
0311 =  Box with Title (Where will you go?)
0312 = Box without Title (just a text box)
0313 = default option (no option chose)
0314 = option (Deikle Village)
0315 = end of menu
0316
0317 = popup message: This are special text boxes that are really small and appear in the middle of the screen
0318 = wait for key press on pop up text box??

0363 = set actual place in the game's menu

037D = set name sprite
037E = set visible or invisible (portrait) Invisible are for NPC which doesn't have any portraits


???
0478 = sets portrait.
0479 = sets eye expression and mouth expression.
047A
047B
047C
047D = adds extra sprites if the portrait is wider.
Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)
View Profile

Regular Member
**

Coins: 0
Offline Offline

Posts: 64

« Reply #134 on: 03, December, 2017, 07:29:49 PM »

Oh cool. That's nice.

One thing, though.  It looks a bit unorganized and rushed.

I'd prefer the commands written the 16-bit way (That is the way they are written, right?).... and for them to be in order by their number... So like....

Something like below, but I'll have to work quite a bit on it....

---

General / Control Flow?
0000
0001
0002 = conditional jump, test player's gender
0003 = simple jump
0004 = End of script
0005
0006
0007 = function call

(Not sure if there are categories for 0100+ and 0200+)


???
0300
0301
0302
0303
0304
0305
0306
0307 = Set variable
0308 = Normal Text box
0309 = for text that spans 3 lines
030A
030B = Text box with large letters
030C = for one line
030D = options
030E = End
030F
0310
0311 =  Box with Title (Where will you go?)
0312 = Box without Title (just a text box)
0313 = default option (no option chose)
0314 = option (Deikle Village)
0315 = end of menu
0316
0317 = popup message: This are special text boxes that are really small and appear in the middle of the screen
0318 = wait for key press on pop up text box??

0363 = set actual place in the game's menu

037D = set name sprite
037E = set visible or invisible (portrait) Invisible are for NPC which doesn't have any portraits


???
0478 = sets portrait.
0479 = sets eye expression and mouth expression.
047A
047B
047C
047D = adds extra sprites if the portrait is wider.

Yeah, it's a bit rushed, sorry >_< they are written by how you'd find them on the script files.

Logged

View Profile
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2491

« Reply #135 on: 03, December, 2017, 08:37:01 PM »

Oh no, you're fine. It's no problem.... This'll be very useful during research.
Was more or less saying that going forward, I will be trying to use this other way. (I might include the arguments too. though I left those out of my example.)
Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)
View Profile

Regular Member
**

Coins: 0
Offline Offline

Posts: 64

« Reply #136 on: 04, December, 2017, 12:34:51 PM »

Oh no, you're fine. It's no problem.... This'll be very useful during research.
Was more or less saying that going forward, I will be trying to use this other way. (I might include the arguments too. though I left those out of my example.)

I see. Glad it was useful!

One question, suppose all the functions have been identified properly, I guess we'll have to code them to make a decent dumper/inserter that, in case of the dumper writes down the XML plus the japanese text, and in the case of the inserter, reads up the xml formatted text and writes down the opcodes + translated text, am I right?

of course, we'd need to take into consideration the fact that the sizes of each script will be different, and thus we'll need to modify the script table...I think that's how it was supposed to go down.


« Last Edit: 04, December, 2017, 12:41:29 PM by pablitox » Logged

View Profile
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2491

« Reply #137 on: 07, December, 2017, 01:05:44 AM »

Yeah, sounds like a good way to go... Especially if we ever want those tools to be used for more than just translating...
As for the script table? I am not sure exactly what that refers to, but I don't imagine it to be a problem? (Re-pointing is easy if you got the space. Right?)
(A bit random, but I kind of hate Python when it comes to file management. C# does a pretty good job, though.)

I've already started documenting. The document is at https://docs.google.com/document/d/19HGbHkmIUfvd7fc0_gEpcuAjtwagtr7HpLv2dwE5jPg/edit
It it is to list most of the functions in the game. (Functions being the code blocks that were intended to be called.)

This is just the start, and there's a long way to go. But it's nice seeing the first section (0000+) only has a small number of commands.

0000 = Unused (Pointer is 00000000)
0001 xxxx xxxx EXPR = Set var to EXPR (xxxx=Type (2/3) , xxxx (2nd) =Index)
0002 xxxx EXPR = Conditional jump (in script) if EXPR=0.
0003 xxxx = Simple Jump
0004 = Related to ending script?
0005 EXPR = Loads PSI3 file. (Index being EXPR) Current position is not saved.
0006 EXPR = Loads/calls PSI3 file. (Index being EXPR) Current position is saved.
0007 xxxx = Function call (For same 0x1C byte entry)
0008 = Return from sub-function. (Does nothing if in main function?)
0009 xxxx = Function call? (Another 0x1C byte entry?)
000A EXPR = Sets slot EXPR (0-7) to type 0x9.
000B EXPR = Gets the on flags for the engine block EXPR (0/1)
000C = Nothing (Just returns 0 to continue script.)
000D = Sets PSI3 file id(Not sure?) to 0000, but doesn't load it? (Unknown purpose.)
000E = Unused (Pointer is 00000000)
000F = Unused (Pointer is 00000000)

In the code, these ^ are pretty much separated into two groups, interesting enough. 0001,0004-0009 in the first group, 0002,0003,000A-000D in the other group.
« Last Edit: 07, December, 2017, 01:14:17 AM by Fox » Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)
View Profile

Regular Member
**

Coins: 0
Offline Offline

Posts: 64

« Reply #138 on: 07, December, 2017, 02:19:18 AM »

Yeah, sounds like a good way to go... Especially if we ever want those tools to be used for more than just translating...
As for the script table? I am not sure exactly what that refers to, but I don't imagine it to be a problem? (Re-pointing is easy if you got the space. Right?)
(A bit random, but I kind of hate Python when it comes to file management. C# does a pretty good job, though.)

I've already started documenting. The document is at https://docs.google.com/document/d/19HGbHkmIUfvd7fc0_gEpcuAjtwagtr7HpLv2dwE5jPg/edit
It it is to list most of the functions in the game. (Functions being the code blocks that were intended to be called.)

This is just the start, and there's a long way to go. But it's nice seeing the first section (0000+) only has a small number of commands.

0000 = Unused (Pointer is 00000000)
0001 xxxx xxxx EXPR = Set var to EXPR (xxxx=Type (2/3) , xxxx (2nd) =Index)
0002 xxxx EXPR = Conditional jump (in script) if EXPR=0.
0003 xxxx = Simple Jump
0004 = Related to ending script?
0005 EXPR = Loads PSI3 file. (Index being EXPR) Current position is not saved.
0006 EXPR = Loads/calls PSI3 file. (Index being EXPR) Current position is saved.
0007 xxxx = Function call (For same 0x1C byte entry)
0008 = Return from sub-function. (Does nothing if in main function?)
0009 xxxx = Function call? (Another 0x1C byte entry?)
000A EXPR = Sets slot EXPR (0-7) to type 0x9.
000B EXPR = Gets the on flags for the engine block EXPR (0/1)
000C = Nothing (Just returns 0 to continue script.)
000D = Sets PSI3 file id(Not sure?) to 0000, but doesn't load it? (Unknown purpose.)
000E = Unused (Pointer is 00000000)
000F = Unused (Pointer is 00000000)

In the code, these ^ are pretty much separated into two groups, interesting enough. 0001,0004-0009 in the first group, 0002,0003,000A-000D in the other group.

Amazing!! Well the dumper's ready then (i'll send you a link to a drive folder so you can post there all your findings if you want and check what we have done so far).


Nice, I'll bookmark the file to check it out throughly. I'll edit this post if I have any questions!
Logged

View Profile
Daddy Poi's Oily Gorillas
Fox McCloud, the Hacking Doctor
Mercury Clan

Prodigy
*

Coins: 1002
Offline Offline

I am: certainly not a Gallant!
Clan Position: Head Gallant
Posts: 2491

« Reply #139 on: 07, December, 2017, 02:37:27 AM »

You are welcome. Still got to document the other commands, though. = Hopefully I can get at least half of those in this month. (?)

Sounds good. I also have it in my Hacking Docs folder. (Misc. Docs link in my signature.)
Logged

Golden Sun Docs: Broken Seal - The Lost Age - Dark Dawn | Mario Sports Docs: Mario Golf & Mario Tennis | Misc. Docs
Refer to Yoshi's Lighthouse for any M&L hacking needs...

Sometimes I like to compare apples to oranges. (Figuratively) ... They are both fruits, but which one would you eat more? (If taken literally, I'd probably choose apples.)
Maybe it is over-analyzing, but it doesn't mean the information is useless.


The only GS Discord servers with significance are:
Golden Sun Hacking Community
GS Speedrunning
/r/Golden Sun
GS United Nations
Temple of Kraden

Can you believe how small the Golden Sun Community is?

2+2=5 Don't believe me? Those are rounded decimal numbers. Take that, flat earth theorists! :)
View Profile
Pages: 1 ... 5 6 [7] 8   Go Up
  Print  
 
Jump to:  

Chatbox
31, August, 2020, 08:40:32 AM
Daddy Poi's Oily Gorillas: Being able to convert IPS files to text files to also supporting commenting, and convert back to IPS after changes.... sounds like a fun strategy? 
27, August, 2020, 10:37:30 PM
Salanewt: Hey, thanks! 
25, August, 2020, 12:59:22 AM
Foreclosure: Yo! Looking forward for this AI OVerhaul patch when it's finished :) :) 
19, August, 2020, 07:00:17 PM
Salanewt: That's awesome! I'm pretty good; been working on an AI Overhaul project and have made some nice progress in the past couple weeks; the goal for tonight is to add Deadbeard to GS2 and then I can move onto something new.
19, August, 2020, 01:14:56 PM
Awec: Ye not bad, just checked back in for updates on GS Reloaded really. Although now I'm looking back through some of my old forum posts, which is fun :D how are you?
19, August, 2020, 01:43:07 AM
Salanewt: It sure is! How have you been?
16, August, 2020, 09:40:57 AM
Awec: Yo nice to see this forum is still going
14, August, 2020, 09:06:44 PM
Salanewt: Hey! How goes it?
01, August, 2020, 01:31:53 PM
KyleRunner: Hello, people!
08, July, 2020, 08:57:11 PM
Salanewt: That awkward feeling when almost a quarter of a year goes by without anyone posting a message in this chatbox.
27, April, 2020, 07:54:10 PM
Daddy Poi's Oily Gorillas: I'm having a thought. So I know Atrius's editor is slow at saving sprites.... So I've been thinking.   I am considering another console program.  This time, for importing and exporting sprites/animations. Image files (for sprites), binary files (for animation data), and maybe binary or text files for Settings. Would certainly be cool if it works out. - Console programs are fun, when you can (at least temporarily) cheat out making a full interface editor for them. =P
25, April, 2020, 10:42:07 PM
Daddy Poi's Oily Gorillas: Tried to list those in order of importance, but anyway....
25, April, 2020, 10:37:59 PM
Daddy Poi's Oily Gorillas: GSHC, GS Speedrunning, /r/Golden Sun, GS United Nations, ToK.  Sixth one is border-line I'm not sure.
25, April, 2020, 08:00:21 PM
Daddy Poi's Oily Gorillas: (low as in <100)
25, April, 2020, 08:00:04 PM
Daddy Poi's Oily Gorillas: So while there are quite a few GS Communities out there. There are only up to maybe ~6 Discords worth even the consideration of joining, I think. Most of the rest of them have a fairly low member count. (Of which I can tell?)
14, April, 2020, 10:49:35 AM
Daddy Poi's Oily Gorillas: The Essential Age could be what it stands for?
13, April, 2020, 05:23:32 PM
Misery: Tea editor... that's a cute name for it
01, April, 2020, 02:42:48 AM
JupiterDjinn: Also my browser is sending two o f my messages srry.
01, April, 2020, 02:42:06 AM
JupiterDjinn: Just got the reply. Ok my question is: how can I get the tea editor on Android, because I already have an emulator. But no computer.
31, March, 2020, 07:18:29 PM
Salanewt: Sure thing!
31, March, 2020, 03:38:27 PM
JupiterDjinn: Can I have a question answered?
28, March, 2020, 12:50:13 AM
Salanewt: I want to shrink it down in size later, but yup!
26, March, 2020, 03:24:45 PM
Daddy Poi's Oily Gorillas: The news box is back? :D
19, March, 2020, 05:59:16 PM
Salanewt: Nice work hiding the searchbots Atrius!
19, March, 2020, 04:23:34 PM
Salanewt: I was wondering when I said that stuff! May need to work it out with Kain.
19, March, 2020, 07:03:05 AM
Daddy Poi's Oily Gorillas: (The simplest being to not accept char IDs pass 255, I think.)
19, March, 2020, 05:33:15 AM
Daddy Poi's Oily Gorillas: Heheh.... I'm just testing. You pretty much gave it away. Hahah. It seems to look fairly convincing, but I'm sure there's an easy solution to preventing it.
19, March, 2020, 05:28:50 AM
Atrius: Whelp, there it goes... Just what I didn't want.  Have fun with that I guess...   
19, March, 2020, 05:20:25 AM
Daddy Poi's Oily Gorillas: So like. Replace the "e" with another "e"? Alright. Gotcha.
19, March, 2020, 05:04:41 AM
Daddy Poi's Oily Gorillas: Good work.

Affiliates
Temple of Kraden Golden Sunrise
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.101 seconds with 23 queries.