Golden Sun Hacking Community
December 12, 2017, 10:39:00 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
  Home   Forum   DC Wiki Help Search Calendar Downloads Login Register  
Pages: 1 [2] 3 4 ... 10
 11 
 on: December 04, 2017, 12:34:51 PM 
Started by Lord Wolfram - Last post by pablitox
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.



 12 
 on: December 03, 2017, 08:37:01 PM 
Started by Lord Wolfram - Last post by Fox
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.)

 13 
 on: December 03, 2017, 07:29:49 PM 
Started by Lord Wolfram - Last post by pablitox
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.


 14 
 on: December 03, 2017, 06:49:48 PM 
Started by Lord Wolfram - Last post by Fox
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.

 15 
 on: December 03, 2017, 04:41:21 AM 
Started by Lord Wolfram - Last post by pablitox
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

 16 
 on: December 01, 2017, 03:46:14 AM 
Started by Lord Wolfram - Last post by pablitox
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.

 17 
 on: December 01, 2017, 01:08:23 AM 
Started by Lord Wolfram - Last post by Fox
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?

 18 
 on: December 01, 2017, 12:04:28 AM 
Started by Lord Wolfram - Last post by pablitox
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

 19 
 on: November 30, 2017, 11:17:13 PM 
Started by Lord Wolfram - Last post by Fox
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.

 20 
 on: November 30, 2017, 08:33:37 PM 
Started by Lord Wolfram - Last post by pablitox
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.

Pages: 1 [2] 3 4 ... 10
Cbox
December 09, 2017, 04:24:14 AM
Majora: Import old forum posts for reference, perhaps take posts containing important info like documentation away from the old stickied forum post model and make them into their own pages on a site with an in-built search bar. Might help with SEO, too. If nothing else, perhaps whipping them into PDFs and hosting them via Scribd? The possibilities are boundless when it comes to restructuring a site
December 09, 2017, 04:20:02 AM
Majora: Just a nice idea to have even if it doesn't come to fruition. Updating, modernizing, always a good idea. Could probably do something pretty nifty using a good Wordpress theme
December 09, 2017, 04:15:45 AM
Majora: Would be kind of neat to do something like that for GSHC. Could change it up a bit to show all tweets/instagram posts/facebook posts/golden sun subreddit posts all in one sidebar. It would be cool in that it gives the site it's on (and the topic in general) appear more lively and active, which is a plus
December 09, 2017, 04:14:19 AM
Majora: That does sound interesting. One cool thing I've seen some sites use is a sort of unique take on a sidebar option that acts like a social media integration (like, "See GSHC's latest Tweets"). It displays activity from a variety of related sites, such as Reddit, Twitter, Instagram, etc.
December 09, 2017, 12:58:53 AM
Fox: And the way it'd work via code is not that all users would instantly get nicknames the minute you register... but rather, the moment you view a name if it doesn't have a nickname, it gets one. (My Thoughts.)
December 09, 2017, 12:53:55 AM
Fox: (I was thinking that it would be "Name (Nickname)" ... The nickname is what you first known the user as, and you can change that yourself... and the Name is what the user wants to be called... Something like that.
December 09, 2017, 12:47:56 AM
Fox: So like... for starters, one idea I had was to make it so anyone can name anyone... much like how it works on Skype, and you (the namer) would be the only one to see it, and such...
December 09, 2017, 12:45:02 AM
Fox: Would need to be carefully thought out and tested, though.
December 09, 2017, 12:43:02 AM
Fox: I'm thinking I could make it so that name changes can happen whenever... (Without any limit)... Since I believe there's a way to do it with minimum confusion. (I think.) Hmm....
December 09, 2017, 12:31:36 AM
Fox: (I mean an offline version... at least initially.)
December 09, 2017, 12:25:01 AM
Fox: Now that I have thought about it a bit more, would I be right to assume that GSHC would be one of the most interesting websites to administrate, or no? It's sad to see not much going on with it. == I almost want to make a concept website at some point. :D Anyway, how is everyone doing today?
December 06, 2017, 12:12:59 AM
Fox: Like... Start using Github or something... Do like how many of those other projects such as Citra (WIP 3DS Emulator) does. Etc.
December 06, 2017, 12:08:12 AM
Fox: No idea. I just wish OpenGoldenSun would release it as unfinished, but oh well.
December 05, 2017, 06:52:09 AM
MaxiPower: Bummed out that the open golden sun project is dead it seems with no actitivy in close to a year at this point. Is there any hope left in any other projects?
November 27, 2017, 10:25:28 AM
Fox: (When I say research, mainly refering to the data in the game, though checking websites can count to a degree.)
November 27, 2017, 09:52:27 AM
Fox: Maybe. But Dark Dawn is meh, hahah... I still research it, though, because data can be interesting.
November 27, 2017, 05:28:36 AM
Portakin: I'm here! This game is underrated!
November 25, 2017, 08:03:23 PM
Fox: .... and the email listed in that post makes me think we should just make a new rules topic with most of the same information. (So the old ones can be sort o archived.)
November 25, 2017, 07:59:47 PM
Fox: "and in addition to the bot being banned, I will remove the advertisement and lock the thread."  ... From what I've seen in the last couple years, this should be changed to "delete the thread."
November 24, 2017, 03:46:07 AM
Fox: Happy birthday Salanewt (Since it is mentioned in the Upcoming Caledar.) And Thanksgiving to my fellow GSHCers!

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.062 seconds with 17 queries.