Skip to content

Commit e8b16d9

Browse files
authored
Merge pull request #117 from acidlabsdev/main
fix: miscellaneous
2 parents b830d76 + d425787 commit e8b16d9

33 files changed

Lines changed: 968 additions & 822 deletions

.editorconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ indent_size = 4
55
end_of_line = lf
66
insert_final_newline = true
77
charset = utf-8
8+
max_line_length = unset
89

910
[*.lua]
1011
indent_style = tab

SSV2/includes/classes/gta/CBaseSubHandlingData.lua

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,17 @@ local CStructView = require("includes.classes.gta.CStructView")
1717
---@field protected m_ptr pointer
1818
---@field protected m_handling_type pointer<int32_t> -- 0x00C8
1919
---@overload fun(ptr: pointer): CBaseSubHandlingData
20-
local CBaseSubHandlingData = CStructView("CBaseSubHandlingData", {
21-
{ "m_handling_type", 0x00C8 }
22-
}, 0x00CC)
20+
local CBaseSubHandlingData = CStructView("CBaseSubHandlingData", 0x00CC)
21+
22+
---@param ptr pointer
23+
---@return CBaseSubHandlingData
24+
function CBaseSubHandlingData.new(ptr)
25+
return setmetatable({
26+
m_ptr = ptr,
27+
m_handling_type = ptr:add(0x00C8)
28+
---@diagnostic disable-next-line: param-type-mismatch
29+
}, CBaseSubHandlingData)
30+
end
2331

2432
---@return eHandlingType
2533
function CBaseSubHandlingData:GetHandlingType()

SSV2/includes/classes/gta/CBikeHandlingData.lua

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ local CStructView = require("includes.classes.gta.CStructView")
1313
--------------------------------------
1414
-- Class: CBikeHandlingData
1515
--------------------------------------
16-
---@class CBikeHandlingData : CBaseSubHandlingData
17-
---@field protected m_ptr pointer
16+
---@class CBikeHandlingData : CStructBase<CBikeHandlingData>
1817
---@field m_lean_fwd_com_mult pointer<float> -- 0x0008
1918
---@field m_lean_fwd_force_mult pointer<float> -- 0x000C
2019
---@field m_lean_back_com_mult pointer<float> -- 0x0010
@@ -36,29 +35,37 @@ local CStructView = require("includes.classes.gta.CStructView")
3635
---@field m_unk_angle_0050 pointer<float> -- 0x0050
3736
---@field m_unk_angle_0054 pointer<float> -- 0x0054
3837
---@field m_jump_force_mult pointer<float> -- 0x0058
39-
---@overload fun(addr: pointer): CBikeHandlingData
40-
local CBikeHandlingData = CStructView("CBikeHandlingData", {
41-
{ "m_lean_fwd_com_mult", 0x0008 },
42-
{ "m_lean_fwd_force_mult", 0x000C },
43-
{ "m_lean_back_com_mult", 0x0010 },
44-
{ "m_lean_back_force_mult", 0x0014 },
45-
{ "m_max_bank_angle", 0x0018 },
46-
{ "m_anim_angle", 0x001C },
47-
{ "m_anim_angle_inv", 0x0020 },
48-
{ "m_unk_0024", 0x0024 },
49-
{ "m_lean_mult", 0x0028 },
50-
{ "m_brake_force_mult", 0x002C },
51-
{ "m_air_steer_mult", 0x0030 },
52-
{ "m_wheelie_balance_point", 0x0034 },
53-
{ "m_stoppie_balance_mult", 0x0038 },
54-
{ "m_wheelie_steer_mult", 0x003C },
55-
{ "m_rear_balance_mult", 0x0040 },
56-
{ "m_front_balance_mult", 0x0044 },
57-
{ "m_ground_side_friction_mult", 0x0048 },
58-
{ "m_wheel_ground_side_friction_mult", 0x004C },
59-
{ "m_unk_angle_0050", 0x0050 },
60-
{ "m_unk_angle_0054", 0x0054 },
61-
{ "m_jump_force_mult", 0x0058 },
62-
}, 0x005C)
38+
---@overload fun(ptr: pointer): CBikeHandlingData
39+
local CBikeHandlingData = CStructView("CBikeHandlingData", 0x005C)
40+
41+
---@param ptr pointer
42+
---@return CBikeHandlingData
43+
function CBikeHandlingData.new(ptr)
44+
return setmetatable({
45+
m_ptr = ptr,
46+
m_lean_fwd_com_mult = ptr:add(0x0008),
47+
m_lean_fwd_force_mult = ptr:add(0x000C),
48+
m_lean_back_com_mult = ptr:add(0x0010),
49+
m_lean_back_force_mult = ptr:add(0x0014),
50+
m_max_bank_angle = ptr:add(0x0018),
51+
m_anim_angle = ptr:add(0x001C),
52+
m_anim_angle_inv = ptr:add(0x0020),
53+
m_unk_0024 = ptr:add(0x0024),
54+
m_lean_mult = ptr:add(0x0028),
55+
m_brake_force_mult = ptr:add(0x002C),
56+
m_air_steer_mult = ptr:add(0x0030),
57+
m_wheelie_balance_point = ptr:add(0x0034),
58+
m_stoppie_balance_mult = ptr:add(0x0038),
59+
m_wheelie_steer_mult = ptr:add(0x003C),
60+
m_rear_balance_mult = ptr:add(0x0040),
61+
m_front_balance_mult = ptr:add(0x0044),
62+
m_ground_side_friction_mult = ptr:add(0x0048),
63+
m_wheel_ground_side_friction_mult = ptr:add(0x004C),
64+
m_unk_angle_0050 = ptr:add(0x0050),
65+
m_unk_angle_0054 = ptr:add(0x0054),
66+
m_jump_force_mult = ptr:add(0x0058),
67+
---@diagnostic disable-next-line: param-type-mismatch
68+
}, CBikeHandlingData)
69+
end
6370

6471
return CBikeHandlingData

SSV2/includes/classes/gta/CBoatHandlingData.lua

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@
77
-- * Provide a copy of or a link to the original license (GPL-3.0 or later); see LICENSE.md or <https://www.gnu.org/licenses/>.
88

99

10-
-- TODO
10+
local CStructView = require("includes.classes.gta.CStructView")
11+
12+
1113
--------------------------------------
1214
-- Class: CBoatHandlingData
1315
--------------------------------------
14-
---@class CBoatHandlingData : CBaseSubHandlingData
15-
local CBoatHandlingData = {}
16-
CBoatHandlingData.__index = CBoatHandlingData
16+
---@class CBoatHandlingData : CStructBase<CBoatHandlingData>
17+
---@overload fun(ptr: pointer): CBoatHandlingData
18+
local CBoatHandlingData = CStructView("CBoatHandlingData")
1719

1820
return CBoatHandlingData

SSV2/includes/classes/gta/CCarHandlingData.lua

Lines changed: 25 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
-- * Provide a copy of or a link to the original license (GPL-3.0 or later); see LICENSE.md or <https://www.gnu.org/licenses/>.
88

99

10-
local CStructView = require("includes.classes.gta.CStructView")
1110
local atArray = require("includes.classes.gta.atArray")
11+
local CStructView = require("includes.classes.gta.CStructView")
1212

1313

1414
--------------------------------------
1515
-- Class: CCarHandlingData
1616
--------------------------------------
17-
---@class CCarHandlingData : CBaseSubHandlingData
17+
---@class CCarHandlingData : CStructBase<CCarHandlingData>
1818
---@field protected m_ptr pointer
1919
---@field private m_size uint16_t
2020
---@field public m_back_end_popup_car_impulse_mult pointer<float> -- 0x0008
@@ -31,20 +31,28 @@ local atArray = require("includes.classes.gta.atArray")
3131
---@field public m_advanced_flags pointer<uint32_t> -- 0x003C
3232
---@field public m_advanced_data atArray<CAdvancedData> -- 0x0040
3333
---@overload fun(ptr: pointer): CCarHandlingData
34-
local CCarHandlingData = CStructView("CCarHandlingData", {
35-
{ "m_back_end_popup_car_impulse_mult", 0x0008 },
36-
{ "m_back_end_popup_building_impulse_mult", 0x000C },
37-
{ "m_back_end_popup_max_delta_speed", 0x0010 },
38-
{ "m_toe_front", 0x0014 },
39-
{ "m_toe_rear", 0x0018 },
40-
{ "m_camber_front", 0x001C },
41-
{ "m_camber_rear", 0x0020 },
42-
{ "m_castor", 0x0024 },
43-
{ "m_engine_resistance", 0x0028 },
44-
{ "m_max_drive_bias_transfer", 0x002C },
45-
{ "m_jumpforce_scale", 0x0030 },
46-
{ "m_advanced_flags", 0x003C },
47-
{ "m_advanced_data", 0x0040, atArray },
48-
}, 0x0048)
34+
local CCarHandlingData = CStructView("CCarHandlingData", 0x0048)
35+
36+
---@param ptr pointer
37+
---@return CCarHandlingData
38+
function CCarHandlingData.new(ptr)
39+
return setmetatable({
40+
m_ptr = ptr,
41+
m_back_end_popup_car_impulse_mult = ptr:add(0x0008),
42+
m_back_end_popup_building_impulse_mult = ptr:add(0x000C),
43+
m_back_end_popup_max_delta_speed = ptr:add(0x0010),
44+
m_toe_front = ptr:add(0x0014),
45+
m_toe_rear = ptr:add(0x0018),
46+
m_camber_front = ptr:add(0x001C),
47+
m_camber_rear = ptr:add(0x0020),
48+
m_castor = ptr:add(0x0024),
49+
m_engine_resistance = ptr:add(0x0028),
50+
m_max_drive_bias_transfer = ptr:add(0x002C),
51+
m_jumpforce_scale = ptr:add(0x0030),
52+
m_advanced_flags = ptr:add(0x003C),
53+
m_advanced_data = atArray(ptr:add(0x0040))
54+
---@diagnostic disable-next-line: param-type-mismatch
55+
}, CCarHandlingData)
56+
end
4957

5058
return CCarHandlingData

SSV2/includes/classes/gta/CEntity.lua

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,10 @@
99

1010
local fwDrawData = require("includes.classes.gta.fwDrawData")
1111

12-
---@ignore
13-
---@class CBaseModelInfo : GenericClass
14-
local CBaseModelInfo = GenericClass
1512

16-
---@ignore
17-
---@class CAttackers : GenericClass
18-
local CAttackers = GenericClass
13+
---@class CBaseModelInfo
14+
---@class CAttackers
15+
1916

2017
--------------------------------------
2118
-- Class: CEntity

SSV2/includes/classes/gta/CFiringPatternAlias.lua

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,21 @@ local CStructView = require("includes.classes.gta.CStructView")
1313
--------------------------------------
1414
-- Class: CFiringPatternAlias
1515
--------------------------------------
16-
---@class CFiringPatternAlias
16+
---@class CFiringPatternAlias : CStructBase<CFiringPatternAlias>
1717
---@field protected m_ptr pointer
1818
---@field m_firing_pattern_hash pointer<joaat_t> // 0x0
1919
---@field m_alias_hash pointer<joaat_t> // 0x4
2020
---@overload fun(ptr: pointer): CFiringPatternAlias
21-
local CFiringPatternAlias = CStructView("CFiringPatternAlias", {
22-
{ "m_firing_pattern_hash", 0x0 },
23-
{ "m_alias_hash", 0x4 },
24-
}, 0x8)
21+
local CFiringPatternAlias = CStructView("CFiringPatternAlias", 0x8)
22+
23+
---@param ptr pointer
24+
---@return CFiringPatternAlias
25+
function CFiringPatternAlias.new(ptr)
26+
return setmetatable({
27+
m_firing_pattern_hash = ptr:add(0x0),
28+
m_alias_hash = ptr:add(0x4)
29+
---@diagnostic disable-next-line: param-type-mismatch
30+
}, CFiringPatternAlias)
31+
end
2532

2633
return CFiringPatternAlias

SSV2/includes/classes/gta/CFlyingHandlingData.lua

Lines changed: 54 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ local CStructView = require("includes.classes.gta.CStructView")
1313
--------------------------------------
1414
-- Class: CFlyingHandlingData
1515
--------------------------------------
16-
---@class CFlyingHandlingData : CBaseSubHandlingData
16+
---@class CFlyingHandlingData : CStructBase<CFlyingHandlingData>
1717
---@field m_thrust pointer<float> -- 0x0008
1818
---@field m_thrust_falloff pointer<float> -- 0x000C
1919
---@field m_thrust_vectoring pointer<float> -- 0x0010
@@ -56,48 +56,58 @@ local CStructView = require("includes.classes.gta.CStructView")
5656
---@field m_afterburner_effect_force_mult pointer<float> -- 0x00BC
5757
---@field m_submerge_level pointer<float> -- 0x00C0
5858
---@field m_unk_lift_00C4 pointer<float> -- 0x00C4
59-
---@overload fun(addr: pointer): CFlyingHandlingData
60-
local CFlyingHandlingData = CStructView("CFlyingHandlingData", {
61-
{ "m_thrust", 0x0008 },
62-
{ "m_thrust_falloff", 0x000C },
63-
{ "m_thrust_vectoring", 0x0010 },
64-
{ "m_initial_thrust", 0x0014 },
65-
{ "m_initial_thrust_falloff", 0x0018 },
66-
{ "m_yaw_mult", 0x001C },
67-
{ "m_yaw_stability_mult", 0x0020 },
68-
{ "m_side_slip_mult", 0x0024 },
69-
{ "m_roll_mult", 0x002C },
70-
{ "m_roll_stability_mult", 0x0030 },
71-
{ "m_initial_roll_mult", 0x0034 },
72-
{ "m_pitch_mult", 0x0038 },
73-
{ "m_pitch_stability_mult", 0x003C },
74-
{ "m_initial_pitch_mult", 0x0040 },
75-
{ "m_lift_mult", 0x0044 },
76-
{ "m_unk_0048", 0x0048 },
77-
{ "m_dive_mult", 0x004C },
78-
{ "m_gear_down_drag_mult", 0x0050 },
79-
{ "m_gear_down_lift_mult", 0x0054 },
80-
{ "m_wind_force_mult", 0x0058 },
81-
{ "m_move_resistance", 0x005C },
82-
{ "m_turn_resistance", 0x0060 },
83-
{ "m_speed_resistance", 0x0070 },
84-
{ "m_gear_door_front_state", 0x0080 },
85-
{ "m_gear_door_rl_state", 0x0084 },
86-
{ "m_gear_door_rr_state", 0x0088 },
87-
{ "m_gear_door_rm_state", 0x008C },
88-
{ "m_turbulence_mag_max", 0x0090 },
89-
{ "m_turbulence_force_mult", 0x0094 },
90-
{ "m_turbulence_roll_torque_mult", 0x0098 },
91-
{ "m_body_damage_control_effect_mult", 0x00A0 },
92-
{ "m_unk_00A4", 0x00A4 },
93-
{ "m_ground_yaw_speed_max", 0x00A8 },
94-
{ "m_ground_yaw_speed_cap", 0x00AC },
95-
{ "m_glide_mult", 0x00B0 },
96-
{ "m_afterburner_effect_radius", 0x00B4 },
97-
{ "m_afterburner_effect_dist", 0x00B8 },
98-
{ "m_afterburner_effect_force_mult", 0x00BC },
99-
{ "m_submerge_level", 0x00C0 },
100-
{ "m_unk_lift_00C4", 0x00C4 },
101-
}, 0x00C8)
59+
---@overload fun(ptr: pointer): CFlyingHandlingData
60+
local CFlyingHandlingData = CStructView("CFlyingHandlingData", 0x00C8)
61+
62+
---@param ptr pointer
63+
---@return CFlyingHandlingData
64+
function CFlyingHandlingData.new(ptr)
65+
return setmetatable({
66+
m_ptr = ptr,
67+
m_thrust = ptr:add(0x0008),
68+
m_thrust_falloff = ptr:add(0x000C),
69+
m_thrust_vectoring = ptr:add(0x0010),
70+
m_initial_thrust = ptr:add(0x0014),
71+
m_initial_thrust_falloff = ptr:add(0x0018),
72+
m_yaw_mult = ptr:add(0x001C),
73+
m_yaw_stability_mult = ptr:add(0x0020),
74+
m_side_slip_mult = ptr:add(0x0024),
75+
m_initial_yaw_mult = ptr:add(0x0028),
76+
m_roll_mult = ptr:add(0x002C),
77+
m_roll_stability_mult = ptr:add(0x0030),
78+
m_initial_roll_mult = ptr:add(0x0034),
79+
m_pitch_mult = ptr:add(0x0038),
80+
m_pitch_stability_mult = ptr:add(0x003C),
81+
m_initial_pitch_mult = ptr:add(0x0040),
82+
m_lift_mult = ptr:add(0x0044),
83+
m_unk_0048 = ptr:add(0x0048),
84+
m_dive_mult = ptr:add(0x004C),
85+
m_gear_down_drag_mult = ptr:add(0x0050),
86+
m_gear_down_lift_mult = ptr:add(0x0054),
87+
m_wind_force_mult = ptr:add(0x0058),
88+
m_move_resistance = ptr:add(0x005C),
89+
m_turn_resistance = ptr:add(0x0060),
90+
m_speed_resistance = ptr:add(0x0070),
91+
m_gear_door_front_state = ptr:add(0x0080),
92+
m_gear_door_rl_state = ptr:add(0x0084),
93+
m_gear_door_rr_state = ptr:add(0x0088),
94+
m_gear_door_rm_state = ptr:add(0x008C),
95+
m_turbulence_mag_max = ptr:add(0x0090),
96+
m_turbulence_force_mult = ptr:add(0x0094),
97+
m_turbulence_roll_torque_mult = ptr:add(0x0098),
98+
m_turbulence_pitch_torque_mult = ptr:add(0x009C),
99+
m_body_damage_control_effect_mult = ptr:add(0x00A0),
100+
m_unk_00A4 = ptr:add(0x00A4),
101+
m_ground_yaw_speed_max = ptr:add(0x00A8),
102+
m_ground_yaw_speed_cap = ptr:add(0x00AC),
103+
m_glide_mult = ptr:add(0x00B0),
104+
m_afterburner_effect_radius = ptr:add(0x00B4),
105+
m_afterburner_effect_dist = ptr:add(0x00B8),
106+
m_afterburner_effect_force_mult = ptr:add(0x00BC),
107+
m_submerge_level = ptr:add(0x00C0),
108+
m_unk_lift_00C4 = ptr:add(0x00C4),
109+
---@diagnostic disable-next-line: param-type-mismatch
110+
}, CFlyingHandlingData)
111+
end
102112

103113
return CFlyingHandlingData

0 commit comments

Comments
 (0)