@@ -5,134 +5,108 @@ FrontBrakeFeature FrontBrake;
55RearBrakeFeature RearBrake;
66
77void 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
1515void 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
2323void 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
8269void 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