Skip to content
spaceeinstein edited this page Jul 18, 2017 · 3 revisions

The Opcodes Restoration Project is a plugin for CLEO v2.0.0.5 and above for Grand Theft Auto III and Grand Theft Auto: Vice City that aims to restore functionality to many unsupported opcodes.

Building

Use git to clone the repository and the submodules.

git clone --recursive https://github.com/cleolibrary/opcodes-restoration-project

Run premake5.bat to generate project files for Microsoft Visual Studio 2015. If you use a different version of Visual Studio, open the file with a text editor and change vs2015 to your preferred version. A folder named build is created with the generated project files. Open build\opcodes-restoration-project.sln, change the active solution configuration to Release, then build III.Opcodes or VC.Opcodes. The plugin will be located in bin\CLEO\CLEO_PLUGINS.

Restored opcodes

GTA III

Opcode Command name
0116 IS_PLAYER_STILL_ALIVE
02BD SET_FBI_REQUIRED
02BE SET_ARMY_REQUIRED
050F GET_MAX_WANTED_LEVEL
0511 PRINT_HELP_WITH_NUMBER
0546 IS_PLAYER_TOUCHING_VEHICLE
0547 IS_CHAR_TOUCHING_VEHICLE

Vice City

Opcode Command name
00A2 IS_CHAR_STILL_ALIVE
00AC IS_CAR_STILL_ALIVE
00C5 RETURN_TRUE
00C6 RETURN_FALSE
00E2 GET_PAD_STATE
0113 ADD_AMMO_TO_PLAYER
0116 IS_PLAYER_STILL_ALIVE
0130 HAS_PLAYER_BEEN_ARRESTED
0135 CHANGE_CAR_LOCK
0136 SHAKE_CAM_WITH_POINT
013B IS_CAR_DEAD_IN_AREA_2D
013C IS_CAR_DEAD_IN_AREA_3D
0155 SET_CAR_DENSITY
0156 SET_PED_DENSITY
015E IS_CAR_IN_AIR
0163 ADD_BLIP_FOR_OBJECT_OLD
016F DRAW_SHADOW
0178 IS_PLAYER_TOUCHING_OBJECT
0179 IS_CHAR_TOUCHING_OBJECT
017B SET_CHAR_AMMO
01C6 DONT_REMOVE_CAR
01EE ACTIVATE_CRANE
01EF DEACTIVATE_CRANE
0218 PRINT_WITH_NUMBER_BIG_Q
021D SET_FREE_BOMBS
021F SET_ALL_TAXI_LIGHTS
0220 IS_CAR_ARMED_WITH_ANY_BOMB
0228 IS_CAR_ARMED_WITH_BOMB
023A IS_PLAYER_TOUCHING_OBJECT_ON_FOOT
023B IS_CHAR_TOUCHING_OBJECT_ON_FOOT
023E FLASH_CAR
023F FLASH_CHAR
0240 FLASH_OBJECT
0242 ARM_CAR_WITH_BOMB
024B SET_REPEATED_PHONE_MESSAGE
024C SET_PHONE_MESSAGE
024D HAS_PHONE_DISPLAYED_MESSAGE
0250 DRAW_LIGHT
0251 STORE_WEATHER
0252 RESTORE_WEATHER
0255 RESTART_CRITICAL_MISSION
0295 IS_TAXI
0299 ACTIVATE_GARAGE
029A SWITCH_TAXI_TIMER
029C IS_BOAT
02A0 IS_CHAR_STOPPED
02A1 MESSAGE_WAIT
02A2 ADD_PARTICLE_EFFECT
02A4 ADD_SPRITE_BLIP_FOR_CAR
02A5 ADD_SPRITE_BLIP_FOR_CHAR
02A6 ADD_SPRITE_BLIP_FOR_OBJECT
02B9 DEACTIVATE_GARAGE
02BC SET_SWAT_REQUIRED
02BD SET_FBI_REQUIRED
02BE SET_ARMY_REQUIRED
02C3 START_PACMAN_RACE
02C5 GET_NUMBER_OF_POWER_PILLS_EATEN
02C6 CLEAR_PACMAN
02C7 START_PACMAN_SCRAMBLE
02C8 GET_NUMBER_OF_POWER_PILLS_CARRIED
02C9 CLEAR_NUMBER_OF_POWER_PILLS_CARRIED
02CD GOSUB_FILE
02D2 SET_COMEDY_CONTROLS
02D6 IS_CHAR_SHOOTING_IN_AREA
02D9 CLEAR_NUMBER_OF_POWER_PILLS_EATEN
02DA ADD_POWER_PILL
02EE IS_PROJECTILE_IN_AREA
02EF DESTROY_PROJECTILES_IN_AREA
02F0 DROP_MINE
02F1 DROP_NAUTICAL_MINE
02FB ACTIVATE_CRUSHER_CRANE
02FC PRINT_WITH_2_NUMBERS
0300 PRINT_WITH_3_NUMBERS_NOW
0303 PRINT_WITH_4_NUMBERS_NOW
0305 PRINT_WITH_5_NUMBERS
0306 PRINT_WITH_5_NUMBERS_NOW
0309 PRINT_WITH_6_NUMBERS_NOW
031B IS_FIRST_CAR_COLOUR
031C IS_SECOND_CAR_COLOUR
032D SET_CAR_BLOCK_CAR
0338 SET_CAR_VISIBLE
0344 SET_TEXT_CENTRE_SIZE
0346 SET_TEXT_BACKGROUND_COLOUR
0349 SET_TEXT_FONT
0351 IS_NASTY_GAME
0356 IS_EXPLOSION_IN_AREA
0357 IS_EXPLOSION_IN_ZONE
0367 START_KILL_FRENZY_HEADSHOT
0368 ACTIVATE_MILITARY_CRANE
036E PRINT_WITH_3_NUMBERS_BIG
036F PRINT_WITH_4_NUMBERS_BIG
0370 PRINT_WITH_5_NUMBERS_BIG
0371 PRINT_WITH_6_NUMBERS_BIG
0378 SET_2_REPEATED_PHONE_MESSAGES
0379 SET_2_PHONE_MESSAGES
037A SET_3_REPEATED_PHONE_MESSAGES
037B SET_3_PHONE_MESSAGES
037C SET_4_REPEATED_PHONE_MESSAGES
037D SET_4_PHONE_MESSAGES
037F GIVE_PLAYER_DETONATOR
0386 SET_5_REPEATED_PHONE_MESSAGES
0387 SET_5_PHONE_MESSAGES
0388 SET_6_REPEATED_PHONE_MESSAGES
0389 SET_6_PHONE_MESSAGES
0393 SET_CHAR_ANIM_SPEED
03A0 IS_CRANE_LIFTING_CAR
03A5 CHANGE_GARAGE_TYPE_WITH_CAR_MODEL
03C2 IS_PHONE_DISPLAYING_MESSAGE
03C6 IS_COLLISION_IN_MEMORY
03C9 IS_CAR_VISIBLY_DAMAGED
03DB ADD_BLIP_FOR_PICKUP_OLD
03DD ADD_SPRITE_BLIP_FOR_PICKUP
03E9 IS_CHAR_IN_CONTROL
03EC HAS_MILITARY_CRANE_COLLECTED_ALL_CARS
03FB SET_CAR_STAYS_IN_CURRENT_LEVEL
03FC SET_CHAR_STAYS_IN_CURRENT_LEVEL
0410 SET_GANG_PED_MODEL_PREFERENCE
0413 SET_GET_OUT_OF_JAIL_FREE
0415 IS_CAR_DOOR_CLOSED
041A GET_AMMO_IN_CHAR_WEAPON
041B REGISTER_KILL_FRENZY_PASSED
041C SET_CHAR_SAY
041F OVERRIDE_HOSPITAL_LEVEL
0420 OVERRIDE_POLICE_STATION_LEVEL
0421 FORCE_RAIN
0422 DOES_GARAGE_CONTAIN_CAR
042A IS_THREAT_FOR_PED_TYPE
0432 GET_CHAR_IN_CAR_PASSENGER_SEAT
0438 SET_CHAR_IGNORE_LEVEL_TRANSITIONS
0444 SET_SCRIPT_FIRE_AUDIO
0447 IS_PLAYER_LIFTING_A_PHONE
044E SET_CAR_IGNORE_LEVEL_TRANSITIONS
044F MAKE_CRAIGS_CAR_A_BIT_STRONGER
0452 ENABLE_PLAYER_CONTROL_CAMERA
047B LOCATE_SNIPER_BULLET_2D
047C LOCATE_SNIPER_BULLET_3D
047D GET_NUMBER_OF_SEATS_IN_MODEL
0491 HAS_CHAR_GOT_WEAPON
04A0 GET_OBJECT_DISTANCE_ALONG_PATH
04A7 IS_CHAR_IN_ANY_BOAT
04A9 IS_CHAR_IN_ANY_HELI
04AB IS_CHAR_IN_ANY_PLANE
04C8 IS_CHAR_IN_FLYING_VEHICLE
04CC ADD_SHORT_RANGE_BLIP_FOR_COORD_OLD
04CD ADD_SHORT_RANGE_BLIP_FOR_COORD
04D4 GET_NTH_CLOSEST_CHAR_NODE
0505 GET_NEAREST_TYRE_TO_POINT
050F GET_MAX_WANTED_LEVEL
0511 PRINT_HELP_WITH_NUMBER
0513 PRINT_HELP_FOREVER_WITH_NUMBER
051F DISPLAY_TEXT_WITH_3_NUMBERS
052A ADD_MONEY_SPENT_ON_AUTO_PAINTING
052D GET_PLAYER_DRUNKENNESS
0530 ADD_LOAN_SHARK_VISITS
0532 ADD_MOVIE_STUNTS
0535 ADD_GARBAGE_PICKUPS
0537 SET_TOP_SHOOTING_RANGE_SCORE
0538 ADD_SHOOTING_RANGE_RANK
0547 IS_CHAR_TOUCHING_VEHICLE
056F ADD_SHORT_RANGE_BLIP_FOR_CONTACT_POINT
0577 SET_FADE_AND_JUMPCUT_AFTER_RC_EXPLOSION
059D SHUFFLE_CARD_DECKS
059E FETCH_NEXT_CARD
Clone this wiki locally