Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion addons/interaction/XEH_preInit.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ DFUNC(repair_Statement) = { // moved from config because of build problems
};

if (hasInterface) then {
GVAR(initializedAnimClasses) = [];
GVAR(initializedAnimClasses) = createHashMap;
GVAR(replaceTerrainModels) = createHashMapFromArray call (uiNamespace getVariable QGVAR(cacheReplaceTerrainModels));
};

Expand Down
2 changes: 1 addition & 1 deletion addons/interaction/functions/fnc_initAnimActions.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ private _class = typeOf _object;

if (_class in GVAR(initializedAnimClasses)) exitWith {};

GVAR(initializedAnimClasses) pushBack _class;
GVAR(initializedAnimClasses) set [_class, nil];

private _statement = {
params ["_target", "_player", "_params"];
Expand Down
2 changes: 2 additions & 0 deletions addons/viewports/XEH_preInit.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ PREP_RECOMPILE_END;

#include "initSettings.inc.sqf"

GVAR(viewports) = createHashMap;

#ifdef POINT_CONFIG_DEBUG
call compileScript [QPATHTOF(dev\debugPoints.sqf)];
#endif
Expand Down
22 changes: 11 additions & 11 deletions addons/viewports/dev/debugPoints.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
if ((supportInfo "u:diag_mergeConfigFile") isNotEqualTo []) then {
call compile 'diag_mergeConfigFile ["P:\z\ace\addons\viewports\config.cpp"]';
};
{ _x setVariable [QGVAR(viewports), nil] } forEach vehicles;
GVAR(viewports) = createHashMap;
GVAR(3denIndex) = 0;
GVAR(3denViewports) = [];
true
Expand Down Expand Up @@ -111,19 +111,19 @@

// this runs in both threeden and in-game
addMissionEventHandler ["Draw3D", {
private _vehicle = vehicle player;
private _viewports = _vehicle getVariable [QGVAR(viewports), []];

if (is3DEN) then {
_vehicle = (get3DENSelected "object") param [0, objNull];
if (isNull _vehicle) exitWith {};
_viewports = [_vehicle] call FUNC(getViewports);
if (GVAR(3denViewports) isNotEqualTo []) then {
_viewports = GVAR(3denViewports);
};
private _vehicle = if (is3DEN) then {
(get3DENSelected "object") param [0, objNull]
} else {
vehicle player
};

if (isNull _vehicle) exitWith {};

private _viewports = if (is3DEN && {GVAR(3denViewports) isNotEqualTo []}) then {
GVAR(3denViewports)
} else {
_vehicle call FUNC(getViewports)
};

drawIcon3D ["#(argb,8,8,3)color(1,1,1,1)", [1,1,0,1], _vehicle modelToWorldVisual [0,0,0], 0.1, 0.1, 0, "", 1, 0.02, "TahomaB"];
if (alive player) then { // not using ace_player so this works in 3den
Expand Down
18 changes: 7 additions & 11 deletions addons/viewports/functions/fnc_getViewports.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@
* Gets viewports for a vehicle from config. Caches results to a setVar on the vic.
*
* Arguments:
* 0: vehicle <OBJECT>
* 0: Vehicle <OBJECT>
*
* Return Value:
* ARRAY
* Viewport information <ARRAY>
*
* Example:
* [vehicle player] call ace_viewports_fnc_getViewports
Expand All @@ -17,10 +17,8 @@

params ["_vehicle"];

private _viewports = _vehicle getVariable [QGVAR(viewports), nil];

if (isNil "_viewports") then {
_viewports = (configProperties [(configOf _vehicle) >> "ace_viewports", "isClass _x", true]) apply {
GVAR(viewports) getOrDefaultCall [typeOf _vehicle, {
private _viewports = (configProperties [configOf _vehicle >> QUOTE(ADDON), "isClass _x", true]) apply {
// name [STRING] is just used for debug
private _name = configName _x;
// type [STRING] - Optional
Expand Down Expand Up @@ -51,7 +49,7 @@ if (isNil "_viewports") then {
} else {
_vehicle selectionPosition [_camLocation, "Memory"];
};
_screenLocation =_camLocArray vectorAdd [0,0,-0.175]
_screenLocation = _camLocArray vectorAdd [0,0,-0.175]
};
_screenLocation = _vehicle selectionPosition [_screenLocation, "Memory"];
};
Expand All @@ -68,7 +66,5 @@ if (isNil "_viewports") then {
[_name, _type, _camLocation, _camAttach, _screenLocation, _maxDistance, _compartments, _roles]
};
TRACE_3("getViewports",_vehicle,typeOf _vehicle,count _viewports);
_vehicle setVariable [QGVAR(viewports), _viewports];
};

_viewports
_viewports
}, true] // return