Skip to content

Commit 249106e

Browse files
committed
Support for 1.50
1 parent 1fd2023 commit 249106e

File tree

6 files changed

+90
-85
lines changed

6 files changed

+90
-85
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 1.50
2+
- Updated to support 1.50
3+
14
## 1.49
25
- Updated to support 1.49
36
- Reverted window volume changes

dist/ETS2/master.bank

-1.91 KB
Binary file not shown.

dist/ts-fmod-plugin.dll

0 Bytes
Binary file not shown.

ts-fmod-plugin/common.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
namespace common
44
{
5-
inline const char* plugin_version = "1.49";
6-
constexpr uint32_t supported_game_version = 49;
5+
inline const char* plugin_version = "1.50";
6+
constexpr uint32_t supported_game_version = 50;
77

88
inline FMOD_GUID get_guid(const std::string& s_guid)
99
{

ts-fmod-plugin/memory_structure.h

Lines changed: 81 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class unit_t // Size: 0x0010
3030

3131
static_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
{
3535
public:
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

122124
public:
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

166168
class 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)

ts-fmod-plugin/ts-fmod-plugin.rc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,8 @@ END
5151
//
5252

5353
VS_VERSION_INFO VERSIONINFO
54-
FILEVERSION 1,49,0,0
55-
PRODUCTVERSION 1,49,0,0
54+
FILEVERSION 1,50,0,0
55+
PRODUCTVERSION 1,50,0,0
5656
FILEFLAGSMASK 0x3fL
5757
#ifdef _DEBUG
5858
FILEFLAGS 0x1L
@@ -69,12 +69,12 @@ BEGIN
6969
BEGIN
7070
VALUE "CompanyName", "Dario Wouters"
7171
VALUE "FileDescription", "Sound Plugin for ATS/ETS2"
72-
VALUE "FileVersion", "1.49.0.0"
72+
VALUE "FileVersion", "1.50.0.0"
7373
VALUE "InternalName", "ts-fmod-plugin.dll"
7474
VALUE "LegalCopyright", "Copyright (C) 2023"
7575
VALUE "OriginalFilename", "ts-fmod-plugin.dll"
7676
VALUE "ProductName", "Sound Plugin for ATS/ETS2"
77-
VALUE "ProductVersion", "1.49.0.0"
77+
VALUE "ProductVersion", "1.50.0.0"
7878
END
7979
END
8080
BLOCK "VarFileInfo"

0 commit comments

Comments
 (0)