- 3,828
- Posts
- 15
- Years
- Age 28
- OH
- Seen Apr 7, 2025
Just to correct and add to the knowledge of text, the English text goes from 0x001D153C to 0x001D3984.
At 0x001D3C94 begins all of the French text, going through 0x001D5C1F.
At 0x001D5F30 begins all of the German text, going through 0x001D7F4F.
At 0x001D8260 begins all of the Spanish text, going through 0x001DA157.
At 0x001DA468 begins all of the Italian text, going through 0x001DC443.
Finally, at 0x001DC754 begins all of the Dutch text, going through 0x001DE72F.
Also, I've figured out how the game accesses the text!
Following each text section, is a table of 195 pointers to different sections of the text. (It is 0x310 bytes long)
Here are the offsets of each table (for clarification):
English: 0x001D3984
French: 0x001D5C20
German: 0x001D7F50
Spanish: 0x001DA158
Italian: 0x001DC444
Dutch: 0x001DE730
Here's the layout of the table, as far as I have bothered to figure out.
No. - Meaning - Use
0 - Pointer to "press start" - Titlescreen
1 - Pointer to "new game" - Main menu
2 - Pointer to "load game" - Main menu
3 - Pointer to "link game" - Main menu
4 - Pointer to "credits" - Main menu
5 - Pointer to "atlasphere" - Link Game sub-menu
6 - Pointer to "link race" - Link Game sub-menu
7 - Pointer to "back" - Link Game sub-menu
...
195 - Pointer to "use <#> to brake..." - Controls for..? - Last entry
Obviously it needs some people to go through and finish it out.
Also, I have noticed what look like two message codes, "<#>" and "<$>"
However, it should be noted that they are separate characters!
"<" and ">" print < and >, while "#" prints "A" and "$" prints "A", this is because "#" and "$" are 'invalid.' They have not font representation.
Also, to end a message, there are 2 bytes ,00 00, just like Team Fail said.
However, sometimes there are 4 bytes (00 00 00 00).
On the subject of newlines, it is quite simple... just put two the hex value 0x0A (newline in ASCII)
I'm not really sure on this, though.
Now, onto text color.
To set the text color, you just set one byte.
Value - Color - Usage
0x00 - None - None
0x01 - Orange - Used for normal stuff
0x02 - White/None - Not used?
0x03 - Green - Used for names
All else - puts "A" instead of color.
At 0x001D3C94 begins all of the French text, going through 0x001D5C1F.
At 0x001D5F30 begins all of the German text, going through 0x001D7F4F.
At 0x001D8260 begins all of the Spanish text, going through 0x001DA157.
At 0x001DA468 begins all of the Italian text, going through 0x001DC443.
Finally, at 0x001DC754 begins all of the Dutch text, going through 0x001DE72F.
Also, I've figured out how the game accesses the text!
Following each text section, is a table of 195 pointers to different sections of the text. (It is 0x310 bytes long)
Here are the offsets of each table (for clarification):
English: 0x001D3984
French: 0x001D5C20
German: 0x001D7F50
Spanish: 0x001DA158
Italian: 0x001DC444
Dutch: 0x001DE730
Here's the layout of the table, as far as I have bothered to figure out.
Spoiler:
No. - Meaning - Use
0 - Pointer to "press start" - Titlescreen
1 - Pointer to "new game" - Main menu
2 - Pointer to "load game" - Main menu
3 - Pointer to "link game" - Main menu
4 - Pointer to "credits" - Main menu
5 - Pointer to "atlasphere" - Link Game sub-menu
6 - Pointer to "link race" - Link Game sub-menu
7 - Pointer to "back" - Link Game sub-menu
...
195 - Pointer to "use <#> to brake..." - Controls for..? - Last entry
Obviously it needs some people to go through and finish it out.
Also, I have noticed what look like two message codes, "<#>" and "<$>"
However, it should be noted that they are separate characters!
"<" and ">" print < and >, while "#" prints "A" and "$" prints "A", this is because "#" and "$" are 'invalid.' They have not font representation.
Also, to end a message, there are 2 bytes ,00 00, just like Team Fail said.
However, sometimes there are 4 bytes (00 00 00 00).
On the subject of newlines, it is quite simple... just put two the hex value 0x0A (newline in ASCII)
I'm not really sure on this, though.
Now, onto text color.
To set the text color, you just set one byte.
Value - Color - Usage
0x00 - None - None
0x01 - Orange - Used for normal stuff
0x02 - White/None - Not used?
0x03 - Green - Used for names
All else - puts "A" instead of color.
Last edited: