List of opcodes
Revision as of 19:35, 29 January 2010 by Spaceeinstein (talk | contribs)
This is a list of all opcodes, including nops and unsupported ones, in GTA III, Vice City, and San Andreas.
| Opcode | P | Parameter type | Games | Brief description | Notes |
|---|---|---|---|---|---|
| 0000 | 0 | nop | no operation | special use in CLEO | |
| 0001 | 1 | int | wait | ||
| 0002 | 1 | label | jump to label | ||
| 0003 | 1 | int | shake camera | ||
| 0004 | 2 | int, int | set global to int (G = I) | ||
| 0005 | 2 | float, float | set global to float (G = F) | ||
| 0006 | 2 | int, int | set local to int (L = I)) | ||
| 0007 | 2 | float, float | set local to float (L = F)) | not used in GTA III | |
| 0008 | 2 | int, int | add global to int (G += I) | ||
| 0009 | 2 | float, float | add global to float (G += F) | ||
| 000A | 2 | int, int | add local to int (L += I) | not used in GTA III | |
| 000B | 2 | float, float | add local to float (L += F) | not used in GTA III | |
| 000C | 2 | int, int | subtract global to int (G -= I) | ||
| 000D | 2 | float, float | subtract global to float (G -= F) | ||
| 000E | 2 | int, int | subtract local to int (L -= I) | not used in GTA III | |
| 000F | 2 | float, float | subtract local to float (L -= F) | not used in GTA III | |
| 0010 | 2 | int, int | multiply global to int (G *= I) | ||
| 0011 | 2 | float, float | multiply global to float (G *= F) | ||
| 0012 | 2 | int, int | multiply local to int (L *= I) | not used in GTA III and Vice City | |
| 0013 | 2 | float, float | multiply local to float (L *= F) | not used in GTA III and Vice City | |
| 0014 | 2 | int, int | divide global to int (G /= I) | ||
| 0015 | 2 | float, float | divide global to float (G /= F) | ||
| 0016 | 2 | int, int | divide local to int (L /= I) | not used in GTA III and Vice City | |
| 0017 | 2 | float, float | divide local to float (L /= F) | not used in GTA III and Vice City | |
| 0018 | 2 | int, int | check global greater than int (G > I) | ||
| 0019 | 2 | int, int | check local greater than int (L > I) | ||
| 001A | 2 | int, int | check int greater than global (I > G) | ||
| 001B | 2 | int, int | check int greater than local (I > L) | ||
| 001C | 2 | int, int | check global int greater than global int (G > G int) | ||
| 001D | 2 | int, int | check local int greater than local int (L > L int) | not used in GTA III and Vice City | |
| 001E | 2 | int, int | check global int greater than local int (G > L int) | not used in GTA III | |
| 001F | 2 | int, int | check local int greater than global int (L > G int) | ||
| 0020 | 2 | float, float | check global greater than float (G > F) | ||
| 0021 | 2 | float, float | check local greater than float (L > F) | not used in GTA III | |
| 0022 | 2 | float, float | check float greater than global (F > G) | ||
| 0023 | 2 | float, local | check float greater than local | not used in GTA III | |
| 0024 | 2 | global, global | check global float greater than global float | ||
| 0025 | 2 | local, local | check local float greater than local float | not used in GTA III and Vice City | |
| 0026 | 2 | global, local | check global float greater than local float | not used in GTA III and Vice City | |
| 0027 | 2 | local, global | check local float greater than global float | not used in GTA III | |
| 0028 | 2 | global, integer | check global greater than or equal to integer | ||
| 0029 | 2 | local, integer | check local greater than or equal to integer | ||
| 002A | 2 | integer, global | check integer greater than or equal to global | ||
| 002B | 2 | integer, local | check integer greater than or equal to local | not used in Vice City | |
| 002C | 2 | global, global | check global integer greater than or equal to global integer | not used in GTA III and Vice City | |
| 002D | 2 | local, local | check local integer greater than or equal to local integer | not used in GTA III and Vice City | |
| 002E | 2 | global, local | check global integer greater than or equal to local integer | not used in GTA III and Vice City | |
| 002F | 2 | local, global | check local integer greater than or equal to local integer | not used in GTA III | |
| 0030 | 2 | global, float | check global greater than or equal to float | not used in GTA III | |
| 0031 | 2 | local, float | check local greater than or equal to float | not used in GTA III and Vice City | |
| 0032 | 2 | float, global | check float greater than or equal to global | not used in GTA III | |
| 0033 | 2 | float, local | check float greater than or equal to local | not used in GTA III and Vice City | |
| 0034 | 2 | global, global | check global float greater than or equal to global float | not used in GTA III and Vice City | |
| 0035 | 2 | local, local | check local float greater than or equal to local float | not used in GTA III and Vice City | |
| 0036 | 2 | global, local | check global float greater than or equal to local float | not used in GTA III and Vice City | |
| 0037 | 2 | local, global | check local float greater than or equal to global float | not used in GTA III and Vice City | |
| 0038 | 2 | global, integer | check global equal to integer | ||
| 0039 | 2 | local, integer | check local equal to integer | ||
| 003A | 2 | global, global | check global integer equal to global integer | ||
| 003B | 2 | local, local | check local integer equal to local integer | not used in GTA III and Vice City | |
| 003C | 2 | global, local | check global integer equal to local integer | not used in GTA III and Vice City | |
| 003D | 0 | unsupported | |||
| 003E | 0 | unsupported | |||
| 003F | 0 | unsupported | |||
| 0040 | 0 | unsupported | |||
| 0041 | 0 | unsupported | |||
| 0042 | 2 | global, float | check global equal to float | ||
| 0043 | 2 | local, float | check local equal to float | not used in GTA III | |
| 0044 | 2 | global, global | check global float equal to global float | not used in GTA III and Vice City | |
| 0045 | 2 | local, local | check local float equal to local float | not used in GTA III and Vice City | |
| 0046 | 2 | global, local | check global float equal to local float | not used in GTA III, Vice City, and San Andreas | |
| 0047 | 0 | unsupported | |||
| 0048 | 0 | unsupported | |||
| 0049 | 0 | unsupported | |||
| 004A | 0 | unsupported | |||
| 004B | 0 | unsupported | |||
| 004C | 1 | label | jump to label if true | not used in GTA III | |
| 004D | 1 | label | jump to label if false | ||
| 004E | 0 | end thread | |||
| 004F | -1 | label | create thread | ||
| 0050 | 1 | label | gosub | ||
| 0051 | 0 | return | |||
| 0052 | 0 | nop | no operation | ||
| 0053 | 5 | integer, float, float, float, player handle | create player | parameters rearranged in Sanny Builder | |
| 0054 | 4 | player handle, variable, variable, variable | get player coordinates | ||
| 0055 | 4 | player handle, int, int, int | put player at coordinates | ||
| 0056 | 6 | player handle, float, float, float, float, int | check player is in 2D area | parameters rearranged in Sanny Builder | |
| 0057 | 8 | player handle, float, float, float, float, float, float, int | check player is in 3D area | parameters rearranged in Sanny Builder | |
| 0058 | 2 | global, global | add global integer to global integer | ||
| 0059 | 2 | global, global | add global float to global float | ||
| 005A | 2 | local, local | add local integer to local integer | not used in GTA III and Vice City | |
| 005B | 2 | local, local | add local float to local float | not used in GTA III and Vice City | |
| 005C | 2 | local, global | add local integer to global integer | not used in GTA III and Vice City | |
| 005D | 2 | local, global | add local float to global float | not used in GTA III and Vice City | |
| 005E | 2 | global, local | add global integer to local integer | not used in GTA III and Vice City | |
| 005F | 2 | global, local | add global float to local float | not used in GTA III and Vice City | |
| 0060 | 2 | global, global | subtract global integer to global integer | ||
| 0061 | 2 | global, global | subtract global float to global float | ||
| 0062 | 2 | local, local | subtract local integer to local integer | not used in GTA III and Vice City | |
| 0063 | 2 | local, local | subtract local float to local float | not used in GTA III and Vice City | |
| 0064 | 2 | local, global | subtract local integer to global integer | not used in GTA III and Vice City | |
| 0065 | 2 | local, global | subtract local float to global float | not used in GTA III and Vice City | |
| 0066 | 2 | global, local | subtract global integer to local integer | not used in GTA III and Vice City | |
| 0067 | 2 | global, local | subtract global float to local float | not used in GTA III | |
| 0068 | 2 | global, global | multiply global integer to global integer | ||
| 0069 | 2 | global, global | multiply global float to global float | ||
| 006A | 2 | local, local | multiply local integer to local integer | not used in GTA III and Vice City | |
| 006B | 2 | local, local | multiply integer float to integer float | not used in GTA III and Vice City | |
| 006C | 2 | local, float | multiply local to float | not used in GTA III, Vice City, and San Andreas | |
| 006D | 2 | global, float | multiply global to float | not used in GTA III and Vice City | |
| 006E | 2 | global, local | multiply global integer to local integer | not used in GTA III and Vice City | |
| 006F | 2 | global, local | multiply global float to local float | not used in GTA III and Vice City | |
| 0070 | 2 | global, global | divide global integer by global integer | not used in San Andreas | |
| 0071 | 2 | global, global | divide global float by global float | ||
| 0072 | 2 | local, local | divide local integer by local integer | not used in GTA III and Vice City | |
| 0073 | 2 | local, local | divide local float by local float | not used in GTA III and Vice City | |
| 0074 | 2 | local, global | divide local integer by global integer | not used in GTA III and Vice City | |
| 0075 | 2 | local, global | divide local float by global float | not used in GTA III and Vice City | |
| 0076 | 2 | global, local | divide global integer by local integer | not used in GTA III, Vice City, and San Andreas | |
| 0077 | 2 | global, local | divide global float by local float | not used in GTA III | |
| 0078 | 2 | not used in GTA III | |||
| 0079 | 2 | not used in GTA III and Vice City | |||
| 007A | 2 | not used in GTA III and Vice City | |||
| 007B | 2 | not used in GTA III and Vice City | |||
| 007C | 2 | not used in GTA III, Vice City, and San Andreas | |||
| 007D | 2 | not used in GTA III and Vice City | |||
| 007E | 2 | not used in GTA III and Vice City | |||
| 007F | 2 | not used in GTA III and Vice City | |||
| 0080 | 2 | not used in GTA III and Vice City | |||
| 0081 | 2 | not used in GTA III and Vice City | |||
| 0082 | 2 | not used in GTA III and Vice City | |||
| 0083 | 2 | not used in GTA III and Vice City | |||
| 0084 | 2 | global, global | set global integer equal to global integer | ||
| 0085 | 2 | local, local | set local integer equal to local integer | not used in GTA III | |
| 0086 | 2 | global, global | set global float equal to global float | ||
| 0087 | 2 | local, local | set local float equal to local float | not used in GTA III | |
| 0088 | 2 | global, local | set global float equal to local float | not used in GTA III | |
| 0089 | 2 | local, global | set local float equal to global float | not used in GTA III | |
| 008A | 2 | global, local | set global integer equal to local integer | not used in GTA III | |
| 008B | 2 | local, global | set local integer equal to global integer | not used in GTA III |
External links
GTAForums: Opcodes for Bartons Editor (GTA3 + VC)
GTAForums: GTA:SA Opcodes- Vice City Opcode Database - retrieved from archive.org
- San Andreas Opcode Database - retrieved from archive.org
- Unified Opcode Database - by PLPynton, hosted by ZAZ
- Latest Vice City opcodes - last update by spaceeinstein
- San Andreas Opcode Database - last update by Deji at GTAGaming.com