@@ -30,7 +30,7 @@ class unit_t // Size: 0x0010
3030
3131static_assert (sizeof (unit_t ) == 0x10 );
3232
33- class game_actor_u : public unit_t // Size: 0x0FF0
33+ class game_actor_u : public unit_t // Size: 0x1088
3434{
3535public:
3636 char pad_0010[8 ]; // 0x0010 (0x08)
@@ -42,82 +42,84 @@ class game_actor_u : public unit_t // Size: 0x0FF0
4242 char pad_0090[24 ]; // 0x0090 (0x18)
4343 class history_manager_u * history_manager; // 0x00A8 (0x08)
4444 class game_trailer_actor_u * game_trailer_actor; // 0x00B0 (0x08)
45- char pad_00B8[80 ]; // 0x00B8 (0x50 )
46- uint32_t current_camera; // 0x0108 (0x04) 2 = int, 1 = chase, 7 = top, 5 = roof, 4 = side_back, 3 = hood, 6 = side_front, 9 = cinematic, 0 = dev
47- char pad_010C [8 ]; // 0x010C (0x08)
48- uint32_t engine_state; // 0x0114 (0x04) 0 = engine off, 1 = starting, 2 = running, 3 = shutting down
49- char pad_0118[ 72 ]; // 0x0118 (0x48 )
50- float speed_limiter ; // 0x0160 (0x04 )
51- float road_speed_limit ; // 0x0164 (0x04 )
52- char pad_0168[ 52 ] ; // 0x0168 (0x34 )
53- uint16_t light_state ; // 0x019C (0x02) (flags) 6 = parking, 8 = low, 7 = high, 5 = beacons
54- char pad_019E[ 2 ]; // 0x019E (0x02 )
55- uint16_t additional_illumination ; // 0x01A0 (0x02) (flags) 3 = front, 4 = roof
56- char pad_01A2[ 14 ]; // 0x01A2 (0x0e )
57- float wipers_intermittent_time ; // 0x01B0 (0x04) Countdown before wipers move again when in intermittent setting
58- float wipers_position ; // 0x01B4 (0x04) 0 = down start, 1 = down end ???
59- float rpm ; // 0x01B8 (0x04)
60- float air_pressure ; // 0x01BC (0x04)
61- float brake_pressure; // 0x01C0 (0x04)
62- float max_air_pressure; // 0x01C4 (0x04)
63- char pad_01C8[ 8 ] ; // 0x01C8 (0x08 )
64- float oil_temp ; // 0x01D0 (0x04)
65- char pad_01D4[ 4 ]; // 0x01D4 (0x04 )
66- float water_temp; // 0x01D8 (0x04)
45+ char pad_00B8[88 ]; // 0x00B8 (0x58 )
46+ uint32_t current_camera; // 0x0110 (0x04) 2 = int, 1 = chase, 7 = top, 5 = roof, 4 = side_back, 3 = hood, 6 = side_front, 9 = cinematic, 0 = dev
47+ char pad_0114 [8 ]; // 0x0114 (0x08)
48+ uint32_t engine_state; // 0x011C (0x04) 0 = engine off, 1 = starting, 2 = running, 3 = shutting down
49+ char pad_0120[ 8 ]; // 0x0120 (0x08 )
50+ uint8_t parking_brake ; // 0x0128 (0x01 )
51+ char pad_0129[ 63 ] ; // 0x0129 (0x3f )
52+ float speed_limiter ; // 0x0168 (0x04 )
53+ float road_speed_limit ; // 0x016C (0x04)
54+ char pad_0170[ 52 ]; // 0x0170 (0x34 )
55+ uint16_t light_state ; // 0x01A4 (0x02) (flags) 6 = parking, 8 = low, 7 = high, 5 = beacons
56+ char pad_01A6[ 2 ]; // 0x01A6 (0x02 )
57+ uint16_t additional_illumination ; // 0x01A8 (0x02) (flags) 3 = front, 4 = roof
58+ char pad_01AA[ 14 ] ; // 0x01AA (0x0e)
59+ float wipers_intermittent_time ; // 0x01B8 (0x04) Countdown before wipers move again when in intermittent setting
60+ float wipers_position ; // 0x01BC (0x04) 0 = down start, 1 = down end ???
61+ float rpm; // 0x01C0 (0x04)
62+ float air_pressure; // 0x01C4 (0x04)
63+ float brake_pressure ; // 0x01C8 (0x04 )
64+ float max_air_pressure ; // 0x01CC (0x04)
65+ char pad_01D0[ 8 ]; // 0x01D0 (0x08 )
66+ float oil_temp; // 0x01D8 (0x04)
6767 char pad_01DC[4 ]; // 0x01DC (0x04)
68- float battery_voltage; // 0x01E0 (0x04)
69- char pad_01E4[8 ]; // 0x01E4 (0x08)
70- float turbo_pressure; // 0x01EC (0x04) ?
71- char pad_01F0[12 ]; // 0x01F0 (0x0c)
72- float light_switch; // 0x01FC (0x04) 0 = off, 0.5 = parking, 1 = low beam
73- float light_switch_state; // 0x0200 (0x04) 0 = off, 0.5 = parking, 1 = low beam (instant)
74- float high_beam_stick; // 0x0204 (0x04) 0 = off, 1 = on
75- float high_beam_state; // 0x0208 (0x04) 0 = off, 1 = on (instant)
76- float light_horn_stick; // 0x020C (0x04) 0 = off, 1 = on
77- float light_horn_state; // 0x0210 (0x04) 0 = off, 1 = on (instant)
78- float indicator_stick; // 0x0214 (0x04) 0 = left indicator, 0.5 = none, 1 = right
79- float indicator_state; // 0x0218 (0x04) 0 = left indicator, 0.5 = none, 1 = right (instant)
80- float hazard_warning_btn; // 0x021C (0x04) 0 = off, 1 = on
81- float hazard_warning_state; // 0x0220 (0x04) 0 = off, 1 = on (instant)
82- float beacon_switch; // 0x0224 (0x04) 0 = off, 1 = on
83- float beacon_state; // 0x0228 (0x04) 0 = off, 1 = on (instant)
84- char pad_022C[8 ]; // 0x022C (0x08)
85- float handbrake_handle; // 0x0234 (0x04) 0 = off, 1 = on
86- float handbrake_state; // 0x0238 (0x04) 0 = off, 1 = on (instant)
87- char pad_023C[8 ]; // 0x023C (0x08)
88- float engine_brake_stick; // 0x0244 (0x04) 0 = off, 1 = full; steps dependant on engine data
89- float engine_brake_state; // 0x0248 (0x04) 0 = off, 1 = full (instant); steps dependant on engine data
90- char pad_024C[20 ]; // 0x024C (0x14)
91- float wipers_stick; // 0x0260 (0x04) 0 = off, 0.333 = intermittent, 0.666 = slow, 1 = fast
92- float wipers_state; // 0x0264 (0x04) 0 = off, 0.333 = intermittent, 0.666 = slow, 1 = fast (instant)
93- char pad_0268[12 ]; // 0x0268 (0x0c)
94- uint8_t left_window_moving_direction; // 0x0274 (0x01) 1 = got to end down; 2 = got to end up; 16 = down; 32 = up
95- uint8_t is_left_window_moving; // 0x0275 (0x01) 1 = down auto; 16 = down holding btn; 2 = auto up; 32 = up holding button
96- char pad_0276[2 ]; // 0x0276 (0x02)
97- float left_window_state; // 0x0278 (0x04) 0 = up; 1 = down
98- float left_window_btn; // 0x027C (0x04) 0 = up; 0.5 off; 1 = down
99- float left_window_btn_state; // 0x0280 (0x04) 0 = up; 0.5 off; 1 = down (instant)
100- float N00002B28; // 0x0284 (0x04)
101- char pad_0288[4 ]; // 0x0288 (0x04)
102- uint8_t right_window_moving_direction; // 0x028C (0x01) 1 = got to end down; 2 = got to end up; 16 = down; 32 = up
103- uint8_t is_right_window_moving; // 0x028D (0x01) 1 = down auto; 16 = down holding btn; 2 = auto up; 32 = up holding button
104- char pad_028E[2 ]; // 0x028E (0x02)
105- float right_window_state; // 0x0290 (0x04) 0 = up; 1 = down
106- float right_window_btn; // 0x0294 (0x04) 0 = up; 0.5 off; 1 = down
107- float right_window_btn_state; // 0x0298 (0x04) 0 = up; 0.5 off; 1 = down (instant)
108- char pad_029C[1828 ]; // 0x029C (0x724)
109- class N00009B3C * N00002C10; // 0x09C0 (0x08)
110- char pad_09C8[144 ]; // 0x09C8 (0x90)
111- class model_object_u * model_object; // 0x0A58 (0x08)
112- char pad_0A60[16 ]; // 0x0A60 (0x10)
113- class physics_gearbox_sequential_u * physics_gearbox_sequential; // 0x0A70 (0x08)
114- class physics_gearbox_automatic_u * physics_gearbox_automatic; // 0x0A78 (0x08)
115- class physics_gearbox_direct_u * physics_gearbox_direct; // 0x0A80 (0x08)
116- char pad_0A88[8 ]; // 0x0A88 (0x08)
117- class accessory_head_lights_data_u * accessory_head_lights_data; // 0x0A90 (0x08)
118- char pad_0A98[1096 ]; // 0x0A98 (0x448)
119- token_t N00002CB4; // 0x0EE0 (0x08)
120- char pad_0EE8[264 ]; // 0x0EE8 (0x108)
68+ float water_temp; // 0x01E0 (0x04)
69+ char pad_01E4[4 ]; // 0x01E4 (0x04)
70+ float battery_voltage; // 0x01E8 (0x04)
71+ char pad_01EC[8 ]; // 0x01EC (0x08)
72+ float turbo_pressure; // 0x01F4 (0x04) ?
73+ char pad_01F8[12 ]; // 0x01F8 (0x0c)
74+ float light_switch; // 0x0204 (0x04) 0 = off, 0.5 = parking, 1 = low beam
75+ float light_switch_state; // 0x0208 (0x04) 0 = off, 0.5 = parking, 1 = low beam (instant)
76+ float high_beam_stick; // 0x020C (0x04) 0 = off, 1 = on
77+ float high_beam_state; // 0x0210 (0x04) 0 = off, 1 = on (instant)
78+ float light_horn_stick; // 0x0214 (0x04) 0 = off, 1 = on
79+ float light_horn_state; // 0x0218 (0x04) 0 = off, 1 = on (instant)
80+ float indicator_stick; // 0x021C (0x04) 0 = left indicator, 0.5 = none, 1 = right
81+ float indicator_state; // 0x0220 (0x04) 0 = left indicator, 0.5 = none, 1 = right (instant)
82+ float hazard_warning_btn; // 0x0224 (0x04) 0 = off, 1 = on
83+ float hazard_warning_state; // 0x0228 (0x04) 0 = off, 1 = on (instant)
84+ float beacon_switch; // 0x022C (0x04) 0 = off, 1 = on
85+ float beacon_state; // 0x0230 (0x04) 0 = off, 1 = on (instant)
86+ char pad_0234[8 ]; // 0x0234 (0x08)
87+ float handbrake_handle; // 0x023C (0x04) 0 = off, 1 = on
88+ float handbrake_state; // 0x0240 (0x04) 0 = off, 1 = on (instant)
89+ char pad_0244[8 ]; // 0x0244 (0x08)
90+ float engine_brake_stick; // 0x024C (0x04) 0 = off, 1 = full; steps dependant on engine data
91+ float engine_brake_state; // 0x0250 (0x04) 0 = off, 1 = full (instant); steps dependant on engine data
92+ char pad_0254[20 ]; // 0x0254 (0x14)
93+ float wipers_stick; // 0x0268 (0x04) 0 = off, 0.333 = intermittent, 0.666 = slow, 1 = fast
94+ float wipers_state; // 0x026C (0x04) 0 = off, 0.333 = intermittent, 0.666 = slow, 1 = fast (instant)
95+ char pad_0270[12 ]; // 0x0270 (0x0c)
96+ uint8_t left_window_moving_direction; // 0x027C (0x01) 1 = got to end down; 2 = got to end up; 16 = down; 32 = up
97+ uint8_t is_left_window_moving; // 0x027D (0x01) 1 = down auto; 16 = down holding btn; 2 = auto up; 32 = up holding button
98+ char pad_027E[2 ]; // 0x027E (0x02)
99+ float left_window_state; // 0x0280 (0x04) 0 = up; 1 = down
100+ float left_window_btn; // 0x0284 (0x04) 0 = up; 0.5 off; 1 = down
101+ float left_window_btn_state; // 0x0288 (0x04) 0 = up; 0.5 off; 1 = down (instant)
102+ float N00002B28; // 0x028C (0x04)
103+ char pad_0290[4 ]; // 0x0290 (0x04)
104+ uint8_t right_window_moving_direction; // 0x0294 (0x01) 1 = got to end down; 2 = got to end up; 16 = down; 32 = up
105+ uint8_t is_right_window_moving; // 0x0295 (0x01) 1 = down auto; 16 = down holding btn; 2 = auto up; 32 = up holding button
106+ char pad_0296[2 ]; // 0x0296 (0x02)
107+ float right_window_state; // 0x0298 (0x04) 0 = up; 1 = down
108+ float right_window_btn; // 0x029C (0x04) 0 = up; 0.5 off; 1 = down
109+ float right_window_btn_state; // 0x02A0 (0x04) 0 = up; 0.5 off; 1 = down (instant)
110+ char pad_02A4[1884 ]; // 0x02A4 (0x75c)
111+ class N00009B3C * N00002C10; // 0x0A00 (0x08)
112+ char pad_0A08[144 ]; // 0x0A08 (0x90)
113+ class model_object_u * model_object; // 0x0A98 (0x08)
114+ char pad_0AA0[16 ]; // 0x0AA0 (0x10)
115+ class physics_gearbox_sequential_u * physics_gearbox_sequential; // 0x0AB0 (0x08)
116+ class physics_gearbox_automatic_u * physics_gearbox_automatic; // 0x0AB8 (0x08)
117+ class physics_gearbox_direct_u * physics_gearbox_direct; // 0x0AC0 (0x08)
118+ char pad_0AC8[8 ]; // 0x0AC8 (0x08)
119+ class accessory_head_lights_data_u * accessory_head_lights_data; // 0x0AD0 (0x08)
120+ char pad_0AD8[1184 ]; // 0x0AD8 (0x4a0)
121+ token_t N00002CB4; // 0x0F78 (0x08)
122+ char pad_0F80[264 ]; // 0x0F80 (0x108)
121123
122124public:
123125 float get_light_switch_state () const
@@ -161,7 +163,7 @@ class game_actor_u : public unit_t // Size: 0x0FF0
161163 }
162164};
163165
164- static_assert (sizeof (game_actor_u) == 0xFF0 );
166+ static_assert (sizeof (game_actor_u) == 0x1088 );
165167
166168class sound_t
167169{
@@ -219,8 +221,8 @@ class unk_interior // still need to figure out what this actually is
219221 float cabin_out; // 0x00C0 (0x04)
220222 char pad_00C0[28 ]; // 0x00C4 (0x1c)
221223 vec2s_t window_state; // 0x00E0 (0x08) 0 = closed, 1 = open
222- char pad_00E8[1648 ]; // 0x00E8 (0x670 )
223- navigation_voice_event* now_playing_navigation_sound; // 0x0758 (0x08)
224+ char pad_00E8[1656 ]; // 0x00E8 (0x678 )
225+ navigation_voice_event* now_playing_navigation_sound; // 0x0760 (0x08)
224226 char pad_0768[96 ]; // 0x0760 (0x60)
225227 navigation_voice_event** navigation_sound_events; // 0x07C0 (0x08)
226228 int64_t navigation_sound_events_count; // 0x07C8 (0x08)
0 commit comments