Skip to content

Commit

Permalink
Update to v2.17.151825
Browse files Browse the repository at this point in the history
  • Loading branch information
Leopard20 committed May 18, 2024
1 parent cd8774d commit cb74d65
Show file tree
Hide file tree
Showing 9 changed files with 105 additions and 22 deletions.
2 changes: 1 addition & 1 deletion src/client/headers/client/sqf/eden.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ namespace intercept {
using eden_entity = game_value;
bool remove_3den_connection(sqf_string_const_ref type_, eden_entity from_, eden_entity to_);
//#undocumented
void clear_3den_attribute(const game_value &unknown_, sqf_string_const_ref attribute_);
bool clear_3den_attribute(const game_value &unknown_, sqf_string_const_ref attribute_);
eden_entity create_3den_entity(const group &group_, sqf_string_const_ref mode_, sqf_string_const_ref class_, const vector3 &position_, bool is_empty = false);
//Not fully implemented
std::vector<game_value> get_3den_attribute(std::variant<std::reference_wrapper<const object>, std::reference_wrapper<const group>, sqf_string_const_ref_wrapper, std::reference_wrapper<float>> entity_, sqf_string_const_ref attribute_);
Expand Down
3 changes: 3 additions & 0 deletions src/client/headers/client/sqf/sound.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ namespace intercept {
float get_sound_controller(const object &vehicle_, sqf_string_const_ref controller_);
float get_sound_controller_result(const object &object_, const config &config_entry_);
object create_sound_source(sqf_string_const_ref type_, const vector3 &pos_, const std::vector<marker> &markers_ = {}, float placement_ = 0.0f);
object create_sound_source(sqf_string_const_ref type_, const object &obj_, const std::vector<marker> &markers_ = {}, float placement_ = 0.0f);
object create_sound_source_local(sqf_string_const_ref type_, const vector3 &pos_, const std::vector<marker> &markers_ = {}, float placement_ = 0.0f);
object create_sound_source_local(sqf_string_const_ref type_, const object &obj_, const std::vector<marker> &markers_ = {}, float placement_ = 0.0f);
float radio_volume();
float music_volume();

Expand Down
24 changes: 23 additions & 1 deletion src/client/headers/client/sqf/world.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -448,6 +448,28 @@ namespace intercept {
void set_terrain_height(const std::vector<vector3> &positions_, bool adjust_objs_);

rv_hashmap get_mission_options();
void set_mission_options(const rv_hashmap& options_);
void set_mission_options(const rv_hashmap &options_);

struct rv_camera_info {
struct r2t {
sqf_string r2t_name; // the camera's RTT name (see cameraEffect);
sqf_string r2t_effect_name; // see cameraEffect for possible values;
sqf_string pp_effect_type; // one of Normal, NightVision, Thermal, Colors, Mirror, ChromAber or FilmGrain;
float TIIndex; // see setCamUseTI for possible values;
explicit r2t(const game_value &gv_) : r2t_name{gv_[0]},
r2t_effect_name{gv_[1]},
pp_effect_type{gv_[2]},
TIIndex{gv_[3]} {}
};
object camera; // the camera itself (see camCreate);
std::vector<r2t> r2t_infos; // [r2tName, r2tEffectName, ppEffectType, TIindex]
sqf_string effect_name; // (Optional, only available if isPrimary is true) see cameraEffect for possible values;
float view_mode; // (Optional, only available if isPrimary is true) 0 = normal, 1 = NVG, 2 = TI, 3 = NVG + TI;
float TIIndex; // (Optional, only available if isPrimary is true) see setCamUseTI for possible values;
bool is_primary; // whether or not this camera is the current main one
explicit rv_camera_info(const game_value &gv_);
};

std::vector<rv_camera_info> all_cameras();
} // namespace sqf
} // namespace intercept
12 changes: 7 additions & 5 deletions src/client/headers/client/sqf_assignments.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//Exported Pointer Assignments For: Arma 3 217.151686 - Diag
//Exported Pointer Assignments For: Arma 3 217.151825 - Diag


// Unary Functions
Expand Down Expand Up @@ -198,6 +198,7 @@ __sqf::unary__createmarkerlocal__array__ret__string = (unary_function)host::func
__sqf::unary__createmine__array__ret__object = (unary_function)host::functions.get_unary_function_typed("createmine"sv, "ARRAY"sv);
__sqf::unary__createsimpleobject__array__ret__object = (unary_function)host::functions.get_unary_function_typed("createsimpleobject"sv, "ARRAY"sv);
__sqf::unary__createsoundsource__array__ret__object = (unary_function)host::functions.get_unary_function_typed("createsoundsource"sv, "ARRAY"sv);
__sqf::unary__createsoundsourcelocal__array__ret__object = (unary_function)host::functions.get_unary_function_typed("createsoundsourcelocal"sv, "ARRAY"sv);
__sqf::unary__createteam__array__ret__team_member = (unary_function)host::functions.get_unary_function_typed("createteam"sv, "ARRAY"sv);
__sqf::unary__createtrigger__array__ret__object = (unary_function)host::functions.get_unary_function_typed("createtrigger"sv, "ARRAY"sv);
__sqf::unary__createvehicle__array__ret__object = (unary_function)host::functions.get_unary_function_typed("createvehicle"sv, "ARRAY"sv);
Expand Down Expand Up @@ -453,10 +454,10 @@ __sqf::unary__get3denactionstate__string__ret__scalar = (unary_function)host::fu
__sqf::unary__get3denconnections__any__ret__array = (unary_function)host::functions.get_unary_function_typed("get3denconnections"sv, "ANY"sv);
__sqf::unary__get3denentity__scalar__ret__any = (unary_function)host::functions.get_unary_function_typed("get3denentity"sv, "SCALAR"sv);
__sqf::unary__get3denentityid__any__ret__scalar = (unary_function)host::functions.get_unary_function_typed("get3denentityid"sv, "ANY"sv);
__sqf::unary__get3dengrid__string__ret__nothing = (unary_function)host::functions.get_unary_function_typed("get3dengrid"sv, "STRING"sv);
__sqf::unary__get3denlayer__scalar_string__ret__nothing = (unary_function)host::functions.get_unary_function_typed("get3denlayer"sv, "ARRAY"sv);
__sqf::unary__get3dengrid__string__ret__scalar = (unary_function)host::functions.get_unary_function_typed("get3dengrid"sv, "STRING"sv);
__sqf::unary__get3denlayer__scalar_string__ret__scalar = (unary_function)host::functions.get_unary_function_typed("get3denlayer"sv, "ARRAY"sv);
__sqf::unary__get3denlayerentities__scalar__ret__array = (unary_function)host::functions.get_unary_function_typed("get3denlayerentities"sv, "SCALAR"sv);
__sqf::unary__get3denparent__scalar_string__ret__nothing = (unary_function)host::functions.get_unary_function_typed("get3denparent"sv, "ARRAY"sv);
__sqf::unary__get3denparent__scalar_string__ret__any = (unary_function)host::functions.get_unary_function_typed("get3denparent"sv, "ARRAY"sv);
__sqf::unary__get3denselected__string__ret__array = (unary_function)host::functions.get_unary_function_typed("get3denselected"sv, "STRING"sv);
__sqf::unary__getaimingcoef__object__ret__scalar = (unary_function)host::functions.get_unary_function_typed("getaimingcoef"sv, "OBJECT"sv);
__sqf::unary__getallenv3dsoundcontrollers__object__ret__array = (unary_function)host::functions.get_unary_function_typed("getallenv3dsoundcontrollers"sv, "OBJECT"sv);
Expand Down Expand Up @@ -1577,7 +1578,7 @@ __sqf::binary__catch__exception__code__ret__any = (binary_function)host::functio
__sqf::binary__cbsetchecked__control__bool__ret__nothing = (binary_function)host::functions.get_binary_function_typed("cbsetchecked"sv, "CONTROL"sv, "BOOL"sv);
__sqf::binary__checkaifeature__object__string__ret__bool = (binary_function)host::functions.get_binary_function_typed("checkaifeature"sv, "OBJECT"sv, "STRING"sv);
__sqf::binary__checkvisibility__array__array__ret__scalar = (binary_function)host::functions.get_binary_function_typed("checkvisibility"sv, "ARRAY"sv, "ARRAY"sv);
__sqf::binary__clear3denattribute__any__string__ret__nothing = (binary_function)host::functions.get_binary_function_typed("clear3denattribute"sv, "ANY"sv, "STRING"sv);
__sqf::binary__clear3denattribute__any__string__ret__bool = (binary_function)host::functions.get_binary_function_typed("clear3denattribute"sv, "ANY"sv, "STRING"sv);
__sqf::binary__closedisplay__display__scalar__ret__nothing = (binary_function)host::functions.get_binary_function_typed("closedisplay"sv, "DISPLAY"sv, "SCALAR"sv);
__sqf::binary__collect3denhistory__array__code__ret__nothing = (binary_function)host::functions.get_binary_function_typed("collect3denhistory"sv, "ARRAY"sv, "CODE"sv);
__sqf::binary__commandartilleryfire__object_array__array__ret__nothing = (binary_function)host::functions.get_binary_function_typed("commandartilleryfire"sv, "ARRAY"sv, "ARRAY"sv);
Expand Down Expand Up @@ -2711,6 +2712,7 @@ __sqf::nular__all3denentities__ret__array = (nular_function)host::functions.get_
__sqf::nular__allactivetitleeffects__ret__array = (nular_function)host::functions.get_nular_function("allactivetitleeffects"sv);
__sqf::nular__alladdonsinfo__ret__array = (nular_function)host::functions.get_nular_function("alladdonsinfo"sv);
__sqf::nular__allairports__ret__array = (nular_function)host::functions.get_nular_function("allairports"sv);
__sqf::nular__allcameras__ret__array = (nular_function)host::functions.get_nular_function("allcameras"sv);
__sqf::nular__allcurators__ret__array = (nular_function)host::functions.get_nular_function("allcurators"sv);
__sqf::nular__allcutlayers__ret__array = (nular_function)host::functions.get_nular_function("allcutlayers"sv);
__sqf::nular__alldead__ret__array = (nular_function)host::functions.get_nular_function("alldead"sv);
Expand Down
12 changes: 7 additions & 5 deletions src/client/headers/client/sqf_pointers_declaration.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
//Exported Pointer Definitions For: Arma 3 217.151686 - Diag
//Exported Pointer Definitions For: Arma 3 217.151825 - Diag


// Unary Functions
Expand Down Expand Up @@ -198,6 +198,7 @@ static unary_function unary__createmarkerlocal__array__ret__string;
static unary_function unary__createmine__array__ret__object;
static unary_function unary__createsimpleobject__array__ret__object;
static unary_function unary__createsoundsource__array__ret__object;
static unary_function unary__createsoundsourcelocal__array__ret__object;
static unary_function unary__createteam__array__ret__team_member;
static unary_function unary__createtrigger__array__ret__object;
static unary_function unary__createvehicle__array__ret__object;
Expand Down Expand Up @@ -453,10 +454,10 @@ static unary_function unary__get3denactionstate__string__ret__scalar;
static unary_function unary__get3denconnections__any__ret__array;
static unary_function unary__get3denentity__scalar__ret__any;
static unary_function unary__get3denentityid__any__ret__scalar;
static unary_function unary__get3dengrid__string__ret__nothing;
static unary_function unary__get3denlayer__scalar_string__ret__nothing;
static unary_function unary__get3dengrid__string__ret__scalar;
static unary_function unary__get3denlayer__scalar_string__ret__scalar;
static unary_function unary__get3denlayerentities__scalar__ret__array;
static unary_function unary__get3denparent__scalar_string__ret__nothing;
static unary_function unary__get3denparent__scalar_string__ret__any;
static unary_function unary__get3denselected__string__ret__array;
static unary_function unary__getaimingcoef__object__ret__scalar;
static unary_function unary__getallenv3dsoundcontrollers__object__ret__array;
Expand Down Expand Up @@ -1577,7 +1578,7 @@ static binary_function binary__catch__exception__code__ret__any;
static binary_function binary__cbsetchecked__control__bool__ret__nothing;
static binary_function binary__checkaifeature__object__string__ret__bool;
static binary_function binary__checkvisibility__array__array__ret__scalar;
static binary_function binary__clear3denattribute__any__string__ret__nothing;
static binary_function binary__clear3denattribute__any__string__ret__bool;
static binary_function binary__closedisplay__display__scalar__ret__nothing;
static binary_function binary__collect3denhistory__array__code__ret__nothing;
static binary_function binary__commandartilleryfire__object_array__array__ret__nothing;
Expand Down Expand Up @@ -2711,6 +2712,7 @@ static nular_function nular__all3denentities__ret__array;
static nular_function nular__allactivetitleeffects__ret__array;
static nular_function nular__alladdonsinfo__ret__array;
static nular_function nular__allairports__ret__array;
static nular_function nular__allcameras__ret__array;
static nular_function nular__allcurators__ret__array;
static nular_function nular__allcutlayers__ret__array;
static nular_function nular__alldead__ret__array;
Expand Down
10 changes: 6 additions & 4 deletions src/client/headers/client/sqf_pointers_definitions.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,7 @@ unary_function __sqf::unary__createmarkerlocal__array__ret__string;
unary_function __sqf::unary__createmine__array__ret__object;
unary_function __sqf::unary__createsimpleobject__array__ret__object;
unary_function __sqf::unary__createsoundsource__array__ret__object;
unary_function __sqf::unary__createsoundsourcelocal__array__ret__object;
unary_function __sqf::unary__createteam__array__ret__team_member;
unary_function __sqf::unary__createtrigger__array__ret__object;
unary_function __sqf::unary__createvehicle__array__ret__object;
Expand Down Expand Up @@ -451,10 +452,10 @@ unary_function __sqf::unary__get3denactionstate__string__ret__scalar;
unary_function __sqf::unary__get3denconnections__any__ret__array;
unary_function __sqf::unary__get3denentity__scalar__ret__any;
unary_function __sqf::unary__get3denentityid__any__ret__scalar;
unary_function __sqf::unary__get3dengrid__string__ret__nothing;
unary_function __sqf::unary__get3denlayer__scalar_string__ret__nothing;
unary_function __sqf::unary__get3dengrid__string__ret__scalar;
unary_function __sqf::unary__get3denlayer__scalar_string__ret__scalar;
unary_function __sqf::unary__get3denlayerentities__scalar__ret__array;
unary_function __sqf::unary__get3denparent__scalar_string__ret__nothing;
unary_function __sqf::unary__get3denparent__scalar_string__ret__any;
unary_function __sqf::unary__get3denselected__string__ret__array;
unary_function __sqf::unary__getaimingcoef__object__ret__scalar;
unary_function __sqf::unary__getallenv3dsoundcontrollers__object__ret__array;
Expand Down Expand Up @@ -1575,7 +1576,7 @@ binary_function __sqf::binary__catch__exception__code__ret__any;
binary_function __sqf::binary__cbsetchecked__control__bool__ret__nothing;
binary_function __sqf::binary__checkaifeature__object__string__ret__bool;
binary_function __sqf::binary__checkvisibility__array__array__ret__scalar;
binary_function __sqf::binary__clear3denattribute__any__string__ret__nothing;
binary_function __sqf::binary__clear3denattribute__any__string__ret__bool;
binary_function __sqf::binary__closedisplay__display__scalar__ret__nothing;
binary_function __sqf::binary__collect3denhistory__array__code__ret__nothing;
binary_function __sqf::binary__commandartilleryfire__object_array__array__ret__nothing;
Expand Down Expand Up @@ -2709,6 +2710,7 @@ nular_function __sqf::nular__all3denentities__ret__array;
nular_function __sqf::nular__allactivetitleeffects__ret__array;
nular_function __sqf::nular__alladdonsinfo__ret__array;
nular_function __sqf::nular__allairports__ret__array;
nular_function __sqf::nular__allcameras__ret__array;
nular_function __sqf::nular__allcurators__ret__array;
nular_function __sqf::nular__allcutlayers__ret__array;
nular_function __sqf::nular__alldead__ret__array;
Expand Down
10 changes: 5 additions & 5 deletions src/client/intercept/client/sqf/eden.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ namespace intercept {
host::functions.invoke_raw_unary(__sqf::unary__do3denaction__string__ret__nothing, value_);
}
void get_eden_grid(sqf_string_const_ref value_) {
host::functions.invoke_raw_unary(__sqf::unary__get3dengrid__string__ret__nothing, value_);
host::functions.invoke_raw_unary(__sqf::unary__get3dengrid__string__ret__scalar, value_);
}
rv_eden_mouse_over get_eden_mouse_over() {
return rv_eden_mouse_over(host::functions.invoke_raw_nular(__sqf::nular__get3denmouseover__ret__array));
Expand Down Expand Up @@ -380,8 +380,8 @@ namespace intercept {
host::functions.invoke_raw_unary(__sqf::unary__set3denselected__array__ret__nothing, std::move(entities));
}

void clear_3den_attribute(const game_value &unknown_, sqf_string_const_ref attribute_) {
host::functions.invoke_raw_binary(__sqf::binary__clear3denattribute__any__string__ret__nothing, unknown_, attribute_);
bool clear_3den_attribute(const game_value &unknown_, sqf_string_const_ref attribute_) {
return host::functions.invoke_raw_binary(__sqf::binary__clear3denattribute__any__string__ret__bool, unknown_, attribute_);
}

eden_entity create_3den_entity(const group &group_, sqf_string_const_ref mode_, sqf_string_const_ref class_, const vector3 &position_, bool is_empty) {
Expand Down Expand Up @@ -438,11 +438,11 @@ namespace intercept {

int get_3den_layer(const object& obj_)
{
return host::functions.invoke_raw_unary(__sqf::unary__get3denlayer__scalar_string__ret__nothing, obj_);
return host::functions.invoke_raw_unary(__sqf::unary__get3denlayer__scalar_string__ret__scalar, obj_);
}

object get_3den_parent(const object& obj_) {
return host::functions.invoke_raw_unary(__sqf::unary__get3denparent__scalar_string__ret__nothing, obj_);
return host::functions.invoke_raw_unary(__sqf::unary__get3denparent__scalar_string__ret__any, obj_);
}

void ignore_3den_history(const code& code_) {
Expand Down
41 changes: 40 additions & 1 deletion src/client/intercept/client/sqf/sound.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -193,13 +193,52 @@ namespace intercept {
game_value args({
type_,
pos_,
std::move(markers),
markers,
placement_,
});

return object(host::functions.invoke_raw_unary(__sqf::unary__createsoundsource__array__ret__object, args));
}

object create_sound_source(sqf_string_const_ref type_, const object &obj_, const std::vector<marker> &markers_, float placement_) {
auto_array<game_value> markers(markers_.begin(), markers_.end());

game_value args({
type_,
obj_,
markers,
placement_,
});

return object(host::functions.invoke_raw_unary(__sqf::unary__createsoundsource__array__ret__object, args));
}

object create_sound_source_local(sqf_string_const_ref type_, const vector3 &pos_, const std::vector<marker> &markers_ /* = {}*/, float placement_ /* = 0.0f*/) {
auto_array<game_value> markers(markers_.begin(), markers_.end());

game_value args({
type_,
pos_,
markers,
placement_,
});

return object(host::functions.invoke_raw_unary(__sqf::unary__createsoundsourcelocal__array__ret__object, args));
}

object create_sound_source_local(sqf_string_const_ref type_, const object &obj_, const std::vector<marker> &markers_, float placement_) {
auto_array<game_value> markers(markers_.begin(), markers_.end());

game_value args({
type_,
obj_,
markers,
placement_,
});

return object(host::functions.invoke_raw_unary(__sqf::unary__createsoundsourcelocal__array__ret__object, args));
}

float sound_volume() {
return __helpers::__retrieve_nular_number(__sqf::nular__soundvolume__ret__scalar);
}
Expand Down
13 changes: 13 additions & 0 deletions src/client/intercept/client/sqf/world.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -693,5 +693,18 @@ namespace intercept {
void set_mission_options(const rv_hashmap &options_) {
host::functions.invoke_raw_unary(__sqf::unary__setmissionoptions__hashmap__ret__nothing, options_);
}

rv_camera_info::rv_camera_info(const game_value &gv_) : camera{gv_[0]},
r2t_infos{__helpers::__convert_to_vector<r2t>(gv_[1])},
effect_name{gv_[3]},
TIIndex{gv_[5]},
view_mode{gv_[4]},
is_primary{gv_[2]} {
}
std::vector<rv_camera_info> all_cameras()
{
return __helpers::__convert_to_vector<rv_camera_info>(host::functions.invoke_raw_nular(__sqf::nular__allcameras__ret__array));
}

} // namespace sqf
} // namespace intercept

0 comments on commit cb74d65

Please sign in to comment.