GXT: Difference between revisions

(template)
No edit summary
(13 intermediate revisions by 5 users not shown)
Line 1: Line 1:
'''GXT''' files (also known as 'language files' or 'localisation files') are used for localising [[Grand Theft Auto]] games. Every single line of text is listed in the '''.gxt''' files, each being referenced by a variable. The variables are then used in the game so that different languages can be used. The lines of text can be anything from character dialogue, area names, vehicle names etc. Since [[GTA3]], the games have shipped with the following language files:
{{cleanup}}
A '''G'''TA Te'''xt''' (''GXT'') file contains almost all texts that are displayed on the screen of [[Grand Theft Auto 2]] and above. The location of those files may differ between the various game versions, but they are usualy located in a <code>text\</code> folder inside the games installation directory. There is one GXT file for each language, but the number of gxt files does not define the number of supported languages by the game. An entire list of all GXT text entry name [[Cryptography#CRC32|hashes]] between [[Grand Theft Auto III]] and [[Grand Theft Auto: Vice City Stories]] is available with [[Sanny Builder]].


*american.gxt (English)
== File Format ==
*german.gxt (German)
Each GXT file can contain certain tables with subtables and entries. The entries are stored in [[Wikipedia:ASCII|ASCII]] standard. Just some special characters got some different bitsets.
*spanish.gxt (Spanish)
*french.gxt (French)
*italian.gxt (Italian)


Some other regions (mainly European countries) have had language files made by fans for speakers of a particular language. An example of this would be the ''SASLO'' mod. The mod enables gamers from Slovenia to play [[Grand Theft Auto: San Andreas]] with all the text in Slovenian. The mod is actually a german.gxt file but with Slovenian translations of each line of text. One can simply replace the german.gxt file with the one from the SASLO mod and choose German as the in game language.
=== GTA San Andreas / GTA IV / GTA V Format ===
==== Header ====
The header contains data about the tables and their subtables.


INT32  - 4b  - Version? (Always 0x080004)
CHAR[4] - 4b  - TABL
==== Table Block ====
The ''Table Block'' contains data about the subtables and their offsets.
INT32  - 4b  - Blocksize
//Array of [Blocksize / 12 Entries]
CHAR[8] - 8b  - Subtablename
INT32  - 4b  - Offset
The Offset of the subtable points to an 8-byte Char Array with the subtable's name, followed by TKEY. For the MAIN Table this points directly to TKEY!
==== TKEY and TDAT ====
===== TKEY =====
The TKEY Block of an subtable contains the CRC32-values of the entrytitles. The game calculates the CRC32-value out of a given string and checks if they exist in the GXT.
CHAR[4] - 4b  - TKEY
INT32  - 4b  - Blocksize
//Array of [Blocksize / 8]
INT32  - 4b  - Entryoffset
INT32  - 4b  - [[Cryptography#CRC32|CRC32]] (Entryname)
The TKEY block is directly followed by the TDAT Block which contains the contents of the entries. The Entryoffset is relative to the TDAT + 4 offset.
===== TDAT =====
CHAR[4] - 4b  - TDAT
INT32  - 4b  - Blocksize
From here the entryoffset of each entry points to the content. The content can have different sizes. However it always ends in '\0'!
For Example "Hello!" needs to be transformed to "Hello!\0" here and this gives a size of 6 bytes (To tell it in a short form content is a null-terminated string). If this is the 1st content in TDAT the next got an offset of 0x06!
In GTA IV Japanese/Russian/1.0.0.4 versions, the data is stored in UTF-16 format, and the table below is likely irrelevant.
'''Special Characters'''
Here is a list of special characters for german language sets and their UINT8 Values:
{|
! Character
! Value
|-
| Ä
| 131
|-
| ä
| 154
|-
| Ö
| 145
|-
| ö
| 168
|-
| Ü
| 149
|-
| ü
| 172
|-
| ß
| 150
|}
=== GTA III / GTA Vice City Format ===
Vice City and GTA III GXTs are very similar to the SA GXTs. In this article all those additional infos are not listed.
==== Header ====
The header contains data about the tables and their subtables.
CHAR[4] - 4b  - TABL
==== Table Block ====
INT32  - 4b  - Blocksize
//Array of [Blocksize / 12 Entries]
CHAR[8] - 8b  - Subtablename
INT32  - 4b  - Offset
==== TKEY and TDAT ====
===== TKEY =====
CHAR[4] - 4b  - TKEY
INT32  - 4b  - Blocksize
//Array of [Blocksize / 12]
INT32  - 4b  - Entryoffset
CHAR[8] - 8b  - Entryname
Unlike San Andreas entrynames are stored directly in 8b chararrays here. This means to calculate the entries in the table you have to divide the blocksize through 12.
The Entryoffsets are relative to the end of the "TDAT Header". This means you have to add the entryoffset to the stream position after the TDAT size. (TDAT_Offset + 8 + Entryoffset), to get to the entry.
===== TDAT =====
CHAR[4] - 4b  - TDAT
INT32  - 4b  - Blocksize
The TDAT-Block contains the strings which are displayed by the game. But here are some differences towards San Andreas. The strings are encoded in unicode, which means that each character takes the space of 2 characters (which means 2 bytes per character). Mostly the last byte is 0x00.
=== GTA 2 Format ===
Except for an additional header at the beginning, GTA 2's GXT files are identical to GTA3 format.
The first 4 bytes can be one of following, and identify the language for the file:
GBLE - english
GBLF - french
GBLG - german
GBLI - italian
GBLS - spanish
GBLJ - japanese
A uint16 file version follows which is always 100 (decimal)
Text is stored with some specialities, characters are 16 bit while only one of these bytes is actual character the other may store special data such as gang message icon id, etc.. the text is zero-terminated.
The rest of file is same as gta3 with familiar tkey & tdat sections.
== GXT Editing ==
=== Symbols & Colorcodes (Control Character) ===
{| class="prettytable"
! Symbol
! colspan="3" | Description
|-
!
! GTA III
! Vice City
! San Andreas
|-
| ~1~
| colspan="3" align="center" | number within a text
|-
| ~a~
| colspan="3" align="center" | text within a text
|-
| ~b~
| style="color:rgb(124,162,236)" | blue text
| style="color:rgb(27,89,130)" | blue text
| blue text
|-
| ~d~
|
|
| ▼-icon
|-
| ~g~
| style="color:rgb(92,156,103)" | green text
| style="color:rgb(255,150,225)" | hot pink text <!--(default color of pink styled text)-->
| green text
|-
| ~h~
| colspan="2" align="center" | white text
| highlight
|-
| ~j~
|
|
| ?
|-
| ~k~
| colspan="3" align="center" | key (followed by [[GXT#Keypresses|keypresses]])
|-
| ~l~
| black text
| forces text to default color and ignores set colors
| black text
|-
| ~n~
|
|
| newline
|-
| ~m~
|
|
| ?
|-
| ~o~
|
| style="color:rgb(229,125,126)" | pink text
| ?
|-
| ~p~
| style="color:rgb(163,107,245)" | purple text
| style="color:rgb(168,110,252)" | purple text
| purple text
|-
| ~q~
|
| style="color:rgb(199,144,203)" | plum pink text
|
|-
| ~r~
| style="color:rgb(110,42,71)" | red text
| style="color:rgb(255,150,225)" | hot pink text
| red text
|-
| ~s~
|
|
| reset color to standard
|-
| ~t~
|
| style="color:rgb(86,212,146)" | green text
|
|-
| ~u~
|
|
| ▲-icon
|-
| ~v~
|
|
| ?
|-
| ~w~
| style="color:rgb(170,170,170)" | gray text
| style="color:rgb(175,175,175)" | gray text <!--(default color of text box)-->
| white text
|-
| ~x~
|
| style="color:rgb(132,146,197)" | light blue text
| ?
|-
| ~y~
| style="color:rgb(204,191,103)" | yellow text
| style="color:rgb(255,227,79)" | yellow text
| yellow text
|-
| ~z~
|
|
| subtitle (doesn't shown when the Subtitles option is off)
|-
| ~<~
|
|
| ◄-icon
|-
| ~>~
|
|
| ►-icon
|-
! colspan="4" | Special symbols (otherwise normal or blank)
|-
| <
| ◄ icon
| armor icon
|
|-
| >
| ► icon
| wanted level (star) icon
|
|-
| {
|
| heart icon
|
|-
| }
|
| dollar sign icon (not "$")
|
|-
| _
| colspan="2" align="center" | degree symbol (°)
|
|-
| @
| colspan="2" align="center" | trademark symbol (™)
|
|-
| ^
|
| inverted exclamation mark (¡)
|
|-
| &#124;
| circle icon
|
|
|-
| "
| triangle icon
|
|
|}
Note that using "~" by itself will crash the game when the game attempts to display it.
=== Keypresses ===
You can use [[opcode]] [[00E1]] to check if these keys are being pressed.
==== Foot Controls ====
{| class="prettytable collapsible"
! Key
! Game
! Entry
|-
| Fire
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~PED_FIREWEAPON~
|-
| Next Weapon / Target
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~PED_CYCLE_WEAPON_RIGHT~
|-
| Previous Weapon / Target
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~PED_CYCLE_WEAPON_LEFT~
|-
| Group Ctrl Foward
| align="center" | {{Icon|SA}}
| ~GROUP_CONTROL_FWD~
|-
| Group Ctrl Back
| align="center" | {{Icon|SA}}
| ~GROUP_CONTROL_BWD~
|-
| Conversation - No
| align="center" | {{Icon|SA}}
| ~CONVERSATION_NO~
|-
| Conversation - Yes
| align="center" | {{Icon|SA}}
| ~CONVERSATION_YES~
|-
| Foward
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~GO_FORWARD~
|-
| Backwards
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~GO_BACK~
|-
| Left
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~GO_LEFT~
|-
| Right
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~GO_RIGHT~
|-
| Zoom In
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~PED_SNIPER_ZOOM_IN~
|-
| Zoom Out
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~PED_SNIPER_ZOOM_OUT~
|-
| Enter+Exit
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_ENTER_EXIT~
|-
| Change Camera
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~CAMERA_CHANGE_VIEW_ALL_SITUATIONS~
|-
| Jump
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~PED_JUMPING~
|-
| Sprint
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~PED_SPRINT~
|-
| Target / Aim Weapon
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~PED_LOCK_TARGET~
|-
| Crouch
| align="center" | {{Icon|VC}}&nbsp;{{Icon|SA}}
| ~PED_DUCK~
|-
| Action
| align="center" | {{Icon|VC}}&nbsp;{{Icon|SA}}
| ~PED_ANSWER_PHONE~
|-
| Walk
| align="center" | {{Icon|SA}}
| ~SNEAK_ABOUT~
|-
| Look Behind
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~PED_LOOKBEHIND~
|-
| First Person Look Left
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}{{Ref|1|[1]}}
| ~PED_1RST_PERSON_LOOK_LEFT~
|-
| First Person Look Right
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}{{Ref|1|[1]}}
| ~PED_1RST_PERSON_LOOK_RIGHT~
|-
| First Person Look Up
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}{{Ref|1|[1]}}
| ~PED_1RST_PERSON_LOOK_UP~
|-
| First Person Look Down
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}{{Ref|1|[1]}}
| ~PED_1RST_PERSON_LOOK_DOWN~
|-
| Cycle Target Left
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}{{Ref|1|[1]}}
| ~PED_CYCLE_TARGET_LEFT~
|-
| Cycle Target Right
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}{{Ref|1|[1]}}
| ~PED_CYCLE_TARGET_RIGHT~
|-
| Center Camera Behind Player
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}{{Ref|1|[1]}}
| ~PED_CENTER_CAMERA_BEHIND_PLAYER~
|}
==== Vehicle Controls ====
{| class="prettytable collapsible"
! Key
! Game
! Entry
|-
| Fire
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_FIREWEAPON~
|-
| Secondary Fire
| align="center" | {{Icon|SA}}
| ~VEHICLE_FIREWEAPON_ALT~
|-
| Accelerate
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_ACCELERATE~
|-
| Brake / Reverse
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_BRAKE~
|-
| Left
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_STEERLEFT~
|-
| Right
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_STEERRIGHT~
|-
| Steer Foward / Down
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_STEERDOWN~
|-
| Steer Back / Up
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_STEERUP~
|-
| Enter+Exit
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_ENTER_EXIT~
|-
| Trip Skip
| align="center" | {{Icon|SA}}
| ~CONVERSATION_YES~
|-
| Change Radio Station
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}
| ~VEHICLE_CHANGE_RADIO_STATION~
|-
| Next Radio Station
| align="center" | {{Icon|SA}}
| ~VEHICLE_RADIO_STATION_UP~
|-
| Previous Radio Station
| align="center" | {{Icon|SA}}
| ~VEHICLE_RADIO_STATION_DOWN~
|-
| User Track Skip
| align="center" | {{Icon|SA}}
| none
|-
| Horn
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_HORN~
|-
| Sub-mission
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~TOGGLE_SUBMISSIONS~
|-
| Change Camera
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~CAMERA_CHANGE_VIEW_ALL_SITUATIONS~
|-
| Handbrake
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_HANDBRAKE~
|-
| Mouse Look
| align="center" | {{Icon|SA}}
| ~VEHICLE_MOUSELOOK~
|-
| Look Left
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_LOOKLEFT~
|-
| Look Right
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_LOOKRIGHT~
|-
| Turret Left / Special Ctrl Left
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_TURRETLEFT~
|-
| Turret Right / Special Ctrl Right
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_TURRETRIGHT~
|-
| Turret Up / Special Ctrl Up
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_TURRETUP~
|-
| Turret Down / Special Ctrl Down
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}
| ~VEHICLE_TURRETDOWN~
|-
| Look Behind
| align="center" | {{Icon|3}}&nbsp;{{Icon|VC}}&nbsp;{{Icon|SA}}{{Ref|2|[2]}}
| ~VEHICLE_LOOKBEHIND~
|}
Hardcoded key<br>
Hardcoded key in III and VC, unavailable in SA
==== Unused ====
Here are some keypress codes only used during development stage. They were removed or replaced later but probably they are still working. Maybe this is useful for further research. Some are only used in PS2 Version.
{|
!
|-
| ~TAKE_SCREEN_SHOT~
|-
| ~SWITCH_DEBUG_CAM_ON~
|-
| ~TOGGLE_DPAD~
|-
| ~NETWORK_TALK~
|}
== Tools ==
* [http://www.gtatools.com/filedb/action.php?action=file&id=22 GXT Editor for GTA 3] - by {{U|JernejL}}
* [[GXT Editor (VC)|GXT Editor for Vice City]] - by {{U|CyQ}}
* [http://www.gtatools.com/filedb/action.php?action=file&id=21 GXT Editor for San Andreas] - by {{U|JernejL}}
== External links ==
* [http://public.sannybuilder.com/GXT/ List of all GXT entries from GTA III to Vice City Stories]
* [http://public.sannybuilder.com/GTA4/american.gxt.reversed.rar List of all GTA IV gxt text entry names]
{{fdl}}
{{modding}}
{{modding}}


[[Category:Modding]]
[[Category:Other Formats]]
[[Category:GTA III Modifications]]
[[Category:GTA Vice City]]
[[Category:Modifications]]

Revision as of 01:47, 27 April 2015

A GTA Text (GXT) file contains almost all texts that are displayed on the screen of Grand Theft Auto 2 and above. The location of those files may differ between the various game versions, but they are usualy located in a text\ folder inside the games installation directory. There is one GXT file for each language, but the number of gxt files does not define the number of supported languages by the game. An entire list of all GXT text entry name hashes between Grand Theft Auto III and Grand Theft Auto: Vice City Stories is available with Sanny Builder.

File Format

Each GXT file can contain certain tables with subtables and entries. The entries are stored in ASCII standard. Just some special characters got some different bitsets.

GTA San Andreas / GTA IV / GTA V Format

Header

The header contains data about the tables and their subtables.

INT32   - 4b   - Version? (Always 0x080004)
CHAR[4] - 4b   - TABL

Table Block

The Table Block contains data about the subtables and their offsets.

INT32   - 4b   - Blocksize

//Array of [Blocksize / 12 Entries]
CHAR[8] - 8b   - Subtablename
INT32   - 4b   - Offset

The Offset of the subtable points to an 8-byte Char Array with the subtable's name, followed by TKEY. For the MAIN Table this points directly to TKEY!

TKEY and TDAT

TKEY

The TKEY Block of an subtable contains the CRC32-values of the entrytitles. The game calculates the CRC32-value out of a given string and checks if they exist in the GXT.

CHAR[4] - 4b   - TKEY
INT32   - 4b   - Blocksize

//Array of [Blocksize / 8]
INT32   - 4b   - Entryoffset
INT32   - 4b   - CRC32 (Entryname)

The TKEY block is directly followed by the TDAT Block which contains the contents of the entries. The Entryoffset is relative to the TDAT + 4 offset.

TDAT
CHAR[4] - 4b   - TDAT
INT32   - 4b   - Blocksize

From here the entryoffset of each entry points to the content. The content can have different sizes. However it always ends in '\0'! For Example "Hello!" needs to be transformed to "Hello!\0" here and this gives a size of 6 bytes (To tell it in a short form content is a null-terminated string). If this is the 1st content in TDAT the next got an offset of 0x06!

In GTA IV Japanese/Russian/1.0.0.4 versions, the data is stored in UTF-16 format, and the table below is likely irrelevant.

Special Characters

Here is a list of special characters for german language sets and their UINT8 Values:

Character Value
Ä 131
ä 154
Ö 145
ö 168
Ü 149
ü 172
ß 150

GTA III / GTA Vice City Format

Vice City and GTA III GXTs are very similar to the SA GXTs. In this article all those additional infos are not listed.

Header

The header contains data about the tables and their subtables.

CHAR[4] - 4b   - TABL

Table Block

INT32   - 4b   - Blocksize

//Array of [Blocksize / 12 Entries]
CHAR[8] - 8b   - Subtablename
INT32   - 4b   - Offset

TKEY and TDAT

TKEY
CHAR[4] - 4b   - TKEY
INT32   - 4b   - Blocksize

//Array of [Blocksize / 12]
INT32   - 4b   - Entryoffset
CHAR[8] - 8b   - Entryname

Unlike San Andreas entrynames are stored directly in 8b chararrays here. This means to calculate the entries in the table you have to divide the blocksize through 12. The Entryoffsets are relative to the end of the "TDAT Header". This means you have to add the entryoffset to the stream position after the TDAT size. (TDAT_Offset + 8 + Entryoffset), to get to the entry.

TDAT
CHAR[4] - 4b   - TDAT
INT32   - 4b   - Blocksize

The TDAT-Block contains the strings which are displayed by the game. But here are some differences towards San Andreas. The strings are encoded in unicode, which means that each character takes the space of 2 characters (which means 2 bytes per character). Mostly the last byte is 0x00.

GTA 2 Format

Except for an additional header at the beginning, GTA 2's GXT files are identical to GTA3 format.

The first 4 bytes can be one of following, and identify the language for the file: GBLE - english GBLF - french GBLG - german GBLI - italian GBLS - spanish GBLJ - japanese

A uint16 file version follows which is always 100 (decimal)

Text is stored with some specialities, characters are 16 bit while only one of these bytes is actual character the other may store special data such as gang message icon id, etc.. the text is zero-terminated.

The rest of file is same as gta3 with familiar tkey & tdat sections.

GXT Editing

Symbols & Colorcodes (Control Character)

Symbol Description
GTA III Vice City San Andreas
~1~ number within a text
~a~ text within a text
~b~ blue text blue text blue text
~d~ ▼-icon
~g~ green text hot pink text green text
~h~ white text highlight
~j~ ?
~k~ key (followed by keypresses)
~l~ black text forces text to default color and ignores set colors black text
~n~ newline
~m~ ?
~o~ pink text ?
~p~ purple text purple text purple text
~q~ plum pink text
~r~ red text hot pink text red text
~s~ reset color to standard
~t~ green text
~u~ ▲-icon
~v~ ?
~w~ gray text gray text white text
~x~ light blue text ?
~y~ yellow text yellow text yellow text
~z~ subtitle (doesn't shown when the Subtitles option is off)
~<~ ◄-icon
~>~ ►-icon
Special symbols (otherwise normal or blank)
< ◄ icon armor icon
> ► icon wanted level (star) icon
{ heart icon
} dollar sign icon (not "$")
_ degree symbol (°)
@ trademark symbol (™)
^ inverted exclamation mark (¡)
| circle icon
" triangle icon

Note that using "~" by itself will crash the game when the game attempts to display it.

Keypresses

You can use opcode 00E1 to check if these keys are being pressed.

Foot Controls

Key Game Entry
Fire GTA III GTA Vice City GTA San Andreas ~PED_FIREWEAPON~
Next Weapon / Target GTA III GTA Vice City GTA San Andreas ~PED_CYCLE_WEAPON_RIGHT~
Previous Weapon / Target GTA III GTA Vice City GTA San Andreas ~PED_CYCLE_WEAPON_LEFT~
Group Ctrl Foward GTA San Andreas ~GROUP_CONTROL_FWD~
Group Ctrl Back GTA San Andreas ~GROUP_CONTROL_BWD~
Conversation - No GTA San Andreas ~CONVERSATION_NO~
Conversation - Yes GTA San Andreas ~CONVERSATION_YES~
Foward GTA III GTA Vice City GTA San Andreas ~GO_FORWARD~
Backwards GTA III GTA Vice City GTA San Andreas ~GO_BACK~
Left GTA III GTA Vice City GTA San Andreas ~GO_LEFT~
Right GTA III GTA Vice City GTA San Andreas ~GO_RIGHT~
Zoom In GTA III GTA Vice City GTA San Andreas ~PED_SNIPER_ZOOM_IN~
Zoom Out GTA III GTA Vice City GTA San Andreas ~PED_SNIPER_ZOOM_OUT~
Enter+Exit GTA III GTA Vice City GTA San Andreas ~VEHICLE_ENTER_EXIT~
Change Camera GTA III GTA Vice City GTA San Andreas ~CAMERA_CHANGE_VIEW_ALL_SITUATIONS~
Jump GTA III GTA Vice City GTA San Andreas ~PED_JUMPING~
Sprint GTA III GTA Vice City GTA San Andreas ~PED_SPRINT~
Target / Aim Weapon GTA III GTA Vice City GTA San Andreas ~PED_LOCK_TARGET~
Crouch GTA Vice City GTA San Andreas ~PED_DUCK~
Action GTA Vice City GTA San Andreas ~PED_ANSWER_PHONE~
Walk GTA San Andreas ~SNEAK_ABOUT~
Look Behind GTA III GTA Vice City GTA San Andreas ~PED_LOOKBEHIND~
First Person Look Left GTA III GTA Vice City[1] ~PED_1RST_PERSON_LOOK_LEFT~
First Person Look Right GTA III GTA Vice City[1] ~PED_1RST_PERSON_LOOK_RIGHT~
First Person Look Up GTA III GTA Vice City[1] ~PED_1RST_PERSON_LOOK_UP~
First Person Look Down GTA III GTA Vice City[1] ~PED_1RST_PERSON_LOOK_DOWN~
Cycle Target Left GTA III GTA Vice City[1] ~PED_CYCLE_TARGET_LEFT~
Cycle Target Right GTA III GTA Vice City[1] ~PED_CYCLE_TARGET_RIGHT~
Center Camera Behind Player GTA III GTA Vice City[1] ~PED_CENTER_CAMERA_BEHIND_PLAYER~

Vehicle Controls

Key Game Entry
Fire GTA III GTA Vice City GTA San Andreas ~VEHICLE_FIREWEAPON~
Secondary Fire GTA San Andreas ~VEHICLE_FIREWEAPON_ALT~
Accelerate GTA III GTA Vice City GTA San Andreas ~VEHICLE_ACCELERATE~
Brake / Reverse GTA III GTA Vice City GTA San Andreas ~VEHICLE_BRAKE~
Left GTA III GTA Vice City GTA San Andreas ~VEHICLE_STEERLEFT~
Right GTA III GTA Vice City GTA San Andreas ~VEHICLE_STEERRIGHT~
Steer Foward / Down GTA III GTA Vice City GTA San Andreas ~VEHICLE_STEERDOWN~
Steer Back / Up GTA III GTA Vice City GTA San Andreas ~VEHICLE_STEERUP~
Enter+Exit GTA III GTA Vice City GTA San Andreas ~VEHICLE_ENTER_EXIT~
Trip Skip GTA San Andreas ~CONVERSATION_YES~
Change Radio Station GTA III GTA Vice City ~VEHICLE_CHANGE_RADIO_STATION~
Next Radio Station GTA San Andreas ~VEHICLE_RADIO_STATION_UP~
Previous Radio Station GTA San Andreas ~VEHICLE_RADIO_STATION_DOWN~
User Track Skip GTA San Andreas none
Horn GTA III GTA Vice City GTA San Andreas ~VEHICLE_HORN~
Sub-mission GTA III GTA Vice City GTA San Andreas ~TOGGLE_SUBMISSIONS~
Change Camera GTA III GTA Vice City GTA San Andreas ~CAMERA_CHANGE_VIEW_ALL_SITUATIONS~
Handbrake GTA III GTA Vice City GTA San Andreas ~VEHICLE_HANDBRAKE~
Mouse Look GTA San Andreas ~VEHICLE_MOUSELOOK~
Look Left GTA III GTA Vice City GTA San Andreas ~VEHICLE_LOOKLEFT~
Look Right GTA III GTA Vice City GTA San Andreas ~VEHICLE_LOOKRIGHT~
Turret Left / Special Ctrl Left GTA III GTA Vice City GTA San Andreas ~VEHICLE_TURRETLEFT~
Turret Right / Special Ctrl Right GTA III GTA Vice City GTA San Andreas ~VEHICLE_TURRETRIGHT~
Turret Up / Special Ctrl Up GTA III GTA Vice City GTA San Andreas ~VEHICLE_TURRETUP~
Turret Down / Special Ctrl Down GTA III GTA Vice City GTA San Andreas ~VEHICLE_TURRETDOWN~
Look Behind GTA III GTA Vice City GTA San Andreas[2] ~VEHICLE_LOOKBEHIND~
Hardcoded key
Hardcoded key in III and VC, unavailable in SA

Unused

Here are some keypress codes only used during development stage. They were removed or replaced later but probably they are still working. Maybe this is useful for further research. Some are only used in PS2 Version.

~TAKE_SCREEN_SHOT~
~SWITCH_DEBUG_CAM_ON~
~TOGGLE_DPAD~
~NETWORK_TALK~

Tools

External links

Copyrighted

This page is licensed under the GNU Free Documentation Licence. This page has a separate license to the CC-BY-SA that applies to most of Grand Theft Wiki.

The full text of the GNU FDL v1.2 is here. Click the "History" button to see the full list of authors. See Grand Theft Wiki:Copyright for more detail on our copyright policy.

GNU Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
See Grand Theft Wiki:Copyright for more information.