Added cse_f_configurations source

This commit is contained in:
Thomas Kooi 2015-01-12 23:19:55 +01:00
parent 1a200e11b8
commit dc3610adb8
33 changed files with 2265 additions and 0 deletions

View File

@ -0,0 +1,31 @@
class CfgFunctions {
class CSE {
class Configuration {
file = "cse\cse_f_configuration\functions";
class addKeyBindingForMenu_f { recompile = 1; };
class addKeyBindingForAction_f { recompile = 1; };
class onKeyPressed_f { recompile = 1; };
class onKeyReleased_f { recompile = 1; };
class getKeyBindingFromProfile_f { recompile = 1; };
class saveKeyBindingToProfile_f { recompile = 1; };
class updateActionKeyBinding_f { recompile = 1; };
class updateMenuKeyBinding_f { recompile = 1; };
class updateAllKeyBindings_f { recompile = 1; };
class settingsMenuUpdateKeyBinding_f { recompile = 1; };
class onSettingsMenuOpen { recompile = 1; };
class settingsMenuUpdateList { recompile = 1; };
class onListBoxShowSelectionChanged { recompile = 1; };
class settingsMenuUpdateKeyView { recompile = 1; };
class settingsDefineDetails_f { recompile = 1; };
class getSettingDetails_f { recompile = 1; };
class onListBoxKeyBindingChanged { recompile = 1; };
class onListBoxSettingsChanged { recompile = 1; };
class getClientSideOptionFromProfile_f { recompile = 1; };
class addClientSideOptions_f { recompile = 1; };
class saveClientSideOptionToProfile_f { recompile = 1; };
class updateClientSideOption_f { recompile = 1; };
class parseConfigForConfigurations { recompile = 1; };
class parseModuleForConfigurations { recompile = 1; };
};
};
};

View File

@ -0,0 +1,51 @@
class CfgHints
{
class Combat_Space_Enhancement
{
displayName = "Combat Space Enhancement";
class Cse_configure {
displayName = "Configuration";
displayNameShort = "Configuration";
description = "You can configure CSE keybindings and settings through the configuration menu.";
tip = "Keybindings and settings are stored in your profile.";
arguments[] = {};
image = "";
noImage = true;
};
class menuKeyBindings_subHint
{
displayName = "Menu Keybindings";
displayNameShort = "Menu Keybindings";
description = "Menu %11 will when their key is pressed open a menu.";
tip = "You can hold down the key for a longer period and when released, the menu will close.";
arguments[] = {
{"Keybindings"}
};
image = "";
noImage = true;
};
class actionKeyBindings_subHint
{
displayName = "Action Keybindings";
displayNameShort = "Action Keybindings";
description = "Action %11 are used for specific actions performed by the player character.";
tip = "Use Ctrl, Alt or Shift combinations to increase the amount of actions you can bind.";
arguments[] = {
{"Keybindings"}
};
image = "";
noImage = true;
};
class clientSettings
{
displayName = "Client Settings";
displayNameShort = "Client Settings";
description = "Client settings do not affect MP gameplay but allows players to customize their gameplay to their likings.";
tip = "If you are having low frames, try turning off some client settings..";
arguments[] = {};
image = "";
noImage = true;
};
};
};

View File

@ -0,0 +1,9 @@
class Combat_Space_Enhancement {
class EventHandlers {
class PostInit_EventHandlers {
class cse_f_configuration_handleKeys {
init = " call compile preprocessFile 'cse\cse_f_configuration\displayEventHandler_keys.sqf';"; // [configFile] call cse_fnc_parseConfigForConfigurations;
};
};
};
};

View File

@ -0,0 +1,3 @@
#include "gui\define.h"
#include "gui\settingsMenu.h"
#include "gui\pauseMenu.h"

View File

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

View File

@ -0,0 +1,23 @@
if (isnil "CSE_F_KEYBINDINGS_MENUS") then {
CSE_F_KEYBINDINGS_MENUS = [];
};
if (isnil "CSE_F_KEYBINDINGS_ACTIONS") then {
CSE_F_KEYBINDINGS_ACTIONS = [];
};
if (isnil "CSE_F_CLIENT_SIDE_SETTINGS") then {
CSE_F_CLIENT_SIDE_SETTINGS = [];
};
CSE_SETTINGS_MENU_EDIT_CURRENT_SETTING_F = false;
CSE_DISPLAY_MENU = false;
CSE_KEY_RELEASED = false;
CSE_DISABLE_KEY_INPUT_F = false;
CSE_KEY_COMBINATION_PRESSED = [0,0,0,0];
if (hasInterface) then {
[] spawn {
waitUntil {!isNull player && (player == player) && !(isNull (findDisplay 46))};
sleep 3;
cse_displayEventHandler_config_keyPressed_f = findDisplay 46 displayAddEventHandler ["keyDown", cse_fnc_onKeyPressed_f ];
cse_displayEventHandler_config_keyReleaded_f = findDisplay 46 displayAddEventHandler ["keyUp", cse_fnc_onKeyReleased_f];
};
};

View File

@ -0,0 +1,25 @@
/**
* fn_addClientSideOptions_f.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_name", "_possibleValues", "_defaultValue"];
_name = _this select 0;
_possibleValues = _this select 1;
_defaultValue = _this select 2;
_onChange = _this select 3;
if (isnil "CSE_F_CLIENT_SIDE_SETTINGS") then {
CSE_F_CLIENT_SIDE_SETTINGS = [];
};
// missionNamespace setvariable[_name, _defaultValue];
CSE_F_CLIENT_SIDE_SETTINGS pushBack [ _name, _possibleValues, _defaultValue, _onChange];
[_name, _defaultValue] call _onChange;

View File

@ -0,0 +1,25 @@
/**
* fn_addKeyBindingForAction_f.sqf
* @Descr: Add a new action keybinding
* @Author: Glowbal
*
* @Arguments: [name STRING, keybinding ARRAY, action CODE]
* @Return: void
* @PublicAPI: true
*/
private ["_name","_keyBinding","_action","_idd","_keyCodePressed","_shiftPressed","_altPressed","_ctrlPressed"];
_name = _this select 0;
_keyBinding = _this select 1;
_action = _this select 2;
_keyCodePressed = _keyBinding select 0;
_shiftPressed = _keyBinding select 1;
_ctrlPressed = _keyBinding select 2;
_altPressed = _keyBinding select 3;
if (isnil "CSE_F_KEYBINDINGS_ACTIONS") then {
CSE_F_KEYBINDINGS_ACTIONS = [];
};
CSE_F_KEYBINDINGS_ACTIONS pushBack [ _name, _keyBinding, _action ];
[_name, "action"] call cse_fnc_saveKeyBindingToProfile_f;

View File

@ -0,0 +1,26 @@
/**
* fn_addKeyBindingForMenu_f.sqf
* @Descr: Add a new menu keybinding
* @Author: Glowbal
*
* @Arguments: [name STRING, keybinding ARRAY, action CODE]
* @Return: void
* @PublicAPI: true
*/
private ["_name","_keyBinding","_action","_idd","_keyCodePressed","_shiftPressed","_altPressed","_ctrlPressed"];
_name = _this select 0;
_keyBinding = _this select 1;
_action = _this select 2;
_idd = _this select 3;
_keyCodePressed = _keyBinding select 0;
_shiftPressed = _keyBinding select 1;
_ctrlPressed = _keyBinding select 2;
_altPressed = _keyBinding select 3;
if (isnil "CSE_F_KEYBINDINGS_MENUS") then {
CSE_F_KEYBINDINGS_MENUS = [];
};
CSE_F_KEYBINDINGS_MENUS pushBack [_name, _keyBinding, _action, _idd, [false, false] ];
[_name, "menu"] call cse_fnc_saveKeyBindingToProfile_f;

View File

@ -0,0 +1,17 @@
/**
* fn_getClientSideOptionFromProfile_f.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_name","_default","_settingValue"];
_name = _this select 0;
_default = _this select 1;
_settingValue = profileNamespace getvariable ["cse_f_clientSideSetting_"+_name, _default];
_settingValue

View File

@ -0,0 +1,18 @@
/**
* fn_getKeyBindingFromProfile_f.sqf
* @Descr: Grab a keybinding settings saved in the profile.
* @Author: Glowbal
*
* @Arguments: [name STRING, type STRING (Can be: Action or Menu), defaultValue ARRAY (Format: [keyCode, shift, ctrl], alt)]
* @Return: ARRAY Format: [keyCode, shift, ctrl, alt]
* @PublicAPI: true
*/
private ["_name","_default","_keyBinding"];
_name = _this select 0;
_type = _this select 1;
_default = _this select 2;
_keyBinding = profileNamespace getvariable ["cse_f_keybinding_"+_type+"_"+_name, _default];
_keyBinding

View File

@ -0,0 +1,44 @@
/**
* fn_getSettingDetails_f.sqf
* @Descr: Returns the details of current setting
* @Author: Glowbal
*
* @Arguments: [name STRING, type STRING]
* @Return: ARRAY Array with the current settings
* @PublicAPI: false
*/
private ["_name","_type", "_title","_desc", "_return"];
_name = _this select 0;
_type = _this select 1;
_return = [_name,""];
if (isnil "CSE_SETTINGS_MENUS_DETAILS_F") then {
CSE_SETTINGS_MENUS_DETAILS_F = [];
CSE_SETTINGS_ACTIONS_DETAILS_F = [];
CSE_SETTINGS_CLIENTSIDE_DETAILS_F = [];
};
if (_type == "menu") then {
{
if (_name == (_x select 0)) exitwith {
_return = [_x select 1, _x select 2];
};
}foreach CSE_SETTINGS_MENUS_DETAILS_F;
} else {
if (_type == "action") then {
{
if (_name == (_x select 0)) exitwith {
_return = [_x select 1, _x select 2];
};
}foreach CSE_SETTINGS_ACTIONS_DETAILS_F;
} else {
{
if (_name == (_x select 0)) exitwith {
_return = [_x select 1, _x select 2, _x select 3];
};
}foreach CSE_SETTINGS_CLIENTSIDE_DETAILS_F;
};
};
_return

View File

@ -0,0 +1,105 @@
/**
* fn_onKeyPressed_f.sqf
* @Descr: Executed on a key pressed. Handles all CSE keybindings
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
// Returns the control, the keyboard code and the state of Shift, Ctrl and Alt.
private ["_control","_var","_keyBinding","_keyCodePressed","_shiftPressed","_ctrlPressed","_altPressed","_name","_onPressed","_idd", "_state","_STARTINGTIME","_handle", "_returnOnPressed"];
_control = _this select 0;
_keyCodePressed = _this select 1;
_shiftPressed = _this select 2;
_ctrlPressed = _this select 3;
_altPressed = _this select 4;
if (missionNamespace getVariable ['CSE_SETTINGS_MENU_OPEN', false]) exitwith {
false;
};
_returnOnPressed = false;
if ((findDisplay 46) == _control && _keyCodePressed != 0) then {
if ([player] call cse_fnc_canInteract) then {
{
_name = _x select 0;
_keyBinding = _x select 1;
_onPressed = _x select 2;
_idd = _x select 3;
_state = _x select 4;
_shiftBinding = _keyBinding select 1;
_ctrlBinding = _keyBinding select 2;
_altBinding = _keyBinding select 3;
if ((_keyBinding select 0) == _keyCodePressed) then {
if ((_shiftBinding == 0) && _shiftPressed) exitwith {};
if ((_shiftBinding == 1) && !_shiftPressed) exitwith {};
if ((_ctrlBinding == 0) && _ctrlPressed) exitwith {};
if ((_ctrlBinding == 1) && !_ctrlPressed) exitwith {};
if ((_altBinding == 0) && _altPressed) exitwith {};
if ((_altBinding == 1) && !_altPressed) exitwith {};
if (CSE_DISPLAY_MENU && !CSE_KEY_RELEASED) exitwith {};
if (CSE_DISPLAY_MENU && CSE_KEY_RELEASED) exitwith { closeDialog _idd;};
if (dialog) exitwith { closeDialog 0; };
_state set [ 0, true]; // activated/open , not released
_state set [ 1, false];
CSE_KEY_COMBINATION_PRESSED = _keyBinding;
CSE_DISPLAY_MENU = true;
CSE_KEY_RELEASED = false;
_handle = [_forEachIndex, time] spawn {
_menu = CSE_F_KEYBINDINGS_MENUS select (_this select 0);
_state = _menu select 4;
waituntil{CSE_KEY_RELEASED || (time - ((_this select 1) ) > (0.25 * accTime))};
if (!CSE_KEY_RELEASED) then {
waituntil {CSE_KEY_RELEASED};
closeDialog (_menu select 3);
} else {
CSE_KEY_RELEASED = true;
};
waituntil {!dialog};
_state set [ 0, false];
CSE_DISPLAY_MENU = false;
};
_returnOnPressed = _this call _onPressed;
};
}foreach CSE_F_KEYBINDINGS_MENUS;
if (isNil "_returnOnPressed") then {
{
_name = _x select 0;
_keyBinding = _x select 1;
_onPressed = _x select 2;
_shiftBinding = _keyBinding select 1;
_ctrlBinding = _keyBinding select 2;
_altBinding = _keyBinding select 3;
if ((_keyBinding select 0) == _keyCodePressed) then {
if ((_shiftBinding == 0) && _shiftPressed) exitwith {};
if ((_shiftBinding == 1) && !_shiftPressed) exitwith {};
if ((_ctrlBinding == 0) && _ctrlPressed) exitwith {};
if ((_ctrlBinding == 1) && !_ctrlPressed) exitwith {};
if ((_altBinding == 0) && _altPressed) exitwith {};
if ((_altBinding == 1) && !_altPressed) exitwith {};
CSE_KEY_COMBINATION_PRESSED = _keyBinding;
_returnOnPressed = _this call _onPressed;
};
}foreach CSE_F_KEYBINDINGS_ACTIONS;
};
};
};
if (isnil "_returnOnPressed") exitwith {false};
//_returnOnPressed
false;

View File

@ -0,0 +1,33 @@
/**
* fn_onKeyReleased_f.sqf
* @Descr: Handles all keyreleased from CSE
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
// _this = the control, the keyboard code and the state of Shift, Ctrl and Alt.
if (CSE_DISABLE_KEY_INPUT_F) exitwith {
(( _this select 1) > 0);
};
if ((findDisplay 46) == (_this select 0)) then {
_keyCodePressed = _this select 1;
{
_keyBinding = _x select 1;
_state = _x select 4;
if ((_keyBinding select 0) == _keyCodePressed) then {
if (!(_state select 0) ) exitwith {};
_state set [ 0, false];
CSE_KEY_RELEASED = true;
};
}foreach CSE_F_KEYBINDINGS_MENUS;
} else {
false;
};
false;

View File

@ -0,0 +1,54 @@
/**
* fn_onListBoxKeyBindingChanged.sqf
* @Descr: called when the listbox keybinding has changed. Updates the configuration menu with new information.
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_settingsMenu","_ctrlSelected","_ctrlPressed","_ctrlTextLabel","_keyCodePressed","_shiftSelected","_shiftPressed","_altSelected","_altPressed","_possibleOptions",'_keyBinding',"_fnc","_collection"];
_settingsMenu = uiNamespace getVariable 'cse_settingsMenu';
_shiftSelected = lbCurSel 400;
_ctrlSelected = lbCurSel 401;
_altSelected = lbCurSel 402;
_possibleOptions = [0,1,2];
if (_shiftSelected < 0) then {
_shiftSelected = 0;
};
if (_ctrlSelected < 0) then {
_ctrlSelected = 0;
};
if (_altSelected < 0) then {
_altSelected = 0;
};
_func = switch (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F) do {
case "menu": {cse_fnc_updateMenuKeyBinding_F};
case "action": {cse_fnc_updateActionKeyBinding_F};
default {{}};
};
_collection = switch (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F) do {
case "menu": {CSE_F_KEYBINDINGS_MENUS};
case "action": {CSE_F_KEYBINDINGS_ACTIONS};
default {[]};
};
if (count _collection > 0) then {
_selectedSetting = (lbCurSel (_settingsMenu displayCtrl 200));
if (_selectedSetting > (count _collection)) then {
_selectedSetting = count _collection - 1;
};
if (_selectedSetting < 0) then {
_selectedSetting = 0;
};
_nameOfSetting = (_collection select _selectedSetting) select 0;
_keyBinding = [_nameOfSetting,CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F,[0,0,0,0]] call cse_fnc_getKeyBindingFromProfile_F;
_keyBinding = [_keyBinding select 0, _possibleOptions select _shiftSelected, _possibleOptions select _ctrlSelected, _possibleOptions select _altSelected];
[_nameOfSetting,_keyBinding] call _func;
[false] call cse_fnc_settingsMenuUpdateList;
};

View File

@ -0,0 +1,40 @@
/**
* fn_onListBoxSettingsChanged.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_settingsMenu", "_ctrlTextLabel", "_optionSelected", "_func", "_collection", "_selectedSetting", "_nameOfSetting"];
_settingsMenu = uiNamespace getVariable 'cse_settingsMenu';
_optionSelected = lbCurSel 400;
if (_optionSelected < 0) then {
_optionSelected = 0;
};
_func = switch (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F) do {
case "option": {cse_fnc_updateClientSideOption_F};
default {{}};
};
_collection = switch (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F) do {
case "option": {CSE_F_CLIENT_SIDE_SETTINGS};
default {[]};
};
if !(_collection isEqualTo []) then {
_selectedSetting = (lbCurSel (_settingsMenu displayCtrl 200));
if (_selectedSetting > (count _collection)) then {
_selectedSetting = count _collection - 1;
};
if (_selectedSetting < 0) then {
_selectedSetting = 0;
};
_nameOfSetting = (_collection select _selectedSetting) select 0;
[_nameOfSetting, _optionSelected] call _func;
[_nameOfSetting, _optionSelected] call ((_collection select _selectedSetting) select 3);
[false] call cse_fnc_settingsMenuUpdateList;
};

View File

@ -0,0 +1,55 @@
/**
* fn_onListBoxShowSelectionChanged.sqf
* @Descr: called when the listbox selection has changed. Updates configuration menu information
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_first", "_settingsMenu", "_ctrlLb", "_ctrlLbShow"];
_first = (_this select 0);
disableSerialization;
_settingsMenu = uiNamespace getVariable 'cse_settingsMenu';
_ctrlLbShow = _settingsMenu displayCtrl 100;
if (isnil "_first") then {
_ctrlLbShow lbSetCurSel (_this select 1);
};
if ((_this select 1) > -1) then {
private ["_options"];
_options = ["menu","action", "option", "color"];
CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F = _options select (_this select 1);
[true] call cse_fnc_settingsMenuUpdateList;
_textOptions = ["Menu Keybindings", "Action Keybindings", "Client Settings"];
ctrlSetText [13, ("Current selected settings list: " + (_textOptions select (_this select 1)))];
if (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F == "color") exitwith {};
if ((_this select 1) > 1) then {
(_settingsMenu displayCtrl 400) ctrlShow true;
lbClear 400;
(_settingsMenu displayCtrl 401) ctrlShow false;
(_settingsMenu displayCtrl 402) ctrlShow false;
(_settingsMenu displayCtrl 301) ctrlSetText "Value:";
(_settingsMenu displayCtrl 302) ctrlSetText "";
(_settingsMenu displayCtrl 303) ctrlSetText "";
} else {
(_settingsMenu displayCtrl 400) ctrlShow true;
LbClear 400;
_ctrlLb = _settingsMenu displayCtrl 400;
_ctrlLb lbadd "No";
_ctrlLb lbadd "Yes";
_ctrlLb lbadd "Ignore";
(_settingsMenu displayCtrl 401) ctrlShow true;
(_settingsMenu displayCtrl 402) ctrlShow true;
(_settingsMenu displayCtrl 301) ctrlSetText "Shift:";
(_settingsMenu displayCtrl 302) ctrlSetText "Ctrl:";
(_settingsMenu displayCtrl 303) ctrlSetText "Alt:";
};
};

View File

@ -0,0 +1,104 @@
/**
* fn_onSettingsMenuOpen.sqf
* @Descr: called when the settings or configuration menu has opened. Do not use anywhere else.
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
_settingsMenu = uiNamespace getVariable 'cse_settingsMenu';
_ctrlLbShow = _settingsMenu displayCtrl 100;
_ctrlLbShow lbadd "Menu Keybindings";
_ctrlLbShow lbadd "Action Keybindings";
_ctrlLbShow lbadd "Client Settings";
_ctrlLbShow lbadd "Colors";
_ctrlLbShow lbSetCurSel 0;
(_settingsMenu displayCtrl 1003) ctrlEnable false;
//lbadd[100,"Other settings"];
CSE_SETTINGS_MENU_EDIT_CURRENT_SETTING_F = false;
_settingsMenu displayAddEventHandler ["KeyDown", {
_keyCodePressed = _this select 1;
_shiftPressed = _this select 2;
_ctrlPressed = _this select 3;
_altPressed = _this select 4;
_var = uiNamespace getVariable 'cse_settingsMenu';
if (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F != "option") then {
if !(isnil "_var") then {
if (CSE_SETTINGS_MENU_EDIT_CURRENT_SETTING_F) then {
if (_keyCodePressed > 1) then {
[_keyCodePressed,_shiftPressed, _ctrlPressed, _altPressed] call cse_fnc_settingsMenuUpdateKeyBinding_F;
true;
} else {
false;
};
} else {
false;
};
} else {
false;
};
} else {
false;
};
}];
_settingsMenu displayAddEventHandler ["KeyUp", {
_keyCodePressed = _this select 1;
_shiftPressed = _this select 2;
_ctrlPressed = _this select 3;
_altPressed = _this select 4;
_var = uiNamespace getVariable 'cse_settingsMenu';
if (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F != "option") then {
if !(isnil "_var") then {
if (CSE_SETTINGS_MENU_EDIT_CURRENT_SETTING_F) then {
if (_keyCodePressed > 1) then {
CSE_SETTINGS_MENU_EDIT_CURRENT_SETTING_F = false;
true;
} else {
false;
};
} else {
false;
};
} else {
false;
};
} else {
false;
};
}];
(_settingsMenu displayCtrl 200) ctrlSetEventHandler ["LBSelChanged", "_this call cse_fnc_settingsMenuUpdateKeyView;"];
_textOptions = ["Menu Keybindings", "Action Keybindings"];
(_settingsMenu displayCtrl 13) ctrlSetText ("Current selected settings list: " + (_textOptions select 0));
_ctrlLb = _settingsMenu displayCtrl 400;
_ctrlLb lbadd "No";
_ctrlLb lbadd "Yes";
_ctrlLb lbadd "Ignore";
_ctrlLb ctrlSetEventHandler ["LBSelChanged", "if (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F != 'option') then { _this call cse_fnc_onListBoxKeyBindingChanged; } else { _this call cse_fnc_onListBoxSettingsChanged; };"];
_ctrlLb = _settingsMenu displayCtrl 401;
_ctrlLb lbadd "No";
_ctrlLb lbadd "Yes";
_ctrlLb lbadd "Ignore";
_ctrlLb ctrlSetEventHandler ["LBSelChanged", " _this call cse_fnc_onListBoxKeyBindingChanged;"];
_ctrlLb = _settingsMenu displayCtrl 402;
_ctrlLb lbadd "No";
_ctrlLb lbadd "Yes";
_ctrlLb lbadd "Ignore";
_ctrlLb ctrlSetEventHandler ["LBSelChanged", " _this call cse_fnc_onListBoxKeyBindingChanged;"];
CSE_SETTINGS_MENU_EDIT_CURRENT_SETTING_F = false;
CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F = "menu";
[true] call cse_fnc_settingsMenuUpdateList;
(_settingsMenu displayCtrl 200) lbSetCurSel 0;

View File

@ -0,0 +1,22 @@
/**
* fn_parseConfigForConfigurations.sqf
* @Descr: Collect all configurations defined in CfgModules
* @Author: Glowbal
*
* @Arguments: [config CONFIG]
* @Return: nil
* @PublicAPI: false
*/
#define MENU_KEYBINDING 1
#define ACTION_KEYBINDING 2
#define CLIENT_SETTING 3
private ["_config","_cfgRoot","_amountOfClasses","_i","_moduleName","_configurationClass","_nOfConfgClasses","_j","_configuration","_configurationName","_title","_desc","_defaultValue","_code","_idd","_availableSettings","_valuesCfg","_nOfValues","_k"];
_config = _this select 0;
_cfgRoot = (_config >> "Combat_Space_Enhancement" >> "CfgModules");
_amountOfClasses = count _cfgRoot;
for [{_i=0}, {_i < _amountOfClasses}, {_i=_i+1}] do {
[ConfigName (_cfgRoot select _i)] call cse_fnc_parseModuleForConfigurations;
};

View File

@ -0,0 +1,63 @@
/**
* fn_parseModuleForConfigurations.sqf
* @Descr: Collects all configurations defined in the CfgModules entry
* @Author: Glowbal
*
* @Arguments: [cfgModulesName STRING (Name of the module defined in CfgModules)]
* @Return: nil
* @PublicAPI: false
*/
#define MENU_KEYBINDING 1
#define ACTION_KEYBINDING 2
#define CLIENT_SETTING 3
private ["_config","_cfgRoot","_amountOfClasses","_i","_moduleName","_configurationClass","_nOfConfgClasses","_j","_configuration","_configurationName","_title","_desc","_defaultValue","_code","_idd","_availableSettings","_valuesCfg","_nOfValues","_k"];
_moduleName = _this select 0;
_cfgRoot = (configFile >> "Combat_Space_Enhancement" >> "CfgModules" >> _moduleName);
if (isClass (_cfgRoot >> "Configurations")) then {
_configurationClass = (_cfgRoot >> "Configurations");
_nOfConfgClasses = count _configurationClass;
for [{_j=0}, {_j < _nOfConfgClasses}, {_j=_j+1}] do {
_configuration = _configurationClass select _j;
_configurationName = ConfigName _configuration;
_title = [_configuration, "title", ""] call BIS_fnc_returnConfigEntry;
_desc = [_configuration, "description", ""] call BIS_fnc_returnConfigEntry;
switch (getNumber(_configuration >> "type")) do {
case MENU_KEYBINDING: {
_defaultValue = [_configuration, "value", [0,0,0,0]] call BIS_fnc_returnConfigEntry;
_code = compile (format["disableSerialization; if (['%1'] call cse_fnc_isModuleEnabled_F) then {", _moduleName] + ([_configuration, "onPressed", ""] call BIS_fnc_returnConfigEntry) + "};");
_idd = [_configuration, "idd", 0] call BIS_fnc_returnConfigEntry;
[format["name: %1, default %2, code %3, idd %4, title %5, desc %6",_configurationName, _defaultValue, _code, _idd, _title, _desc]] call cse_fnc_debug;
[_configurationName, ([_configurationName,"menu",_defaultValue] call cse_fnc_getKeyBindingFromProfile_F), _code, _idd] call cse_fnc_addKeyBindingForMenu_F;
[_configurationName,"menu", _title, _desc] call cse_fnc_settingsDefineDetails_F;
};
case ACTION_KEYBINDING: {
_defaultValue = [_configuration, "value", [0,0,0,0]] call BIS_fnc_returnConfigEntry;
_code = compile (format["disableSerialization; if (['%1'] call cse_fnc_isModuleEnabled_F) then {", _moduleName] + ([_configuration, "onPressed", ""] call BIS_fnc_returnConfigEntry) + "};");
[format["name: %1, default %2, code %3, title %4, desc %5",_configurationName, _defaultValue, _code, _title, _desc]] call cse_fnc_debug;
[_configurationName, ([_configurationName,"action",_defaultValue] call cse_fnc_getKeyBindingFromProfile_F), _code] call cse_fnc_addKeyBindingForAction_F;
[_configurationName,"action", _title, _desc] call cse_fnc_settingsDefineDetails_F;
};
case CLIENT_SETTING: {
_defaultValue = [_configuration, "value", 0] call BIS_fnc_returnConfigEntry;
_code = compile (format["disableSerialization; if (['%1'] call cse_fnc_isModuleEnabled_F) then {", _moduleName] + ([_configuration, "onChanged", ""] call BIS_fnc_returnConfigEntry) + "};");
_availableSettings = [];
_valuesCfg = (_configuration >> "Values");
if (isClass _valuesCfg) then {
_nOfValues = count _valuesCfg;
for [{_k=0}, {_k < _amountOfClasses}, {_k=_k+1}] do {
if (isClass (_valuesCfg select _k)) then {
_availableSettings pushback (configName (_valuesCfg select _k));
};
};
};
};
default {}; // invalid, do nothing
};
};
};

View File

@ -0,0 +1,25 @@
/**
* fn_saveClientSideOptionToProfile_f.sqf
* @Descr: Save the clientside option to the profile.
* @Author: Glowbal
*
* @Arguments: [name STRING (Name of setting)]
* @Return: BOOL True if saved.
* @PublicAPI: false
*/
private ["_name","_nameSelected", "_saved"];
_name = _this select 0;
if (isnil "CSE_F_CLIENT_SIDE_SETTINGS") then {
CSE_F_CLIENT_SIDE_SETTINGS = [];
};
_saved = false;
{
_nameSelected = _x select 0;
if (_nameSelected == _name) exitwith {
profileNamespace setvariable ["cse_f_clientSideSetting_"+_name, _x select 2];
_saved = true;
};
}foreach CSE_F_CLIENT_SIDE_SETTINGS;
_saved

View File

@ -0,0 +1,41 @@
/**
* fn_saveKeyBindingToProfile_f.sqf
* @Descr: Saves a keybinding to the profile
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_name","_nameSelected", "_saved", "_type"];
_name = _this select 0;
_type = _this select 1;
if (isnil "CSE_F_KEYBINDINGS_MENUS") then {
CSE_F_KEYBINDINGS_MENUS = [];
};
if (isnil "CSE_F_KEYBINDINGS_ACTIONS") then {
CSE_F_KEYBINDINGS_ACTIONS = [];
};
_saved = false;
if (_type == "menu") then {
{
_nameSelected = _x select 0;
if (_nameSelected == _name) exitwith {
profileNamespace setvariable ["cse_f_keybinding_menu_"+_name, _x select 1];
_saved = true;
};
}foreach CSE_F_KEYBINDINGS_MENUS;
} else {
if (_type == "action") then {
{
_nameSelected = _x select 0;
if (_nameSelected == _name) exitwith {
profileNamespace setvariable ["cse_f_keybinding_action_"+_name, _x select 1];
_saved = true;
};
}foreach CSE_F_KEYBINDINGS_ACTIONS;
};
};
_saved

View File

@ -0,0 +1,33 @@
/**
* fn_settingsDefineDetails_f.sqf
* @Descr:
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_name","_type", "_title","_descr"];
_name = _this select 0;
_type = _this select 1;
_title = _this select 2;
_descr = _this select 3;
if (isnil "CSE_SETTINGS_MENUS_DETAILS_F") then {
CSE_SETTINGS_MENUS_DETAILS_F = [];
CSE_SETTINGS_ACTIONS_DETAILS_F = [];
CSE_SETTINGS_CLIENTSIDE_DETAILS_F = [];
};
if (_type == "menu") then {
CSE_SETTINGS_MENUS_DETAILS_F pushback [_name, _title, _descr];
} else {
if (_type == "action") then {
CSE_SETTINGS_ACTIONS_DETAILS_F pushback [_name, _title, _descr];
} else {
if (_type == "option") then {
CSE_SETTINGS_CLIENTSIDE_DETAILS_F pushback [_name, _title, _descr];
};
};
};

View File

@ -0,0 +1,65 @@
/**
* fn_settingsMenuUpdateKeyBinding_f.sqf
* @Descr:
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_settingsMenu","_ctrlSelected","_ctrlPressed","_ctrlTextLabel","_keyCodePressed","_shiftSelected","_shiftPressed","_altSelected","_altPressed","_possibleOptions",'_keyBinding',"_fnc","_collection"];
_settingsMenu = uiNamespace getVariable 'cse_settingsMenu';
_ctrlTextLabel = (_settingsMenu displayCtrl 300);
_keyCodePressed = _this select 0;
_shiftPressed = _this select 1;
_ctrlPressed = _this select 2;
_altPressed = _this select 3;
ctrlSetText [252, ''];
//(_settingsMenu displayCtrl 300) ctrlSetText ("Key: " + (keyName _keyCodePressed));
_shiftSelected = lbCurSel 400;
_ctrlSelected = lbCurSel 401;
_altSelected = lbCurSel 402;
_possibleOptions = [0,1,2];
if (_shiftSelected < 0) then {
_shiftSelected = 0;
};
if (_ctrlSelected < 0) then {
_ctrlSelected = 0;
};
if (_altSelected < 0) then {
_altSelected = 0;
};
_keyBinding = [_keyCodePressed, _possibleOptions select _shiftSelected, _possibleOptions select _ctrlSelected, _possibleOptions select _altSelected];
//CSE_CURRENT_KEYBINDING_SETTING_NAME_F = ["cse_sys_weaponRestAction","action"];
_func = switch (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F) do {
case "menu": {cse_fnc_updateMenuKeyBinding_F};
case "action": {cse_fnc_updateActionKeyBinding_F};
case "option": {{}};
default {{}};
};
_collection = switch (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F) do {
case "menu": {CSE_F_KEYBINDINGS_MENUS};
case "action": {CSE_F_KEYBINDINGS_ACTIONS};
case "option": {CSE_F_CLIENT_SIDE_SETTINGS};
default {[]};
};
if (count _collection > 0) then {
_selectedSetting = (lbCurSel 200);
if (_selectedSetting > (count _collection)) then {
_selectedSetting = count _collection - 1;
};
if (_selectedSetting < 0) then {
_selectedSetting = 0;
};
_nameOfSetting = (_collection select _selectedSetting) select 0;
[_nameOfSetting,_keyBinding] call _func;
[true] call cse_fnc_settingsMenuUpdateList;
};

View File

@ -0,0 +1,74 @@
/**
* fn_settingsMenuUpdateKeyView.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_setting","_ctrlList","_collection","_settingsMenu", "_keybinding","_keyCode","_shiftPressed","_altPressed","_ctrlPressed"];
disableSerialization;
_settingsMenu = uiNamespace getVariable 'cse_settingsMenu';
_ctrlList = _settingsMenu displayCtrl 200;
_collection = switch (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F) do {
case "menu": {CSE_F_KEYBINDINGS_MENUS};
case "action": {CSE_F_KEYBINDINGS_ACTIONS};
case "option": {CSE_F_CLIENT_SIDE_SETTINGS};
default {[]};
};
if (count _collection > 0) then {
_selectedSetting = (lbCurSel _ctrlList);
if (_selectedSetting > (count _collection)) then {
_selectedSetting = count _collection - 1;
};
if (_selectedSetting < 0) exitwith {
_selectedSetting = 0;
};
_setting = _collection select _selectedSetting;
_details = [_setting select 0, CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F] call cse_fnc_getSettingDetails_F;
(_settingsMenu displayCtrl 250) ctrlSetText (_details select 0);
(_settingsMenu displayCtrl 251) ctrlSetText (_details select 1);
if (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F != "option") then {
_keybinding = _setting select 1;
_keyCode = _keybinding select 0;
_shiftPressed = _keybinding select 1;
_ctrlPressed = _keybinding select 2;
_altPressed = _keybinding select 3;
_keyBindingText = keyName _keyCode;
if (_keyBindingText == '""') then {
_keyBindingText = "No key assigned";
};
(_settingsMenu displayCtrl 300) ctrlSetText ("Key: " + _keyBindingText);
lbClear 400;
lbadd [400, "No"];
lbadd [400, "Yes"];
lbadd [400, "Ignore"];
(_settingsMenu displayCtrl 400) lbSetCurSel _shiftPressed;
(_settingsMenu displayCtrl 401) lbSetCurSel _ctrlPressed;
(_settingsMenu displayCtrl 402) lbSetCurSel _altPressed;
} else {
_possibleValues = _setting select 1;
_settingsValue = _setting select 2;
lbClear 400;
_settingsText = (_possibleValues select _settingsValue); // expecting: value [[any, TEXT (DESCRIPTION)]]
(_settingsMenu displayCtrl 300) ctrlSetText ("Setting: " + _settingsText);
{
lbAdd [400, _x];
}foreach _possibleValues;
(_settingsMenu displayCtrl 400) lbSetCurSel _settingsValue;
};
};

View File

@ -0,0 +1,56 @@
/**
* fn_settingsMenuUpdateList.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_settingsMenu","_ctrlList","_collection","_keyBindingText","_keybinding", "_updateKeyView"];
disableSerialization;
_updateKeyView = [_this, 0, true, [true]] call BIS_fnc_Param;
_settingsMenu = uiNamespace getVariable 'cse_settingsMenu';
_ctrlList = _settingsMenu displayCtrl 200;
_collection = switch (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F) do {
case "menu": {CSE_F_KEYBINDINGS_MENUS};
case "action": {CSE_F_KEYBINDINGS_ACTIONS};
case "option": {CSE_F_CLIENT_SIDE_SETTINGS};
default {[]};
};
lbclear _ctrlList;
if (CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F != "option") then {
{
_keybinding = (_x select 1);
_keyBindingText = keyName (_keybinding select 0);
if (_keyBindingText == '""') then {
_keyBindingText = "";
} else {
if ((_keybinding select 1) == 1) then {
_keyBindingText = _keyBindingText + " + shift";
};
if ((_keybinding select 2) == 1) then {
_keyBindingText = _keyBindingText + " + ctrl";
};
if ((_keybinding select 3) == 1) then {
_keyBindingText = _keyBindingText + " + alt";
};
};
_ctrlList lbadd (([_x select 0, CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F] call cse_fnc_getSettingDetails_F) select 0);
_ctrlList lbadd (_keyBindingText);
}foreach _collection;
} else {
{
_settingsText = ((_x select 1) select (_x select 2));
_ctrlList lbadd (([_x select 0, CSE_SETTINGS_MENU_CURRENT_SETTING_LIST_F] call cse_fnc_getSettingDetails_F) select 0);
_ctrlList lbadd (_settingsText);
}foreach _collection;
};
if (_updateKeyView) then {
[] call cse_fnc_settingsMenuUpdateKeyView;
};

View File

@ -0,0 +1,24 @@
/**
* fn_updateActionKeybinding_f.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_name","_keyBinding","_action","_idd","_keyCodePressed","_shiftPressed","_altPressed","_ctrlPressed"];
_name = _this select 0;
_keyBinding = _this select 1;
if (isnil "CSE_F_KEYBINDINGS_ACTIONS") then {
CSE_F_KEYBINDINGS_ACTIONS = [];
};
{
if ((_x select 0) == _name) exitwith {
_x set [ 1, _keyBinding];
};
}foreach CSE_F_KEYBINDINGS_ACTIONS;
[_name,"action"] call cse_fnc_saveKeyBindingToProfile_F;

View File

@ -0,0 +1,23 @@
/**
* fn_updateAllKeyBindings_f.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_name","_currentKeyBinding"];
{
_name = _x select 0;
_currentKeyBinding = _x select 1;
_x set [1,([_name, _currentKeyBinding, "menu"] call cse_fnc_getKeyBindingFromProfile_F)];
}foreach CSE_F_KEYBINDINGS_MENUS;
{
_name = _x select 0;
_currentKeyBinding = _x select 1;
_x set [1,([_name, _currentKeyBinding, "action"] call cse_fnc_getKeyBindingFromProfile_F)];
}foreach CSE_F_KEYBINDINGS_ACTIONS;

View File

@ -0,0 +1,24 @@
/**
* fn_updateClientSideOption_f.sqf
* @Descr:
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: true
*/
private ["_name","_keyBinding","_action","_idd","_keyCodePressed","_shiftPressed","_altPressed","_ctrlPressed"];
_name = _this select 0;
_keyBinding = _this select 1;
if (isnil "CSE_F_CLIENT_SIDE_SETTINGS") then {
CSE_F_CLIENT_SIDE_SETTINGS = [];
};
{
if ((_x select 0) == _name) exitwith {
_x set [ 2, _keyBinding];
};
}foreach CSE_F_CLIENT_SIDE_SETTINGS;
[_name] spawn cse_fnc_saveClientSideOptionToProfile_F;

View File

@ -0,0 +1,24 @@
/**
* fn_updateMenuKeyBinding_f.sqf
* @Descr: N/A
* @Author: Glowbal
*
* @Arguments: []
* @Return:
* @PublicAPI: false
*/
private ["_name","_keyBinding","_action","_idd","_keyCodePressed","_shiftPressed","_altPressed","_ctrlPressed"];
_name = _this select 0;
_keyBinding = _this select 1;
if (isnil "CSE_F_KEYBINDINGS_MENUS") then {
CSE_F_KEYBINDINGS_MENUS = [];
};
{
if ((_x select 0) == _name) exitwith {
_x set [ 1, _keyBinding];
};
}foreach CSE_F_KEYBINDINGS_MENUS;
[_name,"menu"] call cse_fnc_saveKeyBindingToProfile_F;

View File

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

View File

@ -0,0 +1,46 @@
class CSE_Open_SettingsMenu_BtnBase : cse_gui_buttonBase {
idc = -1;
text = "Configure [CSE]";
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX)";
y = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + safezoneY";
w = "14 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.8)";
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.5)";
animTextureOver = "#(argb,8,8,3)color(1,1,1,1)";
animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)";
animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)";
animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)";
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 = "(findDisplay 49) closeDisplay 0; createDialog 'cse_settingsMenu';";
};
class RscStandardDisplay;
class RscDisplayMPInterrupt: RscStandardDisplay {
class controls {
class cse_Open_settingsMenu_Btn : CSE_Open_SettingsMenu_BtnBase {};
};
};
class RscDisplayInterruptEditorPreview: RscStandardDisplay {
class controls {
class cse_Open_settingsMenu_Btn : CSE_Open_SettingsMenu_BtnBase {};
};
};
class RscDisplayInterrupt: RscStandardDisplay {
class controls {
class cse_Open_settingsMenu_Btn : CSE_Open_SettingsMenu_BtnBase {};
};
};
class RscDisplayInterruptEditor3D: RscStandardDisplay {
class controls {
class cse_Open_settingsMenu_Btn : CSE_Open_SettingsMenu_BtnBase {};
};
};

View File

@ -0,0 +1,259 @@
class cse_settingsMenu {
idd = 145246;
movingEnable = false;
onLoad = "uiNamespace setVariable ['cse_settingsMenu', _this select 0]; [] call cse_fnc_onSettingsMenuOpen; ['cse_settingsMenu', true] call cse_fnc_gui_blurScreen;missionNamespace setVariable ['CSE_SETTINGS_MENU_OPEN', true];";
onUnload = "uiNamespace setVariable ['cse_settingsMenu', nil]; saveProfileNamespace; ['cse_settingsMenu', false] call cse_fnc_gui_blurScreen; missionNamespace setVariable ['CSE_SETTINGS_MENU_OPEN', nil];";
class controlsBackground {
class HeaderBackground: cse_gui_backgroundBase{
idc = -1;
type = CT_STATIC;
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "1 * ((((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 = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
style = ST_LEFT + ST_SHADOW;
font = "PuristaMedium";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
colorText[] = {0.95, 0.95, 0.95, 0.75};
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.9])"};
text = "";
};
class CenterBackground: HeaderBackground {
y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
h = "2.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
text = "";
colorText[] = {0, 0, 0, "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"};
colorBackground[] = {0,0,0,"(profilenamespace getvariable ['GUI_BCG_RGB_A',0.9])"};
};
class LeftBackground: CenterBackground {
y = "4.8 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
h = "12.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
w = "25 * (((safezoneW / safezoneH) min 1.2) / 40)";
};
class RightBackground: LeftBackground {
x = "26.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
w = "12.9 * (((safezoneW / safezoneH) min 1.2) / 40)";
};
};
class controls {
class HeaderName {
idc = 1;
type = CT_STATIC;
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "1 * ((((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 = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
style = ST_LEFT + ST_SHADOW;
font = "PuristaMedium";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
colorText[] = {0.95, 0.95, 0.95, 0.75};
colorBackground[] = {0,0,0,0};
text = "Configure [CSE]";
};
class actionClose : cse_gui_buttonBase {
idc = 10;
text = "Close";
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "17.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "6 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.8)";
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.5)";
animTextureOver = "#(argb,8,8,3)color(1,1,1,1)";
animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)";
animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)";
animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)";
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 actionUnassign: actionClose {
idc = 11;
text = "Unassign";
x = "33 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "17.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
action = "[0, 0, 0, 0] call cse_fnc_settingsMenuUpdateKeyBinding_F;";
};
class labelShow : cse_gui_staticBase {
idc = 12;
x = "2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "2.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "4 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
text = "Show:";
};
class labelShow2: cse_gui_staticBase {
idc = 13;
x = "2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "3.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "30 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
text = "";
};
class selectionAction_1 : cse_gui_buttonBase {
idc = 1000;
text = "Menus";
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "2.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "9.5 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
animTextureNormal = "#(argb,8,8,3)color(0,0,0,0.9)";
animTextureDisabled = "#(argb,8,8,3)color(0,0,0,0.8)";
animTextureOver = "#(argb,8,8,3)color(1,1,1,1)";
animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)";
animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)";
animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)";
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 = "[nil, 0] call cse_fnc_onListBoxShowSelectionChanged;";
};
class selectionAction_2 : selectionAction_1 {
idc = 1001;
text = "Actions";
x = "10.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
action = "[nil, 1] call cse_fnc_onListBoxShowSelectionChanged;";
};
class selectionAction_3 : selectionAction_1 {
idc = 1002;
text = "Settings";
x = "20 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
action = "[nil, 2] call cse_fnc_onListBoxShowSelectionChanged;";
};
class selectionAction_4 : selectionAction_1 {
idc = 1003;
text = "Colors";
x = "29.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
action = "[nil, 3] call cse_fnc_onListBoxShowSelectionChanged;";
};
class listBoxSettingsList: cse_gui_listNBox {
idc = 200;
x = "2 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "5.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "23 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.7)";
colorBackground[] = {0, 0, 0, 0.9};
colorSelectBackground[] = {0, 0, 0, 0.9};
columns[] = {0.0, 0.5};
};
class labelTitle: cse_gui_staticBase {
idc = 250;
x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "5.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "10 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
text = "";
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
};
class labelKey: cse_gui_staticBase {
idc = 300;
x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "6.2 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "10 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
text = "Key:";
};
class Label2: labelKey {
idc = 301;
y = "7.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
text = "Shift:";
};
class Label3: labelKey {
idc = 302;
y = "8.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
text = "Ctrl:";
};
class Label4: labelKey {
idc = 303;
y = "9.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
text = "Alt:";
};
class comboBox1: cse_gui_comboBoxBase {
idc = 400;
x = "32.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "7.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "6 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
};
class comboBox2: comboBox1 {
idc = 401;
y = "8.4 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
};
class comboBox3: comboBox1 {
idc = 402;
y = "9.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
};
class labelDesc: cse_gui_staticBase {
idc = 251;
x = "27.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "11 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "11 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
text = "";
style = ST_LEFT + ST_MULTI;
lineSpacing = 1;
sizeEx = 0.03;
};
class actionEdit: actionClose {
idc = 150;
text = "Edit";
x = "26.1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "17.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
action = "if (!CSE_SETTINGS_MENU_EDIT_CURRENT_SETTING_F) then{ ctrlSetText [252, 'Press the key you want to assign to this action..']; CSE_SETTINGS_MENU_EDIT_CURRENT_SETTING_F = true; };";
};
class actionCancel: actionClose {
idc = 151;
text = "Cancel";
x = "20 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "17.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
action = "ctrlSetText [252, '']; CSE_SETTINGS_MENU_EDIT_CURRENT_SETTING_F = false; ";
};
class notificationDesc: cse_gui_staticBase {
idc = 252;
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "18 * ((((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 = "6 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
text = "";
style = ST_CENTER + ST_SHADOW;
sizeEx = 0.05;
};
class selectionAction_5 : selectionAction_1 {
idc = 1100;
text = "Fix Animation";
x = "7.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
y = "17.3 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
w = "6 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
action = "if ([player] call cse_fnc_canInteract && {animationState player == 'deadState' || animationState player == 'unconscious'} && {(vehicle player == player)}) then { [player, 'amovppnemstpsnonwnondnon'] call cse_fnc_broadcastAnim; };";
};
};
};