mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Removed ported CSE functionality from TO_MERGE folder
This commit is contained in:
parent
b80cec4c18
commit
a800c2935f
@ -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; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -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";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -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 {};
|
|
||||||
};
|
|
@ -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;";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -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 {{}};
|
|
@ -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"
|
|
@ -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;
|
|
||||||
};
|
|
@ -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];
|
|
@ -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
|
|
@ -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;
|
|
||||||
};
|
|
@ -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
|
|
@ -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
|
|
@ -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;
|
|
||||||
};
|
|
@ -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;
|
|
@ -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;
|
|
@ -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>
|
|
@ -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; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -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]
|
|
||||||
};
|
|
||||||
};
|
|
@ -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"
|
|
@ -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;
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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;
|
|
@ -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);
|
|
||||||
};
|
|
@ -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;
|
|
@ -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);
|
|
@ -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
|
|
@ -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;
|
|
@ -1,3 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
cse_f_modules = true;
|
|
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -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>
|
|
@ -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; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -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;";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -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])
|
|
@ -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;
|
|
@ -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));
|
|
@ -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);
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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"
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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
|
|
@ -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
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
@ -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;
|
|
@ -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 {
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
@ -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
|
|
@ -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;
|
|
@ -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
|
|
@ -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;
|
|
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -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])
|
|
||||||
};
|
|
||||||
};
|
|
@ -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>
|
|
@ -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)})
|
|
@ -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
|
|
@ -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]);
|
|
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -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 {
|
|
||||||
};
|
|
@ -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
|
|
@ -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;
|
|
@ -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 "";
|
|
||||||
};
|
|
||||||
};
|
|
@ -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;";
|
|
||||||
// };
|
|
||||||
};
|
|
@ -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 {
|
|
||||||
|
|
||||||
};
|
|
||||||
};
|
|
@ -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];
|
|
||||||
};
|
|
@ -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
|
|
@ -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;
|
|
||||||
};
|
|
@ -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; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -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]
|
|
||||||
};
|
|
||||||
};
|
|
@ -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"
|
|
@ -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"
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
@ -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;
|
|
||||||
|
|
||||||
|
|
@ -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]));*/
|
|
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -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;
|
|
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}];*/
|
|
||||||
};
|
|
@ -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;
|
|
||||||
};
|
|
||||||
};
|
|
@ -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"];
|
|
||||||
};
|
|
@ -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];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
@ -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
Loading…
Reference in New Issue
Block a user