diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/CfgAmmo.h b/TO_MERGE/cse/sys_ballistics/basicBallistics/CfgAmmo.h deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/CfgFunctions.h b/TO_MERGE/cse/sys_ballistics/basicBallistics/CfgFunctions.h deleted file mode 100644 index 463b661da6..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/CfgFunctions.h +++ /dev/null @@ -1,11 +0,0 @@ -class CfgFunctions { - class CSE { - class WindDeflection { - file = "cse\cse_sys_ballistics\basicBallistics\functions"; - class handleFired_DEFLECT { recompile = 1; }; - class onWeatherMeterOpened_DEFLECT { recompile = 1; }; - class weatherMeterOpenWindView_DEFLECT { recompile = 1; }; - class weatherMeterOpenWeatherView_DEFLECT { recompile = 1; }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/CfgMagazines.h b/TO_MERGE/cse/sys_ballistics/basicBallistics/CfgMagazines.h deleted file mode 100644 index fbfb6f9372..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/CfgMagazines.h +++ /dev/null @@ -1,15 +0,0 @@ -class CfgMagazines { - class Default; - class CA_magazine: Default{}; - class cse_weather_meter: CA_magazine { - scope = 2; - value = 1; - count = 1; - type = 16; - displayName = "Weather Meter (GREEN)"; - picture = "\cse\cse_sys_ballistics\basicBallistics\data\pocket_weather_meter_day_green.paa"; - descriptionShort = "Provides information about weather and wind"; - descriptionUse = "Provides information about humidity, wind speed, direction and strenght."; - mass = 5; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/CfgVehicles.h b/TO_MERGE/cse/sys_ballistics/basicBallistics/CfgVehicles.h deleted file mode 100644 index 568af426ef..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/CfgVehicles.h +++ /dev/null @@ -1,31 +0,0 @@ -class CfgVehicles { - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits { - }; - }; - class cse_sys_winddeflection: Module_F { - scope = 2; - displayName = "Basic Ballistics [CSE]"; - icon = "\cse\cse_main\data\cse_rifle_module.paa"; - category = "cseModules"; - function = "cse_fnc_initalizeModule_F"; - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments { - class forAI { - displayName = "Enable for AI"; - description = "Should the module be enabled for AI"; - typeName = "BOOL"; - defaultValue = 0; - }; - class allowNonLocal { - displayName = "Non Local"; - description = "Should the module be enabled for non local units"; - typeName = "BOOL"; - defaultValue = 0; - }; - }; - }; -}; diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/CfgWeapons.h b/TO_MERGE/cse/sys_ballistics/basicBallistics/CfgWeapons.h deleted file mode 100644 index 7950800aba..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/CfgWeapons.h +++ /dev/null @@ -1,18 +0,0 @@ -class CfgWeapons { - class Default; - class cse_weather_meter: Default { - author = "Combat Space Enhancement"; - scope = 2; - displayName = "Weather Meter"; - picture = "\cse\cse_sys_ballistics\basicBallistics\data\weatherMeter.paa"; - descriptionShort = "Provides information about weather and wind"; - descriptionUse = "Provides information about humidity, wind speed, direction and strenght."; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - simulation = "Weapon"; - class ItemInfo - { - mass = 10; - }; - }; - -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/Combat_Space_Enhancement.h b/TO_MERGE/cse/sys_ballistics/basicBallistics/Combat_Space_Enhancement.h deleted file mode 100644 index 05dbf8b31d..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/Combat_Space_Enhancement.h +++ /dev/null @@ -1,34 +0,0 @@ -#define MENU_KEYBINDING 1 -#define ACTION_KEYBINDING 2 -#define CLIENT_SETTING 3 - -class Combat_Space_Enhancement { - class cfgModules { - class cse_sys_winddeflection { - init = "call compile preprocessFile 'cse\cse_sys_ballistics\basicBallistics\init_sys_winddeflection.sqf';"; - name = "Wind Deflection"; - class EventHandlers { - class CAManBase { - fired = "_this call cse_fnc_handleFired_DEFLECT; false"; - }; - }; - class Configurations { - class check_wind_direction { - type = ACTION_KEYBINDING; - title = "Check Wind Direction"; - description = "Displays a hint with the current wind direction and speed."; - value[] = {0,0,0,0}; - onPressed = "[] call cse_fnc_checkWindDir_WIND;"; - }; - class open_weather_meter { - type = ACTION_KEYBINDING; - title = "Open the Weather Meter"; - description = "When you have the weather meter in your inventory, pressing this key will open the menu, showing you the current weather information."; - value[] = {0,0,0,0}; - onPressed = "if (([player,'cse_weather_meter'] call cse_fnc_hasMagazine)) then { createDialog 'cse_weather_meter'; }; "; - idd = 65423; - }; - }; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/GUI.h b/TO_MERGE/cse/sys_ballistics/basicBallistics/GUI.h deleted file mode 100644 index e27240144e..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/GUI.h +++ /dev/null @@ -1,2 +0,0 @@ -#include "gui\define.hpp" -#include "gui\weather_meter.hpp" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/config.cpp b/TO_MERGE/cse/sys_ballistics/basicBallistics/config.cpp deleted file mode 100644 index 583105bed7..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/config.cpp +++ /dev/null @@ -1,26 +0,0 @@ -class CfgPatches { - class cse_sys_winddeflection { - units[] = {}; - weapons[] = {}; - requiredVersion = 1.0; - requiredAddons[] = {"cse_f_eh","cse_main"}; - versionDesc = "CSE Wind Deflection"; - version = "0.10.0_rc"; - author[] = {"Combat Space Enhancement"}; - authorUrl = "http://csemod.com"; - }; -}; - -class cse_sys_winddeflection { - class PreloadAddons { - class cse_sys_winddeflection { - list[] = {"cse_sys_winddeflection"}; - }; - }; -}; -#include "CfgAmmo.h" -#include "CfgVehicles.h" -#include "CfgMagazines.h" -#include "CfgFunctions.h" -#include "Combat_Space_Enhancement.h" -#include "GUI.h" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/data/icon_weather_meter.paa b/TO_MERGE/cse/sys_ballistics/basicBallistics/data/icon_weather_meter.paa deleted file mode 100644 index bc2395644d..0000000000 Binary files a/TO_MERGE/cse/sys_ballistics/basicBallistics/data/icon_weather_meter.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/data/pocket_weather_meter_day_green.paa b/TO_MERGE/cse/sys_ballistics/basicBallistics/data/pocket_weather_meter_day_green.paa deleted file mode 100644 index ed990f53cb..0000000000 Binary files a/TO_MERGE/cse/sys_ballistics/basicBallistics/data/pocket_weather_meter_day_green.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/data/pocket_weather_meter_night_green.paa b/TO_MERGE/cse/sys_ballistics/basicBallistics/data/pocket_weather_meter_night_green.paa deleted file mode 100644 index c13719e9bb..0000000000 Binary files a/TO_MERGE/cse/sys_ballistics/basicBallistics/data/pocket_weather_meter_night_green.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/data/weatherMeter.paa b/TO_MERGE/cse/sys_ballistics/basicBallistics/data/weatherMeter.paa deleted file mode 100644 index 51d2b9491d..0000000000 Binary files a/TO_MERGE/cse/sys_ballistics/basicBallistics/data/weatherMeter.paa and /dev/null differ diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/functions/fn_handleFired_DEFLECT.sqf b/TO_MERGE/cse/sys_ballistics/basicBallistics/functions/fn_handleFired_DEFLECT.sqf deleted file mode 100644 index fb7ec63952..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/functions/fn_handleFired_DEFLECT.sqf +++ /dev/null @@ -1,102 +0,0 @@ -/** - * CSE fnc HandleFired DEFLECT. - * Handles wind deflection for projectiles. - * Is expected to be triggered by the fired eventhandler from BI. - * - * Params: - * 1. unit: Object - Object the event handler is assigned to - * 2. weapon: String - Fired weapon - * 3. muzzle: String - Muzzle that was used - * 4. mode: String - Current mode of the fired weapon - * 5. ammo: String - Ammo used - * 6. magazine: String - magazine name which was used - * 7. projectile: Object - Object of the projectile that was shot (Arma 2: OA and onwards) - * - * Author: Glowbal, Ruthberg - * - */ - -if (isNil "CSE_DISABLE_HANDLE_DEFLECTION") then { CSE_DISABLE_HANDLE_DEFLECTION = false; }; -if (CSE_DISABLE_HANDLE_DEFLECTION) exitWith { true }; - -private ["_unit", "_weapon", "_ammo", "_bullet", "_airFriction", "_index"]; -_unit = _this select 0; - -if (!CSE_WIND_DEFLECTION_EFFECT_AI_BB && !(isPlayer _unit)) exitWith {}; -if (cse_AB_WindEnabled && (gunner _unit) getVariable ["cse_enabled_AdvancedBallistics", false]) exitWith {}; - -_bullet = _this select 5; -if (!isClass (configFile >> 'CfgPatches' >> 'CBA_main')) then { - _bullet = _this select 6; // with CBA magazine and projectile are reverted -}; - -if ((CSE_WIND_DEFLECTION_ALLOW_NON_LOCAL_BB || local _unit) && (_bullet isKindOf "BulletBase")) then { - _weapon = _this select 1; - _ammo = _this select 4; - - _airFriction = getNumber(configFile >> "cfgAmmo" >> _ammo >> "airFriction"); - - _index = count cse_basicBallistics_bulletDatabase; - if (count cse_basicBallistics_bulletDatabaseFreeIndices > 0) then { - _index = cse_basicBallistics_bulletDatabaseFreeIndices select 0; - cse_basicBallistics_bulletDatabaseFreeIndices = cse_basicBallistics_bulletDatabaseFreeIndices - [_index]; - }; - - cse_basicBallistics_bulletDatabase set[_index, [_bullet, _airFriction, _index]]; - cse_basicBallistics_bulletDatabaseLastFrame set[_index, time]; - - cse_basicBallistics_bulletDatabaseOccupiedIndices pushBack _index; - - if (count cse_basicBallistics_bulletDatabaseOccupiedIndices == 1) then { - ["basicBallistics", "onEachFrame", { - private ["_bullet", "_airFriction", "_index", "_deltaT", "_bulletVelocity", "_bulletSpeed", "_trueVelocity", "_trueVelocity", "_dragRef", "_drag", "_accelRef", "_accel"]; - - { - _bullet = (cse_basicBallistics_bulletDatabase select _x) select 0; - _index = (cse_basicBallistics_bulletDatabase select _x) select 2; - if (!alive _bullet) then { - cse_basicBallistics_bulletDatabaseOccupiedIndices = cse_basicBallistics_bulletDatabaseOccupiedIndices - [_index]; - cse_basicBallistics_bulletDatabaseFreeIndices pushBack _index; - }; - } forEach cse_basicBallistics_bulletDatabaseOccupiedIndices; - - if (count cse_basicBallistics_bulletDatabaseOccupiedIndices == 0) exitWith { - /// Resetting all the variables. - cse_basicBallistics_bulletDatabase = []; - cse_basicBallistics_bulletDatabaseLastFrame = []; - cse_basicBallistics_bulletDatabaseOccupiedIndices = []; - cse_basicBallistics_bulletDatabaseFreeIndices = []; - ["basicBallistics", "onEachFrame"] call BIS_fnc_removeStackedEventHandler; - }; - - { - _bullet = (cse_basicBallistics_bulletDatabase select _x) select 0; - _airFriction = (cse_basicBallistics_bulletDatabase select _x) select 1; - _index = (cse_basicBallistics_bulletDatabase select _x) select 2; - - _deltaT = time - (cse_basicBallistics_bulletDatabaseLastFrame select _index); - cse_basicBallistics_bulletDatabaseLastFrame set[_index, time]; - - _bulletVelocity = velocity _bullet; - _bulletSpeed = vectorMagnitude _bulletVelocity; - - if (vectorMagnitude wind > 0) then { - _trueVelocity = _bulletVelocity vectorDiff wind; - _trueSpeed = vectorMagnitude _trueVelocity; - - _dragRef = _deltaT * _airFriction * _bulletSpeed * _bulletSpeed; - _accelRef = (vectorNormalized _bulletVelocity) vectorMultiply (_dragRef); - _bulletVelocity = _bulletVelocity vectorDiff _accelRef; - - _drag = _deltaT * _airFriction * _trueSpeed * _trueSpeed; - _accel = (vectorNormalized _trueVelocity) vectorMultiply (_drag); - _bulletVelocity = _bulletVelocity vectorAdd _accel; - }; - - _bullet setVelocity _bulletVelocity; - } forEach cse_basicBallistics_bulletDatabaseOccupiedIndices; - - }] call BIS_fnc_addStackedEventHandler; - }; -}; -true; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/functions/fn_onWeatherMeterOpened_DEFLECT.sqf b/TO_MERGE/cse/sys_ballistics/basicBallistics/functions/fn_onWeatherMeterOpened_DEFLECT.sqf deleted file mode 100644 index d27fa411e7..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/functions/fn_onWeatherMeterOpened_DEFLECT.sqf +++ /dev/null @@ -1,26 +0,0 @@ -/** - * fn_onWeatherMeterOpened_DEFLECT.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -if (isnil "CSE_WEATHER_METER_CURRENT_SCREEN_DEFLECT") then { - CSE_WEATHER_METER_CURRENT_SCREEN_DEFLECT = "WIND_VIEW"; -}; -if (isnil "CSE_WEATHER_METER_IS_OPEN_DEFLECT") then { - CSE_WEATHER_METER_IS_OPEN_DEFLECT = false; -}; - -while { CSE_WEATHER_METER_IS_OPEN_DEFLECT } do { - switch (CSE_WEATHER_METER_CURRENT_SCREEN_DEFLECT) do { - case "WEATHER_VIEW": {[] call cse_fnc_weatherMeterOpenWeatherView_DEFLECT;}; - case "WIND_VIEW": { [] call cse_fnc_weatherMeterOpenWindView_DEFLECT;}; - default {}; - }; - uisleep 1; - -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/functions/fn_weatherMeterOpenWeatherView_DEFLECT.sqf b/TO_MERGE/cse/sys_ballistics/basicBallistics/functions/fn_weatherMeterOpenWeatherView_DEFLECT.sqf deleted file mode 100644 index a8e25227bd..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/functions/fn_weatherMeterOpenWeatherView_DEFLECT.sqf +++ /dev/null @@ -1,28 +0,0 @@ -/** - * fn_weatherMeterOpenWeatherView_DEFLECT.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_display","_backgroundCtrl","_categoryCtrl","_lineOneCtrl", "_lineTwoCtrl","_LineThreeCtrl", "_textLineOne","_textLineTwo"]; - -disableSerialization; -_display = uiNamespace getvariable "cse_weather_meter"; - -_backgroundCtrl = _display displayCtrl 1; -_categoryCtrl = _display displayCtrl 10; -_lineOneCtrl = _display displayCtrl 11; -_lineTwoCtrl = _display displayCtrl 12; -_LineThreeCtrl = _display displayCtrl 13; - -_categoryCtrl ctrlSetText (localize "STR_CSE_WEATHER_METER_WEATHER_CATEGORY"); - -_textLineOne = format [ localize "STR_CSE_WEATHER_METER_WEATHER_HUMIDITY", floor (humidity * 100)]; - -_lineOneCtrl ctrlSetText _textLineOne; -_lineTwoCtrl ctrlSetText ""; -_LineThreeCtrl ctrlSetText ""; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/functions/fn_weatherMeterOpenWindView_DEFLECT.sqf b/TO_MERGE/cse/sys_ballistics/basicBallistics/functions/fn_weatherMeterOpenWindView_DEFLECT.sqf deleted file mode 100644 index 82c8e96a65..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/functions/fn_weatherMeterOpenWindView_DEFLECT.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/** - * fn_weatherMeterOpenWindView_DEFLECT.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -private ["_display","_backgroundCtrl","_categoryCtrl","_lineOneCtrl", "_lineTwoCtrl","_LineThreeCtrl", "_textLineOne","_textLineTwo"]; - -disableSerialization; -_display = uiNamespace getvariable "cse_weather_meter"; - -_backgroundCtrl = _display displayCtrl 1; -_categoryCtrl = _display displayCtrl 10; -_lineOneCtrl = _display displayCtrl 11; -_lineTwoCtrl = _display displayCtrl 12; -_LineThreeCtrl = _display displayCtrl 13; - -_categoryCtrl ctrlSetText (localize "STR_CSE_WEATHER_METER_WIND_CATEGORY"); - -_textLineOne = format [ localize "STR_CSE_WEATHER_METER_WIND_SPEED", (wind distance [0,0,0])]; -_textLineTwo = format [ localize "STR_CSE_WEATHER_METER_WIND_DIRECTION", windDir]; - -_lineOneCtrl ctrlSetText _textLineOne; -_lineTwoCtrl ctrlSetText _textLineTwo; -_LineThreeCtrl ctrlSetText ""; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/gui/define.hpp b/TO_MERGE/cse/sys_ballistics/basicBallistics/gui/define.hpp deleted file mode 100644 index c521de470f..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/gui/define.hpp +++ /dev/null @@ -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 \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/gui/weather_meter.hpp b/TO_MERGE/cse/sys_ballistics/basicBallistics/gui/weather_meter.hpp deleted file mode 100644 index fd9e979bcd..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/gui/weather_meter.hpp +++ /dev/null @@ -1,101 +0,0 @@ -class cse_weather_meter { - idd = 65423; - movingEnable = 1; - onLoad = "uiNamespace setVariable ['cse_weather_meter', _this select 0];CSE_WEATHER_METER_IS_OPEN_DEFLECT = true; NUL = [] spawn cse_fnc_onWeatherMeterOpened_DEFLECT;"; - onUnload = "CSE_WEATHER_METER_IS_OPEN_DEFLECT = false; "; - - class controlsBackground { - class backgroundImg: cse_gui_backgroundBase{ - idc = 1; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)"; - x = "0 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "15 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "30 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - text = "cse\cse_sys_ballistics\basicBallistics\data\pocket_weather_meter_day_green.paa"; - moving = 1; - }; - }; - - class controls { - class labelTextMenu : cse_gui_staticBase { - idc = 10; - x = "4.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "19 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "6.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)"; - text = "CATEGORY NAME"; - colorBackground[] = {0,0,0,0.0}; - colorText[] = {0.0, 0.0, 0.0, 1.0}; - style = ST_CENTER; - }; - class labelTextLineOne : labelTextMenu { - idc = 11; - x = "4.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "20 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "6.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.6)"; - text = ""; - style = ST_LEFT; - }; - class labelTextLineTwo : labelTextLineOne { - idc = 12; - y = "20.7 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - class labelTextLineThree : labelTextLineOne { - idc = 13; - y = "21.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - text = ""; - }; - - - - class actionClose : cse_gui_buttonBase { - idc = 30; - text = ""; - x = "4.25 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "28.6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)"; - w = "0.5 * (((safezoneW / safezoneH) min 1.2) / 40)"; - h = "0.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.0)"; - animTextureOver = "#(argb,8,8,3)color(1,1,1,0)"; - animTextureFocused = "#(argb,8,8,3)color(1,1,1,0)"; - animTexturePressed = "#(argb,8,8,3)color(1,1,1,0)"; - animTextureDefault = "#(argb,8,8,3)color(1,1,1,0)"; - color[] = {1, 1, 1, 1}; - color2[] = {0,0,0, 1}; - colorBackgroundFocused[] = {1,1,1,1}; - colorBackground[] = {1,1,1,1}; - colorbackground2[] = {1,1,1,1}; - colorDisabled[] = {0.5,0.5,0.5,0.8}; - colorFocused[] = {0,0,0,1}; - periodFocus = 1; - periodOver = 1; - action = "closedialog 0;"; - }; - - class actionButtonLeft : actionClose { - idc = 31; - text = ""; - x = "4.25 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "23 * ((((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 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - action = "[] call cse_fnc_weatherMeterOpenWindView_DEFLECT; CSE_WEATHER_METER_CURRENT_SCREEN_DEFLECT = 'WIND_VIEW';"; - }; - class actionButtonRight : actionButtonLeft { - idc = 32; - text = ""; - x = "9.25 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)"; - y = "23 * ((((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 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)"; - action = "[] call cse_fnc_weatherMeterOpenWeatherView_DEFLECT; CSE_WEATHER_METER_CURRENT_SCREEN_DEFLECT = 'WEATHER_VIEW';"; - }; - - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/init_sys_winddeflection.sqf b/TO_MERGE/cse/sys_ballistics/basicBallistics/init_sys_winddeflection.sqf deleted file mode 100644 index 33db0953d7..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/init_sys_winddeflection.sqf +++ /dev/null @@ -1,53 +0,0 @@ -CSE_WIND_DEFLECTION_EFFECT_AI_BB = false; -CSE_WIND_DEFLECTION_ALLOW_NON_LOCAL_BB = false; - -private ["_args"]; -_args = _this; - -{ - if (_x select 0 == "forAI") then { - CSE_WIND_DEFLECTION_EFFECT_AI_BB = _x select 1; - }; - if (_x select 0 == "allowNonLocal") then { - CSE_WIND_DEFLECTION_ALLOW_NON_LOCAL_BB = _x select 1; - }; - -}foreach _args; - -cse_basicBallistics_bulletDatabase = []; -cse_basicBallistics_bulletDatabaseLastFrame = []; -cse_basicBallistics_bulletDatabaseOccupiedIndices = []; -cse_basicBallistics_bulletDatabaseFreeIndices = []; - -if (hasInterface) then { - - cse_fnc_checkWindDir_WIND = { - private ["_windDir","_windSpeed"]; - - if (vehicle player == player && [player] call cse_fnc_canInteract) then { - if(windDir >= 340 && windDir <= 360 || windDir >= 0 && windDir <= 20) then {_windDir = "North";}; - if(windDir >= 20 && windDir <= 60) then {_windDir = "North East";}; - if(windDir >= 60 && windDir <= 110) then {_windDir = "East";}; - if(windDir >= 110 && windDir <= 160) then {_windDir = "South East";}; - if(windDir >= 160 && windDir <= 200) then {_windDir = "South";}; - if(windDir >= 200 && windDir <= 250) then {_windDir = "South West";}; - if(windDir >= 250 && windDir <= 290) then {_windDir = "West";}; - if(windDir >= 290 && windDir <= 340) then {_windDir = "North West";}; - hintSilent ("Wind Direction: "+ _windDir + "\nWind Strength: " + str floor(wind distance [0,0,0]) + "m/s"); - sleep 4; - hintSilent ""; - }; - }; - - //["check_wind_direction", (["check_wind_direction","action",[0,0,0,0]] call cse_fnc_getKeyBindingFromProfile_F), cse_fnc_checkWindDir_WIND] call cse_fnc_addKeyBindingForAction_F; - //["check_wind_direction","action","Check Wind Direction","Displays a hint with the current wind direction and speed."] call cse_fnc_settingsDefineDetails_F; - - //["open_weather_meter", (["open_weather_meter","menu",[0,0,0,0]] call cse_fnc_getKeyBindingFromProfile_F), {if (([player,'cse_weather_meter'] call cse_fnc_hasMagazine)) then { createDialog "cse_weather_meter"; }; }, 65423] call cse_fnc_addKeyBindingForMenu_F; - //["open_weather_meter","menu","Open the Weather Meter","When you have the weather meter in your inventory, pressing this key will open the menu, showing you the current weather information. "] call cse_fnc_settingsDefineDetails_F; - - waituntil{!isnil "cse_gui"}; - _entries = [ - ["Weather Meter", {([player,'cse_weather_meter'] call cse_fnc_hasMagazine)}, "cse\cse_sys_ballistics\basicBallistics\data\icon_weather_meter.paa", { closeDialog 0; createDialog "cse_weather_meter"; }, "Use Weather Meter"] - ]; - ["ActionMenu","equipment", _entries ] call cse_fnc_addMultipleEntriesToRadialCategory_F; -}; diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/readme.txt b/TO_MERGE/cse/sys_ballistics/basicBallistics/readme.txt deleted file mode 100644 index 6c46f48def..0000000000 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/readme.txt +++ /dev/null @@ -1,10 +0,0 @@ -Legacy Module for cse_sys_windDeflection. -by Glowbal. Modifications by Ruthberg. - -This module has been integrated into cse_sys_ballistics as part of the CSE project restructure. -The module will stay available to allow for backwards compatibilty. All functionality will remain the same as in previous CSE versions. - ------------- -Adjustments made: -- Improved ballistics calculation based upon Ruthberg's advancedBallistics code. -- Adjusted paths to direct to cse\cse_sys_ballistics\basicBallistics instead of cse\cse_sys_windDeflection. diff --git a/addons/winddeflection/CfgEventHandlers.hpp b/addons/winddeflection/CfgEventHandlers.hpp new file mode 100644 index 0000000000..6cf7856ba5 --- /dev/null +++ b/addons/winddeflection/CfgEventHandlers.hpp @@ -0,0 +1,17 @@ +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_preInit.sqf) ); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + init = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_postInit.sqf) ); + }; +}; + +class Extended_Fired_Eventhandlers { + class CaManBase { + fired = QUOTE( call FUNC(handleFired) ); + }; +}; \ No newline at end of file diff --git a/addons/winddeflection/CfgVehicles.h b/addons/winddeflection/CfgVehicles.h new file mode 100644 index 0000000000..fe0e31bda5 --- /dev/null +++ b/addons/winddeflection/CfgVehicles.h @@ -0,0 +1,27 @@ +class CfgVehicles { + + // TODO Stringtable usage + class Logic; + class Module_F: Logic { + class ArgumentsBaseUnits { + }; + }; + class GVAR(Module): Module_F { + scope = 2; + displayName = "Wind Deflection [ACE]"; + icon = QUOTE(PATHTOF(data\module_icon.paa)); + category = "ACE"; + function = FUNC(enableModule); + functionPriority = 1; + isGlobal = 1; + isTriggerActivated = 0; + class Arguments { + class forAI { + displayName = "Enable for AI"; + description = "Should the module be enabled for AI"; + typeName = "BOOL"; + defaultValue = 0; + }; + }; + }; +}; diff --git a/addons/winddeflection/README.md b/addons/winddeflection/README.md new file mode 100644 index 0000000000..c2908a6f85 --- /dev/null +++ b/addons/winddeflection/README.md @@ -0,0 +1,11 @@ +ace_winddeflection +=============== + +Wind deflection for projectiles/bullets. + +## Maintainers + +The people responsible for merging changes to this component or answering potential questions. + +- [Glowbal](https://github.com/Glowbal) +- [Ruthberg] (http://github.com/Ulteq) \ No newline at end of file diff --git a/addons/winddeflection/XEH_postInit.sqf b/addons/winddeflection/XEH_postInit.sqf new file mode 100644 index 0000000000..9c3a4bc41f --- /dev/null +++ b/addons/winddeflection/XEH_postInit.sqf @@ -0,0 +1,15 @@ +/** + * XEH_postInit.sqf + * @Descr: N/A + * @Author: Glowbal + * + * @Arguments: [] + * @Return: + * @PublicAPI: false + */ + +#include "script_component.hpp" + +if (isnil QGVAR(EnableForAI)) then { + GVAR(EnableForAI) = false; +}; diff --git a/addons/winddeflection/XEH_preInit.sqf b/addons/winddeflection/XEH_preInit.sqf new file mode 100644 index 0000000000..05a606fbc2 --- /dev/null +++ b/addons/winddeflection/XEH_preInit.sqf @@ -0,0 +1,14 @@ +/** + * XEH_preInit.sqf + * @Descr: N/A + * @Author: Glowbal + * + * @Arguments: [] + * @Return: + * @PublicAPI: false + */ + +#include "script_component.hpp" + +PREP(handleFired); +PREP(initalizeModule); diff --git a/addons/winddeflection/config.cpp b/addons/winddeflection/config.cpp new file mode 100644 index 0000000000..6e1bdbc379 --- /dev/null +++ b/addons/winddeflection/config.cpp @@ -0,0 +1,24 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ACE_common", "ACE_weather"}; + versionDesc = "ACE Wind Deflection"; + version = VERSION; + author[] = {$STR_ACE_Core_ACETeam, "Glowbal", "Ruthberg"}; + authorUrl = "http://csemod.com"; + }; +}; + +class CfgAddons { + class PreloadAddons { + class ADDON { + list[] = {QUOTE(ADDON)}; + }; + }; +}; + +#include "CfgVehicles.h" \ No newline at end of file diff --git a/addons/winddeflection/data/module_icon.paa b/addons/winddeflection/data/module_icon.paa new file mode 100644 index 0000000000..f386713736 Binary files /dev/null and b/addons/winddeflection/data/module_icon.paa differ diff --git a/addons/winddeflection/functions/fnc_handleFired.sqf b/addons/winddeflection/functions/fnc_handleFired.sqf new file mode 100644 index 0000000000..19677287dc --- /dev/null +++ b/addons/winddeflection/functions/fnc_handleFired.sqf @@ -0,0 +1,64 @@ +/** + * fnc HandleFired. + * Handles wind deflection for projectiles. + * Is expected to be triggered by the fired eventhandler from BI. + * + * Params: + * 1. unit: Object - Object the event handler is assigned to + * 2. weapon: String - Fired weapon + * 3. muzzle: String - Muzzle that was used + * 4. mode: String - Current mode of the fired weapon + * 5. ammo: String - Ammo used + * 6. magazine: String - magazine name which was used + * 7. projectile: Object - Object of the projectile that was shot (Arma 2: OA and onwards) + * + * Author: Glowbal, Ruthberg + * + */ + +#include "script_component.hpp" + +private ["_unit", "_weapon", "_ammo", "_bullet", "_airFriction", "_index"]; +_unit = _this select 0; + +if (_unit distance ACE_player > 3000) exitWith {false}; // Large enough distance to not simulate any wind deflection. +if (!GVAR(EnableForAI) && !([_unit] call EFUNC(common,isPlayer))) exitWith {false}; +_bullet = _this select 6; + +if (_bullet isKindOf "BulletBase") then { + [{ + private ["_bullet", "_airFriction", "_args", "_deltaT", "_bulletVelocity", "_bulletSpeed", "_trueVelocity", "_trueVelocity", "_dragRef", "_drag", "_accelRef", "_accel"]; + + _args = _this select 0; + _bullet = _args select 0; + _airFriction = _args select 1; + _time = _args select 2; + + if (!alive _bullet) exitwith { + [_this select 1] call cba_fnc_removePerFrameHandler; + }; + + _deltaT = time - _time; + _args set[2, time]; + + _bulletVelocity = velocity _bullet; + _bulletSpeed = vectorMagnitude _bulletVelocity; + + if (vectorMagnitude ACE_wind > 0) then { + _trueVelocity = _bulletVelocity vectorDiff ACE_wind; + _trueSpeed = vectorMagnitude _trueVelocity; + + _dragRef = _deltaT * _airFriction * _bulletSpeed * _bulletSpeed; + _accelRef = (vectorNormalized _bulletVelocity) vectorMultiply (_dragRef); + _bulletVelocity = _bulletVelocity vectorDiff _accelRef; + + _drag = _deltaT * _airFriction * _trueSpeed; + _accel = _trueVelocity vectorMultiply (_drag); + _bulletVelocity = _bulletVelocity vectorAdd _accel; + }; + _bullet setVelocity _bulletVelocity; + // TODO expand with advanced ballistics functionality. + + }, 0, [_bullet, getNumber(configFile >> "cfgAmmo" >> (_this select 4) >> "airFriction"), time]] call CBA_fnc_addPerFrameHandler; +}; +true; \ No newline at end of file diff --git a/addons/winddeflection/functions/fnc_initalizeModule.sqf b/addons/winddeflection/functions/fnc_initalizeModule.sqf new file mode 100644 index 0000000000..d0b9937a58 --- /dev/null +++ b/addons/winddeflection/functions/fnc_initalizeModule.sqf @@ -0,0 +1,19 @@ +/** + * fnc_initalizeModule.sqf + * @Descr: N/A + * @Author: Glowbal + * + * @Arguments: [] + * @Return: + * @PublicAPI: false + */ + +#include "script_component.hpp" + +if (!hasInterface) exitwith {}; // No need for this module on HC or dedicated server. + +private ["_logic"]; +_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; +if (!isNull _logic) then { + [_logic, QGVAR(EnableForAI), "forAI" ] call EFUNC(common,readBooleanParameterFromModule); +}; \ No newline at end of file diff --git a/addons/winddeflection/functions/script_component.hpp b/addons/winddeflection/functions/script_component.hpp new file mode 100644 index 0000000000..278930e4e7 --- /dev/null +++ b/addons/winddeflection/functions/script_component.hpp @@ -0,0 +1,12 @@ +#define COMPONENT windDeflection +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_WINDDEFLECTION + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_WINDDEFLECTION + #define DEBUG_SETTINGS DEBUG_SETTINGS_WINDDEFLECTION +#endif + +#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/winddeflection/script_component.hpp b/addons/winddeflection/script_component.hpp new file mode 100644 index 0000000000..047b7980e5 --- /dev/null +++ b/addons/winddeflection/script_component.hpp @@ -0,0 +1,12 @@ +#define COMPONENT winddeflection +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_WINDDEFLECTION + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_WINDDEFLECTION + #define DEBUG_SETTINGS DEBUG_SETTINGS_WINDDEFLECTION +#endif + +#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/TO_MERGE/cse/sys_ballistics/basicBallistics/stringtable.xml b/addons/winddeflection/stringtable.xml similarity index 74% rename from TO_MERGE/cse/sys_ballistics/basicBallistics/stringtable.xml rename to addons/winddeflection/stringtable.xml index a834816ddb..409ebf7523 100644 --- a/TO_MERGE/cse/sys_ballistics/basicBallistics/stringtable.xml +++ b/addons/winddeflection/stringtable.xml @@ -1,32 +1,32 @@  - - + + - + Wind Information Wind Information Informacje o wietrze Información del viento - + Direction: %1 Direction: %1 Kierunek: %1 Dirección: %1 - + Speed: %1 m/s Speed: %1 m/s Prędkość: %1 Velocidad: %1 m/s - + Weather Information Weather Information Informacje o pogodzie Información Meteorológica - + Humidity: %1% Humidity: %1% Wilgotność: %1