Difference between revisions of "Memory Addresses (VC)"
(→Ped block: tabulated and expanded) |
WastedHymn (talk | contribs) (→References) |
||
(40 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
==Cheats== | ==Cheats== | ||
+ | * 0xA10B87 - [1 byte] - TIMEPASSINGMEBY faster time | ||
* 0x4ABF4C - [1 byte] - YOUWONTTAKEMEALIVE set wanted level | * 0x4ABF4C - [1 byte] - YOUWONTTAKEMEALIVE set wanted level | ||
* 0x4ABFC4 - [1 byte] - LEAVEMEALONE set wanted level | * 0x4ABFC4 - [1 byte] - LEAVEMEALONE set wanted level | ||
Line 114: | Line 115: | ||
* 0x42B24E - [4 bytes] - TAXI text duration | * 0x42B24E - [4 bytes] - TAXI text duration | ||
* 0x687574 - [string] - TAXI text | * 0x687574 - [string] - TAXI text | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* 0x94DD94 - [float] - X-coord taxi destination (updated by opcode [[058E]]) | * 0x94DD94 - [float] - X-coord taxi destination (updated by opcode [[058E]]) | ||
:+0x4 - [float] - Y-coord taxi destination | :+0x4 - [float] - Y-coord taxi destination | ||
Line 192: | Line 185: | ||
* 0x936909 - [Byte] - Right Mouse Button (RMB) | * 0x936909 - [Byte] - Right Mouse Button (RMB) | ||
* 0x93690A - [Byte] - Middle Mouse Button (MMB) | * 0x93690A - [Byte] - Middle Mouse Button (MMB) | ||
− | * 0x93690B - [Byte] - Mouse Wheel | + | * 0x93690B - [Byte] - Mouse Wheel Up |
− | * 0x93690C - [Byte] - Mouse Wheel | + | * 0x93690C - [Byte] - Mouse Wheel Down |
==Menu== | ==Menu== | ||
Line 249: | Line 242: | ||
* 0x4CC102 - [4 bytes] - Total number of stores to knock off (default is 15) | * 0x4CC102 - [4 bytes] - Total number of stores to knock off (default is 15) | ||
* 0x4CC1CD - [4 bytes] - Total number of assassination contracts to complete (default 5) | * 0x4CC1CD - [4 bytes] - Total number of assassination contracts to complete (default 5) | ||
+ | |||
+ | ==Controller== | ||
+ | * 00869630 - FrontEndMenuManager ( CMenuManager ) | ||
+ | ** +0x0A - [Byte] - m_bHudMode | ||
+ | ** +0x18 - [4 bytes] - m_PrefsBrightness | ||
+ | ** +0x20 - [Byte] - m_bSubtitles | ||
+ | ** +0x22 - [Byte] - m_bWidescreen | ||
+ | ** +0x25 - [Byte] - m_bFrameLimiter | ||
+ | ** +0x38 - [Byte] - m_bMenuVisible | ||
+ | ** +0x39 - [Byte] - m_bDemoQuit | ||
+ | ** +0x3C - [Byte] - m_bExtraSplash | ||
+ | ** +0x4C - [4 bytes] - m_nGameLanguage | ||
+ | ** +0x5B - [Byte] - Controller state ( Standrad = 0, Classic = 1) | ||
+ | ** +0x6C - [Byte] - m_bGameStarted | ||
+ | ** +0x84 m_apMenuSprites[26] (CSprite2d) | ||
+ | ** +0xF8 - [4 bytes] - m_nCurrentPage | ||
==Garages== | ==Garages== | ||
Line 317: | Line 326: | ||
float fDistanceToCamera; | float fDistanceToCamera; | ||
RwRGBA color; | RwRGBA color; | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | == CEntity == |
− | + | The CEntity class is 0x064 bytes in size. | |
{|class="wikitable" style="max-width: 48em;" | {|class="wikitable" style="max-width: 48em;" | ||
!Offset ||Type ||style="width: 100%;" |Description | !Offset ||Type ||style="width: 100%;" |Description | ||
|- | |- | ||
− | |0x000 || | + | |0x000 ||pointer ||pointer to [[wikipedia:Virtual method table|virtual method table]] |
|- | |- | ||
− | |0x004 ||CMatrix ||matrix | + | |0x004 ||[[#CMatrix|CMatrix]] ||matrix |
|- | |- | ||
− | | | + | |0x044 ||pointer ||RwObject |
|- | |- | ||
− | | | + | |0x048 ||pointer ||RpAtomic |
|- | |- | ||
− | | | + | |0x04C ||pointer ||RpClump |
|- | |- | ||
− | |0x051 ||byte || | + | |0x050 ||byte || |
+ | * (& 7) 1 = building | ||
+ | * (& 7) 2 = vehicle | ||
+ | * (& 7) 3 = ped | ||
+ | * (& 7) 4 = object | ||
+ | * (& 7) 5 = dummy | ||
+ | * (>> 3) 0 = [[SCM_language_III/VC_definitions#STATUS|STATUS_PLAYER]] | ||
+ | * (>> 3) 1 = STATUS_PLAYER_PLAYBACKFROMBUFFER | ||
+ | * (>> 3) 2 = STATUS_SIMPLE | ||
+ | * (>> 3) 3 = STATUS_PHYSICS | ||
+ | * (>> 3) 4 = STATUS_ABANDONED | ||
+ | * (>> 3) 5 = STATUS_WRECKED | ||
+ | * (>> 3) 6 = STATUS_TRAIN_MOVING | ||
+ | * (>> 3) 7 = STATUS_TRAIN_NOT_MOVING | ||
+ | * (>> 3) 8 = STATUS_HELI | ||
+ | * (>> 3) 9 = STATUS_PLANE | ||
+ | * (>> 3) 10 = STATUS_PLAYER_REMOTE | ||
+ | * (>> 3) 11 = STATUS_PLAYER_DISABLED | ||
+ | |- | ||
+ | |0x051 ||byte || | ||
+ | * bit 0 = is solid | ||
|- | |- | ||
|0x052 ||byte || | |0x052 ||byte || | ||
* bit 1 = [[02AB|explosion proof]] | * bit 1 = [[02AB|explosion proof]] | ||
+ | * bit 2 = visibility | ||
|- | |- | ||
|0x053 ||byte || | |0x053 ||byte || | ||
Line 373: | Line 374: | ||
* bit 4 = melee proof | * bit 4 = melee proof | ||
* bit 5 = only damaged by player | * bit 5 = only damaged by player | ||
+ | <!-- | ||
+ | 0x054 | ||
+ | 0x055 | ||
+ | --> | ||
|- | |- | ||
− | |0x058 ||word || | + | |0x058 ||word ||scan code |
|- | |- | ||
− | | | + | |0x05A ||word ||random number |
|- | |- | ||
− | | | + | |0x05C ||word ||[[IDE|model index]] |
|- | |- | ||
− | | | + | |0x05E ||byte ||building's level/island number |
|- | |- | ||
− | |0x06C || | + | |0x05F ||byte ||[[0566|object interior number]] |
+ | <!-- | ||
+ | 0x060 | ||
+ | --> | ||
+ | |} | ||
+ | |||
+ | == CPhysical == | ||
+ | Offsets continue from [[#CEntity|CEntity]], which is the parent class. The CPhysical class is 0x120 bytes in size including CEntity. | ||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Offset ||Type ||style="width: 100%;" |Description | ||
+ | |- | ||
+ | |0x064 ||dword ||audio entity (allows sounds to play) | ||
+ | <!-- | ||
+ | 0x068 | ||
+ | --> | ||
+ | |- | ||
+ | |0x06C ||dword ||last collision time | ||
+ | |- | ||
+ | |0x070 ||[[#CVector|CVector]] ||movement speed | ||
|- | |- | ||
− | | | + | |0x07C ||[[#CVector|CVector]] ||turn speed |
|- | |- | ||
− | | | + | |0x088 ||[[#CVector|CVector]] ||movement force |
|- | |- | ||
− | | | + | |0x094 ||[[#CVector|CVector]] ||turn force |
+ | <!-- | ||
+ | 0x0A0 | ||
+ | 0x0A4 | ||
+ | 0x0A8 | ||
+ | 0x0AC | ||
+ | 0x0B0 | ||
+ | 0x0B4 | ||
+ | --> | ||
|- | |- | ||
− | | | + | |0x0B8 ||float ||mass |
|- | |- | ||
− | | | + | |0x0BC ||float ||turn resistance |
|- | |- | ||
− | | | + | |0x0C0 ||float ||acceleration resistance, initialised to 1.0 |
+ | <!-- | ||
+ | 0x0D0 | ||
+ | 0x0D4 | ||
+ | 0x0D8 | ||
+ | 0x0DC | ||
+ | 0x0E0 | ||
+ | 0x0E4 | ||
+ | 0x0E5 | ||
+ | --> | ||
|- | |- | ||
− | | | + | |0x0E6 ||byte ||number of objects it is colliding |
+ | <!-- | ||
+ | 0x0E8 | ||
+ | 0x0EC | ||
+ | 0x0F0 | ||
+ | 0x0F4 | ||
+ | 0x0F8 | ||
+ | 0x0FC | ||
+ | --> | ||
|- | |- | ||
− | | | + | |0x100 ||float ||speed |
+ | |- | ||
+ | |0x104 ||float ||collision power (also damages vehicles) | ||
+ | <!-- | ||
+ | 0x108 | ||
+ | 0x10C | ||
+ | 0x110 | ||
+ | 0x114 | ||
+ | 0x118 | ||
+ | --> | ||
|- | |- | ||
|0x11A ||byte || | |0x11A ||byte || | ||
* bit 4 = [[04AD|in water]] | * bit 4 = [[04AD|in water]] | ||
+ | <!-- | ||
+ | 0x11B | ||
+ | --> | ||
|- | |- | ||
|0x11C ||byte ||current [[Collision File|collision]] value | |0x11C ||byte ||current [[Collision File|collision]] value | ||
+ | |- | ||
+ | |0x11D ||byte ||origin level | ||
+ | |} | ||
+ | |||
+ | == CPed == | ||
+ | Offsets continue from [[#CPhysical|CPhysical]], which is the parent class. The CPed class is 0x6D8 bytes in size including CPhysical and CEntity. | ||
+ | |||
+ | 0x94AD28 - [pointer] - Player pointer (Note that Player is an instance of CPed Class) | ||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Offset ||Type ||style="width: 100%;" |Description | ||
|- | |- | ||
|0x141 ||byte ||fast shoot | |0x141 ||byte ||fast shoot | ||
Line 471: | Line 541: | ||
|0x378 ||float ||rotation (related to north) | |0x378 ||float ||rotation (related to north) | ||
|- | |- | ||
− | |0x3A8 ||pointer ||last controlled vehicle/vehicle about to be entered | + | |0x3A8 ||[[#CVehicle|CVehicle]] pointer ||last controlled vehicle/vehicle about to be entered |
|- | |- | ||
|0x3A4 ||byte ||target objective | |0x3A4 ||byte ||target objective | ||
Line 477: | Line 547: | ||
|0x3AC ||byte ||is in any vehicle | |0x3AC ||byte ||is in any vehicle | ||
|- | |- | ||
− | |0x408 || | + | |0x3D4 ||dword ||[[ped type]] |
− | + | |- | |
− | + | |0x408 ||[[#CWeapon|CWeapon]][10] ||current weapon blocks, blocks ordered by weapon slot | |
− | |||
− | |||
|- | |- | ||
|0x4F8 ||dword ||previous weapon number to remember, e.g. when using cellphone, entered a car | |0x4F8 ||dword ||previous weapon number to remember, e.g. when using cellphone, entered a car | ||
* 45 = no need to remember | * 45 = no need to remember | ||
|- | |- | ||
− | |0x504 ||byte || | + | |0x504 ||byte ||active weapon slot |
|- | |- | ||
|0x506 ||byte ||weapon accuracy | |0x506 ||byte ||weapon accuracy | ||
+ | |- | ||
+ | |0x508 ||[[#CPed|CPed]] pointer ||targeted ped | ||
|- | |- | ||
|0x518 ||byte ||melee anim 1 | |0x518 ||byte ||melee anim 1 | ||
Line 502: | Line 572: | ||
|0x59C ||pointer ||character last damaged by | |0x59C ||pointer ||character last damaged by | ||
|- | |- | ||
− | |0x5F4 ||pointer ||wanted level pointer | + | |0x5F4 ||[[#CWanted|CWanted]] pointer ||wanted level pointer |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
|0x59C ||pointer ||damaged by character | |0x59C ||pointer ||damaged by character | ||
Line 526: | Line 587: | ||
|- | |- | ||
|0x639 ||byte ||drunkenness countdown toggle | |0x639 ||byte ||drunkenness countdown toggle | ||
+ | |- | ||
+ | |0x63D ||byte ||can be damaged | ||
|} | |} | ||
− | == | + | == CVehicle == |
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Address ||Name ||Type ||Description | ||
+ | |- | ||
+ | |00A10B3A ||bAllTaxisHaveNitro ||byte ||[[0572|taxi boost jump]] | ||
+ | |} | ||
+ | |||
+ | Offsets continue from [[#CPhysical|CPhysical]], which is the parent class. The CVehicle class is 0x2A0 bytes in size including CPhysical and CEntity. | ||
+ | |||
0x7E49C0 - [pointer] - Player's car pointer (player pointer when not in car) | 0x7E49C0 - [pointer] - Player's car pointer (player pointer when not in car) | ||
− | + | {|class="wikitable" style="max-width: 48em;" | |
− | + | !Offset ||Type ||style="width: 100%;" |Description | |
− | + | |- | |
− | * | + | |0x50 ||byte ||Engine State (whether the engine is running or stalled): |
− | * | + | * 90 = ? |
− | * | + | * 34 = stalled |
− | + | * 26 = ? | |
− | + | * 2 = running | |
− | * | + | |- |
− | * | + | |0x156 ||byte ||driver behavior |
− | + | * 0x0F = ram | |
− | + | * 0x11 = block | |
− | + | |- | |
− | + | |0x160 ||byte ||[[00AD|cruise speed]] | |
− | + | |- | |
− | + | |0x19C ||pointer ||target pointer to ram or block | |
− | + | |- | |
− | + | |0x1A0 ||byte ||primary color ([[carcols.dat]]) | |
− | + | |- | |
− | + | |0x1A1 ||byte ||secondary color | |
− | + | |- | |
− | + | |0x1A2 ||byte ||car [http://www.gtaforums.com/index.php?showtopic=107998&view=findpost&p=1059651247 variation] slot 1 | |
− | + | |- | |
− | + | |0x1A3 ||byte ||car [http://www.gtaforums.com/index.php?showtopic=107998&view=findpost&p=1059651247 variation] slot 2 (note: read backwards in default.ide) | |
− | + | |- | |
− | + | |0x1A4 ||dword ||alarm duration, time in milliseconds | |
− | + | |- | |
− | + | |0x1A8 ||pointer ||driver pointer | |
− | + | |- | |
− | + | |0x1AC ||pointer[8] ||passenger pointers | |
− | * | + | |- |
− | * | + | |0x1CC ||byte ||[[01E9|current number of passengers]] |
− | + | |- | |
− | + | |0x1CD ||byte ||num getting in | |
− | + | |- | |
− | + | |0x1CE ||byte ||getting in flags | |
− | + | |- | |
− | + | |0x1CF ||byte ||getting out flags | |
− | + | |- | |
− | + | |0x1D0 ||byte ||[[01EA|maximum number of passengers]] | |
− | * | + | |- |
− | * | + | |0x1E8 ||float ||steer angle 1 |
− | * | + | |- |
− | * | + | |0x1EC ||float ||steer angle 2 (negative = wheels right; positive = wheels left) |
− | * | + | |- |
− | + | |0x1F0 ||float ||accelerator pedal | |
− | + | |- | |
− | + | |0x1F4 ||float ||brake pedal | |
− | + | |- | |
− | + | |0x1FB ||byte || | |
− | + | * bit 1 = [[03C9#For Vice City|is car visibly damaged]] | |
− | * | + | |- |
− | * | + | |0x1FD ||byte || |
− | * | + | * bit 0 = is submerged in water |
− | * | + | |- |
− | * | + | |0x1FE ||byte ||(& 7) [[0228#Bomb types|car bomb state]] |
− | + | |- | |
− | + | |0x201 ||byte ||[[02C8|power pills carried]] (unused) | |
− | * | + | |- |
− | * | + | |0x204 ||float ||health |
− | + | |- | |
− | + | |0x210 ||pointer ||player pointer after car is armed with car bomb | |
− | + | |- | |
− | + | |0x230 ||dword ||[[020A|lock status]] | |
− | + | |- | |
− | * | + | |0x23C ||byte ||current [[List of radio stations (VC)|radio station]] |
− | * | + | |- |
− | ** | + | |0x240 ||byte ||horn status |
− | + | |- | |
− | + | |0x245 ||byte ||is car siren on | |
− | + | |- | |
− | + | |0x29C ||dword ||vehicle type | |
− | + | *0 = general | |
− | + | *1 = boat | |
− | + | *2 = train (unused) | |
− | + | *3 = NPC police helicopter | |
− | + | *4 = NPC plane | |
+ | *5 = bike | ||
+ | |} | ||
+ | |||
+ | == CAutomobile == | ||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Address ||Name ||Type ||Description | ||
+ | |- | ||
+ | |00A10ABB ||m_sAllTaxiLights ||byte ||[[021F|all taxi lights]] (unused) | ||
+ | |} | ||
+ | |||
+ | Offsets continue from [[#CVehicle|CVehicle]], which is the parent class. The CAutomobile class is 0x5DC bytes in size including CPhysical, CEntity, and CVehicle. | ||
+ | |||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Offset ||Type ||style="width: 100%;" |Description | ||
+ | |- | ||
+ | |0x2A4 ||byte ||engine state | ||
+ | *0 = normal | ||
+ | *100/200 = unique to BF Injection | ||
+ | *225 = burning ready to explode | ||
+ | |- | ||
+ | |0x2A5 ||byte ||left front wheel state | ||
+ | *0 = normal | ||
+ | *1 = popped | ||
+ | *2 = none | ||
+ | |- | ||
+ | |0x2A6 ||byte ||left rear & middle wheel state | ||
+ | |- | ||
+ | |0x2A7 ||byte ||right front wheel state | ||
+ | |- | ||
+ | |0x2A8 ||byte ||right rear & middle wheel state | ||
+ | |- | ||
+ | |0x2A9 ||byte ||bonnet damage/physical state | ||
+ | *0 = normal/closed | ||
+ | *1 = damaged | ||
+ | *2 = damaged swinging/just swinging | ||
+ | *3 = detached/[[Handling.cfg#Flag Data|no doors]] | ||
+ | |- | ||
+ | |0x2AA ||byte ||boot damage/physical state | ||
+ | |- | ||
+ | |0x2AB ||byte ||left front door damage/physical state | ||
+ | |- | ||
+ | |0x2AC ||byte ||right front door damage/physical state | ||
+ | |- | ||
+ | |0x2AD ||byte ||left rear door damage/physical state | ||
+ | |- | ||
+ | |0x2AE ||byte ||right rear door damage/physical state | ||
+ | |- | ||
+ | |0x2B0 ||byte ||light status | ||
+ | *bit 0/1 = front left lights | ||
+ | *bit 2/3 = front right lights | ||
+ | *bit 4/5 = rear left lights | ||
+ | *bit 6/7 = rear right lights | ||
+ | |- | ||
+ | |0x2B4 ||byte ||front side panels damage state | ||
+ | |- | ||
+ | |0x2B5 ||byte ||rear side panels damage state | ||
+ | |- | ||
+ | |0x2B6 ||byte ||front panels damage state | ||
+ | |- | ||
+ | |0x2B7 ||byte ||rear panels damage state | ||
+ | |- | ||
+ | |0x32C ||byte ||bike front tire status | ||
+ | |- | ||
+ | |0x32D ||byte ||bike rear tire status | ||
+ | |- | ||
+ | |0x474 ||float ||bike pitch lean | ||
+ | |- | ||
+ | |0x484 ||float ||left front suspension height | ||
+ | |- | ||
+ | |0x488 ||float ||left rear suspension height | ||
+ | |- | ||
+ | |0x48C ||float ||right front suspension height | ||
+ | |- | ||
+ | |0x490 ||float ||right rear suspension height | ||
+ | |- | ||
+ | |0x4E8 ||byte ||bike burnout | ||
+ | |- | ||
+ | |0x501 ||byte ||special vehicle properties | ||
+ | * bit 0 = [[0216|taxi light]] | ||
+ | * bit 1 = [[0294|not sprayable]] | ||
+ | * bit 3 = [[039C|watertight]] | ||
+ | * bit 4 = [[03ED|upside down car not damaged]] | ||
+ | * bit 5 = [[044F|bit more resistant to physical damage]] | ||
+ | * bit 6 = [[0493|tank detonate cars]] | ||
+ | |- | ||
+ | |0x5B0 ||dword ||Rhino & Fire truck Cannon angle | ||
+ | |- | ||
+ | |0x5BB ||dword ||BF-Inject Rotation angle | ||
+ | |- | ||
+ | |0x5C5 ||byte ||[[015E#For Vice City|number of wheels on ground]] | ||
+ | |- | ||
+ | |0x5CC ||byte ||car burnout | ||
+ | |} | ||
+ | |||
+ | == CPlane == | ||
+ | Offsets continue from [[#CVehicle|CVehicle]], which is the parent class. The CPlane class is 0x2B4 bytes in size including CPhysical, CEntity, and CVehicle. | ||
+ | |||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Offset ||Type ||style="width: 100%;" |Description | ||
+ | |- | ||
+ | |0x2A0 ||word ||i-th plane (e.g. 0-2 for three Aeroplanes) | ||
+ | |- | ||
+ | |0x2B1 ||byte ||is drug run Dodo (unused) | ||
+ | |- | ||
+ | |0x2B2 ||byte ||is drop off Dodo (unused) | ||
+ | |} | ||
+ | |||
+ | == CMatrix == | ||
+ | The CMatrix class is 0x040 bytes in size. | ||
+ | |||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Offset ||Type ||style="width: 100%;" |Description | ||
+ | |- | ||
+ | |0x000 ||[[#CVector|CVector]] ||right | ||
+ | |- | ||
+ | |0x010 ||[[#CVector|CVector]] ||up | ||
+ | |- | ||
+ | |0x020 ||[[#CVector|CVector]] ||at | ||
+ | |- | ||
+ | |0x030 ||[[#CVector|CVector]] ||position | ||
+ | |} | ||
+ | |||
+ | == CVector == | ||
+ | The CVector class is 0x00C bytes in size. | ||
+ | |||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Offset ||Type ||style="width: 100%;" |Description | ||
+ | |- | ||
+ | |0x000 ||float ||x-direction | ||
+ | |- | ||
+ | |0x004 ||float ||y-direction | ||
+ | |- | ||
+ | |0x008 ||float ||z-direction | ||
+ | |} | ||
+ | |||
+ | == CWeapon == | ||
+ | The CWeapon class is 0x018 bytes in size. | ||
+ | |||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Offset ||Type ||style="width: 100%;" |Description | ||
+ | |- | ||
+ | |0x000 ||dword ||[[weapon]] type | ||
+ | |- | ||
+ | |0x004 ||dword ||status | ||
+ | *0 = normal | ||
+ | *1 = firing in 1st person/using flamethrower | ||
+ | *2 = reloading | ||
+ | *3 = no more ammo | ||
+ | |- | ||
+ | |0x008 ||dword ||current clip | ||
+ | |- | ||
+ | |0x00C ||dword ||current ammo | ||
+ | |} | ||
+ | |||
+ | == CWanted == | ||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Offset ||Type ||style="width: 100%;" |Description | ||
+ | |- | ||
+ | |0x000 ||dword ||[[Wanted level|chaos level]] | ||
+ | |- | ||
+ | |0x01E ||byte ||activity | ||
+ | *bit 0 = [[01F7|cops ignore player]] | ||
+ | *bit 1 = everyone ignore player | ||
+ | *bit 2 = [[02BC|swat required]] | ||
+ | *bit 3 = fbi required | ||
+ | *bit 4 = army required | ||
+ | |- | ||
+ | |0x020 ||dword ||HUD active wanted level | ||
+ | |} | ||
+ | |||
+ | == CClock == | ||
+ | {|class="wikitable sortable" style="max-width: 48em;" | ||
+ | !Address ||Name ||Type ||Description | ||
+ | |- | ||
+ | |00A10A3C ||ms_nGameClockSeconds ||word ||game clock seconds | ||
+ | |- | ||
+ | |00A10A5E ||ms_Stored_nGameClockSeconds ||word ||stored game clock seconds | ||
+ | |- | ||
+ | |00A10B33 ||ms_Stored_nGameClockHours ||byte ||[[0253|stored game clock hours]] | ||
+ | |- | ||
+ | |00A10B3C ||bClockHasBeenStored ||byte ||[[0253|clock has been stored]] | ||
+ | |- | ||
+ | |00A10B5D ||ms_Stored_nGameClockMinutes ||byte ||[[0253|stored game clock minutes]] | ||
+ | |- | ||
+ | |00A10B6B ||ms_nGameClockHours ||byte ||[[00C0|game clock hours]] | ||
+ | |- | ||
+ | |00A10B92 ||ms_nGameClockMinutes ||byte ||[[00C0|game clock minutes]] | ||
+ | |} | ||
+ | |||
+ | == CGame == | ||
+ | {|class="wikitable sortable" style="max-width: 48em;" | ||
+ | !Address ||Name ||Type ||Description | ||
+ | |- | ||
+ | |0068DD68 ||nastyGame ||byte ||[[0351|is nasty game]] | ||
+ | |- | ||
+ | |00978810 ||currArea ||dword ||[[04BB|current area (interior)]] | ||
+ | |- | ||
+ | |00A0D9AC ||currLevel ||dword ||[[ZONE#Vice City|current level (island)]] | ||
+ | |} | ||
+ | |||
+ | == CPopulation == | ||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Address ||Name ||Type ||Description | ||
+ | |- | ||
+ | |00A10AB3 ||ms_bGivePedsWeapons ||byte ||weapons for all cheat switch | ||
+ | |} | ||
+ | |||
+ | == CMenuManager == | ||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Address ||Name ||Type ||Description | ||
+ | |- | ||
+ | |00869680 ||m_PrefsLanguage ||dword ||current language preference | ||
+ | |} | ||
+ | |||
+ | == CTrafficLights == | ||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Address ||Name ||Type ||Description | ||
+ | |- | ||
+ | |00A10ADC ||bGreenLightsCheat ||byte ||traffic lights cheat switch | ||
+ | |} | ||
+ | |||
+ | == CShinyTexts == | ||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Address ||Name ||Type ||Description | ||
+ | |- | ||
+ | |00978618 ||NumShinyTexts ||dword ||number of shiny texts (unused) | ||
+ | |} | ||
+ | |||
+ | The CShinyTexts class is 0x58 bytes in size. | ||
+ | |||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Offset ||Type ||style="width: 100%;" |Description | ||
+ | <!-- | ||
+ | 0x00 | ||
+ | 0x0C | ||
+ | 0x18 | ||
+ | 0x24 | ||
+ | 0x30 | ||
+ | 0x34 | ||
+ | 0x38 | ||
+ | 0x3C | ||
+ | 0x40 | ||
+ | 0x44 | ||
+ | 0x48 | ||
+ | 0x4C | ||
+ | --> | ||
+ | |- | ||
+ | |0x50 ||float ||distance | ||
+ | |- | ||
+ | |0x54 ||byte ||type | ||
+ | |- | ||
+ | |0x55 ||byte ||red | ||
+ | |- | ||
+ | |0x56 ||byte ||green | ||
+ | |- | ||
+ | |0x57 ||byte ||blue | ||
+ | |} | ||
+ | |||
+ | == CRecordDataForChase == | ||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Address ||Name ||Type ||Description | ||
+ | |- | ||
+ | |00A10B98 ||Status ||byte ||status of [[Chase.dat|chase scene]] (unused) | ||
+ | |} | ||
+ | |||
+ | == CMBlur == | ||
+ | {|class="wikitable" style="max-width: 48em;" | ||
+ | !Address ||Name ||Type ||Description | ||
+ | |- | ||
+ | |00697D54 ||BlurOn ||byte ||[[Trails in Vice City|trails preference]] | ||
+ | |} | ||
==CPickup== | ==CPickup== | ||
Line 639: | Line 981: | ||
− | == | + | == CObject == |
+ | a Parent Class sized 0x1A0 (416 Bytes) and includes CEntity and CPhysical classes. | ||
0x945D40 - [POINTER] - '''CObject[] - 416 B''' ''object'' [http://www.gtaforums.com/index.php?showtopic=117195&view=findpost&p=1060452931 GTAForums post] | 0x945D40 - [POINTER] - '''CObject[] - 416 B''' ''object'' [http://www.gtaforums.com/index.php?showtopic=117195&view=findpost&p=1060452931 GTAForums post] | ||
− | * | + | *[[#CEntity|CEntity]] |
− | + | *[[#CPhysical|CPhysical]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | * | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* +0x120 - '''CMatrix - 72 B''' ''matDummyInitial''<pre style="color: green">initial matrix, when converted from a dummy object</pre> | * +0x120 - '''CMatrix - 72 B''' ''matDummyInitial''<pre style="color: green">initial matrix, when converted from a dummy object</pre> | ||
* +0x168 - [FLOAT] - ''fAttachForce''<pre style="color: green">how strongly the object is attached to the ground</pre> | * +0x168 - [FLOAT] - ''fAttachForce''<pre style="color: green">how strongly the object is attached to the ground</pre> | ||
Line 768: | Line 1,092: | ||
==Miscellaneous== | ==Miscellaneous== | ||
− | * 0x68723B - [byte] - | + | * 0x5FA178 - [byte] - Radio station name font style |
− | * 0x68F5F0 - [float] - | + | * 0x68723B - [byte] - Chance of traffic accidents by peds cars |
+ | * 0x68F5F0 - [float] - Gravity | ||
* 0x68F590 - [float] - Keep force's law valid. Value is always 1 second | * 0x68F590 - [float] - Keep force's law valid. Value is always 1 second | ||
− | * 0x68F62A - [2 bytes] - | + | * 0x68F62A - [2 bytes] - Car behaviour when another car crashes into |
− | * 0x69102E - [byte] - | + | * 0x69102E - [byte] - Tick rate (like gamespeed, but doesn't affect on SCM script speed execution) |
− | * 0x69154E - [byte] - | + | * 0x69154E - [byte] - Vehicle and peds size (bugged size sometimes + not proper collision) |
− | * 0x695680 - [4 bytes] - | + | * 0x695680 - [4 bytes] - Moon size |
− | * 0x69A61A - [byte] - | + | * 0x69A61A - [byte] - Car friction/surface |
− | * 0x69A6A8 - [float] - | + | * 0x69A6A8 - [float] - Wheel camber (negative values) |
− | * 0x69B34A - [float] - | + | * 0x69B34A - [float] - Car door open/close speed |
− | * 0x69C780 - [float] - | + | * 0x69C780 - [float] - Max helicopter height |
− | * 0x7838D1 - [byte] - | + | * 0x7838D1 - [byte] - Car gear |
− | * 0x7E48BC - [float] - | + | * 0x7D4044 - [float] - Game window height |
− | * 0x7E48CC - [float] - | + | * 0x7E48BC - [float] - Player's up/down angle |
− | * 0x869728 - [byte] - | + | * 0x7E48CC - [float] - Player's left/right angle |
− | * 0x978810 - [4 bytes] - | + | * 0x869728 - [byte] - Active menu {{ref|3}} |
− | * | + | * 0x94ADC8 - [4 byte] - Player's money |
− | * | + | * 0x94AE68 - [byte] - Infinite sprint |
− | * | + | * 0x974C34 - [dword] - Number of activated [[crane]]s |
− | * | + | * 0x978810 - [4 bytes] - Current interior |
− | * 0xA10942 - [ | + | * 0x97F264 - [float] - [[015D|time scale]] |
− | * 0xA10A44 - [ | + | * 0x97F850- [float] - Game window width |
− | * 0xA10AB5 - [ | + | * 0x9B6CE4 - [dword] - [[03EC|number of vehicles collected by military crane]] |
− | * 0xA10AB6 - [1 byte] - | + | * 0xA0D1CC - [dword] - Camera current [[CULL|cullzone]] |
− | * | + | * 0xA0DAC0 - [dword] - Player current [[CULL|cullzone]] |
− | * 0x78D658 - [float] - | + | * 0xA10942 - char[30] - Buffer of 30 last typed characters, previously typed chars are on next bytes. |
− | * 0x78D65C - [float] - | + | * 0xA10A44 - [word] - [[03E7|hud item to flash]] |
+ | * 0xA10AB5 - [byte] - [[0335|resprays are free]] | ||
+ | * 0xA10AB6 - [1 byte] - Disable radar (unused) | ||
+ | * 0xA10B32 - [byte] - [[021D|bombs are free]] (unused) | ||
+ | * 0x78D658 - [float] - The 1st Water Level on the Z-coordinate denoted in Steve-m's water editor as Black Color | ||
+ | * 0x78D65C - [float] - The 2nd Water Level on the Z-coordinate denoted in Steve-m's water editor as Red Color | ||
* 0x6912DC - [float] - Z coordinate on how deep the player should fall before re-spawning | * 0x6912DC - [float] - Z coordinate on how deep the player should fall before re-spawning | ||
+ | |||
+ | == Arrays == | ||
+ | === [[0190|Upside down car check]] === | ||
+ | * Start of array: 0x7D96D8 | ||
+ | * Size of each element: 0x8 | ||
+ | * Number of elements: 0x6 | ||
+ | {|class="wikitable" | ||
+ | !Offset ||Type ||Initialisation ||Description | ||
+ | |- | ||
+ | |0x00 ||dword ||-1 ||vehicle handle | ||
+ | |- | ||
+ | |0x04 ||dword ||0 ||duration upside down | ||
+ | |} | ||
+ | |||
+ | == Constructed arrays == | ||
+ | These are arrays constructed by the function <code>__construct_array</code> (0x6402D0). | ||
+ | |||
+ | === Vehicle model info === | ||
+ | * Start of array: 0x752A8C | ||
+ | * Size of each element: 0x174 | ||
+ | * Number of elements: 0x6E | ||
+ | {|class="wikitable" | ||
+ | !Offset ||Type ||Initialisation ||Description | ||
+ | |- | ||
+ | |0x000 ||pointer ||||virtual table | ||
+ | |- | ||
+ | |0x032 ||char[8] ||||[[GXT]] key | ||
+ | |- | ||
+ | |0x03C ||dword ||||type | ||
+ | * 0 = cars | ||
+ | * 1 = boat | ||
+ | * 2 = train | ||
+ | * 3 = heli | ||
+ | * 4 = plane | ||
+ | * 5 = bike | ||
+ | |- | ||
+ | |0x040 ||float ||||wheel scale | ||
+ | |- | ||
+ | |0x044 ||word ||||wheel model index | ||
+ | |- | ||
+ | |0x046 ||byte ||||handling index | ||
+ | |- | ||
+ | |0x049 ||byte ||||class | ||
+ | * 0 = normal | ||
+ | * 1 = poorfamily | ||
+ | * 2 = richfamily | ||
+ | * 3 = executive | ||
+ | * 4 = worker | ||
+ | * 5 = big | ||
+ | * 6 = taxi | ||
+ | * 7 = moped | ||
+ | * 8 = motorbike | ||
+ | * 9 = leisureboat | ||
+ | * 10 = workerboat | ||
+ | * -1 = ignore | ||
+ | |- | ||
+ | |0x04A ||byte ||||level | ||
+ | |- | ||
+ | |0x04C ||word ||||frequency | ||
+ | |- | ||
+ | |0x08C ||dword ||||component rules | ||
+ | |- | ||
+ | |0x144 ||byte[8] ||||primary [[Carcols.dat|colors]] | ||
+ | |- | ||
+ | |0x14C ||byte[8] ||||secondary [[Carcols.dat|colors]] | ||
+ | |- | ||
+ | |0x154 ||byte ||||number of [[Carcols.dat|colors]] | ||
+ | |- | ||
+ | |0x170 ||dword ||||anim file index | ||
+ | |} | ||
+ | |||
+ | #pragma pack(push, 4) | ||
+ | struct CVehicleModelInfo : public CClumpModelInfo | ||
+ | { | ||
+ | BYTE m_bLastCarColorId[2]; | ||
+ | char m_cGameName[10]; | ||
+ | DWORD m_dwVehicleType; | ||
+ | float m_fWheelScale; | ||
+ | WORD m_wWheelModelIndex; | ||
+ | WORD m_wHandlingId; | ||
+ | BYTE m_bNumDoors; | ||
+ | BYTE m_bVehicleClass; | ||
+ | BYTE m_bLvl; | ||
+ | BYTE m_bNumExtras; | ||
+ | WORD m_wFrq; | ||
+ | CVector m_vDummyPos[5]; | ||
+ | DWORD m_dwComprules; | ||
+ | float m_fBikeSteerAngle; | ||
+ | RpMaterial *m_pMaterialPrimary[24]; | ||
+ | RpMaterial *m_pMaterialSecondary[20]; | ||
+ | BYTE m_bPrimaryColorId[8]; | ||
+ | BYTE m_bSecondaryColorId[8]; | ||
+ | BYTE m_bNumColorVariations; | ||
+ | BYTE m_bLastColorVariation; | ||
+ | BYTE m_bCurrentColorId[2]; | ||
+ | RpAtomic *m_pExtra[6]; | ||
+ | char *m_pAnimName; | ||
+ | }; | ||
+ | #pragma pack(pop) | ||
+ | |||
+ | === Explosion === | ||
+ | * Start of array: 0x780C88 | ||
+ | * Size of each element: 0x38 | ||
+ | * Number of elements: 0x30 | ||
+ | {|class="wikitable" | ||
+ | !Offset ||Type ||Initialisation ||Description | ||
+ | |- | ||
+ | |0x00 ||dword ||0 ||type | ||
+ | |- | ||
+ | |0x04 ||float[3] ||0.0, 0.0, 0.0 ||x,y,z position | ||
+ | |- | ||
+ | |0x10 ||float ||1.0 ||radius | ||
+ | |- | ||
+ | |0x14 ||float ||0.0 ||expansion rate | ||
+ | |- | ||
+ | |0x18 ||pointer ||0 ||owner | ||
+ | |- | ||
+ | |0x1C ||pointer ||0 ||victim | ||
+ | |- | ||
+ | |0x20 ||dword ||0 ||time to expire | ||
+ | |- | ||
+ | |0x24 ||byte ||0 ||counter | ||
+ | |- | ||
+ | |0x25 ||byte ||0 ||is counter initialised | ||
+ | |- | ||
+ | |0x26 ||byte ||0 ||no jet effect for vehicle explosion (applicable to types 3, 4, 5) | ||
+ | |- | ||
+ | |0x27 ||byte ||1 ||has sound | ||
+ | |- | ||
+ | |0x28 ||dword ||0 ||game time of vehicle explosion (applicable to types 3, 4, 5, 6, 7) | ||
+ | |- | ||
+ | |0x2C ||dword ||0 ||game time to extend effect of explosion | ||
+ | |- | ||
+ | |0x30 ||float ||0.0 ||force | ||
+ | |- | ||
+ | |0x34 ||float ||0.0 ||ground z for Molotov explosion (applicable to type 1) | ||
+ | |} | ||
+ | |||
+ | === Projectile info === | ||
+ | * Start of array: 0x7DB888 | ||
+ | * Size of each element: 0x1C | ||
+ | * Number of elements: 0x20 | ||
+ | {|class="wikitable" | ||
+ | !Offset ||Type ||Initialisation ||Description | ||
+ | |- | ||
+ | |0x00 ||dword ||12 ||[[Weapon#Vice City|weapon type]] | ||
+ | |- | ||
+ | |0x04 ||dword ||0 ||thrower pointer | ||
+ | |- | ||
+ | |0x08 ||dword ||0 ||game timer to expire projectile | ||
+ | |- | ||
+ | |0x0C ||byte ||0 ||does projectile exist | ||
+ | |- | ||
+ | |0x0D ||byte[3] ||0 ||''align'' | ||
+ | |- | ||
+ | |0x10 ||float[3] ||0.0, 0.0, 0.0 ||x,y,z coordinates | ||
+ | |} | ||
+ | |||
+ | === [[Text#Intro text|Intro text]] === | ||
+ | * Start of array: 0x7F0EA0 | ||
+ | * Size of each element: 0xF4 | ||
+ | * Number of elements: 0x30 | ||
+ | {|class="wikitable" | ||
+ | !Offset ||Type ||Initialisation ||Description | ||
+ | |- | ||
+ | |0x00 ||float[2] ||0.48, 1.12 ||[[033F|x,y scale]] | ||
+ | |- | ||
+ | |0x08 ||byte[4] ||225, 225, 225, 255 ||[[0340|RGBA color]] | ||
+ | |- | ||
+ | |0x0C ||byte ||0 ||[[0341|justify]] | ||
+ | |- | ||
+ | |0x0D ||byte ||0 ||[[0342|center]] | ||
+ | |- | ||
+ | |0x0E ||byte ||0 ||[[0345|background]] | ||
+ | |- | ||
+ | |0x0F ||byte ||0 ||[[0347|background only text]] | ||
+ | |- | ||
+ | |0x10 ||float ||182.0 ||[[0343|wrap x]] | ||
+ | |- | ||
+ | |0x14 ||float ||640.0 ||[[0344|center size]] | ||
+ | |- | ||
+ | |0x18 ||byte[4] ||128, 128, 128, 128 ||[[0346|RGBA background color]] | ||
+ | |- | ||
+ | |0x1C ||byte ||1 ||[[0348|proportional]] | ||
+ | |- | ||
+ | |0x1D ||byte ||0 ||[[03E0|draw before fade]] | ||
+ | |- | ||
+ | |0x1E ||byte ||0 ||[[03E4|right justify]] | ||
+ | |- | ||
+ | |0x1F ||byte ||0 ||''align'' | ||
+ | |- | ||
+ | |0x20 ||word ||1 ||[[0349|font]] | ||
+ | |- | ||
+ | |0x22 ||word ||0 ||''align'' | ||
+ | |- | ||
+ | |0x24 ||float ||0.0, 0.0 ||[[033E|x,y position]] | ||
+ | |- | ||
+ | |0x2C ||wchar_t[100] ||null ||text | ||
+ | |} | ||
+ | |||
+ | === [[03BC|Script sphere]] === | ||
+ | * Start of array: 0x811528 | ||
+ | * Size of each element: 0x18 | ||
+ | * Number of elements: 0x18 | ||
+ | {|class="wikitable" | ||
+ | !Offset ||Type ||Initialisation ||Description | ||
+ | |- | ||
+ | |0x00 ||byte ||0 ||visibility | ||
+ | |- | ||
+ | |0x01 ||byte ||0 ||''align'' | ||
+ | |- | ||
+ | |0x02 ||word ||256 || | ||
+ | |- | ||
+ | |0x04 ||dword ||0 || | ||
+ | |- | ||
+ | |0x08 ||float[3] ||0 ||x,y,z position | ||
+ | |- | ||
+ | |0x14 ||float ||0 ||scale | ||
+ | |} | ||
+ | |||
+ | === [[058D|Taxi shortcut pick-up point]] === | ||
+ | * Start of array: 0x812138 | ||
+ | * Size of each element: 0xC | ||
+ | * Number of elements: 0x10 | ||
+ | {|class="wikitable" | ||
+ | !Offset ||Type ||Initialisation ||Description | ||
+ | |- | ||
+ | |0x00 ||float[3] ||0.0, 0.0, 0.0 ||x,y,z coordinates (its heading is at 0x78BCD8 + n * 4 where n is the index starting from 0) | ||
+ | |} | ||
+ | |||
+ | === [[016D|Police restart point]] === | ||
+ | * Start of array: 0x933B00 | ||
+ | * Size of each element: 0xC | ||
+ | * Number of elements: 0x8 | ||
+ | {|class="wikitable" | ||
+ | !Offset ||Type ||Initialisation ||Description | ||
+ | |- | ||
+ | |0x00 ||float[3] ||0.0, 0.0, 0.0 ||x,y,z coordinates (its heading is at 0x7DD720 + n * 4 where n is the index starting from 0) | ||
+ | |} | ||
+ | |||
+ | === [[03CC|Stuck car check]] === | ||
+ | * Start of array: 0x94AFA0 | ||
+ | * Size of each element: 0x20 | ||
+ | * Number of elements: 0x10 | ||
+ | {|class="wikitable" | ||
+ | !Offset ||Type ||Initialisation ||Description | ||
+ | |- | ||
+ | |0x00 ||dword ||-1 ||vehicle handle | ||
+ | |- | ||
+ | |0x04 ||float[3] ||-5000.0, -5000.0, -5000.0 ||x,y,z position update | ||
+ | |- | ||
+ | |0x10 ||dword ||-1 ||game timer update | ||
+ | |- | ||
+ | |0x14 ||float ||0.0 ||distance check | ||
+ | |- | ||
+ | |0x18 ||dword ||0 ||time check | ||
+ | |- | ||
+ | |0x1C ||byte ||0 ||is car stuck | ||
+ | |- | ||
+ | |0x1D ||byte[3] ||0 ||''align'' | ||
+ | |} | ||
+ | |||
+ | === [[016C|Hospital restart point]] === | ||
+ | * Start of array: 0x94B930 | ||
+ | * Size of each element: 0xC | ||
+ | * Number of elements: 0x8 | ||
+ | {|class="wikitable" | ||
+ | !Offset ||Type ||Initialisation ||Description | ||
+ | |- | ||
+ | |0x00 ||float[3] ||0.0, 0.0, 0.0 ||x,y,z coordinates (its heading is at 0x7DD740 + n * 4 where n is the index starting from 0) | ||
+ | |} | ||
==See also== | ==See also== | ||
Line 807: | Line 1,408: | ||
:5. {{note|5}} {{GTAF|post|117195|1827223}} | :5. {{note|5}} {{GTAF|post|117195|1827223}} | ||
:6. {{note|6}} {{GTAF|post|117195|1835819}} | :6. {{note|6}} {{GTAF|post|117195|1835819}} | ||
+ | :6. {{note|7}} [https://github.com/ThirteenAG/WidescreenFixesPack/issues/248#issuecomment-319157398 "Radio station name font style" reference] | ||
==External links== | ==External links== |
Latest revision as of 14:51, 15 February 2023
Contents
- 1 Cheats
- 2 Taxi
- 3 Display
- 4 Mp3 player
- 5 Loading screen
- 6 Mouse
- 7 Menu
- 8 Stats
- 9 Controller
- 10 Garages
- 11 CBrightLight
- 12 CEntity
- 13 CPhysical
- 14 CPed
- 15 CVehicle
- 16 CAutomobile
- 17 CPlane
- 18 CMatrix
- 19 CVector
- 20 CWeapon
- 21 CWanted
- 22 CClock
- 23 CGame
- 24 CPopulation
- 25 CMenuManager
- 26 CTrafficLights
- 27 CShinyTexts
- 28 CRecordDataForChase
- 29 CMBlur
- 30 CPickup
- 31 CObject
- 32 Police
- 33 Car Attributes
- 34 Miscellaneous
- 35 Arrays
- 36 Constructed arrays
- 37 See also
- 38 References
- 39 External links
Cheats
- 0xA10B87 - [1 byte] - TIMEPASSINGMEBY faster time
- 0x4ABF4C - [1 byte] - YOUWONTTAKEMEALIVE set wanted level
- 0x4ABFC4 - [1 byte] - LEAVEMEALONE set wanted level
- 0x4AC009 - [1 byte] - APLEASANTDAY set weather
- 0x4AC04E - [1 byte] - ALOVELYDAY set weather
- 0x4AC099 - [1 byte] - ABITDRIEG set weather
- 0x4AC0DE - [1 byte] - CATSANDDOGS set weather
- 0x4AC129 - [1 byte] - CANTSEEATHING set weather
- 0x4AC14B - [4 bytes] - PANZER Rhino model
- 0x4AC946 - [4 bytes] - TRAVELINSTYLE Bloodring A model
- 0x4AC976 - [4 bytes] - THELASTRIDE Romero's Hearse model
- 0x4AC9A6 - [4 bytes] - ROCKANDROLLCAR Love Fist model
- 0x4AC9D6 - [4 bytes] - RUBBISHCAR Trashmaster model
- 0x4ACA06 - [4 bytes] - GETTHEREFAST Sabre Turbo model
- 0x4ACA36 - [4 bytes] - BETTERTHANWALKING Caddy model
- 0x4ACDD6 - [4 bytes] - GETTHEREQUICKLY Bloodring B model
- 0x4ACE06 - [4 bytes] - GETTHEREVERYFASTINDEED Hotring A model
- 0x4ACE36 - [4 bytes] - GETTHEREAMAZINGLYFAST Hotring B model
- 0x4AEAEF - [4 bytes] - NUTTERTOOLS Chainsaw model
- +0xE for each additional weapon (.357, S.P.A.S. Shotgun, MP, M4, .308 Sniper, Minigun, Minigun component)
- 0x4AEB77 - [1 byte] - NUTTERTOOLS Chainsaw weapon number (NOTE: Model needs to be loaded first)
- +0x12 for each additional weapon (.357, S.P.A.S. Shotgun, MP)
- 0x4AEBD4 - [1 byte] - NUTTERTOOLS M4 weapon number (NOTE: Model needs to be loaded first)
- 0x4AEBE6 - [1 byte] - NUTTERTOOLS .308 Sniper weapon number (NOTE: Model needs to be loaded first)
- 0x4AEBFB - [1 byte] - NUTTERTOOLS Minigun weapon number (NOTE: Model needs to be loaded first)
- 0x4AEC8F - [4 bytes] - PROFESSIONALTOOLS Katana model
- +0xE for each additional weapon (Grenade, Detonator Grenade, .357, Stubby Shotgun, Mac, M4, .308 Sniper, Rocket Launcher)
- 0x4AED17 - [1 byte] - PROFESSIONALTOOLS Katana weapon number (NOTE: Model needs to be loaded first)
- +0x12 for each additional weapon (Detonator Grenade, .357, Stubby Shotgun, Mac)
- 0x4AED74 - [1 byte] - PROFESSIONALTOOLS M4 weapon number (NOTE: Model needs to be loaded first)
- 0x4AED86 - [1 byte] - PROFESSIONALTOOLS .308 Sniper weapon number (NOTE: Model needs to be loaded first)
- 0x4AED98 - [1 byte] - PROFESSIONALTOOLS Rocket Launcher weapon number (NOTE: Model needs to be loaded first)
- 0x4AEE1F - [4 bytes] - THUGSTOOLS Brass Knuckles model
- +0xE for each additional weapon (Bat, Molotov Cocktail, Pistol, Chrome Shotgun, Tec 9, Kruger, Sniper Rifle, Flame Thrower)
- 0x4AEEA7 - [1 byte] - THUGSTOOLS Brass Knuckles weapon number (NOTE: Model needs to be loaded first)
- +0x12 for each additional weapon (Bat, Molotov Cocktail, Pistol, Chrome Shotgun)
- 0x4AEF04 - [1 byte] - THUGSTOOLS Tec 9 weapon number (NOTE: Model needs to be loaded first)
- 0x4AEF16 - [1 byte] - THUGSTOOLS Kruger weapon number (NOTE: Model needs to be loaded first)
- 0x4AEF28 - [1 byte] - THUGSTOOLS Sniper Rifle weapon number (NOTE: Model needs to be loaded first)
- 0x4AEF38 - [1 byte] - THUGSTOOLS Flame Thrower weapon number (NOTE: Model needs to be loaded first)
- 0x68E058 - [float] - DEEPFRIEDMARSBARS/PROGRAMMER Tommy's body width
- 0x68F1F0 - [float] - ONSPEED set game speed
- 0x68F1F4 - [float] - ONSPEED game speed multiplier
- 0x68F1F8 - [float] - BOOOOOORING set game speed
- 0x68F1FC - [float] - BOOOOOORING game speed multiplier
- 0x68F204 - [string] - LOOKLIKELANCE Lance model
- 0x68F20C - [string] - IWANTBIGTITS Candy model
- 0x68F214 - [string] - MYSONISALAWYER Ken model
- 0x68F21C - [string] - ILOOKLIKEHILARY Hilary model
- 0x68F224 - [string] - ROCKANDROLLMAN Jezz model
- 0x68F22C - [string] - ONEARMEDBANDIT Phil model
- 0x68F234 - [string] - IDONTHAVETHEMONEYSONNY Sonny model
- 0x68F240 - [string] - FOXYLITTLETHING Mercedes model
- 0x68F248 - [string] - WELOVEOURDICK Dick model
- 0x68F250 - [string] - CHEATSHAVEBEENCRACKED Diaz model
- 0x97F2C4 - [1 byte] - CHASESTAT cheat switch
- 0xA10AB3 - [1 byte] - OURGODGIVENRIGHTTOBEARARMS cheat switch
- 0xA10ADC - [1 byte] - GREENLIGHT cheat switch
- 0xA10B0F - [1 byte] - GRIPISEVERYTHING cheat switch
- 0xA10B11 - [1 byte] - AIRSHIP cheat switch
- 0xA10B23 - [1 byte] - CERTAINDEATH cheat switch
- 0xA10B26 - [1 byte] - AHAIRDRESSERSCAR cheat switch
- 0xA10B28 - [1 byte] - COMEFLYWITHME cheat switch
- 0xA10B2E - [1 byte] - Cheat is used flag
- 0xA10B30 - [1 byte] - WHEELSAREALLINEED cheat switch
- 0xA10B47 - [1 byte] - MIAMITRAFFIC cheat switch
- 0xA10B5F - [1 byte] - FANNYMAGNET cheat switch
- 0xA10B81 - [1 byte] - SEAWAYS cheat switch
- 0xA10B82 - [1 byte] - IWANTITPAINTEDBLACK cheat switch
- 0xA10B87 - [1 byte] - LIFEISPASSINGMEBY cheat
- 0x6D85E4 - [string] - THUGSTOOLS cheat input
- 0x6D85F0 - [string] - PROFESSIONALTOOLS cheat input
- 0x6D8604 - [string] - NUTTERTOOLS cheat input
- 0x6D8610 - [string] - PRECIOUSPROTECTION cheat input
- 0x6D8624 - [string] - ASPIRINE cheat input
- 0x686FD0 - [string] - YOUWONTTAKEMEALIVE cheat input
- 0x686FE4 - [string] - LEAVEMEALONE cheat input
- 0x686FF4 - [string] - APLEASANTDAY cheat input
- 0x687004 - [string] - ALOVELYDAY cheat input
- 0x687010 - [string] - ABITDRIEG cheat input
- 0x68701C - [string] - CATSANDDOGS cheat input
- 0x688580 - [string] - CANTSEEATHING cheat input
- 0x688590 - [string] - PANZER cheat input
- 0x688598 - [string] - LIFEISPASSINGMEBY cheat input
- 0x6885AC - [string] - BIGBANG cheat input
- 0x6885B4 - [string] - STILLLIKEDRESSINGUP cheat input
- 0x6885C8 - [string] - FIGHTFIGHTFIGHT cheat input
- 0x6885D8 - [string] - NOBODYLIKESME cheat input
- 0x68F160 - [string] - CERTAINDEATH cheat input
- 0x68F170 - [string] - DEEPFRIEDMRSBARS cheat input
- 0X68F184 - [string] - PROGRAMMER cheat input
- 0x695128 - [string] - OURGODGIVENRIGHTTOBEARARMS cheat input
- 0x695144 - [string] - ONSPEED cheat input
- 0x69514C - [string] - BOOOOOORING cheat input
- 0x695158 - [string] - WHEELSAREALLINEED cheat input
- 0x69516C - [string] - COMEFLYWITHME cheat input
- 0x69517C - [string] - GRIPISEVERYTHING cheat input
- 0x695070 - [string] - CHASESTAT cheat input
- 0x6DC408 - [string] - WELOVEOURDICK cheat input
- 0x6DC418 - [string] - SEAWAYS cheat input
Taxi
- 0x456046 - [4 bytes] - Opcode 02DE check if player is in a Taxi
- +0x8 for each additional taxis (Cabbie, Zebra Cab, Kaufman Cabs)
- 0x5B8AB6 - [1 byte] - Cash when entering a taxi (set to 12 by default)
- 0xA10B7F - [1 byte] - Kaufman Cabs' radio flag
Restart mission taxi:
- 0x42AEAC - [4 bytes] - Kaufman Cabs spawn (NOTE: Model needs to be loaded through 0x42AFB3 and set to spawn through 0x94EEB8)
- 0x42AFB3 - [4 bytes] - Kaufman Cabs model load
- 0x42AFD6 - [6 bytes] - NOP to have Tommy be able to carjack the taxi instead of entering it as passenger
- 0x42B219 - [1 byte] - Blue fade in color
- +0x2 - [1 byte] - Green fade in color
- +0x2 - [1 byte] - Red fade in color
- 0x42B24E - [4 bytes] - TAXI text duration
- 0x687574 - [string] - TAXI text
- 0x94DD94 - [float] - X-coord taxi destination (updated by opcode 058E)
- +0x4 - [float] - Y-coord taxi destination
- +0x4 - [float] - Z-coord taxi destination
- 0x94EEB8 - [1 byte] - Set taxi to spawn
- 0xA0D378 - [float] - Angle taxi destination
- 0xA10B6D - [1 byte] - Activate mission restart taxi
Display
- 0x46B389 - [byte] - camera move when entering/exiting car
- 0x46B58F - [byte] - same [5]
- 0x68AE2E - [2 bytes] - camera distance from player (set only lower, higher bugs the camera)
- 0x68AEE0 - [float] - cinema top border height
- 0x68AEE4 - [float] - cinema bottom border height
- 0x68FD02 - [byte] - controls radar map [6]
- 0x68FD16 - [byte] - radar width
- 0x68FD17 - [byte] - only radar ring visible [6]
- 0x68FD28 - [float] - Radar Size (XY)
- 0x68FD2C - [Float] - Radar X Position
- 0x68FD34 - [Float] - Radar Y Position
- 0x68FD38 - [Float] - Radar Shape
- 0x68FD3C - [Float] - Radar Shape
- 0x698A8C - [float] - ambient lighting
- 0x7E46B8 - [float] - camera X position
- 0x7E46BC - [float] - camera Y position
- 0x7E46C0 - [float] - camera Z position
- 0x7E46F5 - [byte] - wide screen borders
- 0x7E4764 - [byte] - car camera
- 0x7E47EC - [byte] - player camera
- 0x869655 - [byte] - frame limiter
- 0x869650 - [byte] - subtitles
- 0x869652 - [byte] - widescreen
- 0x86963A - [byte] - hud display
- 0xA10AF6 - [byte] - replay display on/off
- 0xA10B68 - [byte] - white scanlines
- 0xA10B69 - [byte] - green scanlines
- 0xA0FD04 - [DWORD] - resolution Width
- 0xA0FD08 - [DWORD] - resolution height
- 0xA0FD00 - [DWORD] - Color bit.
Mp3 player
- 0xA108B0
- Number of mp3s found [dword].
- 0xA10B50
- Mp3 station playing [byte].
- 0x9753E0
- Pointer to first mp3 file block [dword].
- 0x97881C
- Index of mp3 playing [dword].
- 0x978550
- Pointer to HDIG Driver (mss) [dword].
- 0x978668
- Current stream (mss) [dword].
- 0x94C104
- Total length of all mp3s (in milliseconds) [dword].
Loading screen
- 0xA0CE94
- Progress [float].
- 0x68E6FC
- Progress step [float].
- 0x68E70C
- Bar width [float].
- 0x68E710
- Bar height [float].
- 0x68E708
- Distance from bottom [float].
- 0x68E704
- Distance from left [float].
- 0x4A6C33
- Moving Loading Bar Color (red) [Byte]
- 0x4A6C2E
- Moving Loading Bar Color (Green) [Byte]
- 0x4A6C29
- Moving Loading Bar Color (Blue) [Byte]
- 0x4A6C24
- Moving Loading Bar transparency (A) [Byte]
- 0x4A6B80
- Bar Color (red) [Byte]
- 0x4A6B7E
- Bar Color (Green) [Byte]
- 0x4A6B7C
- Bar Color (Blue) [Byte]
- 0x4A6B77
- transparency (A) [Byte]
Mouse
- 0x936910 - [float] - Mouse X movement
- 0x936914 - [float] - Mouse Y movement
- 0x936908 - [Byte] - Left Mouse Button (LMB)
- 0x936909 - [Byte] - Right Mouse Button (RMB)
- 0x93690A - [Byte] - Middle Mouse Button (MMB)
- 0x93690B - [Byte] - Mouse Wheel Up
- 0x93690C - [Byte] - Mouse Wheel Down
Menu
- 0x703997
- Selected menu index [byte]. GTAForums post
- 00 - Stats
- 01 - Start Game
- 03 - Audio Setup
- 04 - Display
- 05 - Language
- 06 - Map
- 07 - InGame/ Starts New Game
- 08 - Load Game
- 09 - Delete Game
- 10 - "All unsaved progress..." Load Game
- 11 - "Proceed wit deleting..." Delete Game
- 12 - Goes to 01 - Start Game
- 13 - "Deleting Saved game. Please Wait..." then goes to 14
- 14 - "Delete Successful. Select OK to continue" "Ok" Delete Game
- 15 - Save Game List
- 16 - "Are you sure you want to save this game?"
- 17 - "Saving current game. Please wait...." Then goes to 18
- 18 - "Save Successful. Select OK to continue." "OK"
- 19 - "Ok" Saved Game, this is just a blank screen with no text
- 20 - "Warning! One or more cheats..." Cheat warning
- 21 - Player Skin Setup
- 26 - Controller Setup
- 27 - Options
- 29 - Main Menu
- 30 - RedeFine Controls
- 31 - Mouse Settings
- 32 - Resume
- 33 - "Greetings From Vice City" Then ends game
- 34 - "Greetings From Vice City" Then ends game
- 35+ - Blank Screen
- 0x704851
- Arrow in map "you are here" [byte].
- 0x783F12
- Save game directory [String].
- 0x97509C
- Save Game DIR [String].
- 0x936908
- Mouse button pressed [byte].
- 0x869660
- Selected menu item id [byte].
- 0x869728
- Current menu id [byte].
- 0x869730
- Last saving slot used (0 to 7) [byte].
- 0x68D5D4
- Stats menu scroll speed [float].
- 0x68D12C
- Stats menu line spacing [float].
- 0x68BF58
- Menu backgroung Texture name[string]
- 0x68BF68
- menu logo Texture name[string]
- 0x68BF7C
- Mouse Texture name[string]
- 0x869694
- Mouse X Position [float].
- 0x869698
- Mouse Y Position [float].
- 0x86965A
- Music Volume [Byte].
- 0x86968A
- MP3 boost [Byte].
- 0x869659
- SFX Volume [Byte].
Stats
- Main page: List of statistics (VC)
- 0x4CC102 - [4 bytes] - Total number of stores to knock off (default is 15)
- 0x4CC1CD - [4 bytes] - Total number of assassination contracts to complete (default 5)
Controller
- 00869630 - FrontEndMenuManager ( CMenuManager )
- +0x0A - [Byte] - m_bHudMode
- +0x18 - [4 bytes] - m_PrefsBrightness
- +0x20 - [Byte] - m_bSubtitles
- +0x22 - [Byte] - m_bWidescreen
- +0x25 - [Byte] - m_bFrameLimiter
- +0x38 - [Byte] - m_bMenuVisible
- +0x39 - [Byte] - m_bDemoQuit
- +0x3C - [Byte] - m_bExtraSplash
- +0x4C - [4 bytes] - m_nGameLanguage
- +0x5B - [Byte] - Controller state ( Standrad = 0, Classic = 1)
- +0x6C - [Byte] - m_bGameStarted
- +0x84 m_apMenuSprites[26] (CSprite2d)
- +0xF8 - [4 bytes] - m_nCurrentPage
Garages
- 0x7D74B8 - el swanko casa (1 car garage)
- 0x7D74E0 - el swanko casa
- 0x7D7508 - el swanko casa
- 0x7D7530 - el swanko casa
- 0x7D7558 - hyman condo left (4 car garage)
- 0x7D7580 - hyman condo left
- 0x7D75A8 - hyman condo left
- 0x7D75D0 - hyman condo left
- 0x7D75F8 - hyman condo middle (2 car garage)
- 0x7D7620 - hyman condo middle
- 0x7D7648 - hyman condo middle
- 0x7D7670 - hyman condo middle
- 0x7D7698 - hyman condo right (2 car garage)
- 0x7D76C0 - hyman condo right
- 0x7D76E8 - hyman condo right
- 0x7D7710 - hyman condo right
- 0x7D7738 - ocean heights (1 car garage)
- 0x7D7760 - ocean heights
- 0x7D7788 - ocean heights
- 0x7D77B0 - ocean heights
- 0x7D77D8 - links view apartment (1 car garage)
- 0x7D7800 - links view apartment
- 0x7D7828 - links view apartment
- 0x7D7850 - links view apartment
- 0x7D7878 - sunshine autos far right (2 car garage)
- 0x7D78A0 - sunshine autos far right
- 0x7D78C8 - sunshine autos far right
- 0x7D78F0 - sunshine autos far right
- 0x7D7918 - sunshine autos mid right (2 car garage)
- 0x7D7940 - sunshine autos mid right
- 0x7D7968 - sunshine autos mid right
- 0x7D7990 - sunshine autos mid right
- 0x7D79B8 - sunshine autos mid left (2 car garage)
- 0x7D79E0 - sunshine autos mid left
- 0x7D7A08 - sunshine autos mid left
- 0x7D7A30 - sunshine autos mid left
- 0x7D7A58 - sunshine autos far left (2 car garage)
- 0x7D7A80 - sunshine autos far left
- 0x7D7AA8 - sunshine autos far left
- 0x7D7AD0 - sunshine autos far left
- 0x7D7AF8 - vercetti estate (2 car garage)
- 0x7D7B20 - vercetti estate
- 0x7D7B48 - vercetti estate
- 0x7D7B70 - vercetti estate
- +0x0 - [4 bytes] - car IDE model
- +0x4 - [float] - x position
- +0x8 - [float] - y position
- +0xC - [float] - z position
- +0x10 - [float] - vector angle x
- +0x14 - [float] - vector angle y
- +0x18 - [float] - vector angle z
- +0x1C - [4 bytes] - immunities
- +0x20 - [1 byte] - primary color
- +0x21 - [1 byte] - secondary color
- +0x22 - [1 byte] - radio station
- +0x23 - [1 byte] - variation 1
- +0x24 - [1 byte] - variation 2
- +0x25 - [1 byte] - bomb type (3=remote,2=engine ignition,1=timed,0=none)
CBrightLight
RwV3D cornerAA; RwV3D cornerAB; RwV3D cornerBA; RwV3D cornerBB; float fDistanceToCamera; RwRGBA color;
CEntity
The CEntity class is 0x064 bytes in size.
Offset | Type | Description |
---|---|---|
0x000 | pointer | pointer to virtual method table |
0x004 | CMatrix | matrix |
0x044 | pointer | RwObject |
0x048 | pointer | RpAtomic |
0x04C | pointer | RpClump |
0x050 | byte |
|
0x051 | byte |
|
0x052 | byte |
|
0x053 | byte |
|
0x058 | word | scan code |
0x05A | word | random number |
0x05C | word | model index |
0x05E | byte | building's level/island number |
0x05F | byte | object interior number |
CPhysical
Offsets continue from CEntity, which is the parent class. The CPhysical class is 0x120 bytes in size including CEntity.
Offset | Type | Description |
---|---|---|
0x064 | dword | audio entity (allows sounds to play) |
0x06C | dword | last collision time |
0x070 | CVector | movement speed |
0x07C | CVector | turn speed |
0x088 | CVector | movement force |
0x094 | CVector | turn force |
0x0B8 | float | mass |
0x0BC | float | turn resistance |
0x0C0 | float | acceleration resistance, initialised to 1.0 |
0x0E6 | byte | number of objects it is colliding |
0x100 | float | speed |
0x104 | float | collision power (also damages vehicles) |
0x11A | byte |
|
0x11C | byte | current collision value |
0x11D | byte | origin level |
CPed
Offsets continue from CPhysical, which is the parent class. The CPed class is 0x6D8 bytes in size including CPhysical and CEntity.
0x94AD28 - [pointer] - Player pointer (Note that Player is an instance of CPed Class)
Offset | Type | Description |
---|---|---|
0x141 | byte | fast shoot |
0x14C | byte | shooting anim |
0x14D | byte |
|
0x14F | byte |
|
0x14E | byte |
|
0x150 | byte |
|
0x151 | byte |
|
0x156 | byte |
|
0x1F4 | byte | sub animation |
0x18C | dword | threat search |
0x244 | dword | player current status [1] [2], values include:
|
0x24C | byte |
|
0x354 | float | health |
0x358 | float | armor |
0x378 | float | rotation (related to north) |
0x3A8 | CVehicle pointer | last controlled vehicle/vehicle about to be entered |
0x3A4 | byte | target objective |
0x3AC | byte | is in any vehicle |
0x3D4 | dword | ped type |
0x408 | CWeapon[10] | current weapon blocks, blocks ordered by weapon slot |
0x4F8 | dword | previous weapon number to remember, e.g. when using cellphone, entered a car
|
0x504 | byte | active weapon slot |
0x506 | byte | weapon accuracy |
0x508 | CPed pointer | targeted ped |
0x518 | byte | melee anim 1 |
0x520 | byte | melee anim 2 |
0x52C | float | upper torso rotation |
0x56C | pointer[10] | Nearest peds |
0x598 | byte | last damaged weapon |
0x59C | pointer | character last damaged by |
0x5F4 | CWanted pointer | wanted level pointer |
0x59C | pointer | damaged by character |
0x600 | float | stamina [1] |
0x604 | float | max stamina, initialised 150.0, +0x608 controls its increase |
0x608 | float | stamina duration; when reaches 500.0, resets to 0.0 and increases max stamina by 10.0 |
0x60C | byte | current weapon slot again? |
0x638 | byte | drunkenness |
0x639 | byte | drunkenness countdown toggle |
0x63D | byte | can be damaged |
CVehicle
Address | Name | Type | Description |
---|---|---|---|
00A10B3A | bAllTaxisHaveNitro | byte | taxi boost jump |
Offsets continue from CPhysical, which is the parent class. The CVehicle class is 0x2A0 bytes in size including CPhysical and CEntity.
0x7E49C0 - [pointer] - Player's car pointer (player pointer when not in car)
Offset | Type | Description |
---|---|---|
0x50 | byte | Engine State (whether the engine is running or stalled):
|
0x156 | byte | driver behavior
|
0x160 | byte | cruise speed |
0x19C | pointer | target pointer to ram or block |
0x1A0 | byte | primary color (carcols.dat) |
0x1A1 | byte | secondary color |
0x1A2 | byte | car variation slot 1 |
0x1A3 | byte | car variation slot 2 (note: read backwards in default.ide) |
0x1A4 | dword | alarm duration, time in milliseconds |
0x1A8 | pointer | driver pointer |
0x1AC | pointer[8] | passenger pointers |
0x1CC | byte | current number of passengers |
0x1CD | byte | num getting in |
0x1CE | byte | getting in flags |
0x1CF | byte | getting out flags |
0x1D0 | byte | maximum number of passengers |
0x1E8 | float | steer angle 1 |
0x1EC | float | steer angle 2 (negative = wheels right; positive = wheels left) |
0x1F0 | float | accelerator pedal |
0x1F4 | float | brake pedal |
0x1FB | byte |
|
0x1FD | byte |
|
0x1FE | byte | (& 7) car bomb state |
0x201 | byte | power pills carried (unused) |
0x204 | float | health |
0x210 | pointer | player pointer after car is armed with car bomb |
0x230 | dword | lock status |
0x23C | byte | current radio station |
0x240 | byte | horn status |
0x245 | byte | is car siren on |
0x29C | dword | vehicle type
|
CAutomobile
Address | Name | Type | Description |
---|---|---|---|
00A10ABB | m_sAllTaxiLights | byte | all taxi lights (unused) |
Offsets continue from CVehicle, which is the parent class. The CAutomobile class is 0x5DC bytes in size including CPhysical, CEntity, and CVehicle.
Offset | Type | Description |
---|---|---|
0x2A4 | byte | engine state
|
0x2A5 | byte | left front wheel state
|
0x2A6 | byte | left rear & middle wheel state |
0x2A7 | byte | right front wheel state |
0x2A8 | byte | right rear & middle wheel state |
0x2A9 | byte | bonnet damage/physical state
|
0x2AA | byte | boot damage/physical state |
0x2AB | byte | left front door damage/physical state |
0x2AC | byte | right front door damage/physical state |
0x2AD | byte | left rear door damage/physical state |
0x2AE | byte | right rear door damage/physical state |
0x2B0 | byte | light status
|
0x2B4 | byte | front side panels damage state |
0x2B5 | byte | rear side panels damage state |
0x2B6 | byte | front panels damage state |
0x2B7 | byte | rear panels damage state |
0x32C | byte | bike front tire status |
0x32D | byte | bike rear tire status |
0x474 | float | bike pitch lean |
0x484 | float | left front suspension height |
0x488 | float | left rear suspension height |
0x48C | float | right front suspension height |
0x490 | float | right rear suspension height |
0x4E8 | byte | bike burnout |
0x501 | byte | special vehicle properties
|
0x5B0 | dword | Rhino & Fire truck Cannon angle |
0x5BB | dword | BF-Inject Rotation angle |
0x5C5 | byte | number of wheels on ground |
0x5CC | byte | car burnout |
CPlane
Offsets continue from CVehicle, which is the parent class. The CPlane class is 0x2B4 bytes in size including CPhysical, CEntity, and CVehicle.
Offset | Type | Description |
---|---|---|
0x2A0 | word | i-th plane (e.g. 0-2 for three Aeroplanes) |
0x2B1 | byte | is drug run Dodo (unused) |
0x2B2 | byte | is drop off Dodo (unused) |
CMatrix
The CMatrix class is 0x040 bytes in size.
Offset | Type | Description |
---|---|---|
0x000 | CVector | right |
0x010 | CVector | up |
0x020 | CVector | at |
0x030 | CVector | position |
CVector
The CVector class is 0x00C bytes in size.
Offset | Type | Description |
---|---|---|
0x000 | float | x-direction |
0x004 | float | y-direction |
0x008 | float | z-direction |
CWeapon
The CWeapon class is 0x018 bytes in size.
Offset | Type | Description |
---|---|---|
0x000 | dword | weapon type |
0x004 | dword | status
|
0x008 | dword | current clip |
0x00C | dword | current ammo |
CWanted
Offset | Type | Description |
---|---|---|
0x000 | dword | chaos level |
0x01E | byte | activity
|
0x020 | dword | HUD active wanted level |
CClock
Address | Name | Type | Description |
---|---|---|---|
00A10A3C | ms_nGameClockSeconds | word | game clock seconds |
00A10A5E | ms_Stored_nGameClockSeconds | word | stored game clock seconds |
00A10B33 | ms_Stored_nGameClockHours | byte | stored game clock hours |
00A10B3C | bClockHasBeenStored | byte | clock has been stored |
00A10B5D | ms_Stored_nGameClockMinutes | byte | stored game clock minutes |
00A10B6B | ms_nGameClockHours | byte | game clock hours |
00A10B92 | ms_nGameClockMinutes | byte | game clock minutes |
CGame
Address | Name | Type | Description |
---|---|---|---|
0068DD68 | nastyGame | byte | is nasty game |
00978810 | currArea | dword | current area (interior) |
00A0D9AC | currLevel | dword | current level (island) |
CPopulation
Address | Name | Type | Description |
---|---|---|---|
00A10AB3 | ms_bGivePedsWeapons | byte | weapons for all cheat switch |
CMenuManager
Address | Name | Type | Description |
---|---|---|---|
00869680 | m_PrefsLanguage | dword | current language preference |
CTrafficLights
Address | Name | Type | Description |
---|---|---|---|
00A10ADC | bGreenLightsCheat | byte | traffic lights cheat switch |
CShinyTexts
Address | Name | Type | Description |
---|---|---|---|
00978618 | NumShinyTexts | dword | number of shiny texts (unused) |
The CShinyTexts class is 0x58 bytes in size.
Offset | Type | Description |
---|---|---|
0x50 | float | distance |
0x54 | byte | type |
0x55 | byte | red |
0x56 | byte | green |
0x57 | byte | blue |
CRecordDataForChase
Address | Name | Type | Description |
---|---|---|---|
00A10B98 | Status | byte | status of chase scene (unused) |
CMBlur
Address | Name | Type | Description |
---|---|---|---|
00697D54 | BlurOn | byte | trails preference |
CPickup
0x945D30 - [struct] CPickupVC GTAForums post
- 0x00 - [CVector] - vecPos
position of the pickup
- 0x0C - [FLOAT] - fStandProximity
how close the player is standing to the pickup?
- 0x10 - [POINTER] - CObjectVC* pObject
entity associated with the pickup
- 0x14 - [POINTER] - CObjectVC* pExtraObject
extra entity (for minigun for example)
- 0x18 - [DWORD] - dwPickupQuantity
used for weapons and money
- 0x1C - [DWORD] - dwTimer
either the time it was created or when it should disappear
- 0x20 - [WORD] - wMoneyGenerationRate
how quickly this pickup generates money
- 0x22 - [WORD] - wModelId
model ID of the pickup
- 0x24 - [WORD] - wUniqueId
unique identifier of this pickup
- 0x26 - [char] - szPickupTextKey[8]
key of the text that is shown when on this pickup
- 0x2E - [BYTE] - bytePickupType
shows if pickup slot is in use and its type
- 0x2F - [BYTE] - byteRemoved
pickup has been removed
- 0x30 - [BYTE] - byteEffects
which kind of visual effects this pickup has (values 0/1)
- 0x31 - padding - 3 B alignment
CObject
a Parent Class sized 0x1A0 (416 Bytes) and includes CEntity and CPhysical classes. 0x945D40 - [POINTER] - CObject[] - 416 B object GTAForums post
- CEntity
- CPhysical
- +0x120 - CMatrix - 72 B matDummyInitial
initial matrix, when converted from a dummy object
- +0x168 - [FLOAT] - fAttachForce
how strongly the object is attached to the ground
- +0x16C - [BYTE] - byteObjectType
- 0 - default (unused)
- 1 - map object
- 2 - projectiles, pickups, script objects
- 3 - dead car parts and roadblocks
- 4 - cutscene object
- 5 - spiketraps
- 0x16D - [BYTE] - flags
- 0b00000001 - bIsPickupObject
- 0b00000010 - bDoCircleEffect
- 0b00000100 - bRenderPickupQuantity
- 0b00001000 - bRenderPickupAvailability
- 0b00010000 - bWindowMinorCollisionDamage
- 0b00100000 - bHasWindowBeenBrokenByMelee
- 0b01000000 - bHasObjectExplosionTriggered
- 0b10000000 - bIsVehicleComponent
- 0x16E - [BYTE] - flags
- 0b00000001 - bSpecialLighting
- 0b00000010 - bNoVehicleCollisionWhenDetached
- +0x16F - [BYTE] - bytePickupObjectBonusType
used for bonus and clothes pickups
- +0x170 - [WORD] - wPickupObjectQuantity
used for money pickups
- 0x172 - padding - 2 B alignment
- 0x174 - [FLOAT] - fDamageMultiplier
object damage multiplier - how easily it breaks
- 0x178 - [BYTE] - byteCollisionDamageType
what happens when the object receives damage
- 0x179 - [BYTE] - byteSpecialCollisionType
special collision type for some objects
- 0x17A - [BYTE] - byteCameraAvoids
whether the camera avoids this object
- 0x17B - [BYTE] - byteBounceScore
how many times the player has hit this with his head (beachball)
- 0x17C - padding - 4 B alignment
- 0x180 - [DWORD] - dwObjectTimer
for some objects this shows when it will disappear (car parts)
- 0x184 - [WORD] - wRefModelId
the ID of the model this object is a part of (car parts)
- 0x186 - padding - 2 B alignment
- 0x188 - [POINTER] - CEntity* pInitialSurface
the surface the object is on when created
- 0x18C - [POINTER] - CPhysical* pContactPhysical
a physical that is currently in contact with this object
- 0x190 - [BYTE] - byteVehicleMainColor
main color for vehicle parts
- 0x191 - [BYTE] - byteVehicleExtraColor
extra color for vehicle parts
- 0x192 - padding - 2 B alignment
Police
- 0xA10ADB - [byte] - Police helicopter state
- 0x69A633 - [byte] - size of Police EM lights
Police cars, that are chasing the player (models must be loaded first [2]):
- 0x426A21 - [byte] - first police car
- 0x426987 - [byte] - second police car
- 0x42697E - [byte] - Enforcer
- 0x4268B8 - [byte] - Vicechee 1
- 0x4268D3 - [byte] - Vicechee 2
- 0x4268EE - [byte] - Vicechee 3
- 0x426909 - [byte] - Vicechee 4
- 0x4269BA - [byte] - FBI Rancher
- 0x426A0A - [byte] - Barracks Ol
- 0x426A14 - [byte] - Rhino
Police weapons:
- 0x4ED772 - [byte] - first weapon (Nitestick)
- 0x4EC21D - [byte]
- 0x4EC228 - [byte]
Skins (models must be loaded):
- 0x4ED762 - [byte] - policeman skin
- 0x4ED76B - [byte] - policeman skin (wanted level)
- 0x4ED7C3 - [byte] - swat skin
- 0x4ED812 - [byte] - FBI skin
- 0x4ED834 - [byte] - army skin
Wanted level needed, to see police cars & peds:
- 0x4D1E23 - [byte] - Army
- 0x4D1E43 - [byte] - FBI
- 0x4D1E63 - [byte] - Swat
- 0x4E1E83 - [byte] - Vicechee
Cars used for roadblocks (models must be loaded):
- 0x4436F1 - [byte] - Police
- 0x4436E5 - [byte] - Swat
- 0x4436C5 - [byte] - FBI
- 0x4436A4 - [byte] - Barracks Ol
Car Attributes
- 0x426640 - [byte] - controls removing cars that are far away [4]
- 0x427AAC - [4 bytes] - spawns with jingle/siren/horn on
- 0x591572 - [byte] - Phoenix engine animation (no use on other cars)
- 0x57157A - [byte] - BF-Inject Rotation
- 0x597F4A - [byte] - Hunter weapon
- 0x598302 - [byte] - Seasparrow weapon
- 0x58BCA8 - [byte] - Cuban exhaust
- 0x58B958 - [byte] - Cuban exhaust
- 0x58BCB5 - [byte] - Cuban exhaust on/off
- 0x5945F1 - [byte] - Rhino cannon
- 0x5945D5 - [byte] - Fire truck water cannon
- 0x594611 - [byte] - Voodoo hydraulics
- 0x59C7E5 - [byte] - Stinger jump in animation
- 0x5A0316 - [byte] - police boat weapon
- 0x5B9675 - [byte] - shooting this vehicle gives a wanted star
- 0x69A608 - [float] - Reaction Force of Rhino Cannon
- 0x69A60C - [float] - Cuban flame exhaust scale
- 0x69A610 - [float] - Rhino Cannon Fire Range
- 0x69A618 - [float] - Radius of FireTrail Rhino cannon Fire, (like smoketrail for Bullets)
- 0x69A61C - [float] - Radius of Smoke near Rhino Cannon
- 0x69A630 - [float] - Radius of Spark on the Mouth of Rhino Cannon
- 0x69A710 - [4 bytes] - Cuban flame exhaust Z offset
- 0x69A714 - [4 bytes] - Cuban flame exhaust X offset
- 0x69A71C - [4 bytes] - Cuban flame exhaust Y offset
Miscellaneous
- 0x5FA178 - [byte] - Radio station name font style
- 0x68723B - [byte] - Chance of traffic accidents by peds cars
- 0x68F5F0 - [float] - Gravity
- 0x68F590 - [float] - Keep force's law valid. Value is always 1 second
- 0x68F62A - [2 bytes] - Car behaviour when another car crashes into
- 0x69102E - [byte] - Tick rate (like gamespeed, but doesn't affect on SCM script speed execution)
- 0x69154E - [byte] - Vehicle and peds size (bugged size sometimes + not proper collision)
- 0x695680 - [4 bytes] - Moon size
- 0x69A61A - [byte] - Car friction/surface
- 0x69A6A8 - [float] - Wheel camber (negative values)
- 0x69B34A - [float] - Car door open/close speed
- 0x69C780 - [float] - Max helicopter height
- 0x7838D1 - [byte] - Car gear
- 0x7D4044 - [float] - Game window height
- 0x7E48BC - [float] - Player's up/down angle
- 0x7E48CC - [float] - Player's left/right angle
- 0x869728 - [byte] - Active menu [3]
- 0x94ADC8 - [4 byte] - Player's money
- 0x94AE68 - [byte] - Infinite sprint
- 0x974C34 - [dword] - Number of activated cranes
- 0x978810 - [4 bytes] - Current interior
- 0x97F264 - [float] - time scale
- 0x97F850- [float] - Game window width
- 0x9B6CE4 - [dword] - number of vehicles collected by military crane
- 0xA0D1CC - [dword] - Camera current cullzone
- 0xA0DAC0 - [dword] - Player current cullzone
- 0xA10942 - char[30] - Buffer of 30 last typed characters, previously typed chars are on next bytes.
- 0xA10A44 - [word] - hud item to flash
- 0xA10AB5 - [byte] - resprays are free
- 0xA10AB6 - [1 byte] - Disable radar (unused)
- 0xA10B32 - [byte] - bombs are free (unused)
- 0x78D658 - [float] - The 1st Water Level on the Z-coordinate denoted in Steve-m's water editor as Black Color
- 0x78D65C - [float] - The 2nd Water Level on the Z-coordinate denoted in Steve-m's water editor as Red Color
- 0x6912DC - [float] - Z coordinate on how deep the player should fall before re-spawning
Arrays
Upside down car check
- Start of array: 0x7D96D8
- Size of each element: 0x8
- Number of elements: 0x6
Offset | Type | Initialisation | Description |
---|---|---|---|
0x00 | dword | -1 | vehicle handle |
0x04 | dword | 0 | duration upside down |
Constructed arrays
These are arrays constructed by the function __construct_array
(0x6402D0).
Vehicle model info
- Start of array: 0x752A8C
- Size of each element: 0x174
- Number of elements: 0x6E
Offset | Type | Initialisation | Description |
---|---|---|---|
0x000 | pointer | virtual table | |
0x032 | char[8] | GXT key | |
0x03C | dword | type
| |
0x040 | float | wheel scale | |
0x044 | word | wheel model index | |
0x046 | byte | handling index | |
0x049 | byte | class
| |
0x04A | byte | level | |
0x04C | word | frequency | |
0x08C | dword | component rules | |
0x144 | byte[8] | primary colors | |
0x14C | byte[8] | secondary colors | |
0x154 | byte | number of colors | |
0x170 | dword | anim file index |
#pragma pack(push, 4) struct CVehicleModelInfo : public CClumpModelInfo { BYTE m_bLastCarColorId[2]; char m_cGameName[10]; DWORD m_dwVehicleType; float m_fWheelScale; WORD m_wWheelModelIndex; WORD m_wHandlingId; BYTE m_bNumDoors; BYTE m_bVehicleClass; BYTE m_bLvl; BYTE m_bNumExtras; WORD m_wFrq; CVector m_vDummyPos[5]; DWORD m_dwComprules; float m_fBikeSteerAngle; RpMaterial *m_pMaterialPrimary[24]; RpMaterial *m_pMaterialSecondary[20]; BYTE m_bPrimaryColorId[8]; BYTE m_bSecondaryColorId[8]; BYTE m_bNumColorVariations; BYTE m_bLastColorVariation; BYTE m_bCurrentColorId[2]; RpAtomic *m_pExtra[6]; char *m_pAnimName; }; #pragma pack(pop)
Explosion
- Start of array: 0x780C88
- Size of each element: 0x38
- Number of elements: 0x30
Offset | Type | Initialisation | Description |
---|---|---|---|
0x00 | dword | 0 | type |
0x04 | float[3] | 0.0, 0.0, 0.0 | x,y,z position |
0x10 | float | 1.0 | radius |
0x14 | float | 0.0 | expansion rate |
0x18 | pointer | 0 | owner |
0x1C | pointer | 0 | victim |
0x20 | dword | 0 | time to expire |
0x24 | byte | 0 | counter |
0x25 | byte | 0 | is counter initialised |
0x26 | byte | 0 | no jet effect for vehicle explosion (applicable to types 3, 4, 5) |
0x27 | byte | 1 | has sound |
0x28 | dword | 0 | game time of vehicle explosion (applicable to types 3, 4, 5, 6, 7) |
0x2C | dword | 0 | game time to extend effect of explosion |
0x30 | float | 0.0 | force |
0x34 | float | 0.0 | ground z for Molotov explosion (applicable to type 1) |
Projectile info
- Start of array: 0x7DB888
- Size of each element: 0x1C
- Number of elements: 0x20
Offset | Type | Initialisation | Description |
---|---|---|---|
0x00 | dword | 12 | weapon type |
0x04 | dword | 0 | thrower pointer |
0x08 | dword | 0 | game timer to expire projectile |
0x0C | byte | 0 | does projectile exist |
0x0D | byte[3] | 0 | align |
0x10 | float[3] | 0.0, 0.0, 0.0 | x,y,z coordinates |
Intro text
- Start of array: 0x7F0EA0
- Size of each element: 0xF4
- Number of elements: 0x30
Offset | Type | Initialisation | Description |
---|---|---|---|
0x00 | float[2] | 0.48, 1.12 | x,y scale |
0x08 | byte[4] | 225, 225, 225, 255 | RGBA color |
0x0C | byte | 0 | justify |
0x0D | byte | 0 | center |
0x0E | byte | 0 | background |
0x0F | byte | 0 | background only text |
0x10 | float | 182.0 | wrap x |
0x14 | float | 640.0 | center size |
0x18 | byte[4] | 128, 128, 128, 128 | RGBA background color |
0x1C | byte | 1 | proportional |
0x1D | byte | 0 | draw before fade |
0x1E | byte | 0 | right justify |
0x1F | byte | 0 | align |
0x20 | word | 1 | font |
0x22 | word | 0 | align |
0x24 | float | 0.0, 0.0 | x,y position |
0x2C | wchar_t[100] | null | text |
Script sphere
- Start of array: 0x811528
- Size of each element: 0x18
- Number of elements: 0x18
Offset | Type | Initialisation | Description |
---|---|---|---|
0x00 | byte | 0 | visibility |
0x01 | byte | 0 | align |
0x02 | word | 256 | |
0x04 | dword | 0 | |
0x08 | float[3] | 0 | x,y,z position |
0x14 | float | 0 | scale |
Taxi shortcut pick-up point
- Start of array: 0x812138
- Size of each element: 0xC
- Number of elements: 0x10
Offset | Type | Initialisation | Description |
---|---|---|---|
0x00 | float[3] | 0.0, 0.0, 0.0 | x,y,z coordinates (its heading is at 0x78BCD8 + n * 4 where n is the index starting from 0) |
Police restart point
- Start of array: 0x933B00
- Size of each element: 0xC
- Number of elements: 0x8
Offset | Type | Initialisation | Description |
---|---|---|---|
0x00 | float[3] | 0.0, 0.0, 0.0 | x,y,z coordinates (its heading is at 0x7DD720 + n * 4 where n is the index starting from 0) |
Stuck car check
- Start of array: 0x94AFA0
- Size of each element: 0x20
- Number of elements: 0x10
Offset | Type | Initialisation | Description |
---|---|---|---|
0x00 | dword | -1 | vehicle handle |
0x04 | float[3] | -5000.0, -5000.0, -5000.0 | x,y,z position update |
0x10 | dword | -1 | game timer update |
0x14 | float | 0.0 | distance check |
0x18 | dword | 0 | time check |
0x1C | byte | 0 | is car stuck |
0x1D | byte[3] | 0 | align |
Hospital restart point
- Start of array: 0x94B930
- Size of each element: 0xC
- Number of elements: 0x8
Offset | Type | Initialisation | Description |
---|---|---|---|
0x00 | float[3] | 0.0, 0.0, 0.0 | x,y,z coordinates (its heading is at 0x7DD740 + n * 4 where n is the index starting from 0) |
See also
References
- 1. ^ Post on GTAForums
- 2. ^ Post on GTAForums
- 3. ^ Post on GTAForums
- 4. ^ Post on GTAForums
- 5. ^ Post on GTAForums
- 6. ^ Post on GTAForums
- 6. ^ "Radio station name font style" reference
External links
- GTAForums: Documenting GTA3/VC memory addresses
- Same topic in archive.org - shows archived posts that are apparently deleted from current topic