Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Co-authored-by: saml1er <[email protected]>
  • Loading branch information
saml1er and codenulls authored Oct 16, 2020
1 parent e8d8954 commit fced208
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 54 deletions.
61 changes: 32 additions & 29 deletions Client/game_sa/CAutomobileSA.h
Original file line number Diff line number Diff line change
Expand Up @@ -56,34 +56,37 @@
#define MAX_PASSENGER_COUNT 8
#define MAX_DOORS 6 // also in CDamageManager

enum eCarNodes
namespace eCarNode
{
CAR_NODE_NONE = 0,
CAR_NODE_CHASSIS = 1,
CAR_NODE_WHEEL_RF = 2,
CAR_NODE_WHEEL_RM = 3,
CAR_NODE_WHEEL_RB = 4,
CAR_NODE_WHEEL_LF = 5,
CAR_NODE_WHEEL_LM = 6,
CAR_NODE_WHEEL_LB = 7,
CAR_NODE_DOOR_RF = 8,
CAR_NODE_DOOR_RR = 9,
CAR_NODE_DOOR_LF = 10,
CAR_NODE_DOOR_LR = 11,
CAR_NODE_BUMP_FRONT = 12,
CAR_NODE_BUMP_REAR = 13,
CAR_NODE_WING_RF = 14,
CAR_NODE_WING_LF = 15,
CAR_NODE_BONNET = 16,
CAR_NODE_BOOT = 17,
CAR_NODE_WINDSCREEN = 18,
CAR_NODE_EXHAUST = 19,
CAR_NODE_MISC_A = 20,
CAR_NODE_MISC_B = 21,
CAR_NODE_MISC_C = 22,
CAR_NODE_MISC_D = 23,
CAR_NODE_MISC_E = 24,
CAR_NUM_NODES
enum
{
NONE = 0,
CHASSIS = 1,
WHEEL_RF = 2,
WHEEL_RM = 3,
WHEEL_RB = 4,
WHEEL_LF = 5,
WHEEL_LM = 6,
WHEEL_LB = 7,
DOOR_RF = 8,
DOOR_RR = 9,
DOOR_LF = 10,
DOOR_LR = 11,
BUMP_FRONT = 12,
BUMP_REAR = 13,
WING_RF = 14,
WING_LF = 15,
BONNET = 16,
BOOT = 17,
WINDSCREEN = 18,
EXHAUST = 19,
MISC_A = 20,
MISC_B = 21,
MISC_C = 22,
MISC_D = 23,
MISC_E = 24,
NUM_NODES
};
};

class CBouncingPanelSAInterface
Expand All @@ -101,8 +104,8 @@ class CAutomobileSAInterface : public CVehicleSAInterface
{
public:
CDamageManagerSAInterface m_damageManager;
CDoorSAInterface m_doors[6];
RwFrame* m_aCarNodes[CAR_NUM_NODES];
CDoorSAInterface m_doors[MAX_DOORS];
RwFrame* m_aCarNodes[eCarNode::NUM_NODES];
CBouncingPanelSAInterface m_panels[3];
CDoorSAInterface m_swingingChassis;
CColPointSAInterface m_wheelColPoint[MAX_WHEELS];
Expand Down
45 changes: 24 additions & 21 deletions Client/game_sa/CTrainSA.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,26 +12,29 @@
#include "CVehicleSA.h"
#include "CDoorSA.h"

enum eTrainNodes
namespace eTrainNode
{
TRAIN_NODE_NONE = 0,
TRAIN_NODE_DOOR_LF = 1,
TRAIN_NODE_DOOR_RF = 2,
TRAIN_NODE_WHEEL_RF1 = 3,
TRAIN_NODE_WHEEL_RF2 = 4,
TRAIN_NODE_WHEEL_RF3 = 5,
TRAIN_NODE_WHEEL_RB1 = 6,
TRAIN_NODE_WHEEL_RB2 = 7,
TRAIN_NODE_WHEEL_RB3 = 8,
TRAIN_NODE_WHEEL_LF1 = 9,
TRAIN_NODE_WHEEL_LF2 = 10,
TRAIN_NODE_WHEEL_LF3 = 11,
TRAIN_NODE_WHEEL_LB1 = 12,
TRAIN_NODE_WHEEL_LB2 = 13,
TRAIN_NODE_WHEEL_LB3 = 14,
TRAIN_NODE_BOGIE_FRONT = 15,
TRAIN_NODE_BOGIE_REAR = 16,
TRAIN_NUM_NODES
enum
{
NONE = 0,
DOOR_LF = 1,
DOOR_RF = 2,
WHEEL_RF1 = 3,
WHEEL_RF2 = 4,
WHEEL_RF3 = 5,
WHEEL_RB1 = 6,
WHEEL_RB2 = 7,
WHEEL_RB3 = 8,
WHEEL_LF1 = 9,
WHEEL_LF2 = 10,
WHEEL_LF3 = 11,
WHEEL_LB1 = 12,
WHEEL_LB2 = 13,
WHEEL_LB3 = 14,
BOGIE_FRONT = 15,
BOGIE_REAR = 16,
NUM_NODES
};
};

enum class eTrainPassengersGenerationState : unsigned char
Expand Down Expand Up @@ -95,7 +98,7 @@ class CTrainSAInterface : public CVehicleSAInterface
CPedSAInterface* m_pTemporaryPassenger; // we tell peds to enter train and then delete them
CTrainSAInterface* m_prevCarriage;
CTrainSAInterface* m_nextCarriage;
CDoorSAInterface m_aDoors[6];
RwFrame* m_aTrainNodes[TRAIN_NUM_NODES];
CDoorSAInterface m_aDoors[MAX_DOORS];
RwFrame* m_aTrainNodes[eTrainNode::NUM_NODES];
};
static_assert(sizeof(CTrainSAInterface) == 0x6AC, "Invalid size for CTrainSAInterface");
8 changes: 4 additions & 4 deletions Client/game_sa/CVehicleSA.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2107,16 +2107,16 @@ void CVehicleSA::SetWheelVisibility(eWheelPosition wheel, bool bVisible)
switch (wheel)
{
case FRONT_LEFT_WHEEL:
pFrame = vehicle->m_aCarNodes[CAR_NODE_WHEEL_LF];
pFrame = vehicle->m_aCarNodes[eCarNode::WHEEL_LF];
break;
case REAR_LEFT_WHEEL:
pFrame = vehicle->m_aCarNodes[CAR_NODE_WHEEL_LB];
pFrame = vehicle->m_aCarNodes[eCarNode::WHEEL_LB];
break;
case FRONT_RIGHT_WHEEL:
pFrame = vehicle->m_aCarNodes[CAR_NODE_WHEEL_RF];
pFrame = vehicle->m_aCarNodes[eCarNode::WHEEL_RF];
break;
case REAR_RIGHT_WHEEL:
pFrame = vehicle->m_aCarNodes[CAR_NODE_WHEEL_RB];
pFrame = vehicle->m_aCarNodes[eCarNode::WHEEL_RB];
break;
default:
break;
Expand Down

0 comments on commit fced208

Please sign in to comment.