Golden Sun Hacking Community

Golden Sun Resources => The Classic GS Editor => Topic started by: Atrius on 16, October, 2008, 02:59:00 PM

Title: Text commands
Post by: Atrius on 16, October, 2008, 02:59:00 PM
Thanks jdmj90, I really appreciate it.

I think those last lines of text are from the guys you get the special summons from like Valukar, Dullahan, Sentinel, Dark Magician, e.t.c.
Title: Text commands
Post by: MaxiPower on 16, October, 2008, 06:32:00 PM
hmm yes i found the just of that in my GStoolkit tutorial video on youtube.. good to see someone else been messing with it
Title: Text commands
Post by: Matrim on 17, October, 2008, 01:41:00 AM
From what i've discovered so far things with two brakets next to each other seem to refer to a list. eg. in the prolougue text and in any text usuing the 8 playable adepts names in them there name is a [17][1-8]
1 Issac
2 Garet
3 Ivan
4 Mia
5 Felix
6 Jenna
7 Sheba
8 Piers


other sommands i could figure out include:

[1]new text window
[3]new line
[5] pause in dialugue scrolling
[29]inventory item
[30] asks yes/no

also an intersting find. The last 4ish lines of text. I wonder where they are from/are for?
Title: Text commands
Post by: Matrim on 08, January, 2009, 01:20:00 PM
Some more



[26][1-6] are buttons

1 is a
2 is B
3 is L
4 is R
5 i assume is start
6 is select

[18][1] Party member depending on situation.
Title: Text commands
Post by: Atrius on 12, January, 2009, 05:40:00 PM
Thank you jdmj90.
Title: Re: Text commands
Post by: Matrim on 08, January, 2010, 02:22:55 AM
this is a bit necro but i didn't want to start a new thread since we have one here already and this is more relevant information.

[26][6] special item aka unleash or psyenergy or key item

text editor string number 5456 holds the font colors [8][1-14]
can't see some of it and the colors
with further examination of the flora summon dialogue box when you get the the you summon.

[9][4] seems to either be a whole paragraph shaky marker but this shaky looks different than the one from the [5] marker

[25] seems to be some sort of 's' adder. if you have only won one battle it says you have won 1 consecutive battle but once you win two it says consecutive battles
[22] is somehow a specified variable/number perhaps a pointer assessor

[9][2] text [7] one of the commands must be bold. Can be found after fighting in the battle arena a few times.
Title: Re: Text commands
Post by: Atrius on 08, January, 2010, 02:43:14 AM
Hmm... I guess I was wrong, those color, and bold commands do work.

[7] seems to make the box behind the text disappear.

[9][6] is pretty funky.  It pairs letters up in twos and makes them rotate.


String 5456 ends at "brown [8][14]"  You're seeing all of it.
Title: Re: Text commands
Post by: Matrim on 08, January, 2010, 01:03:52 PM
in my editor since i can't apperently increase the window size, cuts off the string as it goes right. I see the end of the string i just can't see the items that run off the screen.
Title: Re: Text commands
Post by: Atrius on 08, January, 2010, 11:21:17 PM
Ah, that's right, I did redo the layout for the text editor in v0.3 for a couple reasons, that being one of them.  I'll get you that rip of all the game's text you want sometime tomorrow maybe.

EDIT: Here you go, I've attached the text dump for TLA.
Title: Re: Text commands
Post by: Matrim on 10, January, 2010, 09:36:52 PM
Thrilling. thanks a bunch. now to study it.
Title: Re: Text commands
Post by: Matrim on 11, January, 2010, 12:34:22 AM
[8][16] clears font color changes or changes color back to white?
[21] is similar to 22 but instead is a string not an integer.
[20][1] specific item
[20][2] kind of the same thing as [20][2]. item from a treasure chest
[16] Head party members name? wonder why it isn't [18][5] possibly party leader's name?

[19][1] character's class name.
[27] 's marker?

[28][5][1] First charcter of "Felix"'s name, used once.

intersting line
5451   :[9][4][17][1], you are the final[3]warrior, and this shall not[3]be forgotten.[1][9][6]I'll be here, so when you get[3]done checking things out, just[3]give me a call.[1][9][2]All right?[2]



[30] is the largest number.

end notes:

I suspect that each characters data is stored in an array or some sort.

I think some gs1 dialouge got put in here too because i don't think you ever see babi's diary in tla

[18][1],[20][1-?],[21],[22] seem to be dynamically changing. [18][1] only in battle and the rest anywhere i believe

does anyone know where there bathrobes in the game? lemuria?

12397   : What in°!!! [15][4][15][4][1][12][11]What's with all these bathrobes?!?[3]Where are the baths?[2]
Title: Re: Text commands
Post by: Atrius on 11, January, 2010, 01:19:43 AM
The highest command value possible at all would be 31 since anything above that is part of the text of the string.  The highest one that actually does something may be 30 though.

It can also possibly depend on context, especially for many of the commands that are for inserting variables into the text.  For items the [29][2/3/5/etc] before their name changes the word that appears before the items name when you get one of them in game (ex: "You got a Short Sword" vs "You got an Assassins Blade")

For the command [16], Golden Sun's engine does in fact allow other party members to lead to the party, for example at Collosso in the first game when you were playing as the others helping Isaac to win.
Title: Re: Text commands
Post by: Neko-chan on 11, January, 2010, 03:05:26 PM
So would removing [30] and then typing some text like hello, Nice weather we're having today don't you think? Make the protagonist actually speak for once?
Title: Re: Text commands
Post by: Atrius on 11, January, 2010, 06:39:45 PM
Who says what is determined by how the string is used in the game's code, not anything in the string itself.
Title: Re: Text commands
Post by: Rolina on 11, January, 2010, 11:51:54 PM
Exactly.  By choose the choices, you could just have it so that the protagonist speaks their answer one way or another, instead of having others respond to them nodding or shaking their head.  It's really got nothing to do with programming saying that the main dood can't talk, and more with the programmers making an active choice not to let them talk.
Title: Re: Text commands
Post by: MaxiPower on 12, January, 2010, 12:25:51 PM
I hate the idea of a Silent Protaginst, i get what angle there coming from but rather have all characters even main character speak
Title: Re: Text commands
Post by: Rolina on 12, January, 2010, 12:59:06 PM
EVERYONE hates that trope.  It makes the main dood seem like some lame hollow shell.  That's why it typically listed as a trope that you're best avoiding.
Title: Re: Text commands
Post by: Salanewt on 12, January, 2010, 03:27:39 PM
It would make sense if they explained how the protagonist lost their voice (like a tragic accident or something), but I find it odd how almost every protagonist in every game that I play seems to be mute (well, almost always, since Luigi can talk in Superstar Saga if he dresses up as Peach).

Also, I did not really know about this topic, so I have a few questions. Atrius? Are you planning on adding an index of the main commands or something in a Readme file with the editor? Also, is it at all possible to edit the commands in the game?

Have a nice day.
Title: Re: Text commands
Post by: Clara Vita on 12, January, 2010, 03:28:52 PM
purge
Title: Re: Text commands
Post by: Aile~♥ on 12, January, 2010, 03:42:23 PM
In most games you have to choose the response, even when it is something other than "Yes" or "No".

For example in, Paper Mario tTYD:

Bowser: (You're both too old!)
(It's hag vs. hag!)

Of particuolar note is that neither of these responses actually makes a difference to the gameplay, it's just a matter of personal preference.
Title: Re: Text commands
Post by: Atrius on 12, January, 2010, 08:57:16 PM
Quote from: Anemos Alchemist on 12, January, 2010, 03:28:52 PMWell, unlike GS1, the main character, (Felix), gets a line.  A SINGLE LINE...

"Why?"

When Moapa is explaining the Trial Road to the party in Shaman Village.

And that was a translation error.
Title: Re: Text commands
Post by: Salanewt on 12, January, 2010, 09:10:35 PM
But he also had "..." during the cutscene when leaving Lemuria.

Translation error, or the line belonging to someone else (and what was it supposed to be if it is the error)?

Have a nice day.
Title: Re: Text commands
Post by: Atrius on 12, January, 2010, 09:38:13 PM
It was his line, but it was just supposed to be a question mark, nothing else.
Title: Re: Text commands
Post by: Clara Vita on 14, January, 2010, 03:51:11 AM
purge
Title: Re: Text commands
Post by: Neko-chan on 14, January, 2010, 10:34:44 AM
Role I agree with you when you said
QuoteEVERYONE hates that trope.  It makes the main dood seem like some lame hollow shell.  That's why it typically listed as a trope that you're best avoiding.

Because I have always hated the silent hero trope. It makes him\her seem like a boring blob of pixels instead of a person. IF "they" did not want the main PC to speak, Why not make him\her a mute in the first place?
Title: Re: Text commands
Post by: Kazua on 14, January, 2010, 02:20:31 PM
I always thought Felix lost his voice in that tidal wave.
Now Issac, I don't know.

The silent issue probably exists because you can make things
far worse when making a hero with a personality that people won't like.

Title: Re: Text commands
Post by: Neko-chan on 14, January, 2010, 04:08:14 PM
But Felix SPEAKS in the end cutscene, Does he not? You HAVE finished the game, Have you?
Title: Re: Text commands
Post by: MaxiPower on 14, January, 2010, 04:48:18 PM
Quote from: Neko-chan on 14, January, 2010, 04:08:14 PM
But Felix SPEAKS in the end cutscene, Does he not? You HAVE finished the game, Have you?

Well technially speaking that doesnt count as the game is over.... the reason theirs a silent ptotaginst is to make the player become the main, his yes, no actions affect the game is some form and thats why its their
Title: Re: Text commands
Post by: Aile~♥ on 14, January, 2010, 05:29:35 PM
I don't know, I like games where the main character has personality, even if I don't like his/her personality. lol at Emil in ToS: DotNW.
Title: Re: Text commands
Post by: Rolina on 14, January, 2010, 05:50:07 PM
Maxi's right - it doesn't count if they only talk at the end.  The thing is, people prefer a character who talks, even if they wind up being a jerk in the end that EVERYONE hates, it's still better than a silent protagonist.  Hell, I prefer Cloud to Crono, and I HATE Cloud.  But because he talks, I see him, as a character, as being better than Crono.  Crono still wins from a gameplay standpoint, as far as I'm concerned, but as far as his personality... I prefer the guy with a personality I don't like to one with no personality.
Title: Re: Text commands
Post by: Salanewt on 15, January, 2010, 02:17:13 PM
A theory as to why Felix talks at the end... Mars Lighthouse restored his voice, which was on recovery anyway (though we know of Nintendo's plan for a silent protagonist, as well as the translation error, we can ignore these), and the pressure from hitting the Ocean after jumping off of the Lighthouse is what caused him to lose his voice (since if it were like real life, then he would have been killed).

After all, it restored Felix, Jenna, and Isaac's parents to full health.

And... Are we at all off topic?

Anyway, Atrius? Are some text commands universal for multiple games, or are they all programmed specifically for the game? I know that some of them are specific commands, but there are many others as well.

Have a nice day.
Title: Re: Text commands
Post by: Rolina on 15, January, 2010, 02:45:08 PM
Here's a theory:  The reason they don't talk is because camelot decided to follow the stupid silent protagonist trope.  They actually do speak in the game, but nobody hears it because camelot didn't realize that people HATE silent protagonists.
Title: Re: Text commands
Post by: Salanewt on 15, January, 2010, 03:42:51 PM
Yeah, I think I prefer your theory actually. The games in which mute protagonists are cool are normally in platform games.

Oh yes, Atrius? How many commands are there in the game?

Have a nice day.
Title: Re: Text commands
Post by: Matrim on 15, January, 2010, 06:03:29 PM
assuming that gs and gs:tla use the same text mechanics which they do as far as i can tell, [24] is a hyphen.
possibly the degree does the same thing as well for tla

[15][4] makes the text box bob. its used when you view a wardrobe in the lemeria palace on the first floor.
Title: Re: Text commands
Post by: Atrius on 15, January, 2010, 09:35:48 PM
QuoteAnyway, Atrius? Are some text commands universal for multiple games, or are they all programmed specifically for the game? I know that some of them are specific commands, but there are many others as well.
It's fairly likely that GS, and GS:TLA use a lot of the same commands since they use the same engine.  I wouldn't be surprised if Mario Tennis, and Mario Golf for GBA have similar commands too since they also use the same engine.  Beyond that I would not count on it at all.

QuoteOh yes, Atrius? How many commands are there in the game?
Hard to say until we figure them all out.  The highest possible number you'll seen in brackets is [31], anything higher than that will get converted into a text character, but some commands given different arguments will do different things.
Title: Re: Text commands
Post by: Matrim on 15, January, 2010, 09:45:16 PM
i can't wait until we get the text editor because the easyiest place to modify to find out about tags would be the prolouge. We could test many of thw commands each run. I can't wait. :) :) we can also figure out if the numbers that don't seem to be anywhere in the editor actually do something. ie. i believe 13 is one.
Title: Re: Text commands
Post by: Atrius on 15, January, 2010, 09:46:55 PM
I'm not sure if the prologue would be the best place for it since it's not actually in a message box, it may use different code.
Title: Re: Text commands
Post by: Matrim on 15, January, 2010, 09:49:56 PM
i was specifically talking about when it shows them on top of the lighthouse. and when jenna and kraden are escapeing. sorry for the cconfusion.
Title: Re: Text commands
Post by: SSBMX on 03, November, 2010, 04:24:30 PM
Quote from: Neko-chan on 14, January, 2010, 04:08:14 PM
But Felix SPEAKS in the end cutscene, Does he not? You HAVE finished the game, Have you?

He speaks to show that you are watching and have no control anymore.

Also what is [29]?

Edit:
Errrr never mind
Title: Re: Text commands
Post by: Mastermind on 27, December, 2010, 06:35:17 PM
Sorry to revive this thread, but I didn't want to make a new one to deal with an issue that's already been talked about. I think I have most of them figured out:

Notes: 10, 13, 14, and 24 might have a use, It's just not used in the game text.
[1]-Next speech window.(next line when in battle text)
[2]-End speech.
[3]-Next line.
[4]-Shakey or underlined text, I'm not sure.
[5]-Pause in text.
[7]-End text effect.
[8] Used to define text color.Line 5456 in text viewer reads:
[8][1] zero [8][2] black [8][3]red [8][4]orange [8][5]yellow [8][6]lime [3][8][7]green [8][8]cyan [8][9]blue [8][10]peach [1][8][11]beige [8][12]brown [8][14]
[9]Bold text
[10]-Not used in game text.
[11]- Used only in the description of the bathrobe-filled cupboard in lemuria, probably involved in the effect that was used there.
[12]-Same as [11].
[13]-Not used in game's text.
[14]-Not used in game's text.
[15]- Found in line 12397:a e i u e o a o [15][4][3]ka ke ki ku ke ko ka ko[3]sa se shi su se so sa so [15][4][2]
This corresponds to the Japanese alphabet, so perhaps for letter selection or changing words into Hirangana or Katakana.Strangely enough, It's also used in the bathrobe-filled cupboard, so perhaps it causes the animation that occurs during name selection when a letter is scrolled over.
[16] Used to insert a name for actions such as searching in barrels([16] checked the barrel...[1]), text concerning the party as a whole in battle ([16]'s party was caught by surprise!), and is somehow used in djinn aquisition. ([18][1] found the Venus[3]Djinni [8][5][21][8][16]![30])
[17]Used for Character names in the story's dialogue. Followed by a number telling which character it is.
[17][1]= Issac [17][2]=Garet [17][3]=Ivan [17][4]=Mia [17][5]=Felix [17][6]=Jenna [17][7]=Sheba [17][8]=Piers
[18]-Used for inserting names in battle text concerning individual party members or enemies. ALso used in item or djinn trading, equiping things, and sanctum exchanges.
[19]-Used for inserting class names in text.
[20]-Used for inserting item names in text.
[21]-Used for inserting the names of djinn, psynergy, weapon unleashes, or summons.
[22]-Used to insert values for exp, coins, damage, or stats that are gained or lost. (also used for exp needed)
[23]-Used only in line 5473: ƒV[ƒ"[3][23][3]c,µ`,ñc[2]. I have no idea what it means.
[24]-Not used in game text.
[25]-Used to change units to plurl form if value is over 1. (That'll be [22] coin[25]. could be 'coins' if it costs more than 1 'coin')
[26]-Used to insert button command images.[26][1]=A button [26][2]=B button [26][3]=Left shoulder button [26][4]=Right shoulder button [26][5]=Start button [26][6]=Select button
[27]-Used to insert a character's name in a possesive form (Jenna's, Felix's). Only used when removing curses from someone. Probably has its own command in case a name ends with an 's', in which case the possesive form is different (Piers' is the possesive form of Piers)
[28]-Used only once, to stutter a character's name. If you talk to Issac on Jupiter lighthouse he says "F, Felix... No! Why are you helping them?" but if the character's name doesn't start with an 'F' it doesn't make sense so it is "[28][5][1], [17][5]... No![3]Why are you helping them?[2]" in game script
[29]- Used to indicate something about an item/equipmen. followed by a number 2-6. Seems randomly done to me.
[30]-Indicates a choice (yes/no, shop menues) and some scenes such as Flint and Echo's djinn tutorial and the Conversation about Piers' age.
Title: Re: Text commands
Post by: Salanewt on 01, January, 2015, 08:50:35 PM
Happy New Year! Not sure if anyone cares about this anymore, but I think command [15] only has argument [4]; Matrim pointed out what it does a few years ago, but no other argument seems to work from what I can tell. Additionally, you have to enter [15][4] multiple times if you want it to shake more. Here's some basic info on the other things I have found so far:

08039864 = dialogue_properties - includes dialogue speed/pacing, palette instruction usage, and maybe more (list of 30 text instructions at    #08039910)
0803998C - Text instruction 3 (New Line)
080399D8 - Text instruction 1 (New Panel)
08039BBC - Text instruction 2 (End Text)
08039BEE - Text instruction 5 (Pause Text)
08039BF8 - Text instruction 6 (???)
08039C16 - Text instruction 4 (???)
08039C2E - Text instruction 8 (Palette)
08039C60 - Text instruction 9 (Text Effect (uses other values for varied effects such as bold, will record later))
08039C88 - Text instruction 10 (Text Shift (shifts text vertically by the pixel))
08039CA4 - Text instruction 7 (End Text Effect)
08039CBC - Text instruction 15 (Panel Animation (only has one instruction?))
08039CE4 - Text instruction 0 (no instruction?) and 30 (Yes/No Option)
08039CF0 - Every other instruction (they are handled differently or otherwise have no effect)


The only thing about [4] and [6] is that I can't seem to get them to do anything other than delay the text by a really long time whenever I use one. I think this might be the code giving up on finding a solution though, so I will probably have to look at the code later on to have an idea whether it does anything else or not. Using [15][anything but 4] does the same thing for some reason, but it could be common to any invalid instruction and/or argument combination.

As for [8] (the palette one), I think you can use any of the first 15 colours; [8][16] would generally reset it back to white though. It looks like you can only go up to [8][16] before you get garbled colours and stuff. Pretty ugly when that happens, and I can't say I know why it happens either. Also keep in mind that the argument is the colour's placement in the icon/sprite palette + 1 according to the editor, but in RAM data it's just the colour... Oh, and you can technically have transparent text with just the shadows underneath. I have to say that it is actually pretty legible when with normal text.

[9] = Text effect, and uses another argument (as most of you already know);
[9][1] - Bold text
[9][2] - Wavy text
[9][3] - Shaking text
[9][4] - Cinema text (starts big before shrinking)
[9][5] - Rotating text
There doesn't seem to be anything else after the last one.

[10] is text shifting and uses a second argument. Low arguments will shift the text up and higher arguments will shift it down (basically super and subscript done by the pixel). Pretty sure [10][10] is neutral too.

Well, I guess that's all for now. Funny thing is that the function listed in the code should also have something to do with text pacing/speed and such. My goal was to find something else before I stumbled onto this, so yeah.
Title: Re: Text commands
Post by: Daddy Poi's Oily Gorillas on 08, May, 2015, 06:03:49 PM
Quote[29]- Used to indicate something about an item/equipmen. followed by a number 2-6. Seems randomly done to me.
Pretty sure that one is for the a, an, some, and the that comes before, i. e. item names.

Anyway, I want to say that recursive text inserting might not be possible? Haven't quite tested, though... But from the way one function looks, the text commands that allow you to insert text decompress in a mostly-raw format.
Quote[17]Used for Character names in the story's dialogue. Followed by a number telling which character it is.
[17][1]= Issac [17][2]=Garet [17][3]=Ivan [17][4]=Mia [17][5]=Felix [17][6]=Jenna [17][7]=Sheba [17][8]=Piers
[18]-Used for inserting names in battle text concerning individual party members or enemies. Also used in item or djinn trading, equiping things, and sanctum exchanges.
[19]-Used for inserting class names in text.
[20]-Used for inserting item names in text.
[21]-Used for inserting the names of djinn, psynergy, weapon unleashes, or summons.

08039864 = As posted by Salanewt above... I think this is how text is displayed. (?)

0803B094 = This one decompresses/parses an entire string. There are a number of functions calling this function that may need more documentation.(?) (Character limit appears to be around 0x1FF (511) ... I think?? Might need to double check that it wasn't one more, though.) - It is my guess that functions calling this function may also call above function either directly, or indirectly. (Indirectly would be calling a function that proceeds to calling that function.) *Takes a quite look* Actually, I'm not sure yet... Might study it a bit later.

0803CA20 = This one is the one used to decompress inserted text to mostly raw string. - And the character limit is either 23 or 24... I think it is 23, even though the arg in r2 is 0x18 (24).