|
| 1 | +## v.1004 from 2026-04-18 |
| 2 | + |
| 3 | +- III, VC, SA enums refactor |
| 4 | + - enum files were moved to new **enums\\** directory. To fix compilation errors go to **Project properties > C++ > Additional Include Directories** and add new entry like `$(PLUGIN_SDK_DIR)\Plugin_SA\game_sa\enums` (same way the `rw` directory is declared). Project with proper configuration can also be regenerated using PSDK installer app |
| 5 | + - some enums were moved from other headers into separated files in **enums\\** directory |
| 6 | + - III **ModelInfoType** renamed to **eModelInfoType** |
| 7 | + - III removed **eVehicleIndex.h**. Use **eModelID.h** instead |
| 8 | + - III, VC removed **eVehicleModel.h**. Use **eModelID.h** instead |
| 9 | + - III, VC **ePedType** values now are prefixed with **PED_TYPE_** instead of **PEDTYPE_** (to match other platforms and general convention) |
| 10 | + |
| 11 | +- All platforms **CVector2D** class refactor |
| 12 | + - instead of multiple, platform specific implementations single, shared **CVector2D** was introduced |
| 13 | + - function **DotProduct** now has to be accessed as **CVector2D::Dot** |
| 14 | + - function **CrossProduct** now has to be accessed as **CVector2D::Cross** |
| 15 | + - some **CVector2D** methods might get slightly renamed, got extra **const**, **nodiscard** specifiers etc. |
| 16 | + |
| 17 | +- All platforms **CVector** |
| 18 | + - fixed discrepancy in spelling. Now "normali**z**e" is used in all function names |
| 19 | + - some methods received **nodiscard** specifier. Compilation error means bug in your code |
| 20 | + |
| 21 | +- **CPed** heading related variables unification |
| 22 | + - III **m_vec2dMoved** renamed to **m_vecAnimMovingShift** |
| 23 | + - VC **m_fMovedX** and **m_fMovedY** converted to **m_vecAnimMovingShift** |
| 24 | + - III, VC **m_fRotationCur** renamed to **m_fHeadingCurrent** |
| 25 | + - SA **m_fCurrentRotation** renamed to **m_fHeadingCurrent** |
| 26 | + - III, VC **m_fRotationDest** renamed to **m_fHeadingGoal** |
| 27 | + - SA **m_fAimingRotation** renamed to **m_fHeadingGoal** |
| 28 | + |
| 29 | +- III, VC **CPlaceable::GetHeading()** fixed to return Radians instead of degrees (to match SA GetHeading and all other angle-related functions, including SetHeading) |
| 30 | + |
| 31 | +- SA **CPlaceable** |
| 32 | + - **GetMatrix()** now returns reference instead of pointer (to match other platforms). Nullptr could not be returned anyway |
| 33 | + - removed **GetPosition2D()** to match other platforms. Use `GetPosition().To2D()` instead |
| 34 | + |
| 35 | +- VC **CColModel.h** member **m_colSphere** renamed to **m_boundSphere** |
| 36 | + |
| 37 | +## v.1003 from 2026-03-28 |
| 38 | + |
| 39 | +- SA **CAutomobile** |
| 40 | + - members like **field_7F4** received proper names |
| 41 | + - **wheelsDistancesToGround1** renamed to **m_fWheelsSuspensionCompression** |
| 42 | + - **wheelsDistancesToGround2** renamed to **m_fWheelsSuspensionCompressionPrev** |
| 43 | + - **taxiAvaliable** replaced with **m_nAutomobileFlags** |
| 44 | + - **m_wVoodooSuspension** renamed to **m_wMiscComponentAnglePrev** |
| 45 | + - **wheelOffsetZ** is now part of **m_aSuspensionSpringLength** (fixed array start position) |
| 46 | + - **m_fCarTraction** renamed to **m_fExtraTractionMult** |
| 47 | + - **m_fUpDownLightAngle[0]** replaced with **m_fPropRotate** |
| 48 | + - **m_fUpDownLightAngle[1]** replaced with **m_fCumulativeDamage** |
| 49 | + - **pNitroParticle** renamed to **m_pNitroParticle** |
| 50 | + |
| 51 | +- SA **CBike** |
| 52 | + - members like **field_615** received proper names |
| 53 | + - **m_nDamageFlags** renamed to **m_nBikeFlags** |
| 54 | + - **m_anWheelDamageState** renamed to **m_anWheelDamageState** |
| 55 | + - **m_afWheelRotationX** renamed to **m_aWheelPitchAngles** |
| 56 | + - **m_fWheelSpeed** renamed to **m_aWheelAngularVelocity** |
| 57 | + - **m_fCarTraction** renamed to **m_fExtraTractionMult** |
| 58 | + - **m_bPedLeftHandFixed** renamed to **m_nFixLeftHand** |
| 59 | + - **m_bPedRightHandFixed** renamed to **m_nFixRightHand** |
| 60 | + - **m_anWheelState** renamed to **m_wheelState** |
| 61 | + |
| 62 | +- SA **CPed** member **m_nSpecialModelIndex** renamed to **m_StreamedScriptBrainToLoad** |
| 63 | + |
| 64 | +- SA **CPhysical** members like **field_B8** received proper names |
| 65 | + |
| 66 | +- SA **CVehicle** members like **field_518** received proper names |
| 67 | + |
| 68 | +## v.1002 from 2025-12-09 |
| 69 | + |
| 70 | +- SA **CPedIntelligence** members like **field_CC** received proper names |
| 71 | + |
| 72 | +## v.1001 from 2025-12-07 |
| 73 | + |
| 74 | +- All platforms **CVector** class refactor |
| 75 | + - instead of multiple, platform specific implementations single, shared **CVector** was introduced |
| 76 | + - function **DotProduct** now has to be accessed as **CVector::Dot** |
| 77 | + - function **CrossProduct** now has to be accessed as **CVector::Cross** |
| 78 | + - some **CVector** methods might get slightly renamed, got extra **const** specifiers etc. |
0 commit comments