Removed ported CSE functionality from TO_MERGE folder

This commit is contained in:
Thomas Kooi 2015-01-18 20:17:22 +01:00
parent b80cec4c18
commit a800c2935f
285 changed files with 0 additions and 11929 deletions

View File

@ -1,20 +0,0 @@
class CfgFunctions {
class CSE {
class eventhandlers {
file = "cse\cse_f_eh\functions";
class initialization_f {
preInit = 1;
postInit = 1;
recompile = 1;
};
class eventHandler_f { recompile = 1; };
class HandleHeal_EH_F { recompile = 1; };
class HandleDamage_EH_F { recompile = 1; };
class customEventHandler_F { recompile = 1; };
class getCustomResults_F { recompile = 1; };
class setEventhandler_f { recompile = 1; };
class removeEventHandler_f { recompile = 1; };
class addModuleEventHandlers_f { recompile = 1; };
};
};
};

View File

@ -1,180 +0,0 @@
class CfgVehicles {
class All;
class AllVehicles : All {
class EventHandlers {
handleDamage = "[_this,'handleDamage'] call CSE_fnc_HandleDamage_EH_F;";
HandleHeal = "[_this,'handleHeal'] call CSE_fnc_HandleHeal_EH_F;";
local = "_this call cse_eh_cba_compat_local;";
killed = "_this call cse_eh_cba_compat_Killed";
firedNear = "_this call cse_eh_cba_compat_FiredNear";
fired = "_this call cse_eh_cba_compat_Fired";
respawn = "_this call cse_eh_cba_compat_Respawn";
Take = "_this call cse_eh_cba_compat_Take";
Put = "_this call cse_eh_cba_compat_Put";
GetIn = "_this call cse_eh_cba_compat_GetIn";
GetOut = "_this call cse_eh_cba_compat_GetOut";
};
};
class Man;
class CAManBase: Man {
class EventHandlers {
handleDamage = "[_this,'handleDamage'] call CSE_fnc_HandleDamage_EH_F;";
HandleHeal = "[_this,'handleHeal'] call CSE_fnc_HandleHeal_EH_F;";
local = "_this call cse_eh_cba_compat_local;";
killed = "_this call cse_eh_cba_compat_Killed";
firedNear = "_this call cse_eh_cba_compat_FiredNear";
fired = "_this call cse_eh_cba_compat_Fired";
respawn = "_this call cse_eh_cba_compat_Respawn";
Take = "_this call cse_eh_cba_compat_Take";
Put = "_this call cse_eh_cba_compat_Put";
GetIn = "_this call cse_eh_cba_compat_GetIn";
GetOut = "_this call cse_eh_cba_compat_GetOut";
};
};
class SoldierGB : CAManBase{
class EventHandlers {
handleDamage = "[_this,'handleDamage'] call CSE_fnc_HandleDamage_EH_F;";
HandleHeal = "[_this,'handleHeal'] call CSE_fnc_HandleHeal_EH_F;";
local = "_this call cse_eh_cba_compat_local;";
killed = "_this call cse_eh_cba_compat_Killed";
firedNear = "_this call cse_eh_cba_compat_FiredNear";
fired = "_this call cse_eh_cba_compat_Fired";
respawn = "_this call cse_eh_cba_compat_Respawn";
Take = "_this call cse_eh_cba_compat_Take";
Put = "_this call cse_eh_cba_compat_Put";
GetIn = "_this call cse_eh_cba_compat_GetIn";
GetOut = "_this call cse_eh_cba_compat_GetOut";
};
};
class SoldierWB : CAManBase {
class EventHandlers {
handleDamage = "[_this,'handleDamage'] call CSE_fnc_HandleDamage_EH_F;";
HandleHeal = "[_this,'handleHeal'] call CSE_fnc_HandleHeal_EH_F;";
local = "_this call cse_eh_cba_compat_local;";
killed = "_this call cse_eh_cba_compat_Killed";
firedNear = "_this call cse_eh_cba_compat_FiredNear";
fired = "_this call cse_eh_cba_compat_Fired";
respawn = "_this call cse_eh_cba_compat_Respawn";
Take = "_this call cse_eh_cba_compat_Take";
Put = "_this call cse_eh_cba_compat_Put";
GetIn = "_this call cse_eh_cba_compat_GetIn";
GetOut = "_this call cse_eh_cba_compat_GetOut";
};
};
class SoldierEB : CAManBase{
class EventHandlers {
handleDamage = "[_this,'handleDamage'] call CSE_fnc_HandleDamage_EH_F;";
HandleHeal = "[_this,'handleHeal'] call CSE_fnc_HandleHeal_EH_F;";
local = "_this call cse_eh_cba_compat_local;";
killed = "_this call cse_eh_cba_compat_Killed";
firedNear = "_this call cse_eh_cba_compat_FiredNear";
fired = "_this call cse_eh_cba_compat_Fired";
respawn = "_this call cse_eh_cba_compat_Respawn";
Take = "_this call cse_eh_cba_compat_Take";
Put = "_this call cse_eh_cba_compat_Put";
GetIn = "_this call cse_eh_cba_compat_GetIn";
GetOut = "_this call cse_eh_cba_compat_GetOut";
};
};
class B_Soldier_base_F: SoldierWB {
class EventHandlers {
handleDamage = "[_this,'handleDamage'] call CSE_fnc_HandleDamage_EH_F;";
HandleHeal = "[_this,'handleHeal'] call CSE_fnc_HandleHeal_EH_F;";
local = "_this call cse_eh_cba_compat_local;";
killed = "_this call cse_eh_cba_compat_Killed";
firedNear = "_this call cse_eh_cba_compat_FiredNear";
fired = "_this call cse_eh_cba_compat_Fired";
respawn = "_this call cse_eh_cba_compat_Respawn";
Take = "_this call cse_eh_cba_compat_Take";
Put = "_this call cse_eh_cba_compat_Put";
GetIn = "_this call cse_eh_cba_compat_GetIn";
GetOut = "_this call cse_eh_cba_compat_GetOut";
};
};
class B_Soldier_03_f: B_Soldier_base_F {
class EventHandlers {
handleDamage = "[_this,'handleDamage'] call CSE_fnc_HandleDamage_EH_F;";
HandleHeal = "[_this,'handleHeal'] call CSE_fnc_HandleHeal_EH_F;";
local = "_this call cse_eh_cba_compat_local;";
killed = "_this call cse_eh_cba_compat_Killed";
firedNear = "_this call cse_eh_cba_compat_FiredNear";
fired = "_this call cse_eh_cba_compat_Fired";
respawn = "_this call cse_eh_cba_compat_Respawn";
Take = "_this call cse_eh_cba_compat_Take";
Put = "_this call cse_eh_cba_compat_Put";
GetIn = "_this call cse_eh_cba_compat_GetIn";
GetOut = "_this call cse_eh_cba_compat_GetOut";
};
};
class LandVehicle;
class Car: LandVehicle {
class EventHandlers {
local = "_this call cse_eh_cba_compat_local;";
killed = "_this call cse_eh_cba_compat_Killed";
firedNear = "_this call cse_eh_cba_compat_FiredNear";
fired = "_this call cse_eh_cba_compat_Fired";
respawn = "_this call cse_eh_cba_compat_Respawn";
Take = "_this call cse_eh_cba_compat_Take";
Put = "_this call cse_eh_cba_compat_Put";
GetIn = "_this call cse_eh_cba_compat_GetIn";
GetOut = "_this call cse_eh_cba_compat_GetOut";
};
};
class Tank: LandVehicle {
class EventHandlers {
local = "_this call cse_eh_cba_compat_local;";
killed = "_this call cse_eh_cba_compat_Killed";
firedNear = "_this call cse_eh_cba_compat_FiredNear";
fired = "_this call cse_eh_cba_compat_Fired";
respawn = "_this call cse_eh_cba_compat_Respawn";
Take = "_this call cse_eh_cba_compat_Take";
Put = "_this call cse_eh_cba_compat_Put";
GetIn = "_this call cse_eh_cba_compat_GetIn";
GetOut = "_this call cse_eh_cba_compat_GetOut";
};
};
class Air;
class Helicopter: Air {
class EventHandlers {
local = "_this call cse_eh_cba_compat_local;";
killed = "_this call cse_eh_cba_compat_Killed";
firedNear = "_this call cse_eh_cba_compat_FiredNear";
fired = "_this call cse_eh_cba_compat_Fired";
respawn = "_this call cse_eh_cba_compat_Respawn";
Take = "_this call cse_eh_cba_compat_Take";
Put = "_this call cse_eh_cba_compat_Put";
GetIn = "_this call cse_eh_cba_compat_GetIn";
GetOut = "_this call cse_eh_cba_compat_GetOut";
};
};
class Plane: Air {
class EventHandlers {
local = "_this call cse_eh_cba_compat_local;";
killed = "_this call cse_eh_cba_compat_Killed";
firedNear = "_this call cse_eh_cba_compat_FiredNear";
fired = "_this call cse_eh_cba_compat_Fired";
respawn = "_this call cse_eh_cba_compat_Respawn";
Take = "_this call cse_eh_cba_compat_Take";
Put = "_this call cse_eh_cba_compat_Put";
GetIn = "_this call cse_eh_cba_compat_GetIn";
GetOut = "_this call cse_eh_cba_compat_GetOut";
};
};
class Ship: AllVehicles {
class EventHandlers {
local = "_this call cse_eh_cba_compat_local;";
killed = "_this call cse_eh_cba_compat_Killed";
firedNear = "_this call cse_eh_cba_compat_FiredNear";
fired = "_this call cse_eh_cba_compat_Fired";
respawn = "_this call cse_eh_cba_compat_Respawn";
Take = "_this call cse_eh_cba_compat_Take";
Put = "_this call cse_eh_cba_compat_Put";
GetIn = "_this call cse_eh_cba_compat_GetIn";
GetOut = "_this call cse_eh_cba_compat_GetOut";
};
};
};

View File

@ -1,13 +0,0 @@
class Combat_Space_Enhancement {
class EventHandlers {
class PreInit_EventHandlers {
class cse_xeh_fired_eventHandler_Compat {
init = "call compile preprocessFile 'cse\cse_f_eh\cba_compat_init.sqf';";
};
};
};
class CustomResults {};
class CustomEventHandlers {};
};

View File

@ -1,103 +0,0 @@
class Extended_Fired_Eventhandlers
{
class AllVehicles
{
class cse_CBA_COMPAT_XEH
{
Fired = "[_this,'fired'] call cse_fnc_eventHandler_F;";
};
};
};
class Extended_HandleDamage_Eventhandlers
{
class AllVehicles
{
class cse_CBA_COMPAT_XEH
{
handleDamage = "[_this,'handleDamage'] call CSE_fnc_HandleDamage_EH_F;";
};
};
};
class Extended_FiredNear_Eventhandlers
{
class AllVehicles
{
class cse_CBA_COMPAT_XEH
{
FiredNear = "[_this,'firedNear'] call cse_fnc_eventHandler_F;";
};
};
};
class Extended_Killed_Eventhandlers
{
class AllVehicles
{
class cse_CBA_COMPAT_XEH
{
Killed = "[_this,'killed'] call cse_fnc_eventHandler_F;";
};
};
};
class Extended_Local_Eventhandlers
{
class AllVehicles
{
class cse_CBA_COMPAT_XEH
{
Local = "[_this,'local'] call cse_fnc_eventHandler_F;";
};
};
};
class Extended_Respawn_Eventhandlers
{
class AllVehicles
{
class cse_CBA_COMPAT_XEH {
Respawn = "[_this,'respawn'] call cse_fnc_eventHandler_F;";
};
};
};
class Extended_Take_Eventhandlers
{
class AllVehicles
{
class cse_CBA_COMPAT_XEH {
Take = "[_this,'take'] call cse_fnc_eventHandler_F;";
};
};
};
class Extended_Put_Eventhandlers
{
class AllVehicles
{
class cse_CBA_COMPAT_XEH {
Put = "[_this,'put'] call cse_fnc_eventHandler_F;";
};
};
};
class Extended_GetIn_Eventhandlers
{
class AllVehicles
{
class cse_CBA_COMPAT_XEH {
GetIn = "[_this,'getIn'] call cse_fnc_eventHandler_F;";
};
};
};
class Extended_GetOut_EventHandlers
{
class AllVehicles
{
class cse_CBA_COMPAT_XEH {
GetOut = "[_this,'getOut'] call cse_fnc_eventHandler_F;";
};
};
};

View File

@ -1,19 +0,0 @@
/**
* cba_compat_init.sqf
* @Descr: CBA compatability wrapper.
* @Author: Glowbal
*
* @Arguments: []
* @Return: void
* @PublicAPI: false
*/
cse_eh_cba_compat_local = if (!isClass (configFile >> 'CfgPatches' >> 'CBA_main')) then { {[_this,'local'] call cse_fnc_eventHandler_F;} } else {{}};
cse_eh_cba_compat_Respawn = if (!isClass (configFile >> 'CfgPatches' >> 'CBA_main')) then { {[_this,'respawn'] call cse_fnc_eventHandler_F;} } else {{}};
cse_eh_cba_compat_Killed = if (!isClass (configFile >> 'CfgPatches' >> 'CBA_main')) then { {[_this,'killed'] call cse_fnc_eventHandler_F;} } else {{}};
cse_eh_cba_compat_FiredNear = if (!isClass (configFile >> 'CfgPatches' >> 'CBA_main')) then { {[_this,'firedNear'] call cse_fnc_eventHandler_F;} } else {{}};
cse_eh_cba_compat_Fired = if (!isClass (configFile >> 'CfgPatches' >> 'CBA_main')) then { {[_this,'fired'] call cse_fnc_eventHandler_F;} } else {{}};
cse_eh_cba_compat_Take = if (!isClass (configFile >> 'CfgPatches' >> 'CBA_main')) then { {[_this,'Take'] call cse_fnc_eventHandler_F;} } else {{}};
cse_eh_cba_compat_Put = if (!isClass (configFile >> 'CfgPatches' >> 'CBA_main')) then { {[_this,'Put'] call cse_fnc_eventHandler_F;} } else {{}};
cse_eh_cba_compat_GetIn = if (!isClass (configFile >> 'CfgPatches' >> 'CBA_main')) then { {[_this,'GetIn'] call cse_fnc_eventHandler_F;} } else {{}};
cse_eh_cba_compat_GetOut = if (!isClass (configFile >> 'CfgPatches' >> 'CBA_main')) then { {[_this,'GetOut'] call cse_fnc_eventHandler_F;} } else {{}};

View File

@ -1,31 +0,0 @@
class CfgPatches
{
class cse_f_eh
{
units[] = {};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] = {/*"cba_extended_eventhandlers", "cba_xeh", "extended_eventhandlers"*/ "A3_Characters_F","A3_Boat_F","A3_animals_f","A3_air_f","A3_soft_f","A3_static_f","A3_weapons_f","a3_structures_f"};
version = "0.10.0_rc";
author[] = {"Combat Space Enhancement"};
authorUrl = "http://csemod.com";
};
};
class CfgAddons {
class PreloadAddons {
class cse_f_eh {
list[] = {"cse_f_eh"};
};
};
};
/* Event handlers */
#include "CfgVehicles.h"
/* For CBA Compatability */
#include "Extended_Init_EventHandlers.h"
/* Ensures that the functions are being compiled */
#include "CfgFunctions.h"
/* To ensure that the custom eventhandler classes exist */
#include "Combat_Space_Enhancement.h"

View File

@ -1,54 +0,0 @@
/**
* fn_HandleHeal_eh_f.sqf
* @Descr: Execute the handleHeal Eventhandlers. Is currently bugged due to Arma Engine problem?
* @Author: Glowbal
*
* @Arguments: []
* @Return: BOOL Returns true if handleHeal has been fully handled
* @PublicAPI: false
*/
private ["_vehicle","_allPreInitHandlers","_handle","_totalValue","_cfg","_amountOfHandlers", "_newCfg","_returnValue","_ehCfg"];
_vehicle = (_this select 0) select 1;
_handle = _this select 1;
_allPreInitHandlers = [];
if (!local _vehicle) exitwith {};
if (isnil "CSE_fnc_HandleHeal_EH_F") then {
CSE_fnc_HandleHeal_EH_F = compile preProcessFileLineNumbers '\cse\cse_f_eh\fn_HandleHeal_EH_F.sqf';
};
if (isnil "CSE_F_MODULE_OBJ_EH") then {
CSE_F_MODULE_OBJ_EH = [];
};
{
_cfg = (ConfigFile >> "Combat_Space_Enhancement" >> "CfgModules" >> _x);
if (isClass _cfg) then {
if (isClass (_cfg >> "EventHandlers")) then {
_numberOfEH = count (_cfg >> "EventHandlers");
for "_j" from 0 to (_numberOfEH -1) /* step +1 */ do {
//for [{_j=0}, {_j< _numberOfEH}, {_j=_j+1}] do {
_ehCfg = ((_cfg >> "EventHandlers") select _j);
if (isClass _ehCfg) then {
if (_vehicle isKindOf (ConfigName _ehCfg)) then {
_allPreInitHandlers pushback compile getText(_ehCfg >> _handle);
};
};
};
};
};
}foreach CSE_F_MODULE_OBJ_EH;
{
private ["_returnValue"];
_returnValue = (_this select 0) call _x;
}foreach _allPreInitHandlers;
[_allPreInitHandlers] call cse_fnc_debug;
AISFinishHeal [(_this select 0) select 0, (_this select 0) select 1, (_this select 0) select 2];
if (count _allPreInitHandlers > 0) then {
true;
} else {
false;
};

View File

@ -1,64 +0,0 @@
/**
* fn_addModuleEventhandlers_f.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_entity", "_handle", "_eventHandlerName", "_eventHandlerCollection", "_cfg", "_numberOfEH", "_ehCfg", "_classType", "_text", "_code", "_eventHandlerCollection","_collectedEHIDs", "_collectedID_VarName"];
_entity = _this select 0;
_handle = _this select 1;
_eventHandlerName = ("cse_f_eventhandler_" + _handle);
_eventHandlerCollection = missionNamespace getvariable _eventHandlerName;
if (isnil "_eventHandlerCollection") then {
_eventHandlerCollection = [];
{
_cfg = (ConfigFile >> "Combat_Space_Enhancement" >> "CfgModules" >> _x >> "EventHandlers");
if (isClass (_cfg)) then {
_numberOfEH = count (_cfg);
for "_EHiterator" from 0 to (_numberOfEH -1) do {
_ehCfg = ((_cfg) select _EHiterator);
if (isClass _ehCfg) then {
_classType = (ConfigName _ehCfg);
_text = getText(_ehCfg >> _handle);
if (_text != "") then {
_code = (compile _text);
_eventHandlerCollection pushBack [_classType, _code, _x];
true;
};
};
};
};
}count CSE_F_MODULE_OBJ_EH;
missionNamespace setvariable [_eventHandlerName, _eventHandlerCollection];
if (isnil "cse_f_eventhandlers_collection") then {
cse_f_eventhandlers_collection = [];
};
cse_f_eventhandlers_collection pushBack _eventHandlerName;
};
_collectedID_VarName = format["cse_addModuleEventHandlers_f_%1_ids", _handle];
// clear all module eventhandlers first
_collectedEHIDs = _entity getvariable [_collectedID_VarName, []];
{
[_entity, _handle, _x] call cse_fnc_removeEventHandler_F;
}foreach _collectedEHIDs;
// now we add the new ones
_collectedEHIDs = [];
{
if (_entity isKindOf (_x select 0)) then {
_collectedEHIDs pushback (format["cse_moduleEventhandlerID_", _foreachIndex]);
[_entity, _handle, format["cse_moduleEventhandlerID_", _foreachIndex], _x select 1] call cse_fnc_setEventhandler_f;
};
}foreach _eventHandlerCollection;
// Store the new IDs
_entity setvariable [_collectedID_VarName, _collectedEHIDs];

View File

@ -1,61 +0,0 @@
/**
* fn_customEventHandler_f.sqf
* @Descr: Execute a custom defined eventhandler.
* @Author: Glowbal
*
* @Arguments: [arguments ANY, handle STRING (The name of the eventhandler)]
* @Return: ARRAY Array containing the results of the called eventhandlers.
* @PublicAPI: true
*/
private ["_arguments","_handle","_ehCfg","_eventHandlerCollection","_eventHandlerName","_cfg","_code","_classType", "_return"];
_arguments = _this select 0;
_handle = _this select 1;
_eventHandlerName = ("cse_f_custom_eventhandler_" + _handle);
_eventHandlerCollection = missionNamespace getvariable _eventHandlerName;
if (isnil "_eventHandlerCollection") then {
_eventHandlerCollection = [];
[format["caching Custom Eventhandler: %1",_handle]] call cse_fnc_debug;
_cfg = (ConfigFile >> "Combat_Space_Enhancement" >> "CustomEventHandlers" >> _handle);
if (isClass _cfg) then {
_numberOfEH = count _cfg;
for "_EHiterator" from 0 to (_numberOfEH -1) /* step +1 */ do {
//for [{_EHiterator=0}, {(_EHiterator< _numberOfEH)}, {_EHiterator=_EHiterator+1}] do {
_ehCfg = _cfg select _EHiterator;
if (isClass _ehCfg) then {
_classType = (ConfigName _ehCfg);
_code = (compile getText(_ehCfg >> "onCall"));
_eventHandlerCollection pushback [_classType, _code];
true;
};
};
};
_cfg = (MissionConfigFile >> "Combat_Space_Enhancement" >> "CustomEventHandlers" >> _handle);
if (isClass _cfg) then {
_numberOfEH = count _cfg;
for "_EHiterator" from 0 to (_numberOfEH -1) /* step +1 */ do {
//for [{_EHiterator=0}, {(_EHiterator< _numberOfEH)}, {_EHiterator=_EHiterator+1}] do {
_ehCfg = _cfg select _EHiterator;
if (isClass _ehCfg) then {
_classType = (ConfigName _ehCfg);
_code = (compile getText(_ehCfg >> "onCall"));
_eventHandlerCollection pushback [_classType, _code];
true;
};
};
};
missionNamespace setvariable [_eventHandlerName, _eventHandlerCollection];
[format["Custom Eventhandler: %1 cache: %2",_handle, _eventHandlerCollection]] call cse_fnc_debug;
};
_return = [];
{
_return pushback (_arguments call (_x select 1));
}foreach _eventHandlerCollection;
_return

View File

@ -1,65 +0,0 @@
/**
* fn_eventHandler_f.sqf
* @Descr: Execute eventhandlers
* @Author: Glowbal
*
* @Arguments: []
* @Return: void
* @PublicAPI: false
*/
private ["_args","_handle","_entity","_cfgFile","_cfg","_numberOfEH","_ehCfg","_value", "_code", "_eventHandlerCollection", "_classType", "_eventHandlerName"];
_args = _this select 0;
_handle = _this select 1;
_entity = _args select 0;
if (isnil "CSE_F_MODULE_OBJ_EH") then {
CSE_F_MODULE_OBJ_EH = [];
};
if (!(local _entity) && _handle != "fired") exitwith {};
_eventHandlerName = ("cse_f_eventhandler_" + _handle);
_eventHandlerCollection = missionNamespace getvariable _eventHandlerName;
if (isnil "_eventHandlerCollection") then {
_eventHandlerCollection = [];
{
_cfg = (ConfigFile >> "Combat_Space_Enhancement" >> "CfgModules" >> _x >> "EventHandlers");
if (isClass (_cfg)) then {
_numberOfEH = count (_cfg);
for "_EHiterator" from 0 to (_numberOfEH -1) do {
_ehCfg = ((_cfg) select _EHiterator);
if (isClass _ehCfg) then {
_classType = (ConfigName _ehCfg);
_text = getText(_ehCfg >> _handle);
if (_text != "") then {
_code = (compile _text);
_eventHandlerCollection pushBack [_classType, _code, _x];
true;
};
};
};
};
}count CSE_F_MODULE_OBJ_EH;
missionNamespace setvariable [_eventHandlerName, _eventHandlerCollection];
if (isnil "cse_f_eventhandlers_collection") then {
cse_f_eventhandlers_collection = [];
};
cse_f_eventhandlers_collection pushBack _eventHandlerName;
};
_setHandler = _entity getvariable ("cse_f_setEventhandler_" + _handle);
if (isnil "_setHandler") then {
{
if (_entity isKindOf (_x select 0)) then {
_args call (_x select 1);
};
false;
}count _eventHandlerCollection;
} else {
{
_args call (_X select 1);
false;
}count _setHandler;
};

View File

@ -1,42 +0,0 @@
/**
* fn_getCustomResults_f.sqf
* @Descr: Executes custom results eventhandlers, collects their output and returns this.
* @Author: Glowbal
*
* @Arguments: [arguments ANY, handle STRING]
* @Return: ARRAY Collection of all return values of all executed CustomResult handlers
* @PublicAPI: true
*/
private ["_arguments","_handle","_ehCfg","_eventHandlerCollection","_eventHandlerName","_cfg","_code","_classType", "_return"];
_arguments = _this select 0;
_handle = _this select 1;
_eventHandlerName = ("cse_f_custom_results_eventhandler_" + _handle);
_eventHandlerCollection = missionNamespace getvariable _eventHandlerName;
if (isnil "_eventHandlerCollection") then {
_eventHandlerCollection = [];
_cfg = (ConfigFile >> "Combat_Space_Enhancement" >> "CustomResults" >> _handle);
if (isClass _cfg) then {
_numberOfEH = count _cfg;
for [{_EHiterator=0}, {(_EHiterator< _numberOfEH)}, {_EHiterator=_EHiterator+1}] do {
_ehCfg = _cfg select _EHiterator;
if (isClass _ehCfg) then {
_classType = (ConfigName _ehCfg);
_code = (compile getText(_ehCfg >> "onCall"));
_eventHandlerCollection set [ count _eventHandlerCollection, [_classType, _code]];
true;
};
};
};
missionNamespace setvariable [_eventHandlerName, _eventHandlerCollection];
};
_return = [];
{
_return set [ count _return, _arguments call (_x select 1) ];
}foreach _eventHandlerCollection;
_return

View File

@ -1,79 +0,0 @@
/**
* fn_handleDamage_eh_f.sqf
* @Descr: Execute the handleDamage Eventhandler
* @Author: Glowbal
*
* @Arguments: []
* @Return: NUMBER Returns a number based on output of executed eventhandlers
* @PublicAPI: false
*/
private ["_vehicle","_allPreInitHandlers","_handle","_totalValue","_cfg","_amountOfHandlers", "_newCfg","_returnValue","_ehCfg", "_fullDamage", "_returnDamage"];
_vehicle = (_this select 0) select 0;
_handle = _this select 1;
if (!local _vehicle) exitwith {};
if (_vehicle isKindOf "CAManBase") then {
_name = _vehicle getVariable "cse_name";
if (isNil "_name") then {
_vehicle setvariable ["cse_name", name _vehicle, true];
};
};
_eventHandlerName = "cse_f_eventhandler_handleDamage";
_eventHandlerCollection = missionNamespace getvariable _eventHandlerName;
if (isnil "_eventHandlerCollection") then {
_eventHandlerCollection = [];
if (isnil "CSE_F_MODULE_OBJ_EH") then {
CSE_F_MODULE_OBJ_EH = [];
};
{
_cfg = (ConfigFile >> "Combat_Space_Enhancement" >> "CfgModules" >> _x);
if (isClass _cfg) then {
if (isClass (_cfg >> "EventHandlers")) then {
_numberOfEH = count (_cfg >> "EventHandlers");
for "_j" from 0 to (_numberOfEH -1) /* step +1 */ do {
//for [{_j=0}, {_j< _numberOfEH}, {_j=_j+1}] do {
_ehCfg = ((_cfg >> "EventHandlers") select _j);
if (isClass _ehCfg) then {
if (getText(_ehCfg >> _handle) != "") then {
_eventHandlerCollection pushBack [(ConfigName _ehCfg), compile getText(_ehCfg >> _handle)];
};
};
};
};
};
}foreach CSE_F_MODULE_OBJ_EH;
missionNamespace setvariable [_eventHandlerName, _eventHandlerCollection];
if (isnil "cse_f_eventhandlers_collection") then {
cse_f_eventhandlers_collection = [];
};
cse_f_eventhandlers_collection pushBack _eventHandlerName;
};
_returnDamage = (_this select 0) select 2;
{
if (_vehicle isKindOf (_x select 0)) then {
private "_returnValue";
_returnValue = (_this select 0) call (_x select 1);
if (!isnil "_returnValue") then {
if (typeName _returnValue == typeName 0) then {
_returnDamage = _returnValue;
};
};
};
}foreach _eventHandlerCollection;
if (typeName _returnDamage == typeName 0) then {
if (_returnDamage >= 0.9) then {
if (isnil "CSE_ENABLE_REVIVE_F") then {
CSE_ENABLE_REVIVE_F = 0;
};
if ((CSE_ENABLE_REVIVE_F == 1 && isPlayer _vehicle) || (CSE_ENABLE_REVIVE_F == 2)) then {
_returnDamage = 0.9;
};
};
} else {
_returnDamage = (_this select 0) select 2;
};
_returnDamage

View File

@ -1,55 +0,0 @@
/**
* fn_initialization_f.sqf
* @Descr: Grabs all pre and post init defined events from the config files and executes those.
* @Author: Glowbal
*
* @Arguments: [setToExecute STRING]
* @Return: void
* @PublicAPI: false
*/
private ["_allPreInitHandlers","_cfg","_cfgOpt","_text"];
_allPreInitHandlers = [];
if ((_this select 0) == "preInit") then {
_cfg = (ConfigFile >> "Combat_Space_Enhancement" >> "EventHandlers" >> "PreInit_EventHandlers");
for "_i" from 0 to ((count _cfg)-1) /* step +1 */ do {
_this spawn (compile (getText ((_cfg select _i) >> "init")));
};
} else {
if ((_this select 0) == "postInit") then {
_cfg = (ConfigFile >> "Combat_Space_Enhancement" >> "EventHandlers" >> "PostInit_EventHandlers");
for "_i" from 0 to ((count _cfg)-1) /* step +1 */ do {
_this spawn (compile (getText ((_cfg select _i) >> "init")));
};
};
};
if (isnil "CSE_F_EH_ALLOW_MISSION_CONFIG") then {
CSE_F_EH_ALLOW_MISSION_CONFIG = true;
};
if (CSE_F_EH_ALLOW_MISSION_CONFIG) then {
_allPreInitHandlers = [];
if ((_this select 0) == "preInit") then {
_cfg = (missionConfigFile >> "Combat_Space_Enhancement" >> "EventHandlers" >> "PreInit_EventHandlers");
for "_i" from 0 to ((count _cfg)-1) /* step +1 */ do {
_this spawn (compile (getText ((_cfg select _i) >> "init")));
};
} else {
if ((_this select 0) == "postInit") then {
_cfg = (missionConfigFile >> "Combat_Space_Enhancement" >> "EventHandlers" >> "PostInit_EventHandlers");
for "_i" from 0 to ((count _cfg)-1) /* step +1 */ do {
_this spawn (compile (getText ((_cfg select _i) >> "init")));
};
};
};
};
if ((_this select 0) == "postInit") then {
cse_postInit = true;
};

View File

@ -1,33 +0,0 @@
/**
* fn_removeEventhandler_f.sqf
* @Descr: Removes an eventhandler with the specified ID
* @Author: Glowbal
*
* @Arguments: [object OBJECT, handler STRING, id STRING]
* @Return: nil
* @PublicAPI: true
*/
private ["_obj", "_handler", "_id", "_varName", "_handlers", "_newHandlers"];
_obj = _this select 0;
_handler = _this select 1;
_id = _this select 2;
_varName = "cse_f_setEventhandler_" + _handler;
_handlers = _obj getvariable [_varName, []];
_newHandlers = [];
{
if (_x select 0 != _id) then {
_newHandlers pushback _x;
};
}foreach _handlers;
if (count _newHandlers > 0) then {
_obj setvariable [_varName, _newHandlers];
} else {
// remove and default to original CSE handlers
_obj setvariable [_varName, nil];
};
true;

View File

@ -1,35 +0,0 @@
/**
* fn_setEventhandler_f.sqf
* @Descr: Set the event handler for a specific object. Stacks. Overwrites the CSE module eventhandlers.
* @Author: Glowbal
*
* @Arguments: [object OBJECT, handler STRING, id STRING, code CODE]
* @Return: nil
* @PublicAPI: true
*/
private ["_obj", "_handler", "_id", "_code", "_varName", "_handlers", "_found"];
_obj = _this select 0;
_handler = _this select 1;
_id = _this select 2;
_code = _this select 3;
_varName = "cse_f_setEventhandler_" + _handler;
_handlers = _obj getvariable [_varName, []];
_found = -1;
{
if (_x select 0 == _id) exitwith {
_found = _foreachIndex;
};
}foreach _handlers;
if (_found < 0) then {
_handlers pushback [_id, _code];
} else {
_handlers set [_found, [_id, _code]];
};
_obj setvariable [_varName, _handlers];
true;

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Project name="Combat Space Enhancement">
<Package name="cse_sys_weaponrest">
<Container ID="WeaponResting">
</Container>
</Package>
</Project>

View File

@ -1,22 +0,0 @@
class CfgFunctions
{
class CSE
{
class Modules
{
file = "cse\cse_f_modules\functions";
class initalizeModule_F { recompile = 1; };
class isModuleEnabled_F { recompile = 1; };
class getModule_f { recompile = 1; };
class getModuleCondition_f { recompile = 1; };
class getModules_f { recompile = 1; };
class initalizeModuleObjEH { recompile = 1; };
class moduleIsActive_f { recompile = 1; };
class enableModule_f { recompile = 1; };
class getCfgModuleInits_f { recompile = 1; };
class getCfgModuleArguments_f { recompile = 1; };
class remoteModuleInit { recompile = 1; };
};
};
};

View File

@ -1,21 +0,0 @@
class Combat_Space_Enhancement {
class EventHandlers {
class PreInit_EventHandlers {
class cse_f_modules {
init = " call compile preprocessFile 'cse\cse_f_modules\init.sqf';";
};
};
class PostInit_EventHandlers {
class cse_f_modules {
init = " call compile preprocessFile 'cse\cse_f_modules\post-init.sqf';";
};
};
};
class CustomEventHandlers {
/**
* Called when the enableModule_f function is called. Third argument is whatever or not the module has initalized.
*/
class moduleEnabled_f; // [moduleName, arguments, enabled]
};
};

View File

@ -1,23 +0,0 @@
class CfgPatches
{
class cse_f_modules
{
units[] = {};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] = {"cse_main"};
version = "0.10.0_rc";
author[] = {"Combat Space Enhancement"};
authorUrl = "http://csemod.com";
};
};
class CfgAddons {
class PreloadAddons {
class cse_f_modules {
list[] = {"cse_f_modules"};
};
};
};
#include "CfgFunctions.h"
#include "Combat_Space_Enhancement.h"

View File

@ -1,36 +0,0 @@
/**
* fn_enableModule_f.sqf
* @Descr: Enable a CSE Module
* @Author: Glowbal
*
* @Arguments: [moduleName STRING, arguments ARRAY (Format: [[name STRING, value ANY]])]
* @Return: void
* @PublicAPI: true
*/
private ["_moduleName", "_arguments", "_moduleInfo"];
_moduleName = _this select 0;
_arguments = _this select 1;
[format["enableModule_f %1 %2",_this, ([_moduleName] call cse_fnc_isModuleEnabled_F)]] call cse_fnc_debug;
if ([_moduleName] call cse_fnc_isModuleEnabled_F) exitwith {
[[_moduleName, _arguments, false],"moduleEnabled_f"] call cse_fnc_customEventHandler_F;
};
if (isnil "CSE_F_MODULE_OBJ_EH") then {
CSE_F_MODULE_OBJ_EH = [];
};
CSE_F_MODULE_OBJ_EH pushback _moduleName;
_initField = getText(ConfigFile >> "Combat_Space_Enhancement" >> "CfgModules" >> _moduleName >> "init");
_arguments call compile _initField;
if !(isnil "cse_f_eventhandlers_collection") then {
{
missionNamespace setvariable [_x, nil]; // clear all eventhandlers.
}foreach cse_f_eventhandlers_collection;
};
[_moduleName] call cse_fnc_parseModuleForConfigurations;
[[_moduleName, _arguments, true],"moduleEnabled_f"] call cse_fnc_customEventHandler_F;
[format["Initalize module: %1 COMPLETED. Arguments: %2", _moduleName, _arguments], 3] call cse_fnc_debug;

View File

@ -1,98 +0,0 @@
/**
* fn_getCfgModuleArguments_f.sqf
* @Descr: Grab Module arguments for a specific module in a config file.
* @Author: Glowbal
*
* @Arguments: [moduleName STRING (The classname of the CSE module), configPath CONFIG (Path to the module Config)]
* @Return: ARRAY An array with parameters for given module. If the parameters for the provided module have not been found within the config, default values will be used.
* @PublicAPI: true
*/
private ["_configOfModule","_collectedInits","_cfgRoot","_amountOfClasses","_i","_arguments","_moduleName","_CfgVehEntry","_CfgModuleEntry","_moduleArguments","_j","_cfg","_value","_typeNameArgument", "_return"];
_moduleName = _this select 0;
_configOfModule = _this select 1;
_return = [];
// Array for collection all initalization arguments for the given module.
_arguments = [];
// Grab necessary config entries
_CfgVehEntry = (ConfigFile >> "CfgVehicles" >> _moduleName);
_CfgModuleEntry = (ConfigFile >> "Combat_Space_Enhancement" >> "CfgModules" >> _moduleName);
if (isClass _CfgModuleEntry) then {
if (isClass _CfgVehEntry) then {
// init with parameters
_moduleArguments = (_CfgVehEntry >> "Arguments");
if (isClass _moduleArguments) then {
// Looping through the expected arguments, based on what is defined in the module Argument Class in CfgVehicles.
for [{_j=0}, {_j < (count _moduleArguments)}, {_j=_j+1}] do {
// if the argument is a class, parse it. Otherwise we will be ignoring it.
if (isClass (_moduleArguments select _j)) then {
// Grab the value from the argument defined in the description.ext and current class.
_value = 0; // (_configOfModule >> configName(_moduleArguments select _j)) call bis_fnc_getCfgData;
// This will be used to validate the retrieved value for a proper value.
_typeNameArgument = getText((_moduleArguments select _j) >> "typeName");
call {
if (_typeNameArgument == "BOOL") exitwith {
_value = getNumber(_configOfModule >> configName(_moduleArguments select _j)) == 1;
};
if (_typeNameArgument == "NUMBER") exitwith {
_value = getNumber(_configOfModule >> configName(_moduleArguments select _j));
};
if (_typeNameArgument == "STRING") exitwith {
_value = getText(_configOfModule >> configName(_moduleArguments select _j));
};
};
// If the argument is defined in the description.ext, we will validate the typeName of the argument and store it in the argument array.
if (!isnil "_value") then {
if (typeName _value == _typeNameArgument || TRUE) then { // lets assume the values are correct until we write a function to properly compare the typeNames.
_arguments pushback [(ConfigName (_moduleArguments select _j)), _value];
} else {
// Incase the typeName is invalid, we will set a default value and store this instead.
call {
if (_typeNameArgument == "BOOL") exitwith {
_value = getNumber((_moduleArguments select _j) >> "defaultValue") == 1;
};
if (_typeNameArgument == "NUMBER") exitwith {
_value = getNumber((_moduleArguments select _j) >> "defaultValue");
};
if (_typeNameArgument == "STRING") exitwith {
_value = getText((_moduleArguments select _j) >> "defaultValue");
};
};
[format["Module Argument has not been set %1 %2. Module need to be replaced. Value used: %4", _moduleName, (ConfigName (_moduleArguments select _j)), _typeNameArgument, _value], 1] call cse_fnc_debug;
_arguments pushback [(ConfigName (_moduleArguments select _j)), _value];
};
} else {
[format["Value is nil for %1 %2", _moduleName, (ConfigName (_moduleArguments select _j))], 1] call cse_fnc_debug;
// Because the value has not been defined, we will use a default value instead.
// TODO implement defaultValue retrieval for non defined arguments.
_value = "";
if (_typeNameArgument != "") then {
call {
if (_typeNameArgument == "BOOL") exitwith {
_value = getNumber((_moduleArguments select _j) >> "defaultValue") == 1;
};
if (_typeNameArgument == "NUMBER") exitwith {
_value = getNumber((_moduleArguments select _j) >> "defaultValue");
};
if (_typeNameArgument == "STRING") exitwith {
_value = getText((_moduleArguments select _j) >> "defaultValue");
};
};
[format["Module Argument has not been set %1 %2. Module need to be replaced. Value used: %4", _moduleName, (ConfigName (_moduleArguments select _j)), _typeNameArgument, _value], 1] call cse_fnc_debug;
_arguments pushback [(ConfigName (_moduleArguments select _j)), _value];
};
};
};
};
};
} else {
// init with no parameters. We do not have to collect anything for this.
};
};
_arguments

View File

@ -1,28 +0,0 @@
/**
* fn_getCfgModuleInits_f.sqf
* @Descr: Grab all defined modules in the given config space, collect their arguments and return them.
* @Author: Glowbal
*
* @Arguments: [config CONFIG (For example: MissionConfigFile or ConfigFile)]
* @Return: ARRAY Array with format: [[moduleName STRING, moduleArgs ARRAY (Format: [argumentName STRING, value ANY])], ...]
* @PublicAPI: false
*/
private ["_config","_collectedInits","_cfgRoot","_amountOfClasses","_i","_arguments","_moduleName","_CfgVehEntry","_CfgModuleEntry","_moduleArguments","_j","_cfg","_value","_moduleArgs"];
_config = [_this, 0, MissionConfigFile, [MissionConfigFile]] call BIS_fnc_Param;
_collectedInits = [];
_cfgRoot = (_config >> "Combat_Space_Enhancement" >> "Modules");
_amountOfClasses = count _cfgRoot;
for [{_i=0}, {_i < _amountOfClasses}, {_i=_i+1}] do {
if (isClass (_cfgRoot select _i)) then {
_moduleName = ConfigName (_cfgRoot select _i);
_disableConfigExecution = getNumber (ConfigFile >> "Combat_Space_Enhancement" >> "CfgModules" >> _moduleName >> "disableConfigExecution");
if (_disableConfigExecution > 0) exitwith {};
if (!([_moduleName] call cse_fnc_isModuleEnabled_f)) then {
_moduleArgs = [_moduleName, (_cfgRoot select _i)] call cse_fnc_getCfgModuleArguments_f;
_collectedInits pushback [_moduleName, _moduleArgs];
};
};
};
_collectedInits

View File

@ -1,20 +0,0 @@
/**
* fn_getModuleCondition_f.sqf
* @Descr: N/A DEPRECATED
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_moduleName","_condition","_return","_cfgFile"];
_moduleName = _this select 0;
_return = "";
_cfgFile = (ConfigFile >> "Combat_Space_Enhancement" >> "CfgModules" >> _moduleName);
if (isClass _cfgFile) then {
_return = format["CSE_MODULE_CONDITION_%1",_moduleName];
};
_return

View File

@ -1,22 +0,0 @@
/**
* fn_getModule_f.sqf
* @Descr: Gets module information. DEPRECATED
* @Author: Glowbal
*
* @Arguments: [ModuleName STRING]
* @Return: ARRAY Returns an array with [ModuleName STRING, initLine STRING]
* @PublicAPI: false
*/
private ["_module","_cfg","_init","_name"];
_moduleName = _this select 0;
_cfg = (ConfigFile >> "Combat_Space_Enhancement" >> "CfgModules" >> _moduleName);
_module = [];
if (isClass _cfg) then {
_init = getText (_cfg >> "init");
_name = getText (_cfg >> "name");
//_module set [count _module,[_name,_init]];
_module = [_name,_init];
};
_module

View File

@ -1,15 +0,0 @@
/**
* fn_getModules_f.sqf
* @Descr: Returns all current active CSE Modules
* @Author: Glowbal
*
* @Arguments: []
* @Return: ARRAY List of all current Modules [moduleName STRING (Module classname), ...]
* @PublicAPI: true
*/
if (isnil "CSE_F_MODULE_OBJ_EH") then {
CSE_F_MODULE_OBJ_EH = [];
};
CSE_F_MODULE_OBJ_EH;

View File

@ -1,59 +0,0 @@
/**
* fn_initalizeModuleObjEH.sqf
* @Descr: initalize module Object init Eventhandlers. DEPRICATED. DO NOT USE.
* @Author: Glowbal
*
* @Arguments: [object OBJECT, eventhandler STRING]
* @Return: void
* @PublicAPI: false
*/
private ["_entity","_handle","_cfg","_ehCfg","_numberOfEH"];
_entity = (_this select 0) select 0;
_handle = _this select 1;
if (!local _entity) exitwith{};
if (isnil "cse_postInit") then {
_this spawn {
private ["_entity"];
_entity = (_this select 0) select 0;
_handle = _this select 1;
waituntil{(!isnil 'cse_postInit')};
{
_cfg = (ConfigFile >> "Combat_Space_Enhancement" >> "CfgModules" >> _x);
if (isClass _cfg) then {
if (isClass (_cfg >> "EventHandlers")) then {
_numberOfEH = count (_cfg >> "EventHandlers");
for [{_j=0}, {_j< _numberOfEH}, {_j=_j+1}] do {
_ehCfg = ((_cfg >> "EventHandlers") select _j);
if (isClass _ehCfg) then {
if (_entity isKindOf (ConfigName _ehCfg)) then {
(_this select 0) call (compile getText(_ehCfg >> _handle));
};
};
};
};
};
}foreach (call cse_fnc_getModules);
};
} else {
if (!local _entity) exitwith{};
{
_cfg = (ConfigFile >> "Combat_Space_Enhancement" >> "CfgModules" >> _x);
if (isClass _cfg) then {
if (isClass (_cfg >> "EventHandlers")) then {
_numberOfEH = count (_cfg >> "EventHandlers");
for [{_j=0}, {_j< _numberOfEH}, {_j=_j+1}] do {
_ehCfg = ((_cfg >> "EventHandlers") select _j);
if (isClass _ehCfg) then {
if (_entity isKindOf (ConfigName _ehCfg)) then {
(_this select 0) call (compile getText(_ehCfg >> _handle));
};
};
};
};
};
}foreach (call cse_fnc_getModules);
};

View File

@ -1,59 +0,0 @@
/**
* fn_initalizeModule_F.sqf
* @Descr: Initalize a CSE Module. To be called through the BI A3 Module Framework
* @Author: Glowbal
*
* @Arguments: []
* @Return: void
* @PublicAPI: true
*/
private ["_moduleName","_arguments","_logic","_units", "_activated","_cfg", "_moduleInfo", "_value", "_typeNameArgument"];
if (count _this > 1) then {
_moduleName = typeOf (_this select 0);
} else {
_moduleName = _this select 0;
};
[format["Initalize module: %1 IN QUE",_moduleName], 3] call cse_fnc_debug;
waituntil {(!isnil 'cse_f_modules')};
[format["Initalize module: %1 STARTED",_moduleName], 3] call cse_fnc_debug;
_arguments = [];
if (count _this >1) then {
_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param;
_units = [_this,1,[],[[]]] call BIS_fnc_param;
_activated = [_this,2,true,[true]] call BIS_fnc_param;
_moduleName = typeOf _logic;
_cfg = (ConfigFile >> "CfgVehicles" >> _moduleName >> "Arguments");
if (isClass _cfg) then {
for [{_i=0}, {_i < (count _cfg)}, {_i=_i+1}] do {
if (isClass (_cfg select _i)) then {
_value = _logic getvariable (ConfigName (_cfg select _i));
if (!isnil "_value") then {
_arguments pushback [(ConfigName (_cfg select _i)), _value];
} else {
_typeNameArgument = getText ((_cfg select _i) >> "typeName");
_value = "";
if (_typeNameArgument != "") then {
call {
if (_typeNameArgument == "BOOL") exitwith {
_value = getNumber((_cfg select _i) >> "defaultValue") == 1;
};
if (_typeNameArgument == "NUMBER") exitwith {
_value = getNumber((_cfg select _i) >> "defaultValue");
};
if (_typeNameArgument == "STRING") exitwith {
_value = getText((_cfg select _i) >> "defaultValue");
};
};
[format["Module Argument has not been set %1 %2. Module need to be replaced. Value used: %4", _moduleName, (ConfigName (_cfg select _i)), _typeNameArgument, _value], 1] call cse_fnc_debug;
_arguments pushback [(ConfigName (_cfg select _i)), _value];
};
};
};
};
};
} else {
_moduleName = _this select 0;
};
[_moduleName, _arguments] call cse_fnc_enableModule_f;

View File

@ -1,14 +0,0 @@
/**
* fn_isModuleEnabled_F.sqf
* @Descr: Check if given CSE Module class is enabled
* @Author: Glowbal
*
* @Arguments: [moduleName STRING]
* @Return: BOOL Returns true if module is currently enabled
* @PublicAPI: true
*/
if (isnil "CSE_F_MODULE_OBJ_EH") then {
CSE_F_MODULE_OBJ_EH = [];
};
((_this select 0) in CSE_F_MODULE_OBJ_EH);

View File

@ -1,19 +0,0 @@
/**
* fn_moduleIsActive_f.sqf
* @Descr: Check if given module name is active. DEPRICATED. DO NOT USE.
* @Author: Glowbal
*
* @Arguments: [moduleName STRING]
* @Return: BOOL Returns true if moduel is currently active
* @PublicAPI: false
*/
private ["_moduleName","_return","_condition"];
_moduleName = _this select 0;
_return = false;
_condition = [_moduleNAme] call cse_fnc_getModuleCondition_F;
if (!isnil "_condition") then {
call compile format["_return = %1;",_condition];
};
_return

View File

@ -1,17 +0,0 @@
/**
* fn_remoteModuleInit.sqf
* @Descr: Called by remote execution script to initialize modules.
* @Author: Glowbal
*
* @Arguments: [[moduleName STRING, arguments ARRAY (Format: [argumentName STRING, value ANY])], ...]
* @Return: nil
* @PublicAPI: false
*/
private ["_toinitalizeModules"];
_toinitalizeModules = _this select 0;
sleep 5;
{
[format["initalize module through Cfg REMOTE: %1",_x]] call cse_fnc_debug;
_x call cse_fnc_enableModule_f;
}foreach _toinitalizeModules;

View File

@ -1,3 +0,0 @@
cse_f_modules = true;

View File

@ -1,21 +0,0 @@
// Collect cfg modules and initalize them.
[] spawn {
// by waiting, we ensure that CSE Config modules aren't initalized before the modules have been.
sleep 5;
_toinitalizeModules = [MissionConfigFile] call cse_fnc_getCfgModuleInits_f;
{
[format["initalize module through cfg: %1",_x]] call cse_fnc_debug;
_x call cse_fnc_enableModule_f;
}foreach _toinitalizeModules;
// Check if we want to collect server side modules
_allowCfg = ((getNumber(MissionConfigFile >> "Combat_Space_Enhancement" >> "DisableModuleConfig")) == 0);
if (isServer && _allowCfg) then {
_toinitalizeModules = [configFile] call cse_fnc_getCfgModuleInits_f;
[format["initalize modules through server cfg: %1",_toinitalizeModules]] call cse_fnc_debug;
if !(_toinitalizeModules isEqualTo []) then {
[[_toinitalizeModules], "cse_fnc_remoteModuleInit", true, true] spawn BIS_fnc_MP;
};
};
};

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Project name="Combat Space Enhancement">
<Package name="cse_f_modules">
<Container ID="Modules">
</Container>
</Package>
</Project>

View File

@ -1,49 +0,0 @@
class CfgFunctions {
class CSE {
class Carry {
file = "cse\cse_f_states\carry\functions";
class carryObj { recompile = 1; };
class carriedByObj { recompile = 1; };
class getCarriedObj { recompile = 1; };
class getCarriedBy { recompile = 1; };
class beingCarried { recompile = 1; };
class setCarriedBy { recompile = 1; }; /* Should not be used by other developers */
};
class Unconscious {
file = "cse\cse_f_states\unconscious\functions";
class setUnconsciousState { recompile = 1; };
class isUnconscious { recompile = 1; };
class getUnconsciousCondition { recompile = 1; };
class registerUnconsciousCondition { recompile = 1; };
class setCaptiveSwitch { recompile = 1; };
class moveToTempGroup { recompile = 1; };
class canGoUnconsciousState { recompile = 1; };
class setWeaponsCorrectUnconscious { recompile = 1; };
};
class Visual {
file = "cse\cse_f_states\visual\functions";
class effectPain { recompile = 1; };
class effectBleeding { recompile = 1; };
class effectBlackOut { recompile = 1; };
};
class Movement {
file = "cse\cse_f_states\movement\functions";
class limitMovementSpeed { recompile = 1; };
class limitSpeed { recompile = 1; };
};
class Arrest {
file = "cse\cse_f_states\arrest\functions";
class setArrestState { recompile = 1; };
class isArrested { recompile = 1; };
};
class LoadPerson {
file = "cse\cse_f_states\LoadPerson\functions";
class loadPerson_F { recompile = 1; };
class loadPersonLocal_F {recompile = 1; };
class makeCopyOfBody_F { recompile = 1; };
class makeCopyOfBodyLocal_F { recompile = 1; };
class unloadPerson_F { recompile = 1; };
class cleanUpCopyOfBody_F { recompile = 1; };
};
};
};

View File

@ -1,26 +0,0 @@
class Combat_Space_Enhancement
{
class EventHandlers
{
class PostInit_EventHandlers
{
class cse_f_states
{
init = " call compile preprocessFile 'cse\cse_f_states\init.sqf';";
};
};
};
class CustomEventHandlers {
class setUnconsciousState {}; // [unit, bool]
class setArrestState {}; // [unit, bool]
class carryObject {}; // [_unit, _to, _fallDown],"carryObject"
class carryObjectDropped {
class cleanUpCopiesAfterDrag { // [unit, droppedObject]
onCall = "[_this select 1] call cse_fnc_cleanUpCopyOfBody_f;";
};
};
};
};

View File

@ -1,11 +0,0 @@
/**
* fn_isArrested.sqf
* @Descr: Check if unit is in arrested state
* @Author: Glowbal
*
* @Arguments: [unit OBJECT]
* @Return: BOOL Returns true if unit or object is in arrest state
* @PublicAPI: true
*/
((_this select 0) getvariable ["cse_state_arrested",false])

View File

@ -1,43 +0,0 @@
/**
* fn_setArrestState.sqf
* @Descr: Set a unit in arrest state
* @Author: Glowbal
*
* @Arguments: [unitToBeArrested OBJECT, setArrested BOOL]
* @Return: void
* @PublicAPI: true
*/
private ["_unit","_setArrest"];
_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param;
_setArrest = [_this, 1, false, [false]] call BIS_fnc_Param;
if (_setArrest) then {
[_unit, "cse_state_arrested", true] call cse_fnc_setVariable;
if ([_unit] call cse_fnc_isAwake) then {
if (vehicle _unit == _unit) then {
[_unit,"UnaErcPoslechVelitele2",true] call cse_fnc_broadcastAnim;
};
};
if (IsPlayer _unit) then {
[["arrested", true],"cse_fnc_disableUserInput_f",_unit,false] call BIS_fnc_MP;
};
_unit disableAI "Move";
_unit disableAI "ANIM";
} else {
[_unit, "cse_state_arrested", false] call cse_fnc_setVariable;
if ([_unit] call cse_fnc_isAwake) then {
if (vehicle _unit == _unit) then {
[_unit,"",true] call cse_fnc_broadcastAnim;
};
_unit enableAI "Move";
_unit enableAI "ANIM";
};
if (IsPlayer _unit) then {
[["arrested", false],"cse_fnc_disableUserInput_f",_unit,false] call BIS_fnc_MP;
};
};
[[_unit, _setArrest],"setArrestState"] call cse_fnc_customEventHandler_F;

View File

@ -1,13 +0,0 @@
/**
* fn_beingCarried.sqf
* @Descr: Check if object is being carried
* @Author: Glowbal
*
* @Arguments: [object OBJECT]
* @Return: BOOL True if object is being carried
* @PublicAPI: true
*/
private["_object"];
_object = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_Param;
!(isNull ([_object] call cse_fnc_getCarriedObj));

View File

@ -1,15 +0,0 @@
/**
* fn_carriedByObj.sqf
* @Descr: Check if object A is being carried by object B.
* @Author: Glowbal
*
* @Arguments: [object OBJECT, unit OBJECT]
* @Return: BOOL True if B is carrying A.
* @PublicAPI: true
*/
private ["_unit","_to"];
_to = _this select 0;
_unit = _this select 1;
([_to] call cse_fnc_getCarriedBy == [_unit] call cse_fnc_getCarriedBy);

View File

@ -1,74 +0,0 @@
/**
* fn_carryObj.sqf
* @Descr: Have a unit carry an object. Use ObjNull for second parameter if you want the unit to carry nothing
* @Author: Glowbal
*
* @Arguments: [unit OBJECT, objectToCarry OBJECT, attachToVector ARRAY (Optional)]
* @Return: BOOL Returns true if succesful
* @PublicAPI: true
*/
private ["_unit","_to","_return", "_fallDown", "_carriedObj", "_positionUnit"];
_unit = [_this, 0,ObjNull, [ObjNull]] call bis_fnc_param;
_to = [_this, 1,ObjNull, [ObjNull]] call bis_fnc_param;
_fallDown = false;
if (count _this > 3) then {
_fallDown = _this select 3;
};
_return = false;
[format["fnc_carryObj - UNIT: %1 ATTEMPTS TO CARRY %2",_unit,_to],2] call cse_fnc_debug;
if (((typeName _to) == "OBJECT" && (isNull ([_unit] call cse_fnc_getCarriedObj))) || isNull _to) then {
if (vehicle _unit != _unit) exitwith {};
if (!isNull _to) then {
if ((isNull ([_to] call cse_fnc_getCarriedObj)) && ([_unit] call cse_fnc_canInteract)) then {
_return = true;
_unit setvariable ["cse_carriedObj",_to,true];
if (_fallDown) then {
// [_unit,_fallDown] call cse_fnc_limitMovementSpeed;
};
[_to, _unit] call cse_fnc_setCarriedBy;
if (count _this > 2) then {
if (count (_this select 2) == 3) then {
_to attachTo [_unit,(_this select 2)];
[format["fnc_carryObj - UNIT: %1 TO %2 - attachTo offset: %3",_unit,_to,(_this select 2)],2] call cse_fnc_debug;
};
} else {
[format["fnc_carryObj - UNIT: %1 TO %2 - Script expects external handling of attachTo Command. Exiting",_unit,_to],2] call cse_fnc_debug;
};
[[_unit, _to, _fallDown],"carryObject"] call cse_fnc_customEventHandler_F;
};
} else {
if (!isNull ([_unit] call cse_fnc_getCarriedObj)) then {
[format["fnc_carryObj - UNIT: %1 DROPING CARRIED OBJECT",_unit],2] call cse_fnc_debug;
_carriedObj = ([_unit] call cse_fnc_getCarriedObj);
detach _carriedObj;
//_carriedObj setPosATL [(getPosATL _carriedObj) select 0, (getPosATL _carriedObj) select 1,0];
if (!surfaceIsWater getPos _unit) then {
_positionUnit = getPosATL _carriedObj;
_positionUnit set [2, ((getPosATL _unit) select 2) + 0.1];
_carriedObj setPosATL _positionUnit;
} else {
_positionUnit = getPosASL _carriedObj;
_positionUnit set [2, ((getPosASL _unit) select 2) + 0.1];
_carriedObj setPosASL _positionUnit;
};
[[_unit, _carriedObj],"carryObjectDropped"] call cse_fnc_customEventHandler_F;
[[_unit] call cse_fnc_getCarriedObj, objNull] call cse_fnc_setCarriedBy;
_unit setvariable ["cse_carriedObj",_to,true];
_return = true;
[[_unit, _to, _fallDown],"carryObject"] call cse_fnc_customEventHandler_F;
};
};
} else {
[format["fnc_carryObj - UNIT: %1 FAILED TO CARRY %2 - not an object or already carrying",_unit,_to],2] call cse_fnc_debug;
};
//[format["UNIT: %1 ATTEMPTS TO CARRY %2",_unit,_to],2] call cse_fnc_debug;
_return

View File

@ -1,14 +0,0 @@
/**
* fn_getCarriedBy.sqf
* @Descr: Get the object that is carrying given unit or object
* @Author: Glowbal
*
* @Arguments: [unit OBJECT]
* @Return: OBJECT Returns the object that is carrying the unit. Otherwise returns ObjNull
* @PublicAPI: true
*/
private ["_unit","_return"];
_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_param;
_return = _unit getvariable ["cse_carriedBy",objNull];
_return

View File

@ -1,14 +0,0 @@
/**
* fn_getCarriedObj.sqf
* @Descr: Grab the registered carried object
* @Author: Glowbal
*
* @Arguments: [unit OBJECT]
* @Return: OBJECT Returns the object that the unit is currently carrying. If not carrying, returns ObjNull
* @PublicAPI: true
*/
private ["_unit","_return"];
_unit = _this select 0;
_return = _unit getvariable ["cse_carriedObj",objNull];
_return

View File

@ -1,20 +0,0 @@
/**
* fn_setCarriedBy.sqf
* @Descr: Registers an object being carried by another object
* @Author: Glowbal
*
* @Arguments: [unitToBeCarried OBJECT, objectCarrying OBJECT]
* @Return: BOOL True if succesfully registered
* @PublicAPI: false
*/
private ["_unit","_to","_return"];
_unit = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param;
_to = [_this, 1, ObjNull,[ObjNull]] call BIS_fnc_Param;
_return = false;
if ((isNull ([_unit] call cse_fnc_getCarriedBy)) || isNull _to) then {
_return = true;
_unit setvariable ["cse_carriedBy",_to,true];
};
_return

View File

@ -1,26 +0,0 @@
#define _ARMA_
class CfgPatches
{
class cse_f_states
{
units[] = {};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] = {"cse_main"};
version = "0.5";
author[] = {"Combat Space Enhancement"};
authorUrl = "http://csemod.com";
};
};
class CfgAddons {
class PreloadAddons {
class cse_f_states {
list[] = {"cse_f_states"};
};
};
};
#include "CfgFunctions.h"
#include "Combat_Space_Enhancement.h"
#include "define.hpp"
#include "visual\empty.hpp"
#include "visual\effects.hpp"

View File

@ -1,797 +0,0 @@
#ifndef CSE_DEFINE_H
#define CSE_DEFINE_H
// define.hpp
#define true 1
#define false 0
#define CT_STATIC 0
#define CT_BUTTON 1
#define CT_EDIT 2
#define CT_SLIDER 3
#define CT_COMBO 4
#define CT_LISTBOX 5
#define CT_TOOLBOX 6
#define CT_CHECKBOXES 7
#define CT_PROGRESS 8
#define CT_HTML 9
#define CT_STATIC_SKEW 10
#define CT_ACTIVETEXT 11
#define CT_TREE 12
#define CT_STRUCTURED_TEXT 13
#define CT_CONTEXT_MENU 14
#define CT_CONTROLS_GROUP 15
#define CT_SHORTCUTBUTTON 16
#define CT_XKEYDESC 40
#define CT_XBUTTON 41
#define CT_XLISTBOX 42
#define CT_XSLIDER 43
#define CT_XCOMBO 44
#define CT_ANIMATED_TEXTURE 45
#define CT_OBJECT 80
#define CT_OBJECT_ZOOM 81
#define CT_OBJECT_CONTAINER 82
#define CT_OBJECT_CONT_ANIM 83
#define CT_LINEBREAK 98
#define CT_ANIMATED_USER 99
#define CT_MAP 100
#define CT_MAP_MAIN 101
#define CT_LISTNBOX 102
// Static styles
#define ST_POS 0x0F
#define ST_HPOS 0x03
#define ST_VPOS 0x0C
#define ST_LEFT 0x00
#define ST_RIGHT 0x01
#define ST_CENTER 0x02
#define ST_DOWN 0x04
#define ST_UP 0x08
#define ST_VCENTER 0x0c
#define ST_TYPE 0xF0
#define ST_SINGLE 0
#define ST_MULTI 16
#define ST_TITLE_BAR 32
#define ST_PICTURE 48
#define ST_FRAME 64
#define ST_BACKGROUND 80
#define ST_GROUP_BOX 96
#define ST_GROUP_BOX2 112
#define ST_HUD_BACKGROUND 128
#define ST_TILE_PICTURE 144
#define ST_WITH_RECT 160
#define ST_LINE 176
#define ST_SHADOW 0x100
#define ST_NO_RECT 0x200 // this style works for CT_STATIC in conjunction with ST_MULTI
#define ST_KEEP_ASPECT_RATIO 0x800
#define ST_TITLE ST_TITLE_BAR + ST_CENTER
// Slider styles
#define SL_DIR 0x400
#define SL_VERT 0
#define SL_HORZ 0x400
#define SL_TEXTURES 0x10
// Listbox styles
#define LB_TEXTURES 0x10
#define LB_MULTI 0x20
#define FontCSE "PuristaMedium"
class cse_gui_backgroundBase {
type = CT_STATIC;
idc = -1;
style = ST_PICTURE;
colorBackground[] = {0,0,0,0};
colorText[] = {1, 1, 1, 1};
font = FontCSE;
text = "";
sizeEx = 0.032;
};
class cse_gui_editBase
{
access = 0;
type = 2;
x = 0;
y = 0;
h = 0.04;
w = 0.2;
colorBackground[] =
{
0,
0,
0,
1
};
colorText[] =
{
0.95,
0.95,
0.95,
1
};
colorSelection[] =
{
"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])",
"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])",
"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])",
1
};
autocomplete = "";
text = "";
size = 0.2;
style = "0x00 + 0x40";
font = "PuristaMedium";
shadow = 2;
sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
colorDisabled[] =
{
1,
1,
1,
0.25
};
};
class cse_gui_buttonBase {
idc = -1;
type = 16;
style = ST_LEFT;
text = "";
action = "";
x = 0.0;
y = 0.0;
w = 0.25;
h = 0.04;
size = 0.03921;
sizeEx = 0.03921;
color[] = {1.0, 1.0, 1.0, 1};
color2[] = {1.0, 1.0, 1.0, 1};
/*colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.5])"};
colorbackground2[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.4};
colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25};
colorFocused[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])", 0.8};
colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.8};
*/
colorBackground[] = {1,1,1,0.95};
colorbackground2[] = {1,1,1,0.95};
colorDisabled[] = {1,1,1,0.6};
colorFocused[] = {1,1,1,1};
colorBackgroundFocused[] = {1,1,1,1};
periodFocus = 1.2;
periodOver = 0.8;
default = false;
class HitZone {
left = 0.00;
top = 0.00;
right = 0.00;
bottom = 0.00;
};
class ShortcutPos {
left = 0.00;
top = 0.00;
w = 0.00;
h = 0.00;
};
class TextPos {
left = 0.002;
top = 0.0004;
right = 0.0;
bottom = 0.00;
};
textureNoShortcut = "";
animTextureNormal = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
animTextureDisabled = "cse\cse_gui\data\buttonDisabled_gradient.paa";
animTextureOver = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
animTextureFocused = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
animTexturePressed = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
animTextureDefault = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
period = 0.5;
font = FontCSE;
soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1};
soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.0,0};
soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.07,1};
soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1};
class Attributes {
font = FontCSE;
color = "#E5E5E5";
align = "center";
shadow = "true";
};
class AttributesImage {
font = FontCSE;
color = "#E5E5E5";
align = "left";
shadow = "true";
};
};
class cse_gui_RscProgress {
type = 8;
style = 0;
colorFrame[] = {1,1,1,0.7};
colorBar[] = {1,1,1,0.7};
texture = "#(argb,8,8,3)color(1,1,1,0.7)";
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "0.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
};
class cse_gui_staticBase {
idc = -1;
type = CT_STATIC;
x = 0.0;
y = 0.0;
w = 0.183825;
h = 0.104575;
style = ST_LEFT;
font = FontCSE;
sizeEx = 0.03921;
colorText[] = {0.95, 0.95, 0.95, 1.0};
colorBackground[] = {0, 0, 0, 0};
text = "";
};
class RscListBox;
class cse_gui_listBoxBase : RscListBox{
type = CT_LISTBOX;
style = ST_MULTI;
font = FontCSE;
sizeEx = 0.03921;
color[] = {1, 1, 1, 1};
colorText[] = {0.543, 0.5742, 0.4102, 1.0};
colorScrollbar[] = {0.95, 0.95, 0.95, 1};
colorSelect[] = {0.95, 0.95, 0.95, 1};
colorSelect2[] = {0.95, 0.95, 0.95, 1};
colorSelectBackground[] = {0, 0, 0, 1};
colorSelectBackground2[] = {0.543, 0.5742, 0.4102, 1.0};
colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25};
period = 1.2;
rowHeight = 0.03;
colorBackground[] = {0, 0, 0, 1};
maxHistoryDelay = 1.0;
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
soundSelect[] = {"",0.1,1};
soundExpand[] = {"",0.1,1};
soundCollapse[] = {"",0.1,1};
class ListScrollBar {
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
autoScrollDelay = 5;
autoScrollEnabled = 0;
autoScrollRewind = 0;
autoScrollSpeed = -1;
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
height = 0;
scrollSpeed = 0.06;
shadow = 0;
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
width = 0;
};
class ScrollBar {
color[] = {1, 1, 1, 0.6};
colorActive[] = {1, 1, 1, 1};
colorDisabled[] = {1, 1, 1, 0.3};
thumb = "";
arrowFull = "";
arrowEmpty = "";
border = "";
};
};
class cse_gui_listNBox {
access = 0;
type = CT_LISTNBOX;// 102;
style =ST_MULTI;
w = 0.4;
h = 0.4;
font = FontCSE;
sizeEx = 0.031;
autoScrollSpeed = -1;
autoScrollDelay = 5;
autoScrollRewind = 0;
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
columns[] = {0.0};
color[] = {1, 1, 1, 1};
rowHeight = 0.03;
colorBackground[] = {0, 0, 0, 0.2};
colorText[] = {1,1, 1, 1.0};
colorScrollbar[] = {0.95, 0.95, 0.95, 1};
colorSelect[] = {0.95, 0.95, 0.95, 1};
colorSelect2[] = {0.95, 0.95, 0.95, 1};
colorSelectBackground[] = {0, 0, 0, 0.0};
colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.5};
colorActive[] = {0,0,0,1};
colorDisabled[] = {0,0,0,0.3};
rows = 1;
drawSideArrows = 0;
idcLeft = -1;
idcRight = -1;
maxHistoryDelay = 1;
soundSelect[] = {"", 0.1, 1};
period = 1;
shadow = 2;
class ScrollBar {
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
border = "#(argb,8,8,3)color(1,1,1,1)";
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
thumb = "#(argb,8,8,3)color(1,1,1,1)";
};
class ListScrollBar {
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
autoScrollDelay = 5;
autoScrollEnabled = 0;
autoScrollRewind = 0;
autoScrollSpeed = -1;
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
color[] = {1,1,1,0.6};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.3};
height = 0;
scrollSpeed = 0.06;
shadow = 0;
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
width = 0;
};
};
class RscCombo;
class cse_gui_comboBoxBase: RscCombo {
idc = -1;
type = 4;
style = "0x10 + 0x200";
x = 0;
y = 0;
w = 0.3;
h = 0.035;
color[] = {0,0,0,0.6};
colorActive[] = {1,0,0,1};
colorBackground[] = {0,0,0,1};
colorDisabled[] = {1,1,1,0.25};
colorScrollbar[] = {1,0,0,1};
colorSelect[] = {0,0,0,1};
colorSelectBackground[] = {1,1,1,0.7};
colorText[] = {1,1,1,1};
arrowEmpty = "";
arrowFull = "";
wholeHeight = 0.45;
font = FontCSE;
sizeEx = 0.031;
soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1};
soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1};
soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1};
maxHistoryDelay = 1.0;
class ScrollBar
{
color[] = {0.3,0.3,0.3,0.6};
colorActive[] = {0.3,0.3,0.3,1};
colorDisabled[] = {0.3,0.3,0.3,0.3};
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
border = "";
};
class ComboScrollBar {
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
autoScrollDelay = 5;
autoScrollEnabled = 0;
autoScrollRewind = 0;
autoScrollSpeed = -1;
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
color[] = {0.3,0.3,0.3,0.6};
colorActive[] = {0.3,0.3,0.3,1};
colorDisabled[] = {0.3,0.3,0.3,0.3};
height = 0;
scrollSpeed = 0.06;
shadow = 0;
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
width = 0;
};
};
class cse_gui_mapBase {
moveOnEdges = 1;
x = "SafeZoneXAbs";
y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
w = "SafeZoneWAbs";
h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
type = 100; // Use 100 to hide markers
style = 48;
shadow = 0;
ptsPerSquareSea = 5;
ptsPerSquareTxt = 3;
ptsPerSquareCLn = 10;
ptsPerSquareExp = 10;
ptsPerSquareCost = 10;
ptsPerSquareFor = 9;
ptsPerSquareForEdge = 9;
ptsPerSquareRoad = 6;
ptsPerSquareObj = 9;
showCountourInterval = 0;
scaleMin = 0.001;
scaleMax = 1.0;
scaleDefault = 0.16;
maxSatelliteAlpha = 0.85;
alphaFadeStartScale = 0.35;
alphaFadeEndScale = 0.4;
colorBackground[] = {0.969,0.957,0.949,1.0};
colorSea[] = {0.467,0.631,0.851,0.5};
colorForest[] = {0.624,0.78,0.388,0.5};
colorForestBorder[] = {0.0,0.0,0.0,0.0};
colorRocks[] = {0.0,0.0,0.0,0.3};
colorRocksBorder[] = {0.0,0.0,0.0,0.0};
colorLevels[] = {0.286,0.177,0.094,0.5};
colorMainCountlines[] = {0.572,0.354,0.188,0.5};
colorCountlines[] = {0.572,0.354,0.188,0.25};
colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6};
colorCountlinesWater[] = {0.491,0.577,0.702,0.3};
colorPowerLines[] = {0.1,0.1,0.1,1.0};
colorRailWay[] = {0.8,0.2,0.0,1.0};
colorNames[] = {0.1,0.1,0.1,0.9};
colorInactive[] = {1.0,1.0,1.0,0.5};
colorOutside[] = {0.0,0.0,0.0,1.0};
colorTracks[] = {0.84,0.76,0.65,0.15};
colorTracksFill[] = {0.84,0.76,0.65,1.0};
colorRoads[] = {0.7,0.7,0.7,1.0};
colorRoadsFill[] = {1.0,1.0,1.0,1.0};
colorMainRoads[] = {0.9,0.5,0.3,1.0};
colorMainRoadsFill[] = {1.0,0.6,0.4,1.0};
colorGrid[] = {0.1,0.1,0.1,0.6};
colorGridMap[] = {0.1,0.1,0.1,0.6};
colorText[] = {1, 1, 1, 0.85};
font = "PuristaMedium";
sizeEx = 0.0270000;
stickX[] = {0.20, {"Gamma", 1.00, 1.50} };
stickY[] = {0.20, {"Gamma", 1.00, 1.50} };
onMouseButtonClick = "";
onMouseButtonDblClick = "";
fontLabel = "PuristaMedium";
sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
fontGrid = "TahomaB";
sizeExGrid = 0.02;
fontUnits = "TahomaB";
sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
fontNames = "PuristaMedium";
sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2";
fontInfo = "PuristaMedium";
sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
fontLevel = "TahomaB";
sizeExLevel = 0.02;
text = "#(argb,8,8,3)color(1,1,1,1)";
class ActiveMarker {
color[] = {0.30, 0.10, 0.90, 1.00};
size = 50;
};
class Legend
{
x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)";
y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
font = "PuristaMedium";
sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
colorBackground[] = {1,1,1,0.5};
color[] = {0,0,0,1};
};
class Task
{
icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa";
iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa";
iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa";
iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa";
iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa";
color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"};
colorCreated[] = {1,1,1,1};
colorCanceled[] = {0.7,0.7,0.7,1};
colorDone[] = {0.7,1,0.3,1};
colorFailed[] = {1,0.3,0.2,1};
size = 27;
importance = 1;
coefMin = 1;
coefMax = 1;
};
class Waypoint
{
icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
color[] = {0,0,0,1};
size = 20;
importance = "1.2 * 16 * 0.05";
coefMin = 0.900000;
coefMax = 4;
};
class WaypointCompleted
{
icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa";
color[] = {0,0,0,1};
size = 20;
importance = "1.2 * 16 * 0.05";
coefMin = 0.900000;
coefMax = 4;
};
class CustomMark
{
icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa";
size = 24;
importance = 1;
coefMin = 1;
coefMax = 1;
color[] = {0,0,0,1};
};
class Command
{
icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
size = 18;
importance = 1;
coefMin = 1;
coefMax = 1;
color[] = {1,1,1,1};
};
class Bush
{
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
color[] = {0.45,0.64,0.33,0.4};
size = "14/2";
importance = "0.2 * 14 * 0.05 * 0.05";
coefMin = 0.25;
coefMax = 4;
};
class Rock
{
icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa";
color[] = {0.1,0.1,0.1,0.8};
size = 12;
importance = "0.5 * 12 * 0.05";
coefMin = 0.25;
coefMax = 4;
};
class SmallTree
{
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
color[] = {0.45,0.64,0.33,0.4};
size = 12;
importance = "0.6 * 12 * 0.05";
coefMin = 0.25;
coefMax = 4;
};
class Tree
{
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
color[] = {0.45,0.64,0.33,0.4};
size = 12;
importance = "0.9 * 16 * 0.05";
coefMin = 0.25;
coefMax = 4;
};
class busstop
{
icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class fuelstation
{
icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class hospital
{
icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class church
{
icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class lighthouse
{
icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class power
{
icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class powersolar
{
icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class powerwave
{
icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class powerwind
{
icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class quay
{
icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class shipwreck
{
icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class transmitter
{
icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class watertower
{
icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {1,1,1,1};
};
class Cross
{
icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {0,0,0,1};
};
class Chapel
{
icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa";
size = 24;
importance = 1;
coefMin = 0.85;
coefMax = 1.0;
color[] = {0,0,0,1};
};
class Bunker
{
icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
size = 14;
importance = "1.5 * 14 * 0.05";
coefMin = 0.25;
coefMax = 4;
color[] = {0,0,0,1};
};
class Fortress
{
icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
size = 16;
importance = "2 * 16 * 0.05";
coefMin = 0.25;
coefMax = 4;
color[] = {0,0,0,1};
};
class Fountain
{
icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa";
size = 11;
importance = "1 * 12 * 0.05";
coefMin = 0.25;
coefMax = 4;
color[] = {0,0,0,1};
};
class Ruin
{
icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa";
size = 16;
importance = "1.2 * 16 * 0.05";
coefMin = 1;
coefMax = 4;
color[] = {0,0,0,1};
};
class Stack
{
icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa";
size = 20;
importance = "2 * 16 * 0.05";
coefMin = 0.9;
coefMax = 4;
color[] = {0,0,0,1};
};
class Tourism
{
icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa";
size = 16;
importance = "1 * 16 * 0.05";
coefMin = 0.7;
coefMax = 4;
color[] = {0,0,0,1};
};
class ViewTower
{
icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa";
size = 16;
importance = "2.5 * 16 * 0.05";
coefMin = 0.5;
coefMax = 4;
color[] = {0,0,0,1};
};
};
#endif

View File

@ -1,104 +0,0 @@
/*
*/
cse_fnc_setCanSwitchAnim = {
private ["_unit","_to","_return"];
_unit = _this select 0;
_to = _this select 1;
_return = false;
if (((typeName _to) == "BOOL")) then {
_unit setvariable ["cse_canSwitchAnimation",_to,true];
_return = true;
};
_return
};
cse_fnc_getCanSwitchAnim = {
private ["_unit","_return"];
_unit = _this select 0;
_return = _unit getvariable "cse_canSwitchAnimation";
_return
};
cse_fnc_setCurrentMenu = {
_unit = _this select 0;
_to = _this select 1;
_return = false;
if ((typeName _to) == "STRING") then {
_unit setvariable ["cse_currentMenu",_to,true];
_return = true;
};
_return
};
cse_fnc_getCurrentMenu = {
_unit = _this select 0;
_return = _unit getvariable ["cse_currentMenu",""];
_return
};
cse_fnc_changeBlurialVisionState = {
private ["_unit","_to"];
_unit = _this select 0;
_to = _this select 1;
_return = false;
if (((typeName _to) == "SCALAR")) then {
if (_to < -1) then {
_to = -1;
} else {
if (_to > 1) then {
_to = 1;
};
};
_unit setvariable ["cse_blurialVisualState", [_unit] call cse_fnc_getBlurialVisionState + _to,false];
_return = true;
};
_return
};
cse_fnc_getBlurialVisionState = {
private ["_unit"];
_unit = _this select 0;
_return = _unit getvariable ["cse_blurialVisualState",0];
_return
};
// EVERYTHING BELOW HERE IS STILL WORK IN PROGRESS
cse_fnc_setMovementState = {
private ["_unit","_to"];
_unit = _this select 0;
_to = _this select 1;
_return = false;
if (((typeName _to) == "SCALAR")) then {
_unit setvariable ["cse_movementState",_to,false];
_return = true;
};
_return
};
cse_fnc_getMovementState = {
private ["_unit"];
_unit = _this select 0;
_return = _unit getvariable ["cse_movementState",0];
_return
};
cse_fnc_setHearingState = {
private ["_unit","_to"];
_unit = _this select 0;
_to = _this select 1;
_return = false;
if (((typeName _to) == "SCALAR")) then {
_unit setvariable ["cse_hearingState",_to,false];
_return = true;
};
_return
};
cse_fnc_getHearingState = {
private ["_unit"];
_unit = _this select 0;
_return = _unit getvariable ["cse_hearingState",0];
_return
};

View File

@ -1,37 +0,0 @@
/*
*/
call compileFinal preprocessFile "cse\cse_f_states\functions.sqf";
if (!isDedicated) then {
45 cutRsc ["RscCSEScreenEffectsBlack","PLAIN"];
};
if (isServer) then {
CSE_LOGIC_OBJECT = (createGroup sideLogic) createUnit ["logic", [1,1,1], [], 0, "FORM"];
publicVariable "CSE_LOGIC_OBJECT";
};
["cse_isDead",false,true,"cse"] call cse_fnc_defineVariable;
["cse_isDeadPlayer", false, true, "cse"] call cse_fnc_defineVariable;
["cse_state_arrested",false,true,"cse"] call cse_fnc_defineVariable;
["cse_state_unconscious",false,true,"cse"] call cse_fnc_defineVariable;
["CSE_ENABLE_REVIVE_SETDEAD_F",0,false,"cse"] call cse_fnc_defineVariable;
["cse_carriedBy",objNull,false,"cse"] call cse_fnc_defineVariable;
if (isnil "CSE_MARKED_FOR_GABAGE_COLLECTION") then {
CSE_MARKED_FOR_GABAGE_COLLECTION = [];
};
[] spawn {
waituntil {
{
deleteVehicle _x;
false;
}count CSE_MARKED_FOR_GABAGE_COLLECTION;
CSE_MARKED_FOR_GABAGE_COLLECTION = CSE_MARKED_FOR_GABAGE_COLLECTION - [objNull];
false;
};
};

View File

@ -1,24 +0,0 @@
/**
* fn_cleanUpCopyOfBody_f.sqf
* @Descr: Called from a custom eventhandler to ensure that any copies of bodies are cleaned up.
* @Author: Glowbal
*
* @Arguments: [unit OBJECT]
* @Return: BOOL
* @PublicAPI: true
*/
private ["_unit", "_copy"];
_unit = _this select 0;
_copy = _unit getvariable "cse_copyOfBody_f";
if (isnil "_copy") exitwith {false};
[format["Cleaning up a copy of Body: %1 %2", _unit, _copy]] call cse_fnc_debug;
// lets clean it up
_unit setvariable ["cse_originalCopy_f", nil, true];
_unit setvariable ["cse_copyOfBody_f", nil, true];
if (!isNull _copy) then {
deleteVehicle _copy;
};
true;

View File

@ -1,37 +0,0 @@
/**
* fn_loadPersonLocal_f.sqf
* @Descr: Load a person, local
* @Author: Glowbal
*
* @Arguments: [unit OBJECT, vehicle OBJECT, caller OBJECT]
* @Return: void
* @PublicAPI: false
*/
private ["_unit","_vehicle","_caller","_handle","_loaded"];
_unit = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param;
_vehicle = [_this, 1, ObjNull,[ObjNull]] call BIS_fnc_Param;
_caller = [_this, 2, ObjNull,[ObjNull]] call BIS_fnc_Param;
if (!alive _unit) then {
_unit = [_unit,_caller] call cse_fnc_makeCopyOfBody_F;
};
_unit moveInCargo _vehicle;
_loaded = _vehicle getvariable ["cse_loaded_persons_F",[]];
_loaded pushback _unit;
_vehicle setvariable ["cse_loaded_persons_F",_loaded,true];
if (!([_unit] call cse_fnc_isAwake)) then {
_handle = [_unit,_vehicle] spawn {
private ["_unit","_vehicle"];
_unit = _this select 0;
_vehicle = _this select 1;
waituntil {vehicle _unit == _vehicle};
sleep 0.5;
[_unit,([_unit] call cse_fnc_getDeathAnim)] call cse_fnc_broadcastAnim;
};
} else {
if ([_unit] call cse_fnc_isArrested) then {
};
};

View File

@ -1,40 +0,0 @@
/**
* fn_loadPerson_f.sqf
* @Descr: Loads a specified unit into any nearby vehicle
* @Author: Glowbal
*
* @Arguments: [caller OBJECT, unitToBeLoaded OBJECT]
* @Return: OBJECT Returns the vehicle that the unitToBeloaded has been loaded in. Returns ObjNull if function failed
* @PublicAPI: true
*/
#define GROUP_SWITCH_ID "cse_fnc_loadPerson_F"
private ["_caller", "_unit","_vehicle", "_loadcar", "_loadhelicopter", "_loadtank"];
_caller = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param;
_unit = [_this, 1, ObjNull,[ObjNull]] call BIS_fnc_Param;
_vehicle = ObjNull;
if (!([_caller] call cse_fnc_canInteract) || {_caller == _unit}) exitwith {_vehicle};
_loadcar = nearestObject [_unit, "car"];
if (_unit distance _loadcar <= 10) then {
_vehicle = _loadcar;
} else {
_loadhelicopter = nearestObject [_unit, "air"];
if (_unit distance _loadhelicopter <= 10) then {
_vehicle = _loadhelicopter;
} else {
_loadtank = nearestObject [_unit, "tank"];
if (_unit distance _loadtank <= 10) then {
_vehicle = _loadtank;
};
};
};
if (!isNull _vehicle) then {
[_unit, true, GROUP_SWITCH_ID, side group _caller] call cse_fnc_switchToGroupSide_f;
[_caller,objNull] call cse_fnc_carryObj;
[_unit,objNull] call cse_fnc_carryObj;
[[_unit, _vehicle,_caller], "cse_fnc_loadPersonLocal_F", _unit, false] spawn BIS_fnc_MP;
};
_vehicle

View File

@ -1,62 +0,0 @@
/**
* fn_makeCopyOfBodyLocal_f.sqf
* @Descr: Makes a copy of a dead body. For handling dead bodies for actions such as load and carry.
* @Author: Glowbal
*
* @Arguments: [oldBody OBJECT, newUnit OBJECT]
* @Return: void
* @PublicAPI: false
*/
private ["_oldBody","_newUnit","_class","_group","_position","_side","_allVariables"];
_oldBody = _this select 0;
_newUnit = _this select 1;
if (alive _oldBody) exitwith {}; // we only want to do this for dead bodies
_name = _oldBody getvariable ["cse_name","unknown"];
_allVariables = [_oldBody] call cse_fnc_getAllSetVariables;
// [NAME (STRING), TYPENAME (STRING), VALUE (ANY), DEFAULT GLOBAL (BOOLEAN)]
{
[_newUnit,_x select 0, _x select 2] call cse_fnc_setVariable;
}foreach _allVariables;
_newUnit setVariable ["cse_name",_name,true];
_newUnit disableAI "TARGET";
_newUnit disableAI "AUTOTARGET";
_newUnit disableAI "MOVE";
_newUnit disableAI "ANIM";
_newUnit disableAI "FSM";
_newUnit setvariable ["cse_isDead",true,true];
removeallweapons _newUnit;
removeallassigneditems _newUnit;
removeUniform _newUnit;
removeHeadgear _newUnit;
removeBackpack _newUnit;
removeVest _newUnit;
_newUnit addHeadgear (headgear _oldBody);
_newUnit addBackpack (backpack _oldBody);
clearItemCargoGlobal (backpackContainer _newUnit);
clearMagazineCargoGlobal (backpackContainer _newUnit);
clearWeaponCargoGlobal (backpackContainer _newUnit);
_newUnit addVest (vest _oldBody);
clearItemCargoGlobal (backpackContainer _newUnit);
clearMagazineCargoGlobal (backpackContainer _newUnit);
clearWeaponCargoGlobal (backpackContainer _newUnit);
_newUnit addUniform (uniform _oldBody);
clearItemCargoGlobal (backpackContainer _newUnit);
clearMagazineCargoGlobal (backpackContainer _newUnit);
clearWeaponCargoGlobal (backpackContainer _newUnit);
{_newUnit addMagazine _x} count (magazines _oldBody);
{_newUnit addWeapon _x} count (weapons _oldBody);
{_newUnit addItem _x} count (items _oldBody);
_newUnit selectWeapon (primaryWeapon _newUnit);
//[_newUnit,([_newUnit] call cse_fnc_getDeathAnim)] call cse_fnc_broadcastAnim;
deleteVehicle _oldBody;

View File

@ -1,88 +0,0 @@
/**
* fn_makeCopyOfBody_f.sqf
* @Descr: Makes a copy of a dead body. For handling dead bodies for actions such as load and carry.
* @Author: Glowbal
*
* @Arguments: [oldBody OBJECT, caller OBJECT]
* @Return: newUnit OBJECT Returns the copy of the unit. If no copy could be made, returns the oldBody
* @PublicAPI: false
*/
private ["_oldBody","_newUnit","_class","_group","_position","_side","_allVariables"];
_oldBody = _this select 0;
_caller = _this select 1;
if (alive _oldBody) exitwith {_oldBody}; // we only want to do this for dead bodies
_name = _oldBody getvariable ["cse_name","unknown"];
_class = typeof _oldBody;
_side = side _caller;
_group = createGroup _side;
_position = getPos _oldBody;
_newUnit = _group createUnit [typeof _oldBody, _position, [], 0, "NONE"];
_allVariables = [_oldBody] call cse_fnc_getAllSetVariables;
// [NAME (STRING), TYPENAME (STRING), VALUE (ANY), DEFAULT GLOBAL (BOOLEAN)]
{
[_newUnit,_x select 0, _x select 2] call cse_fnc_setVariable;
}foreach _allVariables;
_newUnit setVariable ["cse_name",_name,true];
_newUnit disableAI "TARGET";
_newUnit disableAI "AUTOTARGET";
_newUnit disableAI "MOVE";
_newUnit disableAI "ANIM";
_newUnit disableAI "FSM";
_newUnit setvariable ["cse_isDead",true,true];
removeallweapons _newUnit;
removeallassigneditems _newUnit;
removeUniform _newUnit;
removeHeadgear _newUnit;
removeBackpack _newUnit;
removeVest _newUnit;
_newUnit addHeadgear (headgear _oldBody);
_newUnit addBackpack (backpack _oldBody);
clearItemCargoGlobal (backpackContainer _newUnit);
clearMagazineCargoGlobal (backpackContainer _newUnit);
clearWeaponCargoGlobal (backpackContainer _newUnit);
_newUnit addVest (vest _oldBody);
clearItemCargoGlobal (backpackContainer _newUnit);
clearMagazineCargoGlobal (backpackContainer _newUnit);
clearWeaponCargoGlobal (backpackContainer _newUnit);
_newUnit addUniform (uniform _oldBody);
clearItemCargoGlobal (backpackContainer _newUnit);
clearMagazineCargoGlobal (backpackContainer _newUnit);
clearWeaponCargoGlobal (backpackContainer _newUnit);
{_newUnit addMagazine _x} count (magazines _oldBody);
{_newUnit addWeapon _x} count (weapons _oldBody);
{_newUnit addItem _x} count (items _oldBody);
_newUnit selectWeapon (primaryWeapon _newUnit);
//_newUnit playMoveNow ([_newUnit] call cse_fnc_getDeathAnim);
deleteVehicle _oldBody;
// try and clean it up entirely.
if (!isNull _oldBody) then {
if (isMultiplayer) then {
_oldBody hideObjectGlobal true;
} else {
_oldBody hideObject true;
};
_oldBody setvariable ["cse_originalCopy_f", true];
_newUnit setvariable ["cse_copyOfBody_f", _oldBody];
if (isnil "CSE_MARKED_FOR_GABAGE_COLLECTION") then {
CSE_MARKED_FOR_GABAGE_COLLECTION = [];
};
CSE_MARKED_FOR_GABAGE_COLLECTION pushback _oldBody;
};
_newUnit setDamage 0.9;
_newUnit

View File

@ -1,57 +0,0 @@
/**
* fn_unloadPerson_f.sqf
* @Descr: Unload a person from a vehicle
* @Author: Glowbal
*
* @Arguments: [caller OBJECT, unit OBJECT]
* @Return: BOOL Returns true if succesfully unloaded person
* @PublicAPI: true
*/
#define GROUP_SWITCH_ID "cse_fnc_loadPerson_F"
private ["_caller", "_unit","_vehicle", "_loaded"];
_caller = [_this, 0, ObjNull,[ObjNull]] call BIS_fnc_Param;
_unit = [_this, 1, ObjNull,[ObjNull]] call BIS_fnc_Param;
_vehicle = vehicle _unit;
if (_vehicle == _unit) exitwith {false;};
if !(speed _vehicle <1 && (((getpos _vehicle) select 2) < 2)) exitwith {false;};
if (!([_caller] call cse_fnc_isAwake)) exitwith{false;};
moveOut _unit;
unassignVehicle _unit;
if (!alive _unit) then {
_unit action ["Eject", vehicle _unit];
};
[_unit, false, GROUP_SWITCH_ID, side group _caller] call cse_fnc_switchToGroupSide_f;
_loaded = _vehicle getvariable ["cse_loaded_persons_F",[]];
_loaded = _loaded - [_unit];
_vehicle setvariable ["cse_loaded_persons_F",_loaded,true];
if (!([_unit] call cse_fnc_isAwake)) then {
_handle = [_unit,_vehicle] spawn {
private ["_unit","_vehicle"];
_unit = _this select 0;
_vehicle = _this select 1;
waituntil {vehicle _unit != _vehicle};
[_unit,([_unit] call cse_fnc_getDeathAnim)] call cse_fnc_broadcastAnim;
[format["Unit should move into death anim: %1", _unit]] call cse_fnc_Debug;
};
} else {
if ([_unit] call cse_fnc_isArrested) then {
_handle = [_unit,_vehicle] spawn {
_unit = _this select 0;
_vehicle = _this select 1;
waituntil {vehicle _unit != _vehicle};
[_unit,"UnaErcPoslechVelitele2",true] call cse_fnc_broadcastAnim;
[format["Unit should move into arrested anim: %1", _unit]] call cse_fnc_Debug;
};
} else {
[format["Unit should move into normal anim: %1", _unit]] call cse_fnc_Debug;
};
};
true;

View File

@ -1,34 +0,0 @@
/**
* fn_limitMovementSpeed.sqf
* @Descr: Limits the movement speed of a unit
* @Author: Glowbal
*
* @Arguments: [unit OBJECT, fallDown BOOL (Optional)]
* @Return: void
* @PublicAPI: true
*/
_this spawn {
private ["_unit","_carriedObj"];
_unit = _this select 0;
_fallDown = false;
if (count _this > 1) then {
_fallDown = _this select 1;
};
_carriedObj = [_unit] call cse_fnc_getCarriedObj;
while {sleep 1;_carriedObj = [_unit] call cse_fnc_getCarriedObj; ((!isNull _carriedObj) && (alive _unit))} do {
if (speed _unit > 12 && vehicle _unit == _unit) then {
[format["Unit ran to fast (Speed: %1, is now dropping carrying obj",speed _unit],2] call cse_fnc_debug;
if (_fallDown) then {
_unit playMove "amovppnemstpsraswrfldnon";
};
if (_carriedObj isKindOf "Man") then {
hint "You can not move this fast while transporting this person.";
} else {
hint "You can not move this fast while carrying this object";
};
[_unit,ObjNull] call cse_fnc_carryObj;
};
};
};

View File

@ -1,38 +0,0 @@
/**
* fn_limitSpeed.sqf
* @Descr: Limits the speed of an object
* @Author: Glowbal
*
* @Arguments: [vehicle OBJECT, maxSpeed NUMBER]
* @Return: void
* @PublicAPI: true
*/
_this spawn {
private ["_vehicle", "_maxSpeed", "_velocity"];
_vehicle = _this select 0;
_maxSpeed = _this select 1;
if ((_vehicle getvariable ["cse_f_limitSpeed",false])) then {
_vehicle setvariable ["cse_f_limitSpeed",nil,true];
};
if (_maxSpeed < 0) exitwith {};
_vehicle setvariable ["cse_f_limitSpeed",true,true];
waitUntil {
_speed = speed _vehicle;
if (_speed > _maxSpeed) then {
_velocity = velocity _vehicle;
_x = _velocity select 0;
_y = _velocity select 1;
_z = _velocity select 2;
_diff = _speed - _maxSpeed;
_percentage = (_speed / 100) * _diff;
_newVelocity = [_x - (_x * _percentage), _y - (_y * _percentage), _z - (_z * _percentage)];
_vehicle setVelocity _newVelocity;
};
!(_vehicle getvariable ["cse_f_limitSpeed",false])
};
};

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Project name="Combat Space Enhancement">
<Package name="cse_f_states">
<Container ID="States">
</Container>
</Package>
</Project>

View File

@ -1,14 +0,0 @@
/**
* fn_canGoUnconsciousState.sqf
* @Descr: Checks if an object can move into unconscious state
* @Author: Glowbal
*
* @Arguments: [unit OBJECT]
* @Return: BOOL true if object can move into unconscious state
* @PublicAPI: true
*/
private ["_unit"];
_unit = _this select 0;
(!(isNull _unit) && {(_unit isKindOf "CaManBase") && ([_unit] call cse_fnc_isAwake)})

View File

@ -1,32 +0,0 @@
/**
* fn_getUnconsciousCondition.sqf
* @Descr: get whatever or not a unit should be or stay unconscious
* @Author: Glowbal
*
* @Arguments: [unit OBJECT]
* @Return: BOOL True when the unit should be unconscious
* @PublicAPI: true
*/
private ["_unit","_return"];
_unit = _this select 0;
if (isnil "CSE_UNCONSCIOUS_CONDITIONS_F") then {
CSE_UNCONSCIOUS_CONDITIONS_F = [];
};
_return = false;
{
if (typeName _x == typeName {}) then {
if (([_unit] call _x)) then {
_return = true;
};
};
if (_return) exitwith{};
}foreach CSE_UNCONSCIOUS_CONDITIONS_F;
_return

View File

@ -1,11 +0,0 @@
/**
* fn_isUnconscious.sqf
* @Descr: Checks whatever given object is in the unconscious state
* @Author: Glowbal
*
* @Arguments: [unit OBJECT]
* @Return: BOOL True when object is in unconscious state
* @PublicAPI: true
*/
((_this select 0) getvariable ["cse_state_unconscious",false]);

View File

@ -1,30 +0,0 @@
/**
* fn_moveToTempGroup_f.sqf
* Moves a unit into a temporarly group and stores its original group to allow rejoining.
* @Author: Glowbal
*
* @Arguments: [unit OBJECT, moveToTempGroup BOOL]
* @Return: void
* @PublicAPI: false
*/
private ["_unit","_moveTo","_previousGroup","_newGroup", "_currentGroup", "_switchToGroup"];
_unit = [_this, 0,ObjNull,[ObjNull]] call BIS_fnc_Param;
_moveTo = [_this, 1,false,[false]] call BIS_fnc_Param;
if (_moveTo) then {
_previousGroup = group _unit;
_newGroup = createGroup (side _previousGroup);
[_unit] joinSilent _newGroup;
_unit setvariable ["cse_previous_group_f",_previousGroup];
} else {
_previousGroup = _unit getvariable "cse_previous_group_f";
if (!isnil "_previousGroup") then {
_currentGroup = group _unit;
_unit setvariable ["cse_previous_group_f",nil];
[_unit] joinSilent _previousGroup;
if (count units _currentGroup == 0) then {
deleteGroup _currentGroup;
};
};
};

View File

@ -1,22 +0,0 @@
/**
* fn_registerUnconsciousCondition.sqf
* @Descr: Register new condition for the unconscious state. Conditions are not actively checked for units unless unit is in unconscious state.
* @Author: Glowbal
*
* @Arguments: [code CODE]
* @Return: void
* @PublicAPI: true
*/
if (isnil "CSE_UNCONSCIOUS_CONDITIONS_F") then {
CSE_UNCONSCIOUS_CONDITIONS_F = [];
};
if (typeName _this == typeName []) then {
{
if (typeName _x == typeName {}) then {
CSE_UNCONSCIOUS_CONDITIONS_F pushback _x;
};
}foreach _this;
} else {
};

View File

@ -1,38 +0,0 @@
/**
* fn_setCaptiveSwitch.sqf
* @Descr: Register a unit as captive for the unconscious state
* @Author: Glowbal
*
* @Arguments: [unit OBJECT, setCaptive BOOL]
* @Return: BOOL True if unit is put as set captive, otherwise false
* @PublicAPI: false
*/
private ["_unit", "_captiveSwitch", "_setCaptive"];
_unit = [_this, 0, objNull, [objNull]] call BIS_fnc_Param;
_setCaptive = [_this, 1, false, [false]] call BIS_fnc_Param;
_captiveSwitch = true;
if (_setCaptive) then {
if (captive _unit) then {
_captiveSwitch = false;
} else {
if (player == _unit) then {
missionNamespace setvariable["cse_unconscious_non_captive_f",true];
};
_unit setCaptive true;
[format["USED SETCAPTIVE",_unit]] call cse_fnc_debug;
};
} else {
if (alive _unit) then {
_unit setCaptive false;
if (!isnil "cse_unconscious_non_captive_f") then {
missionNamespace setvariable["cse_unconscious_non_captive_f",nil];
};
} else {
_unit setCaptive false;
};
};
_captiveSwitch

View File

@ -1,95 +0,0 @@
/**
* fn_setUnconsciousState.sqf
* @Descr: Sets a unit in the unconscious state
* @Author: Glowbal
*
* @Arguments: [unit OBJECT]
* @Return: void
* @PublicAPI: true
*/
private ["_unit", "_animState", "_dAnim"];
_unit = _this select 0;
_dAnim = ([_unit] call cse_fnc_getDeathAnim);
if !([_unit] call cse_fnc_canGoUnconsciousState) exitwith{};
if (!local _unit) exitwith {
[[_unit], "cse_fnc_setUnconsciousState", _unit, false] spawn BIS_fnc_MP;
};
// get rid of the object we are carrying, before we go unconscious.
[_unit, ObjNull, [0,0,0]] call cse_fnc_carryObj;
_unit setvariable ["cse_state_unconscious",true,true];
[_unit] call cse_fnc_setWeaponsCorrectUnconscious;
_animState = animationState _unit;
_originalPos = unitPos _unit;
if (isPlayer _unit) then {
[] call cse_fnc_closeAllDialogs_f;
[true] call cse_fnc_effectBlackOut;
["unconscious", true] call cse_fnc_disableUserInput_f;
[false] call cse_fnc_setVolume_f;
/* Disable this, because the disableUserInput function call above - users already cannot leave vehicles because of that function. */
//[_unit] spawn cse_fnc_lockVehicleOfUnitUntil;
} else {
_unit setUnitPos "DOWN";
[_unit, true] call cse_fnc_disableAI_F;
};
[_unit, true, "cse_unconsciousState", side group _unit] call cse_fnc_switchToGroupSide_f;
_captiveSwitch = [_unit, true] call cse_fnc_setCaptiveSwitch;
_unit setUnconscious true;
[_unit, _dAnim] call cse_fnc_localAnim;
[_unit,_animState, _captiveSwitch, _originalPos] spawn {
private ["_unit", "_vehicleOfUnit","_lockSwitch","_minWaitingTime", "_oldAnimation", "_captiveSwitch"];
_unit = _this select 0;
_oldAnimation = _this select 1;
_captiveSwitch = _this select 2;
_originalPos = _this select 3;
_minWaitingTime = (round(random(10)+5));
_counter = time;
while {(((time - _counter) < _minWaitingTime) && {alive _unit})} do {
if (vehicle _unit == _unit && {animationState _unit != "deadState" && animationState _unit != "unconscious"} && {(alive _unit)} && {(isNull ([_unit] call cse_fnc_getCarriedBy))}) then {
[_unit,([_unit] call cse_fnc_getDeathAnim)] call cse_fnc_broadcastAnim;
};
sleep 0.1;
};
waituntil{(!([_unit] call cse_fnc_getUnconsciousCondition) || !alive _unit)};
[format["setUnconsciousState false - %1",_unit]] call cse_fnc_debug;
sleep 0.5;
if (_captiveSwitch) then {
[_unit, false] call cse_fnc_setCaptiveSwitch;
};
_unit setUnconscious false;
[_unit, false, "cse_unconsciousState", side group _unit] call cse_fnc_switchToGroupSide_f;
if (isPlayer _unit) then {
[false] call cse_fnc_effectBlackOut;
[true] call cse_fnc_setVolume_f;
["unconscious", false] call cse_fnc_disableUserInput_f;
} else {
[_unit, false] call cse_fnc_disableAI_F;
_unit setUnitPos _originalPos; // This is not position but stance (DOWN, MIDDLE, UP)
};
waituntil {!([_unit] call cse_fnc_beingCarried)};
if (alive _unit) then {
if (vehicle _unit == _unit) then {
[format["Resetting unit animiation to normal %1",_unit]] call cse_fnc_debug;
//[_unit,"",false] call cse_fnc_broadcastAnim;
[_unit,"amovppnemstpsnonwnondnon",false] call cse_fnc_broadcastAnim;
} else {
[format["Resetting unit animiation to oldAnimation %1 - %2",_unit, _oldAnimation]] call cse_fnc_debug;
[_unit, _oldAnimation,false] call cse_fnc_broadcastAnim;
};
_unit setvariable ["cse_state_unconscious", false, true];
};
[[_unit, false],"setUnconsciousState"] call cse_fnc_customEventHandler_F;
};
[[_unit, true],"setUnconsciousState"] call cse_fnc_customEventHandler_F;

View File

@ -1,36 +0,0 @@
/**
* fn_setWeaponsCorrectUnconscious.sqf
* @Descr: Ensures the weapon of a unit is selected correctly for the unconscious state. Prefents wierd animation behaviour
* @Author: Glowbal
*
* @Arguments: [unit OBJECT]
* @Return: void
* @PublicAPI: false
*/
private ["_unit"];
_unit = _this select 0;
if ((vehicle _unit) isKindOf "StaticWeapon") then {
moveOut _unit;
unassignVehicle _unit;
//unassignVehicle _unit;
//_unit action ["eject", vehicle _unit];
};
if (vehicle _unit == _unit) then {
if (currentWeapon _unit == secondaryWeapon _unit) then {
reload _unit;
};
};
if (animationState _unit in ["ladderriflestatic","laddercivilstatic"]) then {
_unit action ["ladderOff", (nearestBuilding _unit)];
};
if (vehicle _unit == _unit) then {
if (currentWeapon _unit == secondaryWeapon _unit) then {
_unit selectWeapon (primaryWeapon _unit);
_unit switchMove "";
_unit playmoveNow "";
};
};

View File

@ -1,312 +0,0 @@
class RscTitles{
class RscCSEScreenEffectsBlack {
duration = 10e10;
idd = 1111;
movingenable = 0;
onLoad = "uiNamespace setVariable ['CSEFadingBlackUI', _this select 0];";
class controlsBackground {
class cse_BlackScreen: cse_gui_backgroundBase {
text = "cse\cse_f_states\data\black_out1.paa";
colorText[] = {0.0, 0.0, 0.0, 0.0};
idc = 11112;
x = safezoneX;
y = safezoneY;
w = safezoneW;
h = safezoneH;
};
};
};
class RscCSEScreenEffectsPain {
duration = 1;
idd = 1111;
movingenable = 0;
onLoad = "uiNamespace setVariable ['CSEPainScreen', _this select 0];";
class controlsBackground {
class cse_PainScreen: cse_gui_backgroundBase {
text = "cse\cse_f_states\data\pain_screen3.paa";
colorText[] = {1, 1, 1, 0.5};
idc = 11114;
x = safezoneX;
y = safezoneY;
w = safezoneW;
h = safezoneH;
};
};
};
class RscCSEScreenEffectsBleeding {
duration = 1;
idd = 1111;
movingenable = 0;
onLoad = "uiNamespace setVariable ['CSEBleedingScreen', _this select 0];";
class controlsBackground {
class cse_BleedingScreen: cse_gui_backgroundBase {
text = "cse\cse_f_states\data\cse_bleedingScreen_v5.paa";
colorText[] = {0.9, 0.2, 0.2, 0.6};
idc = 11113;
x = safezoneX;
y = safezoneY;
w = safezoneW;
h = safezoneH;
};
};
};
class RscCSEScreenEffectsHit{
duration = 1.1;
idd = 1111;
movingenable = 0;
onLoad = "uiNamespace setVariable ['CSEHitScreen', _this select 0];";
class controlsBackground {
class cse_EffectHit: cse_gui_backgroundBase {
text = "cse\cse_f_states\data\hit_screen1.paa";
colorText[] = {0.7, 0.2, 0.2, 0.4};
idc = 11113;
x = safezoneX;
y = safezoneY;
w = safezoneW;
h = safezoneH;
};
};
};
class RscCSEScreenEffectsHitPain{
duration = 1.1;
idd = 1111;
movingenable = 0;
onLoad = "uiNamespace setVariable ['CSEHitPainScreen', _this select 0];";
class controlsBackground {
class cse_EffectHitNew: cse_gui_backgroundBase {
text = "cse\cse_f_states\data\hit_screen1.paa";
colorText[] = {0.9, 0.9, 0.9, 0.7};
idc = 11113;
x = safezoneX;
y = safezoneY;
w = safezoneW;
h = safezoneH;
};
};
};
class RscCSEScreenEffectsBlur {
duration = 2;
idd = 1111;
movingenable = 0;
onLoad = "uiNamespace setVariable ['CSEBlurScreen', _this select 0];";
class controlsBackground {
class cse_BlurScreen: cse_gui_backgroundBase {
text = "cse\cse_f_states\data\cse_blurryScreen.paa";
colorText[] = {0.5, 0.5, 0.5, 0.2};
idc = 11114;
x = safezoneX;
y = safezoneY;
w = safezoneW;
h = safezoneH;
};
};
};
class cse_progressBar_Sample {
idd = -1;
onLoad = "uiNamespace setVariable ['cse_progressBar_Sample', _this select 0]; ";
fadein = 0;
fadeout = 0;
duration = 10e10;
class Controls {
class background: cse_gui_backgroundBase {
idc = -1;
colorBackground[] = {0,0,0,1};
colorText[] = {1, 1, 1, 1};
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "29 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "0.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
text = "#(argb,8,8,3)color(0,0,0,0.4)";
};
class Progress: cse_gui_RscProgress {
idc = 6;
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "29 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "0.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
colorFrame[] = {0,0,0,0};
colorBar[] = {0.27,0.5,0.31,0.6};
// colorBar[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"};
texture = "#(argb,8,8,3)color(1,1,1,0.7)";
};
};
};
class CSE_DISPLAY_MESSAGE {
duration = 7;
idd = 86411;
movingenable = 0;
onLoad = "uiNamespace setVariable ['CSE_DISPLAY_MESSAGE', _this select 0];";
fadein = 0;
class controlsBackground {
class header: cse_gui_staticBase {
idc = 1;
type = CT_STATIC;
x = "safezoneX + (safezoneW / 10)";
y = "safezoneY + (30 * (safeZoneH / 40))";
w = "(safeZoneW / 10)";
h = "(safeZoneH / 40)";
style = ST_LEFT;
font = FontCSE;
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
colorText[] = {0.85, 0.85, 0.85, 1.0};
colorBackground[] = {0, 0, 0, 0.9};
text = "";
};
class text: header {
idc = 2;
y = "safezoneY + (31 * (safeZoneH / 40))";
w = "(safeZoneW / 10) * 1.3";
colorText[] = {0.0, 0.0, 0.0, 1.0};
colorBackground[] = {1, 1, 1, 0.9};
text = "";
};
};
};
class CSE_DISPLAY_INFORMATION {
duration = 15;
idd = 86412;
movingenable = 0;
onLoad = "uiNamespace setVariable ['CSE_DISPLAY_INFORMATION', _this select 0];";
fadein = 0;
class controlsBackground {
class header: cse_gui_staticBase {
idc = 1;
type = CT_STATIC;
x = "safezoneX + (safezoneW / 10)";
y = "safezoneY + (6 * (safeZoneH / 40))";
w = "(safeZoneW / 10)";
h = "(safeZoneH / 40)";
style = ST_LEFT;
font = FontCSE;
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
colorText[] = {0.85, 0.85, 0.85, 1.0};
colorBackground[] = {0, 0, 0, 0.9};
text = "";
};
class text: header {
idc = 2;
y = "safezoneY + (7.1 * (safeZoneH / 40))";
w = "(safeZoneW / 10) * 1.3";
colorText[] = {0.0, 0.0, 0.0, 1.0};
colorBackground[] = {1, 1, 1, 0.9};
text = "";
};
class text2: text {
idc = 3;
y = "safezoneY + (8.2 * (safeZoneH / 40))";
};
class text3: text {
idc = 4;
y = "safezoneY + (9.3 * (safeZoneH / 40))";
};
class text4: text {
idc = 5;
y = "safezoneY + (10.4 * (safeZoneH / 40))";
};
class text5: text {
idc = 6;
y = "safezoneY + (11.5 * (safeZoneH / 40))";
};
class icon: cse_gui_backgroundBase {
type = CT_STATIC;
idc = 10;
style = ST_PICTURE;
colorBackground[] = {0,0,0,1};
colorText[] = {1, 1, 1, 1};
font = FontCSE;
text = "";
sizeEx = 0.032;
x = "safezoneX + (safezoneW / 10)";
y = "safezoneY + (4 * (safeZoneH / 40))";
w = "(safeZoneH / 40)*2";
h = "(safeZoneH / 40)*2";
};
};
};
class CSE_DISPLAY_MESSAGE_CONCEPT {
duration = 15;
idd = 86413;
movingenable = 0;
onLoad = "uiNamespace setVariable ['CSE_DISPLAY_MESSAGE_CONCEPT', _this select 0];";
fadein = 0;
class controlsBackground {
class header: cse_gui_staticBase {
idc = 1;
type = CT_STATIC;
x = "safezoneX + (safezoneW / 10)";
y = "safezoneY + (6 * (safeZoneH / 40))";
w = "(safeZoneW / 10)";
h = "(safeZoneH / 40)";
style = ST_LEFT + ST_SHADOW;
font = "EtelkaMonospacePro";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
colorText[] = {1,1,1, 1.0};
colorBackground[] = {0, 0, 0, 0.0};
text = "";
shadow = 2;
};
class text: header {
idc = 2;
y = "safezoneY + (31 * (safeZoneH / 40))";
w = "(safeZoneW / 10) * 1.3";
text = "";
};
};
};
class CSE_sys_field_rations_PlayerStatusUI {
duration = 1e+011;
idd = 1111;
movingenable = 0;
onLoad = "uiNamespace setVariable ['CSE_sys_field_rations_PlayerStatusUI', _this select 0];";
class controlsBackground {
class FoodStatus: cse_gui_backgroundBase {
text = "cse\cse_sys_field_rations\data\hud_foodstatus.paa";
colorText[] = {0.0,1.0,0.0,0.4};
idc = 11112;
x = (safezoneW + safezoneX) - (2 * (((safezoneW / safezoneH) min 1.2) / 40));
y = "28 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "1.75 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1.75 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
};
class drinkStatus: cse_gui_backgroundBase {
text = "cse\cse_sys_field_rations\data\hud_drinkstatus.paa";
colorText[] = {0.0,1.0,0.0,0.4};
idc = 11113;
x = (safezoneW + safezoneX) - (2 * (((safezoneW / safezoneH) min 1.2) / 40));
y = "30 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "1.75 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1.75 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
};
/* class CamelBak: cse_gui_backgroundBase {
text = "cse\cse_sys_field_rations\data\hud_camelbak.paa";
colorText[] = {0.0,1.0,0.0,0};
idc = 11114;
x = "0.955313 * safezoneW + safezoneX";
y = "0.80 * safezoneH + safezoneY";
w = 0.05;
h = 0.09;
};*/
};
};
// class RscHealthTextures {
// onload = "uinamespace setvariable ['RscHealthTextures',_this select 0]; ['RscHealthTextures has activated'] call cse_fnc_debug;";
// };
};

View File

@ -1,21 +0,0 @@
class cse_empty_screen {
idd = 679123;
movingEnable = false;
onLoad = "uiNamespace setVariable ['cse_empty_screen', _this select 0];";
onUnload = "if (!isnil 'CSE_DISABLE_USER_INPUT_SCREEN') then { createDialog 'cse_empty_screen';};";
class controlsBackground {
class cse_background : cse_gui_backgroundBase {
idc = 1;
x = safezoneX;
y = safezoneY;
w = safezoneW;
h = safezoneH;
text = "";
moving = 0;
};
};
class controls {
};
};

View File

@ -1,19 +0,0 @@
/**
* fn_effectBlackOut.sqf
* @Descr: Displays the blacked out effect for clients.
* @Author: Glowbal
*
* @Arguments: [displayEffect BOOL]
* @Return: void
* @PublicAPI: true
*/
private ["_displayEffect","_CSEFadingBlackUI"];
_displayEffect = [_this, 0, false,[false]] call bis_fnc_param;
disableSerialization;
_CSEFadingBlackUI = uiNamespace getVariable "CSEFadingBlackUI";
if (_displayEffect) then {
(_CSEFadingBlackUI displayCtrl 11112) ctrlSetTextColor [0.0,0.0,0.0,0.9];
} else {
(_CSEFadingBlackUI displayCtrl 11112) ctrlSetTextColor [0.0,0.0,0.0,0.0];
};

View File

@ -1,30 +0,0 @@
/**
* fn_effectBleeding.sqf
* @Descr: Displays the CSE Bleeding effect
* @Author: Glowbal
*
* @Arguments: [bloodLoss NUMBER]
* @Return: void
* @PublicAPI: true
*/
private ["_handle"];
if (isnil "cseDisplayingBleedingEffect") then {
cseDisplayingBleedingEffect = false;
};
if (cseDisplayingBleedingEffect) exitwith {};
_handle = _this spawn {
private ["_unit","_bloodLoss","_time"];
_bloodLoss = _this select 0;
if (!(_bloodLoss > 0)) exitwith{};
_time = 6 - _bloodLoss;
if (_time <1.5) then {
_time = 1.5;
};
cseDisplayingBleedingEffect = true;
47 cutRsc ["RscCSEScreenEffectsBleeding","PLAIN"];
sleep _time;
cseDisplayingBleedingEffect = false;
};
_handle

View File

@ -1,27 +0,0 @@
/**
* fn_effectPain.sqf
* @Descr: Displays the CSE Pain effect
* @Author: Glowbal
*
* @Arguments: [painRatio NUMBER]
* @Return: void
* @PublicAPI: true
*/
if (isnil "cseDisplayingPainEffect") then {
cseDisplayingPainEffect = false;
};
if (cseDisplayingPainEffect) exitwith {};
_this spawn {
private ["_ratio","_time"];
_ratio = _this select 0;
if (!(_ratio > 0)) exitwith{};
_time = 6 - _ratio;
if (_time <1.5) then {
_time = 1.5;
};
cseDisplayingPainEffect = true;
46 cutRsc ["RscCSEScreenEffectsPain","PLAIN"];
sleep _time;
cseDisplayingPainEffect = false;
};

View File

@ -1,61 +0,0 @@
class CfgFunctions {
class CSE
{
class GUI
{
file = "cse\cse_gui\functions";
class gui_keyPressed { recompile = 1; };
class gui_createInteractionMenu { recompile = 1; };
class gui_addMenuEntry { recompile = 1; };
class gui_getMenuEntries { recompile = 1; };
class gui_displaySubMenuButtons { recompile = 1; };
class gui_hideSubMenuButtons { recompile = 1; };
class gui_hideSubSubMenuButtons { recompile = 1; };
class gui_sortMenuEntries { recompile = 1; };
class gui_refreshLastSubMenu { recompile = 1; };
class gui_displayEventHandler { recompile = 1; };
class gui_loadingBar { recompile = 1; };
class gui_hasOptionAvailable { recompile = 1; };
class gui_displayInformation { recompile = 1; };
class gui_displayMessage { recompile = 1; };
class gui_blurScreen { recompile = 1; };
class gui_displayIcon { recompile = 1; };
};
class RadialMenu {
file = "cse\cse_gui\radialmenu";
class findTargetOfMenu_GUI { recompile = 1; };
class openRadialMenu_GUI {recompile = 1; };
class openRadialSubMenu_GUI {recompile = 1; };
class setRadialMenuOptions_GUI {recompile = 1; };
class setRadialMenuName_GUI { recompile = 1; };
class getcurrentRadialTarget_GUI { recompile = 1; };
class returnToPreviousSubMenu_GUI { recompile = 1; };
class setRadialSecondRing_GUI { recompile = 1; };
class openRadialSecondRing_GUI { recompile = 1; };
class closeRadialSecondRing_GUI { recompile = 1; };
class setRadialMenuTargetName_GUI { recompile = 1; };
class findtargetName_GUI { recompile = 1;};
class setRadialOptionSelected_GUI { recompile = 1; };
class isRadialOptionSelected_GUI { recompile = 1; };
class isOpenSecondRing_GUI { recompile = 1; };
class addEntryToRadialInteraction_F { recompile = 1; };
class createRadialInteraction_F { recompile = 1; };
class getRadialInteractionEntries_F { recompile = 1; };
class openRadialInteractionMenu_F { recompile = 1; };
class radialUsesSorter_F { recompile = 1; };
class getEntryToMenuSorter_F { recompile = 1; };
class addEntryToMenuSorter_F { recompile = 1; };
class createCategoryRadialMenu_F { recompile = 1; };
class getAllCategoryEntriesRadialMenu_F { recompile = 1; };
class addCategoryEntryRadialMenu_F { recompile = 1; };
class hasEntriesRadialInteraction_F { recompile = 1; };
class addMultipleEntriesToRadialCategory_F { recompile = 1; };
class getIcon_F { recompile = 1; };
class categoryHasActionsAvailable_F { recompile = 1; };
};
class WeaponSelector {
file = "cse\cse_gui\WeaponSelector";
class onWeaponSelectorOpened_GUI { recompile = 1; };
};
};
};

View File

@ -1,13 +0,0 @@
class Combat_Space_Enhancement {
class EventHandlers {
class PostInit_EventHandlers {
class cse_gui {
init = " call compile preprocessFile 'cse\cse_gui\init.sqf';";
};
};
};
class CustomEventHandlers {
class openRadialMenu {}; // [_menuName, _entries, _target]
};
};

View File

@ -1,10 +0,0 @@
#include "gui\define.hpp"
#include "gui\interactionMenu.hpp"
#include "gui\interactionMenu_white.hpp"
#include "gui\radial.h"
#include "gui\cseLogoPlain.hpp"
#include "gui\dynamicMenu.h"
#include "gui\RscTitles.h"
// #include "gui\weapon_selector.h"

View File

@ -1,25 +0,0 @@
#define _ARMA_
class CfgPatches
{
class cse_gui
{
units[] = {};
weapons[] = {};
requiredVersion = 0.1;
requiredAddons[] = {"a3_ui_f", "cse_main"};
version = "0.10.0_rc";
author[] = {"Combat Space Enhancement"};
authorUrl = "http://csemod.com";
};
};
class CfgAddons {
class PreloadAddons {
class cse_gui {
list[] = {"cse_gui"};
};
};
};
#include "CfgFunctions.h"
#include "Combat_Space_Enhancement.h"
#include "GUI.h"

View File

@ -1,54 +0,0 @@
/**
* fn_addCatagoryEntry.sqf
* @Descr: Add a Catagory entry to a menu
* @Author: Glowbal
*
* @Arguments: [menuName STRING, categoryName STRING, code CODE, condition CODE]
* @Return: void
* @PublicAPI: true
*/
private ["_menuName","_catagoryName","_code","_condition","_foundMenuName","_foundEntryName","_counter","_onPosMenu","_onPosCatagory","_catagoryCounter","_entryCollection","_entry"];
_menuName = [_this,0,"",[""]] call BIS_fnc_Param;
_catagoryName = [_this,1, "",[""]] call BIS_fnc_Param;
_code = [_this,2,{},[{}]] call BIS_fnc_Param;
_condition = [_this,3,{},[{}]] call BIS_fnc_Param;
if (isnil "CSE_CATAGORY_LIST_ENTRIES") then {
CSE_CATAGORY_LIST_ENTRIES = [];
};
_foundMenuName = false;
_foundEntryName = false;
_onPosMenu = 0;
_onPosCatagory = 0;
_counter = 0;
{
if ((_x select 0) == _menuName) exitwith {
// found entry
_foundMenuName = true;
_onPosMenu = _counter;
_catagoryCounter = 0;
{
if ((_x select 0) == _catagoryName) exitwith {
_foundEntryName = true;
_onPosCatagory = _catagoryCounter;
};
_catagoryCounter = _catagoryCounter + 1;
}foreach (_x select 1);
};
_counter = _counter + 1;
}foreach CSE_CATAGORY_LIST_ENTRIES;
if (!_foundMenuName) then {
} else {
if (!_foundEntryName) then {
} else {
_entry = [_catagoryName,_condition,_code];
_arrayOfCatagories = CSE_CATAGORY_LIST_ENTRIES select _onPosMenu;
_entryCollection = _arrayOfCatagories select _onPosCatagory;
_entryCollection pushback _entry;
};
};

View File

@ -1,76 +0,0 @@
/**
* fn_gui_addCatagory.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_menuName","_catagoryCounter","_catagoryName","_condition","_priority","_foundEntryName","_foundMenuName", "_counter","_onPosCatagory","_onPosMenu","_catagoryCounter","_arrayOfCatagories"];
_menuName = _this select 0;
_catagoryName = _this select 1;
_condition = _this select 2;
_priority = _this select 3;
if (isnil "CSE_CATAGORY_LIST_ENTRIES") then {
CSE_CATAGORY_LIST_ENTRIES = [];
CSE_CATAGORY_LIST_ENTRIES pushback [_menuName,[_catagoryName, [] ] ];
};
_foundMenuName = false;
_foundEntryName = false;
_onPosMenu = 0;
_onPosCatagory = 0;
{
if ((_x select 0) == _menuName) exitwith {
_foundMenuName = true;
_onPosMenu = _foreachIndex;
_catagoryCounter = 0;
{
if ((_x select 0) == _catagoryName) exitwith {
_foundEntryName = true;
_onPosCatagory = _catagoryCounter;
};
_catagoryCounter = _catagoryCounter + 1;
}foreach (_x select 1);
};
}foreach CSE_CATAGORY_LIST_ENTRIES;
if (!_foundMenuName) then {
CSE_CATAGORY_LIST_ENTRIES pushback [_menuName,[_catagoryName, [] ] ];
} else {
if (!_foundEntryName) then {
_arrayOfCatagories = CSE_CATAGORY_LIST_ENTRIES select _onPosMenu;
_arrayOfCatagories pushback [_catagoryName, [] ];
};
};
cse_fnc_gui_getCatagoryEntries = {
if (isnil "CSE_CATAGORY_LIST_ENTRIES") {
CSE_CATAGORY_LIST_ENTRIES = [];
};
_return = [];
{
if ((_x select 0) == (_this select 0)) exitwith {
{
if ((_x select 0) == (_this select 1)) exitwith {
_return = _x select 1;
};
}foreach (_x select 1);
};
}foreach CSE_CATAGORY_LIST_ENTRIES
_return
};
[_menuName,_catagoryName + " >",_condition,{
[_catagoryName,_this select 2,[_menuName,_catagoryName] call cse_fnc_gui_getCatagoryEntries] call cse_fnc_gui_displaySubMenuButtons;
},_priority] call cse_fnc_gui_addMenuEntry;

View File

@ -1,47 +0,0 @@
/**
* fn_gui_addMenuEntry.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
if (isDedicated) exitwith { [format["GUI - fnc_gui_addMenuEntry EXIT ON DEDICATED"],2] call cse_fnc_debug;};
if (isnil "cse_gui_availableMenuOptions") then {
cse_gui_availableMenuOptions = [];
};
private ["_menuName","_optionName","_menuCondition","_menuAction","_priority"];
_menuName = _this select 0;
_optionName = _this select 1;
_menuCondition = _this select 2;
_menuAction = _this select 3;
_priority = _this select 4;
_MENU_VAR = format["CSE_GUI_MENU_OPTIONS_%1", _menuName];
if (isnil _MENU_VAR) then {
call compile format["%1 = [];",_MENU_VAR];
};
//[format["GUI - fnc_gui_addMenuEntry %1",_this, _MENU_VAR],2] call cse_fnc_debug;
[_menuName,_optionName,_menuCondition,_menuAction,_priority] call compile format["%1 pushback _this;",_MENU_VAR];
//cse_gui_availableMenuOptions = cse_gui_availableMenuOptions + [[_menuName,_optionName,_menuCondition,_menuAction,_priority]];
/*
CSE_CONDITION_COMPARE_ARRAY_conditionCompareArray = [];
if (isnil 'CSE_CONDITION_COMPARE_CACHE') then {
CSE_CONDITION_COMPARE_CACHE = [];
};
{
_condition = _x select 2;
if !(_condition in CSE_CONDITION_COMPARE_CACHE) then {
CSE_CONDITION_COMPARE_CACHE set [ count CSE_CONDITION_COMPARE_CACHE , _condition ];
} else {
player sidechat format["CACHING CONDITION: %1",_x];
_x set [ 2 , CSE_CONDITION_COMPARE_CACHE find _condition];
};
}foreach (call compile (format["%1",_MENU_VAR]));*/

View File

@ -1,37 +0,0 @@
/**
* fn_gui_blurScreen.sqf
* @Descr:
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: true
*/
private ["_id", "_show"];
_id = [_this, 0, "", [""]] call BIS_fnc_Param;
_show = [_this, 1, false, [false]] call BIS_fnc_Param;
if (isnil "CSE_GUI_SHOW_BLUR_SCREEN_COLLECTION") then {
CSE_GUI_SHOW_BLUR_SCREEN_COLLECTION = [];
};
if (_show) then {
CSE_GUI_SHOW_BLUR_SCREEN_COLLECTION pushback _id;
// show blur
if (isnil 'CSE_MENU_ppHandle_GUI_BLUR_SCREEN') then {
CSE_MENU_ppHandle_GUI_BLUR_SCREEN = ppEffectCreate ["DynamicBlur", 102];
CSE_MENU_ppHandle_GUI_BLUR_SCREEN ppEffectAdjust [0.9];
CSE_MENU_ppHandle_GUI_BLUR_SCREEN ppEffectEnable true;
CSE_MENU_ppHandle_GUI_BLUR_SCREEN ppEffectCommit 0;
};
} else {
CSE_GUI_SHOW_BLUR_SCREEN_COLLECTION = CSE_GUI_SHOW_BLUR_SCREEN_COLLECTION - [_id];
if (CSE_GUI_SHOW_BLUR_SCREEN_COLLECTION isEqualTo []) then {
// hide blur
if (!isnil 'CSE_MENU_ppHandle_GUI_BLUR_SCREEN') then {
ppEffectDestroy CSE_MENU_ppHandle_GUI_BLUR_SCREEN;
CSE_MENU_ppHandle_GUI_BLUR_SCREEN = nil;
};
};
};

View File

@ -1,19 +0,0 @@
/**
* fn_gui_createInteractionMenu.sqf
* @Descr: Creates a interaction menu
* @Author: Glowbal
*
* @Arguments: [name STRINg, keybinding ARRAY, idd NUMBER, condition CODE, type NUMBER]
* @Return: void
* @PublicAPI: true
*/
private ["_name","_condition","_keyBinding","_idd","_type","_codeToExecute"];
_name = _this select 0;
_keyBinding = _this select 1;
_idd = _this select 2;
_condition = _this select 3;
_type = _this select 4;
_codeToExecute = compile format[ "%1 call cse_fnc_gui_keyPressed;", [_name,_condition,_type] ];
[_name, _keyBinding, _codeToExecute, _idd] call cse_fnc_addKeyBindingForMenu_F;

View File

@ -1,74 +0,0 @@
/**
* fn_gui_displayEventHandler.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
[] spawn {
waitUntil {!isNull player && (player == player) && !(isNull (findDisplay 46))};
CSE_KEY_COUNTER = 0;
CSE_DISPLAY_MENU = false;
CSE_MENU_ONRELEASE = false;
CSE_KEY_PRESSED_HANDLER = {
// state of Shift, Ctrl and Alt
//if (!(_this select 2)) then {
if !([player] call cse_fnc_isAwake) exitwith{};
_MENU_VAR = format['CSE_GUI_MENU_%1', (_this select 1)];
if (isnil _MENU_VAR) exitwith {};
_menu = (call compile _MENU_VAR) select 0;
_states = _menu select 4;
if (((_states select 1) == 0) && (_this select 2)) exitwith {};
if (((_states select 1) == 1) && !(_this select 2)) exitwith {};
if (((_states select 2) == 0) && (_this select 3)) exitwith {};
if (((_states select 2) == 1) && !(_this select 3)) exitwith {};
if (((_states select 3) == 0) && (_this select 4)) exitwith {};
if (((_states select 3) == 1) && !(_this select 4)) exitwith {};
if (CSE_DISPLAY_MENU && !CSE_KEY_RELEASED) exitwith {};
if (CSE_DISPLAY_MENU && CSE_KEY_RELEASED) exitwith { closeDialog 145201;};
if (dialog) exitwith { closeDialog 0; };
_STARTINGTIME = time;
CSE_DISPLAY_MENU = true;
CSE_KEY_RELEASED = false;
//null = [_this,_STARTINGTIME,(call compile _MENU_VAR) select 0] spawn {
_handle = [_this,_STARTINGTIME] spawn {
waituntil{CSE_KEY_RELEASED || (time - ((_this select 1)) > 0.25)};
if (!CSE_KEY_RELEASED) then {
CSE_MENU_ONRELEASE = true;
waituntil {CSE_KEY_RELEASED};
CSE_MENU_ONRELEASE = false;
closeDialog 145201;
} else {
CSE_KEY_RELEASED = true;
};
waituntil {!dialog};
CSE_DISPLAY_MENU = false;
};
[(_menu select 0),(_menu select 1),(_menu select 3)] call cse_fnc_gui_keyPressed;
//};
false;
};
/*
cse_displayEventHandler_Dialog = findDisplay 46 displayAddEventHandler ["keyDown", CSE_KEY_PRESSED_HANDLER];
cse_displayEventHandler_DialogReleased = findDisplay 46 displayAddEventHandler ["keyUp", {
_MENU_VAR = format['CSE_GUI_MENU_%1', (_this select 1)];
if (CSE_DISPLAY_MENU) then {
if (!isnil _MENU_VAR) then {
CSE_KEY_RELEASED = true;
};
};
}];*/
};

View File

@ -1,70 +0,0 @@
/**
* fn_gui_displayIcon.sqf
* @Descr:
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: true
*
* @Example ["myID", true, CSE_ICON_PATH + "icon_group.paa", [1,1,1,1]] call cse_fnc_gui_displayIcon;
*/
#define MAX_N_ICONS 6
private ["_iconId", "_show", "_icon", "_spot", "_idc", "_display","_next_IDC", "_nextText"];
_iconId = _this select 0;
_show = _this select 1;
_icon = _this select 2;
_color = _this select 3;
disableSerialization;
_list = missionNamespace getvariable ["cse_gui_displayIconList",[]];
_display = uiNamespace getvariable "cse_gui_iconsDisplay";
if (_show) then {
if ({(_x select 0 == _iconId)} count _list == 0) then {
_list pushback [_iconId, _icon, _color];
} else {
{
if (_x select 0 == _iconId) exitwith {
_list set [_foreachIndex, [_iconId, _icon, _color]];
};
}foreach _list;
};
missionNamespace setvariable ["cse_gui_displayIconList", _list];
{
if (_x select 0 == _iconId) exitwith {
_idc = 10501 + _foreachIndex;
_ctrl = _display displayCtrl _idc;
_ctrl ctrlsetText _icon;
_ctrl ctrlSetTextColor _color;
};
}foreach _list;
} else {
if ({(_x select 0 == _iconId)} count _list == 1) then {
_newList = [];
{
if (_x select 0 != _iconId) then {
_newList pushback _x;
};
}foreach _list;
missionNamespace setvariable ["cse_gui_displayIconList", _newList];
for "_i" from 0 to (MAX_N_ICONS - 1) /* step +1 */ do {
_idc = 10501 + _i;
_ctrl = _display displayCtrl _idc;
_ctrl ctrlsetText "";
_ctrl ctrlSetTextColor [1,1,1,1];
};
{
_idc = 10501 + _foreachIndex;
_ctrl = _display displayCtrl _idc;
_ctrl ctrlsetText (_x select 1);
_ctrl ctrlSetTextColor (_x select 2);
}foreach _newList;
};
};

View File

@ -1,65 +0,0 @@
/**
* fn_gui_displayInformation.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
#define DISPLAY_LAYER 32547
private["_title", "_content","_type","_display","_headerCtrl","_contentCtrl","_contentAmountOfChars","_pos","_icon","_iconCtrl"];
_title = [_this, 0, "",[""]] call BIS_fnc_Param;
_content = [_this, 1, [""],[[""]]] call BIS_fnc_Param;
_type = [_this, 2, 0, [0]] call BIS_fnc_Param;
_icon = [_this, 3, "",[""]] call BIS_fnc_Param;
if (_title != "") then {
DISPLAY_LAYER cutRsc ["CSE_DISPLAY_INFORMATION","PLAIN"];
disableSerialization;
_display = uiNamespace getvariable "CSE_DISPLAY_INFORMATION";
if (!isnil "_display") then {
_headerCtrl = _display displayCtrl 1;
_headerCtrl ctrlSetText _title;
_iconCtrl = _display displayCtrl 10;
_iconCtrl ctrlSetText _icon;
_idc = 2;
{
_text = _x;
if (_text != "") then {
_contentCtrl = _display displayCtrl _idc;
_contentCtrl ctrlSetText _text;
_contentAmountOfChars = count (toArray _text);
_pos = ctrlPosition _contentCtrl;
_pos set [2, _contentAmountOfChars * ((((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)/ 3.3) max (safeZoneW / 11)];
_contentCtrl ctrlSetPosition _pos;
_contentCtrl ctrlCommit 0;
if (_type >0) then {
if (_type == 1) then {
_contentCtrl ctrlSetBackgroundColor [0.7,0.2,0.2,0.8];
_contentCtrl ctrlSetTextColor [1,1,1,0.9];
};
};
_idc = _idc + 1;
};
}foreach _content;
while {(_idc < 7)} do {
_contentCtrl = _display displayCtrl _idc;
_contentCtrl ctrlSetPosition [0,0,0,0];
_contentCtrl ctrlCommit 0;
_idc = _idc + 1;
};
};
} else {
DISPLAY_LAYER cutText ["","PLAIN"];
};

View File

@ -1,43 +0,0 @@
/**
* fn_gui_displayMessage.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
#define DISPLAY_LAYER 546
private["_title", "_content","_type","_display","_headerCtrl","_contentCtrl","_contentAmountOfChars","_pos"];
_title = [_this, 0, "",[""]] call BIS_fnc_Param;
_content = [_this, 1, "",[""]] call BIS_fnc_Param;
_type = [_this, 2, 0, [0]] call BIS_fnc_Param;
if (_title != "" && _content != "") then {
DISPLAY_LAYER cutRsc ["CSE_DISPLAY_MESSAGE","PLAIN"];
disableSerialization;
_display = uiNamespace getvariable "CSE_DISPLAY_MESSAGE";
if (!isnil "_display") then {
_headerCtrl = _display displayCtrl 1;
_contentCtrl = _display displayCtrl 2;
_headerCtrl ctrlSetText _title;
_contentCtrl ctrlSetText _content;
_contentAmountOfChars = count (toArray _content);
_pos = ctrlPosition _contentCtrl;
_pos set [2, _contentAmountOfChars * ((((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)/ 3.3) max (safeZoneW / 11)];
_contentCtrl ctrlSetPosition _pos;
_contentCtrl ctrlCommit 0;
if (_type >0) then {
if (_type == 1) then {
_contentCtrl ctrlSetBackgroundColor [0.7,0.2,0.2,0.8];
_contentCtrl ctrlSetTextColor [1,1,1,0.9];
};
};
};
};

View File

@ -1,104 +0,0 @@
/**
* fn_gui_displaySubMenuButtons.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_rootButton","_allMenuEntries","_allAvailableMainButtons","_selectedMainMenuButton","_interactionDialog","_position","_placeEntry"];
disableSerialization;
_interactionDialog = uiNamespace getvariable "cse_interactionGUI";
_rootButton = (_interactionDialog displayCtrl (_this select 1));
_allMenuEntries = _this select 2;
_headerNumber = 112;
_selectedMainMenuButton = 201;
_maxCtrlNumber = 215;
if ((_this select 1) > 200 && (_this select 1) < 300) then {
_headerNumber = 113;
_selectedMainMenuButton = 301;
_maxCtrlNumber = 315;
};
_allAvailableMainButtons = 15;
//hint format ["ROOTBUTTON: %1",_rootButton];
_position = ctrlPosition _rootButton;
//_position = [(_position select 0) + 0.26, (_position select 1)];
_position = [(_position select 0) + 0.31, (_position select 1)];
CMS_GUI_LATEST_SUBMENU = _this;
(_interactionDialog displayCtrl _headerNumber) ctrlSetText (_this select 0);
(_interactionDialog displayCtrl _headerNumber) ctrlSetPosition [_position select 0,(_position select 1) - 0.040];
//(_interactionDialog displayCtrl _headerNumber) ctrlSetBackgroundColor [0, 0, 0.6, 0.75];
(_interactionDialog displayCtrl _headerNumber) ctrlSetBackgroundColor [(profilenamespace getvariable ['IGUI_BCG_RGB_R',0]),(profilenamespace getvariable ['IGUI_BCG_RGB_G',1]),(profilenamespace getvariable ['IGUI_BCG_RGB_B',1]), 0.75];
(_interactionDialog displayCtrl _headerNumber) ctrlSetBackgroundColor [(profilenamespace getvariable ['GUI_BCG_RGB_R',0]),(profilenamespace getvariable ['GUI_BCG_RGB_G',1]),(profilenamespace getvariable ['GUI_BCG_RGB_B',1]), 0.75];
(_interactionDialog displayCtrl _headerNumber) ctrlCommit 0;
CSE_UI_EFFECT = true; // temp enabled
_placeEntry = {
private ["_entry"];
_entry = (_interactionDialog displayCtrl _selectedMainMenuButton);
_entry ctrlSetText ( (_x select 0));
_entry ctrlSetPosition _position;
if (_selectedMainMenuButton < 300) then {
_entry ctrlSetEventHandler ["ButtonClick", format["call cse_fnc_gui_hideSubSubMenuButtons;[player,CSE_interactionTarget,%2] call %1; call cse_fnc_gui_refreshLastSubMenu;",(_x select 2),_selectedMainMenuButton]];
} else {
_entry ctrlSetEventHandler ["ButtonClick", format["[player,CSE_interactionTarget,%2] call %1; call cse_fnc_gui_refreshLastSubMenu;",(_x select 2),_selectedMainMenuButton]];
};
if (isnil "CSE_UI_EFFECT") then {
_entry ctrlCommit 0;
} else {
if (CSE_UI_EFFECT) then {
_entry ctrlCommit 0.2;
} else {
_entry ctrlCommit 0;
};
};
// updating new information
_position = [(_position select 0), (_position select 1) + 0.040];
_selectedMainMenuButton = _selectedMainMenuButton + 1;
};
_returningEntries = [];
{
if ((typeName (_x select 1)) == "CODE") then {
if ([player,CSE_interactionTarget] call (_x select 1)) then {
_returningEntries set[count _returningEntries,_x];
};
} else {
if ((typeName (_x select 1)) == "BOOL") then {
if (_x select 1) then {
_returningEntries set[count _returningEntries,_x];
};
};
};
}foreach _allMenuEntries;
// for effects
{
_entry = (_interactionDialog displayCtrl _selectedMainMenuButton);
_entry ctrlSetPosition _position;
_entry ctrlCommit 0;
_selectedMainMenuButton = _selectedMainMenuButton + 1;
if (_selectedMainMenuButton >= _maxCtrlNumber + _allAvailableMainButtons) exitwith{};
}foreach _returningEntries;
_selectedMainMenuButton = 201;
if ((_this select 1) > 200 && (_this select 1) < 300) then {
_headerNumber = 113;
_selectedMainMenuButton = 301;
};
{
call _placeEntry;
if (_selectedMainMenuButton >= _maxCtrlNumber + _allAvailableMainButtons) exitwith{};
}foreach _returningEntries;

Some files were not shown because too many files have changed in this diff Show More