Skip to content

Commit 069f3f7

Browse files
committed
Refactor code
1 parent cbd8e57 commit 069f3f7

File tree

22 files changed

+853
-1030
lines changed

22 files changed

+853
-1030
lines changed

AStyle.exe

582 KB
Binary file not shown.

src/dllmain.cpp

Lines changed: 69 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -10,97 +10,85 @@
1010
static ThiscallEvent <AddressList<0x5E7859, H_CALL>, PRIORITY_BEFORE, ArgPickN<CPed*, 0>, void(CPed*)> weaponRenderEvent;
1111

1212
enum class eNodeEntityType {
13-
Ped,
14-
Object,
15-
Vehicle,
16-
Weapon,
13+
Ped,
14+
Object,
15+
Vehicle,
16+
Weapon,
1717
};
1818

19-
static void ProcessNodesRecursive(RwFrame * frame, void* pEntity, eNodeEntityType type)
20-
{
21-
if(frame)
22-
{
23-
const std::string name = GetFrameNodeName(frame);
19+
static void ProcessNodesRecursive(RwFrame * frame, void* pEntity, eNodeEntityType type) {
20+
if(frame) {
21+
const std::string name = GetFrameNodeName(frame);
2422

25-
if (name[0] == 'x' && name[1] == '_')
26-
{
27-
if (type == eNodeEntityType::Vehicle) {
28-
CVehicle *pVeh = static_cast<CVehicle*>(pEntity);
29-
Chain.Process(frame, pVeh);
30-
FrontBrake.Process(frame, pVeh);
31-
RearBrake.Process(frame, pVeh);
32-
GearMeter.Process(frame, pVeh);
33-
OdoMeter.Process(frame, pVeh);
34-
RpmMeter.Process(frame, pVeh);
35-
SpeedMeter.Process(frame, pVeh);
36-
Clutch.Process(frame, pVeh);
37-
GearLever.Process(frame, pVeh);
38-
GearSound.Process(frame, pVeh);
39-
} else if (type == eNodeEntityType::Weapon) {
40-
CWeapon *pWep = static_cast<CWeapon*>(pEntity);
41-
BodyState.Process(frame, pWep);
42-
}
43-
}
44-
// LicensePlate.Process(frame, pVeh);
23+
if (name[0] == 'x' && name[1] == '_') {
24+
if (type == eNodeEntityType::Vehicle) {
25+
CVehicle *pVeh = static_cast<CVehicle*>(pEntity);
26+
Chain.Process(frame, pVeh);
27+
FrontBrake.Process(frame, pVeh);
28+
RearBrake.Process(frame, pVeh);
29+
GearMeter.Process(frame, pVeh);
30+
OdoMeter.Process(frame, pVeh);
31+
RpmMeter.Process(frame, pVeh);
32+
SpeedMeter.Process(frame, pVeh);
33+
Clutch.Process(frame, pVeh);
34+
GearLever.Process(frame, pVeh);
35+
GearSound.Process(frame, pVeh);
36+
} else if (type == eNodeEntityType::Weapon) {
37+
CWeapon *pWep = static_cast<CWeapon*>(pEntity);
38+
BodyState.Process(frame, pWep);
39+
BodyState.ProcessZen(frame, pWep);
40+
}
41+
}
42+
// LicensePlate.Process(frame, pVeh);
4543

46-
if (RwFrame * newFrame = frame->child)
47-
{
48-
ProcessNodesRecursive(newFrame, pEntity, type);
49-
}
50-
if (RwFrame * newFrame = frame->next)
51-
{
52-
ProcessNodesRecursive(newFrame, pEntity, type);
53-
}
54-
}
55-
return;
44+
if (RwFrame * newFrame = frame->child) {
45+
ProcessNodesRecursive(newFrame, pEntity, type);
46+
}
47+
if (RwFrame * newFrame = frame->next) {
48+
ProcessNodesRecursive(newFrame, pEntity, type);
49+
}
50+
}
51+
return;
5652
}
5753

58-
BOOL WINAPI DllMain(HINSTANCE hDllHandle, DWORD nReason, LPVOID Reserved)
59-
{
60-
if (nReason == DLL_PROCESS_ATTACH)
61-
{
62-
Events::initGameEvent += []()
63-
{
64-
Log::Print<eLogLevel::None>("Starting " MOD_TITLE " (" __DATE__ ")\nAuthor: Grinch_\nDiscord: "
65-
DISCORD_INVITE "\nPatreon: " PATREON_LINK "\nMore Info: " GITHUB_LINK "\n");
66-
SoundSystem.Inject();
67-
SoundSystem.Init(RsGlobal.ps->window);
68-
};
54+
BOOL WINAPI DllMain(HINSTANCE hDllHandle, DWORD nReason, LPVOID Reserved) {
55+
if (nReason == DLL_PROCESS_ATTACH) {
56+
Events::initGameEvent += []() {
57+
Log::Print<eLogLevel::None>("Starting " MOD_TITLE " (" __DATE__ ")\nAuthor: Grinch_\nDiscord: "
58+
DISCORD_INVITE "\nPatreon: " PATREON_LINK "\nMore Info: " GITHUB_LINK "\n");
59+
SoundSystem.Inject();
60+
SoundSystem.Init(RsGlobal.ps->window);
61+
};
6962

70-
Events::vehicleRenderEvent += [](CVehicle* pVeh)
71-
{
72-
ProcessNodesRecursive((RwFrame *)pVeh->m_pRwClump->object.parent, pVeh, eNodeEntityType::Vehicle);
73-
};
63+
Events::vehicleRenderEvent += [](CVehicle* pVeh) {
64+
ProcessNodesRecursive((RwFrame *)pVeh->m_pRwClump->object.parent, pVeh, eNodeEntityType::Vehicle);
65+
};
7466

75-
Events::pedRenderEvent += [](CPed* pPed)
76-
{
77-
// peds
78-
ProcessNodesRecursive((RwFrame *)pPed->m_pRwClump->object.parent, pPed, eNodeEntityType::Ped);
67+
Events::pedRenderEvent += [](CPed* pPed) {
68+
// peds
69+
ProcessNodesRecursive((RwFrame *)pPed->m_pRwClump->object.parent, pPed, eNodeEntityType::Ped);
7970

80-
// jetpack
81-
CTaskSimpleJetPack *pTask = pPed->m_pIntelligence->GetTaskJetPack();
82-
if (pTask && pTask->m_pJetPackClump) {
83-
ProcessNodesRecursive((RwFrame *)pTask->m_pJetPackClump->object.parent, pPed, eNodeEntityType::Weapon);
84-
}
71+
// jetpack
72+
CTaskSimpleJetPack *pTask = pPed->m_pIntelligence->GetTaskJetPack();
73+
if (pTask && pTask->m_pJetPackClump) {
74+
ProcessNodesRecursive((RwFrame *)pTask->m_pJetPackClump->object.parent, pPed, eNodeEntityType::Weapon);
75+
}
8576

86-
// weapons
87-
CWeapon *pWeapon = &pPed->m_aWeapons[pPed->m_nActiveWeaponSlot];
88-
if (pWeapon)
89-
{
90-
eWeaponType weaponType = pWeapon->m_eWeaponType;
91-
CWeaponInfo* pWeaponInfo = CWeaponInfo::GetWeaponInfo(weaponType, pPed->GetWeaponSkill(weaponType));
92-
if (pWeaponInfo)
93-
{
94-
CWeaponModelInfo* pWeaponModelInfo = static_cast<CWeaponModelInfo*>(CModelInfo::GetModelInfo(pWeaponInfo->m_nModelId1));
95-
if (pWeaponModelInfo)
96-
{
97-
ProcessNodesRecursive((RwFrame *)pPed->m_pRwClump->object.parent, pPed, eNodeEntityType::Weapon);
98-
}
99-
}
100-
}
101-
102-
};
103-
}
77+
// weapons
78+
CWeapon *pWeapon = &pPed->m_aWeapons[pPed->m_nActiveWeaponSlot];
79+
if (pWeapon) {
80+
eWeaponType weaponType = pWeapon->m_eWeaponType;
81+
CWeaponInfo* pWeaponInfo = CWeaponInfo::GetWeaponInfo(weaponType, pPed->GetWeaponSkill(weaponType));
82+
if (pWeaponInfo) {
83+
CWeaponModelInfo* pWeaponModelInfo = static_cast<CWeaponModelInfo*>(CModelInfo::GetModelInfo(pWeaponInfo->m_nModelId1));
84+
if (pWeaponModelInfo) {
85+
ProcessNodesRecursive((RwFrame *)pPed->m_pRwClump->object.parent, pPed, eNodeEntityType::Weapon);
86+
}
87+
}
88+
}
89+
90+
};
91+
}
10492
return TRUE;
10593
}
10694

src/features/vehicle/brakes.cpp

Lines changed: 95 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -5,134 +5,108 @@ FrontBrakeFeature FrontBrake;
55
RearBrakeFeature RearBrake;
66

77
void FrontBrakeFeature::Initialize(RwFrame* pFrame, CVehicle* pVeh) {
8-
VehData &data = vehData.Get(pVeh);
9-
std::string name = GetFrameNodeName(pFrame);
10-
data.m_nMaxRotation = std::stoi(Util::GetRegexVal(name, ".*_(-?[0-9]+).*", "0"));
11-
data.m_nWaitTime = static_cast<unsigned int>(abs(data.m_nMaxRotation / 5));
12-
8+
VehData &data = vehData.Get(pVeh);
9+
std::string name = GetFrameNodeName(pFrame);
10+
data.m_nMaxRotation = std::stoi(Util::GetRegexVal(name, ".*_(-?[0-9]+).*", "0"));
11+
data.m_nWaitTime = static_cast<unsigned int>(abs(data.m_nMaxRotation / 5));
12+
1313
}
1414

1515
void RearBrakeFeature::Initialize(RwFrame* pFrame, CVehicle* pVeh) {
16-
VehData &data = vehData.Get(pVeh);
17-
std::string name = GetFrameNodeName(pFrame);
18-
data.m_nMaxRotation = std::stoi(Util::GetRegexVal(name, ".*_(-?[0-9]+).*", "0"));
19-
data.m_nWaitTime = static_cast<unsigned int>(abs(data.m_nMaxRotation / 5));
20-
16+
VehData &data = vehData.Get(pVeh);
17+
std::string name = GetFrameNodeName(pFrame);
18+
data.m_nMaxRotation = std::stoi(Util::GetRegexVal(name, ".*_(-?[0-9]+).*", "0"));
19+
data.m_nWaitTime = static_cast<unsigned int>(abs(data.m_nMaxRotation / 5));
20+
2121
}
2222

2323
void FrontBrakeFeature::Process(RwFrame* frame, CVehicle* pVeh) {
24-
std::string name = GetFrameNodeName(frame);
25-
if (name.find("x_fbrake") != std::string::npos)
26-
{
27-
VehData &data = vehData.Get(pVeh);
28-
29-
if (!data.m_bInitialized)
30-
{
31-
Initialize(frame, pVeh);
32-
data.m_bInitialized = true;
33-
}
34-
35-
uint timer = CTimer::m_snTimeInMilliseconds * CTimer::ms_fTimeScale;;
36-
uint deltaTime = (timer - data.m_nLastFrameMS);
37-
38-
if (deltaTime > data.m_nWaitTime)
39-
{
40-
float temp;
41-
if (pVeh->m_nVehicleFlags.bIsHandbrakeOn && data.m_nCurRotation != data.m_nMaxRotation)
42-
{
43-
if (data.m_nMaxRotation < data.m_nCurRotation)
44-
{
45-
data.m_nCurRotation -= 1;
46-
temp = -1;
47-
}
48-
else
49-
{
50-
data.m_nCurRotation += 1;
51-
temp = 1;
52-
}
53-
54-
Util::RotateFrameZ(frame, temp);
55-
data.m_nLastFrameMS = timer;
56-
}
57-
else
58-
{
59-
if (data.m_nCurRotation != 0)
60-
{
61-
if (data.m_nMaxRotation > 0)
62-
{
63-
data.m_nCurRotation -= 1;
64-
temp = -1;
65-
}
66-
else
67-
{
68-
data.m_nCurRotation += 1;
69-
temp = 1;
70-
}
71-
72-
Util::RotateFrameZ(frame, temp);
73-
data.m_nLastFrameMS = timer;
74-
}
75-
}
76-
}
77-
}
78-
79-
IFeature::Process(frame, pVeh);
24+
std::string name = GetFrameNodeName(frame);
25+
if (name.find("x_fbrake") != std::string::npos) {
26+
VehData &data = vehData.Get(pVeh);
27+
28+
if (!data.m_bInitialized) {
29+
Initialize(frame, pVeh);
30+
data.m_bInitialized = true;
31+
}
32+
33+
uint timer = CTimer::m_snTimeInMilliseconds * CTimer::ms_fTimeScale;;
34+
uint deltaTime = (timer - data.m_nLastFrameMS);
35+
36+
if (deltaTime > data.m_nWaitTime) {
37+
float temp;
38+
if (pVeh->m_nVehicleFlags.bIsHandbrakeOn && data.m_nCurRotation != data.m_nMaxRotation) {
39+
if (data.m_nMaxRotation < data.m_nCurRotation) {
40+
data.m_nCurRotation -= 1;
41+
temp = -1;
42+
} else {
43+
data.m_nCurRotation += 1;
44+
temp = 1;
45+
}
46+
47+
Util::RotateFrameZ(frame, temp);
48+
data.m_nLastFrameMS = timer;
49+
} else {
50+
if (data.m_nCurRotation != 0) {
51+
if (data.m_nMaxRotation > 0) {
52+
data.m_nCurRotation -= 1;
53+
temp = -1;
54+
} else {
55+
data.m_nCurRotation += 1;
56+
temp = 1;
57+
}
58+
59+
Util::RotateFrameZ(frame, temp);
60+
data.m_nLastFrameMS = timer;
61+
}
62+
}
63+
}
64+
}
65+
66+
IFeature::Process(frame, pVeh);
8067
}
8168

8269
void RearBrakeFeature::Process(RwFrame* frame, CVehicle* pVeh) {
83-
std::string name = GetFrameNodeName(frame);
84-
if (name.find("x_rbrake") != std::string::npos)
85-
{
86-
VehData &data = vehData.Get(pVeh);
87-
88-
if (!data.m_bInitialized)
89-
{
90-
Initialize(frame, pVeh);
91-
data.m_bInitialized = true;
92-
}
93-
94-
uint timer = CTimer::m_snTimeInMilliseconds * CTimer::ms_fTimeScale;;
95-
uint deltaTime = (timer - data.m_nLastFrameMS);
96-
97-
if (deltaTime > data.m_nWaitTime)
98-
{
99-
float temp;
100-
if (pVeh->m_fBreakPedal && data.m_nCurRotation != data.m_nMaxRotation)
101-
{
102-
if (data.m_nMaxRotation < data.m_nCurRotation)
103-
{
104-
data.m_nCurRotation -= 1;
105-
temp = -1;
106-
}
107-
else
108-
{
109-
data.m_nCurRotation += 1;
110-
temp = 1;
111-
}
112-
113-
Util::RotateFrameX(frame, temp);
114-
data.m_nLastFrameMS = timer;
115-
}
116-
else
117-
{
118-
if (data.m_nCurRotation != 0)
119-
{
120-
if (data.m_nMaxRotation > 0)
121-
{
122-
data.m_nCurRotation -= 1;
123-
temp = -1;
124-
}
125-
else
126-
{
127-
data.m_nCurRotation += 1;
128-
temp = 1;
129-
}
130-
131-
Util::RotateFrameX(frame, temp);
132-
data.m_nLastFrameMS = timer;
133-
}
134-
}
135-
}
136-
}
137-
IFeature::Process(frame, pVeh);
70+
std::string name = GetFrameNodeName(frame);
71+
if (name.find("x_rbrake") != std::string::npos) {
72+
VehData &data = vehData.Get(pVeh);
73+
74+
if (!data.m_bInitialized) {
75+
Initialize(frame, pVeh);
76+
data.m_bInitialized = true;
77+
}
78+
79+
uint timer = CTimer::m_snTimeInMilliseconds * CTimer::ms_fTimeScale;;
80+
uint deltaTime = (timer - data.m_nLastFrameMS);
81+
82+
if (deltaTime > data.m_nWaitTime) {
83+
float temp;
84+
if (pVeh->m_fBreakPedal && data.m_nCurRotation != data.m_nMaxRotation) {
85+
if (data.m_nMaxRotation < data.m_nCurRotation) {
86+
data.m_nCurRotation -= 1;
87+
temp = -1;
88+
} else {
89+
data.m_nCurRotation += 1;
90+
temp = 1;
91+
}
92+
93+
Util::RotateFrameX(frame, temp);
94+
data.m_nLastFrameMS = timer;
95+
} else {
96+
if (data.m_nCurRotation != 0) {
97+
if (data.m_nMaxRotation > 0) {
98+
data.m_nCurRotation -= 1;
99+
temp = -1;
100+
} else {
101+
data.m_nCurRotation += 1;
102+
temp = 1;
103+
}
104+
105+
Util::RotateFrameX(frame, temp);
106+
data.m_nLastFrameMS = timer;
107+
}
108+
}
109+
}
110+
}
111+
IFeature::Process(frame, pVeh);
138112
}

0 commit comments

Comments
 (0)