mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge branch 'cseOptionsMenu' of github.com:KoffeinFlummi/ACE3
This commit is contained in:
commit
ccc96eb71c
@ -1,31 +0,0 @@
|
||||
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; };
|
||||
};
|
||||
};
|
||||
};
|
@ -1,51 +0,0 @@
|
||||
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;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
@ -1,9 +0,0 @@
|
||||
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;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
@ -1,3 +0,0 @@
|
||||
#include "gui\define.h"
|
||||
#include "gui\settingsMenu.h"
|
||||
#include "gui\pauseMenu.h"
|
@ -1,26 +0,0 @@
|
||||
#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"
|
@ -1,23 +0,0 @@
|
||||
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];
|
||||
};
|
||||
};
|
@ -1,25 +0,0 @@
|
||||
/**
|
||||
* 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;
|
@ -1,25 +0,0 @@
|
||||
/**
|
||||
* 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;
|
@ -1,26 +0,0 @@
|
||||
/**
|
||||
* 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;
|
@ -1,17 +0,0 @@
|
||||
/**
|
||||
* 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
|
@ -1,18 +0,0 @@
|
||||
/**
|
||||
* 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
|
@ -1,44 +0,0 @@
|
||||
/**
|
||||
* 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
|
@ -1,105 +0,0 @@
|
||||
/**
|
||||
* 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;
|
@ -1,33 +0,0 @@
|
||||
/**
|
||||
* 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;
|
@ -1,54 +0,0 @@
|
||||
/**
|
||||
* 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;
|
||||
};
|
@ -1,40 +0,0 @@
|
||||
/**
|
||||
* 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;
|
||||
};
|
@ -1,55 +0,0 @@
|
||||
/**
|
||||
* 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:";
|
||||
};
|
||||
};
|
@ -1,104 +0,0 @@
|
||||
/**
|
||||
* 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;
|
@ -1,22 +0,0 @@
|
||||
/**
|
||||
* 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;
|
||||
};
|
@ -1,63 +0,0 @@
|
||||
/**
|
||||
* 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
|
||||
};
|
||||
};
|
||||
};
|
@ -1,25 +0,0 @@
|
||||
/**
|
||||
* 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
|
@ -1,41 +0,0 @@
|
||||
/**
|
||||
* 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
|
@ -1,33 +0,0 @@
|
||||
/**
|
||||
* 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];
|
||||
};
|
||||
};
|
||||
};
|
@ -1,65 +0,0 @@
|
||||
/**
|
||||
* 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;
|
||||
};
|
@ -1,74 +0,0 @@
|
||||
/**
|
||||
* 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;
|
||||
};
|
||||
};
|
@ -1,56 +0,0 @@
|
||||
/**
|
||||
* 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;
|
||||
};
|
@ -1,24 +0,0 @@
|
||||
/**
|
||||
* 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;
|
@ -1,23 +0,0 @@
|
||||
/**
|
||||
* 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;
|
@ -1,24 +0,0 @@
|
||||
/**
|
||||
* 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;
|
@ -1,24 +0,0 @@
|
||||
/**
|
||||
* 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;
|
@ -1,797 +0,0 @@
|
||||
|
||||
#ifndef CSE_DEFINE_H
|
||||
#define CSE_DEFINE_H
|
||||
// define.hpp
|
||||
|
||||
#define true 1
|
||||
#define false 0
|
||||
|
||||
#define CT_STATIC 0
|
||||
#define CT_BUTTON 1
|
||||
#define CT_EDIT 2
|
||||
#define CT_SLIDER 3
|
||||
#define CT_COMBO 4
|
||||
#define CT_LISTBOX 5
|
||||
#define CT_TOOLBOX 6
|
||||
#define CT_CHECKBOXES 7
|
||||
#define CT_PROGRESS 8
|
||||
#define CT_HTML 9
|
||||
#define CT_STATIC_SKEW 10
|
||||
#define CT_ACTIVETEXT 11
|
||||
#define CT_TREE 12
|
||||
#define CT_STRUCTURED_TEXT 13
|
||||
#define CT_CONTEXT_MENU 14
|
||||
#define CT_CONTROLS_GROUP 15
|
||||
#define CT_SHORTCUTBUTTON 16
|
||||
#define CT_XKEYDESC 40
|
||||
#define CT_XBUTTON 41
|
||||
#define CT_XLISTBOX 42
|
||||
#define CT_XSLIDER 43
|
||||
#define CT_XCOMBO 44
|
||||
#define CT_ANIMATED_TEXTURE 45
|
||||
#define CT_OBJECT 80
|
||||
#define CT_OBJECT_ZOOM 81
|
||||
#define CT_OBJECT_CONTAINER 82
|
||||
#define CT_OBJECT_CONT_ANIM 83
|
||||
#define CT_LINEBREAK 98
|
||||
#define CT_ANIMATED_USER 99
|
||||
#define CT_MAP 100
|
||||
#define CT_MAP_MAIN 101
|
||||
#define CT_LISTNBOX 102
|
||||
|
||||
// Static styles
|
||||
#define ST_POS 0x0F
|
||||
#define ST_HPOS 0x03
|
||||
#define ST_VPOS 0x0C
|
||||
#define ST_LEFT 0x00
|
||||
#define ST_RIGHT 0x01
|
||||
#define ST_CENTER 0x02
|
||||
#define ST_DOWN 0x04
|
||||
#define ST_UP 0x08
|
||||
#define ST_VCENTER 0x0c
|
||||
|
||||
#define ST_TYPE 0xF0
|
||||
#define ST_SINGLE 0
|
||||
#define ST_MULTI 16
|
||||
#define ST_TITLE_BAR 32
|
||||
#define ST_PICTURE 48
|
||||
#define ST_FRAME 64
|
||||
#define ST_BACKGROUND 80
|
||||
#define ST_GROUP_BOX 96
|
||||
#define ST_GROUP_BOX2 112
|
||||
#define ST_HUD_BACKGROUND 128
|
||||
#define ST_TILE_PICTURE 144
|
||||
#define ST_WITH_RECT 160
|
||||
#define ST_LINE 176
|
||||
|
||||
#define ST_SHADOW 0x100
|
||||
#define ST_NO_RECT 0x200 // this style works for CT_STATIC in conjunction with ST_MULTI
|
||||
#define ST_KEEP_ASPECT_RATIO 0x800
|
||||
|
||||
#define ST_TITLE ST_TITLE_BAR + ST_CENTER
|
||||
|
||||
// Slider styles
|
||||
#define SL_DIR 0x400
|
||||
#define SL_VERT 0
|
||||
#define SL_HORZ 0x400
|
||||
|
||||
#define SL_TEXTURES 0x10
|
||||
|
||||
// Listbox styles
|
||||
#define LB_TEXTURES 0x10
|
||||
#define LB_MULTI 0x20
|
||||
#define FontCSE "PuristaMedium"
|
||||
|
||||
class cse_gui_backgroundBase {
|
||||
type = CT_STATIC;
|
||||
idc = -1;
|
||||
style = ST_PICTURE;
|
||||
colorBackground[] = {0,0,0,0};
|
||||
colorText[] = {1, 1, 1, 1};
|
||||
font = FontCSE;
|
||||
text = "";
|
||||
sizeEx = 0.032;
|
||||
};
|
||||
class cse_gui_editBase
|
||||
{
|
||||
access = 0;
|
||||
type = 2;
|
||||
x = 0;
|
||||
y = 0;
|
||||
h = 0.04;
|
||||
w = 0.2;
|
||||
colorBackground[] =
|
||||
{
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
1
|
||||
};
|
||||
colorText[] =
|
||||
{
|
||||
0.95,
|
||||
0.95,
|
||||
0.95,
|
||||
1
|
||||
};
|
||||
colorSelection[] =
|
||||
{
|
||||
"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])",
|
||||
"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])",
|
||||
"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])",
|
||||
1
|
||||
};
|
||||
autocomplete = "";
|
||||
text = "";
|
||||
size = 0.2;
|
||||
style = "0x00 + 0x40";
|
||||
font = "PuristaMedium";
|
||||
shadow = 2;
|
||||
sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
colorDisabled[] =
|
||||
{
|
||||
1,
|
||||
1,
|
||||
1,
|
||||
0.25
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
class cse_gui_buttonBase {
|
||||
idc = -1;
|
||||
type = 16;
|
||||
style = ST_LEFT;
|
||||
text = "";
|
||||
action = "";
|
||||
x = 0.0;
|
||||
y = 0.0;
|
||||
w = 0.25;
|
||||
h = 0.04;
|
||||
size = 0.03921;
|
||||
sizeEx = 0.03921;
|
||||
color[] = {1.0, 1.0, 1.0, 1};
|
||||
color2[] = {1.0, 1.0, 1.0, 1};
|
||||
/*colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.5])"};
|
||||
colorbackground2[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.4};
|
||||
colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25};
|
||||
colorFocused[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])", 0.8};
|
||||
colorBackgroundFocused[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.8};
|
||||
*/
|
||||
|
||||
colorBackground[] = {1,1,1,0.95};
|
||||
colorbackground2[] = {1,1,1,0.95};
|
||||
colorDisabled[] = {1,1,1,0.6};
|
||||
colorFocused[] = {1,1,1,1};
|
||||
colorBackgroundFocused[] = {1,1,1,1};
|
||||
periodFocus = 1.2;
|
||||
periodOver = 0.8;
|
||||
default = false;
|
||||
class HitZone {
|
||||
left = 0.00;
|
||||
top = 0.00;
|
||||
right = 0.00;
|
||||
bottom = 0.00;
|
||||
};
|
||||
|
||||
class ShortcutPos {
|
||||
left = 0.00;
|
||||
top = 0.00;
|
||||
w = 0.00;
|
||||
h = 0.00;
|
||||
};
|
||||
|
||||
class TextPos {
|
||||
left = 0.002;
|
||||
top = 0.0004;
|
||||
right = 0.0;
|
||||
bottom = 0.00;
|
||||
};
|
||||
textureNoShortcut = "";
|
||||
animTextureNormal = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
|
||||
animTextureDisabled = "cse\cse_gui\data\buttonDisabled_gradient.paa";
|
||||
animTextureOver = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
|
||||
animTextureFocused = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
|
||||
animTexturePressed = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
|
||||
animTextureDefault = "cse\cse_gui\data\buttonNormal_gradient_top.paa";
|
||||
period = 0.5;
|
||||
font = FontCSE;
|
||||
soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1};
|
||||
soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.0,0};
|
||||
soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.07,1};
|
||||
soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1};
|
||||
class Attributes {
|
||||
font = FontCSE;
|
||||
color = "#E5E5E5";
|
||||
align = "center";
|
||||
shadow = "true";
|
||||
};
|
||||
class AttributesImage {
|
||||
font = FontCSE;
|
||||
color = "#E5E5E5";
|
||||
align = "left";
|
||||
shadow = "true";
|
||||
};
|
||||
};
|
||||
|
||||
class cse_gui_RscProgress {
|
||||
type = 8;
|
||||
style = 0;
|
||||
colorFrame[] = {1,1,1,0.7};
|
||||
colorBar[] = {1,1,1,0.7};
|
||||
texture = "#(argb,8,8,3)color(1,1,1,0.7)";
|
||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
w = "38 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "0.5 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
};
|
||||
|
||||
|
||||
class cse_gui_staticBase {
|
||||
idc = -1;
|
||||
type = CT_STATIC;
|
||||
x = 0.0;
|
||||
y = 0.0;
|
||||
w = 0.183825;
|
||||
h = 0.104575;
|
||||
style = ST_LEFT;
|
||||
font = FontCSE;
|
||||
sizeEx = 0.03921;
|
||||
colorText[] = {0.95, 0.95, 0.95, 1.0};
|
||||
colorBackground[] = {0, 0, 0, 0};
|
||||
text = "";
|
||||
};
|
||||
|
||||
class RscListBox;
|
||||
class cse_gui_listBoxBase : RscListBox{
|
||||
type = CT_LISTBOX;
|
||||
style = ST_MULTI;
|
||||
font = FontCSE;
|
||||
sizeEx = 0.03921;
|
||||
color[] = {1, 1, 1, 1};
|
||||
colorText[] = {0.543, 0.5742, 0.4102, 1.0};
|
||||
colorScrollbar[] = {0.95, 0.95, 0.95, 1};
|
||||
colorSelect[] = {0.95, 0.95, 0.95, 1};
|
||||
colorSelect2[] = {0.95, 0.95, 0.95, 1};
|
||||
colorSelectBackground[] = {0, 0, 0, 1};
|
||||
colorSelectBackground2[] = {0.543, 0.5742, 0.4102, 1.0};
|
||||
colorDisabled[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.69])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.75])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.5])", 0.25};
|
||||
period = 1.2;
|
||||
rowHeight = 0.03;
|
||||
colorBackground[] = {0, 0, 0, 1};
|
||||
maxHistoryDelay = 1.0;
|
||||
autoScrollSpeed = -1;
|
||||
autoScrollDelay = 5;
|
||||
autoScrollRewind = 0;
|
||||
soundSelect[] = {"",0.1,1};
|
||||
soundExpand[] = {"",0.1,1};
|
||||
soundCollapse[] = {"",0.1,1};
|
||||
class ListScrollBar {
|
||||
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
|
||||
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
|
||||
autoScrollDelay = 5;
|
||||
autoScrollEnabled = 0;
|
||||
autoScrollRewind = 0;
|
||||
autoScrollSpeed = -1;
|
||||
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
|
||||
color[] = {1,1,1,0.6};
|
||||
colorActive[] = {1,1,1,1};
|
||||
colorDisabled[] = {1,1,1,0.3};
|
||||
height = 0;
|
||||
scrollSpeed = 0.06;
|
||||
shadow = 0;
|
||||
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
|
||||
width = 0;
|
||||
};
|
||||
class ScrollBar {
|
||||
color[] = {1, 1, 1, 0.6};
|
||||
colorActive[] = {1, 1, 1, 1};
|
||||
colorDisabled[] = {1, 1, 1, 0.3};
|
||||
thumb = "";
|
||||
arrowFull = "";
|
||||
arrowEmpty = "";
|
||||
border = "";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
class cse_gui_listNBox {
|
||||
access = 0;
|
||||
type = CT_LISTNBOX;// 102;
|
||||
style =ST_MULTI;
|
||||
w = 0.4;
|
||||
h = 0.4;
|
||||
font = FontCSE;
|
||||
sizeEx = 0.031;
|
||||
|
||||
autoScrollSpeed = -1;
|
||||
autoScrollDelay = 5;
|
||||
autoScrollRewind = 0;
|
||||
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
columns[] = {0.0};
|
||||
color[] = {1, 1, 1, 1};
|
||||
|
||||
rowHeight = 0.03;
|
||||
colorBackground[] = {0, 0, 0, 0.2};
|
||||
colorText[] = {1,1, 1, 1.0};
|
||||
colorScrollbar[] = {0.95, 0.95, 0.95, 1};
|
||||
colorSelect[] = {0.95, 0.95, 0.95, 1};
|
||||
colorSelect2[] = {0.95, 0.95, 0.95, 1};
|
||||
colorSelectBackground[] = {0, 0, 0, 0.0};
|
||||
colorSelectBackground2[] = {0.0, 0.0, 0.0, 0.5};
|
||||
colorActive[] = {0,0,0,1};
|
||||
colorDisabled[] = {0,0,0,0.3};
|
||||
rows = 1;
|
||||
|
||||
drawSideArrows = 0;
|
||||
idcLeft = -1;
|
||||
idcRight = -1;
|
||||
maxHistoryDelay = 1;
|
||||
soundSelect[] = {"", 0.1, 1};
|
||||
period = 1;
|
||||
shadow = 2;
|
||||
class ScrollBar {
|
||||
arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
arrowFull = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
border = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
color[] = {1,1,1,0.6};
|
||||
colorActive[] = {1,1,1,1};
|
||||
colorDisabled[] = {1,1,1,0.3};
|
||||
thumb = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
};
|
||||
class ListScrollBar {
|
||||
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
|
||||
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
|
||||
autoScrollDelay = 5;
|
||||
autoScrollEnabled = 0;
|
||||
autoScrollRewind = 0;
|
||||
autoScrollSpeed = -1;
|
||||
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
|
||||
color[] = {1,1,1,0.6};
|
||||
colorActive[] = {1,1,1,1};
|
||||
colorDisabled[] = {1,1,1,0.3};
|
||||
height = 0;
|
||||
scrollSpeed = 0.06;
|
||||
shadow = 0;
|
||||
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
|
||||
width = 0;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
class RscCombo;
|
||||
class cse_gui_comboBoxBase: RscCombo {
|
||||
idc = -1;
|
||||
type = 4;
|
||||
style = "0x10 + 0x200";
|
||||
x = 0;
|
||||
y = 0;
|
||||
w = 0.3;
|
||||
h = 0.035;
|
||||
color[] = {0,0,0,0.6};
|
||||
colorActive[] = {1,0,0,1};
|
||||
colorBackground[] = {0,0,0,1};
|
||||
colorDisabled[] = {1,1,1,0.25};
|
||||
colorScrollbar[] = {1,0,0,1};
|
||||
colorSelect[] = {0,0,0,1};
|
||||
colorSelectBackground[] = {1,1,1,0.7};
|
||||
colorText[] = {1,1,1,1};
|
||||
|
||||
arrowEmpty = "";
|
||||
arrowFull = "";
|
||||
wholeHeight = 0.45;
|
||||
font = FontCSE;
|
||||
sizeEx = 0.031;
|
||||
soundSelect[] = {"\A3\ui_f\data\sound\RscCombo\soundSelect",0.1,1};
|
||||
soundExpand[] = {"\A3\ui_f\data\sound\RscCombo\soundExpand",0.1,1};
|
||||
soundCollapse[] = {"\A3\ui_f\data\sound\RscCombo\soundCollapse",0.1,1};
|
||||
maxHistoryDelay = 1.0;
|
||||
class ScrollBar
|
||||
{
|
||||
color[] = {0.3,0.3,0.3,0.6};
|
||||
colorActive[] = {0.3,0.3,0.3,1};
|
||||
colorDisabled[] = {0.3,0.3,0.3,0.3};
|
||||
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
|
||||
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
|
||||
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
|
||||
border = "";
|
||||
};
|
||||
class ComboScrollBar {
|
||||
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
|
||||
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
|
||||
autoScrollDelay = 5;
|
||||
autoScrollEnabled = 0;
|
||||
autoScrollRewind = 0;
|
||||
autoScrollSpeed = -1;
|
||||
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
|
||||
color[] = {0.3,0.3,0.3,0.6};
|
||||
colorActive[] = {0.3,0.3,0.3,1};
|
||||
colorDisabled[] = {0.3,0.3,0.3,0.3};
|
||||
height = 0;
|
||||
scrollSpeed = 0.06;
|
||||
shadow = 0;
|
||||
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
|
||||
width = 0;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
class cse_gui_mapBase {
|
||||
moveOnEdges = 1;
|
||||
x = "SafeZoneXAbs";
|
||||
y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
w = "SafeZoneWAbs";
|
||||
h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
type = 100; // Use 100 to hide markers
|
||||
style = 48;
|
||||
shadow = 0;
|
||||
|
||||
ptsPerSquareSea = 5;
|
||||
ptsPerSquareTxt = 3;
|
||||
ptsPerSquareCLn = 10;
|
||||
ptsPerSquareExp = 10;
|
||||
ptsPerSquareCost = 10;
|
||||
ptsPerSquareFor = 9;
|
||||
ptsPerSquareForEdge = 9;
|
||||
ptsPerSquareRoad = 6;
|
||||
ptsPerSquareObj = 9;
|
||||
showCountourInterval = 0;
|
||||
scaleMin = 0.001;
|
||||
scaleMax = 1.0;
|
||||
scaleDefault = 0.16;
|
||||
maxSatelliteAlpha = 0.85;
|
||||
alphaFadeStartScale = 0.35;
|
||||
alphaFadeEndScale = 0.4;
|
||||
colorBackground[] = {0.969,0.957,0.949,1.0};
|
||||
colorSea[] = {0.467,0.631,0.851,0.5};
|
||||
colorForest[] = {0.624,0.78,0.388,0.5};
|
||||
colorForestBorder[] = {0.0,0.0,0.0,0.0};
|
||||
colorRocks[] = {0.0,0.0,0.0,0.3};
|
||||
colorRocksBorder[] = {0.0,0.0,0.0,0.0};
|
||||
colorLevels[] = {0.286,0.177,0.094,0.5};
|
||||
colorMainCountlines[] = {0.572,0.354,0.188,0.5};
|
||||
colorCountlines[] = {0.572,0.354,0.188,0.25};
|
||||
colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6};
|
||||
colorCountlinesWater[] = {0.491,0.577,0.702,0.3};
|
||||
colorPowerLines[] = {0.1,0.1,0.1,1.0};
|
||||
colorRailWay[] = {0.8,0.2,0.0,1.0};
|
||||
colorNames[] = {0.1,0.1,0.1,0.9};
|
||||
colorInactive[] = {1.0,1.0,1.0,0.5};
|
||||
colorOutside[] = {0.0,0.0,0.0,1.0};
|
||||
colorTracks[] = {0.84,0.76,0.65,0.15};
|
||||
colorTracksFill[] = {0.84,0.76,0.65,1.0};
|
||||
colorRoads[] = {0.7,0.7,0.7,1.0};
|
||||
colorRoadsFill[] = {1.0,1.0,1.0,1.0};
|
||||
colorMainRoads[] = {0.9,0.5,0.3,1.0};
|
||||
colorMainRoadsFill[] = {1.0,0.6,0.4,1.0};
|
||||
colorGrid[] = {0.1,0.1,0.1,0.6};
|
||||
colorGridMap[] = {0.1,0.1,0.1,0.6};
|
||||
colorText[] = {1, 1, 1, 0.85};
|
||||
font = "PuristaMedium";
|
||||
sizeEx = 0.0270000;
|
||||
stickX[] = {0.20, {"Gamma", 1.00, 1.50} };
|
||||
stickY[] = {0.20, {"Gamma", 1.00, 1.50} };
|
||||
onMouseButtonClick = "";
|
||||
onMouseButtonDblClick = "";
|
||||
|
||||
fontLabel = "PuristaMedium";
|
||||
sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
|
||||
fontGrid = "TahomaB";
|
||||
sizeExGrid = 0.02;
|
||||
fontUnits = "TahomaB";
|
||||
sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
|
||||
fontNames = "PuristaMedium";
|
||||
sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2";
|
||||
fontInfo = "PuristaMedium";
|
||||
sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
|
||||
fontLevel = "TahomaB";
|
||||
sizeExLevel = 0.02;
|
||||
text = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
class ActiveMarker {
|
||||
color[] = {0.30, 0.10, 0.90, 1.00};
|
||||
size = 50;
|
||||
};
|
||||
class Legend
|
||||
{
|
||||
x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
font = "PuristaMedium";
|
||||
sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
|
||||
colorBackground[] = {1,1,1,0.5};
|
||||
color[] = {0,0,0,1};
|
||||
};
|
||||
class Task
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa";
|
||||
iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa";
|
||||
iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa";
|
||||
iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa";
|
||||
iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa";
|
||||
color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"};
|
||||
colorCreated[] = {1,1,1,1};
|
||||
colorCanceled[] = {0.7,0.7,0.7,1};
|
||||
colorDone[] = {0.7,1,0.3,1};
|
||||
colorFailed[] = {1,0.3,0.2,1};
|
||||
size = 27;
|
||||
importance = 1;
|
||||
coefMin = 1;
|
||||
coefMax = 1;
|
||||
};
|
||||
class Waypoint
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
|
||||
color[] = {0,0,0,1};
|
||||
size = 20;
|
||||
importance = "1.2 * 16 * 0.05";
|
||||
coefMin = 0.900000;
|
||||
coefMax = 4;
|
||||
};
|
||||
class WaypointCompleted
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa";
|
||||
color[] = {0,0,0,1};
|
||||
size = 20;
|
||||
importance = "1.2 * 16 * 0.05";
|
||||
coefMin = 0.900000;
|
||||
coefMax = 4;
|
||||
};
|
||||
class CustomMark
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 1;
|
||||
coefMax = 1;
|
||||
color[] = {0,0,0,1};
|
||||
};
|
||||
class Command
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";
|
||||
size = 18;
|
||||
importance = 1;
|
||||
coefMin = 1;
|
||||
coefMax = 1;
|
||||
color[] = {1,1,1,1};
|
||||
};
|
||||
class Bush
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
|
||||
color[] = {0.45,0.64,0.33,0.4};
|
||||
size = "14/2";
|
||||
importance = "0.2 * 14 * 0.05 * 0.05";
|
||||
coefMin = 0.25;
|
||||
coefMax = 4;
|
||||
};
|
||||
class Rock
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa";
|
||||
color[] = {0.1,0.1,0.1,0.8};
|
||||
size = 12;
|
||||
importance = "0.5 * 12 * 0.05";
|
||||
coefMin = 0.25;
|
||||
coefMax = 4;
|
||||
};
|
||||
class SmallTree
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
|
||||
color[] = {0.45,0.64,0.33,0.4};
|
||||
size = 12;
|
||||
importance = "0.6 * 12 * 0.05";
|
||||
coefMin = 0.25;
|
||||
coefMax = 4;
|
||||
};
|
||||
class Tree
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
|
||||
color[] = {0.45,0.64,0.33,0.4};
|
||||
size = 12;
|
||||
importance = "0.9 * 16 * 0.05";
|
||||
coefMin = 0.25;
|
||||
coefMax = 4;
|
||||
};
|
||||
class busstop
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {1,1,1,1};
|
||||
};
|
||||
class fuelstation
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {1,1,1,1};
|
||||
};
|
||||
class hospital
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {1,1,1,1};
|
||||
};
|
||||
class church
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {1,1,1,1};
|
||||
};
|
||||
class lighthouse
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {1,1,1,1};
|
||||
};
|
||||
class power
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {1,1,1,1};
|
||||
};
|
||||
class powersolar
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {1,1,1,1};
|
||||
};
|
||||
class powerwave
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {1,1,1,1};
|
||||
};
|
||||
class powerwind
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {1,1,1,1};
|
||||
};
|
||||
class quay
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {1,1,1,1};
|
||||
};
|
||||
class shipwreck
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\shipwreck_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {1,1,1,1};
|
||||
};
|
||||
class transmitter
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {1,1,1,1};
|
||||
};
|
||||
class watertower
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {1,1,1,1};
|
||||
};
|
||||
class Cross
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {0,0,0,1};
|
||||
};
|
||||
class Chapel
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa";
|
||||
size = 24;
|
||||
importance = 1;
|
||||
coefMin = 0.85;
|
||||
coefMax = 1.0;
|
||||
color[] = {0,0,0,1};
|
||||
};
|
||||
class Bunker
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
|
||||
size = 14;
|
||||
importance = "1.5 * 14 * 0.05";
|
||||
coefMin = 0.25;
|
||||
coefMax = 4;
|
||||
color[] = {0,0,0,1};
|
||||
};
|
||||
class Fortress
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";
|
||||
size = 16;
|
||||
importance = "2 * 16 * 0.05";
|
||||
coefMin = 0.25;
|
||||
coefMax = 4;
|
||||
color[] = {0,0,0,1};
|
||||
};
|
||||
class Fountain
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa";
|
||||
size = 11;
|
||||
importance = "1 * 12 * 0.05";
|
||||
coefMin = 0.25;
|
||||
coefMax = 4;
|
||||
color[] = {0,0,0,1};
|
||||
};
|
||||
class Ruin
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa";
|
||||
size = 16;
|
||||
importance = "1.2 * 16 * 0.05";
|
||||
coefMin = 1;
|
||||
coefMax = 4;
|
||||
color[] = {0,0,0,1};
|
||||
};
|
||||
class Stack
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa";
|
||||
size = 20;
|
||||
importance = "2 * 16 * 0.05";
|
||||
coefMin = 0.9;
|
||||
coefMax = 4;
|
||||
color[] = {0,0,0,1};
|
||||
};
|
||||
class Tourism
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa";
|
||||
size = 16;
|
||||
importance = "1 * 16 * 0.05";
|
||||
coefMin = 0.7;
|
||||
coefMax = 4;
|
||||
color[] = {0,0,0,1};
|
||||
};
|
||||
class ViewTower
|
||||
{
|
||||
icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa";
|
||||
size = 16;
|
||||
importance = "2.5 * 16 * 0.05";
|
||||
coefMin = 0.5;
|
||||
coefMax = 4;
|
||||
color[] = {0,0,0,1};
|
||||
};
|
||||
};
|
||||
|
||||
#endif
|
@ -1,259 +0,0 @@
|
||||
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; };";
|
||||
};
|
||||
};
|
||||
};
|
@ -58,7 +58,7 @@ class ACE_canInteractConditions {
|
||||
};
|
||||
|
||||
class ACE_Options {
|
||||
class enableNumberHotkeys {
|
||||
class GVAR(enableNumberHotkeys) {
|
||||
displayName = "$STR_ACE_Common_EnableNumberHotkeys";
|
||||
default = 1;
|
||||
};
|
||||
|
@ -29,6 +29,6 @@ EXPLODE_2_PVT(_this,_func,_params);
|
||||
// Execute the function
|
||||
_funcParams call _func;
|
||||
},
|
||||
_interval,
|
||||
0,
|
||||
[_this, diag_frameno]
|
||||
] call CBA_fnc_addPerFrameHandler
|
||||
|
@ -4,7 +4,7 @@
|
||||
_config = configFile >> "ACE_Default_Keys";
|
||||
_count = count _config;
|
||||
|
||||
_header = format ["_keyCode = [_this select 1, _this select 2, _this select 3, _this select 4] call %1; _keyIndex = floor _keyCode; if (_keyIndex == 0) exitWith {false}; if (!(profileNamespace getVariable ['ACE_enableNumberHotkeys', true]) && {_keyIndex < 12} && {_keyIndex > 1} && {_keyCode mod 1 == 0}) exitWith {false}; _time = time; _player = ACE_player; _vehicle = vehicle _player; _isInput = false;", QUOTE(FUNC(convertKeyCode))];
|
||||
_header = format ["_keyCode = [_this select 1, _this select 2, _this select 3, _this select 4] call %1; _keyIndex = floor _keyCode; if (_keyIndex == 0) exitWith {false}; if (!(profileNamespace getVariable ['ACE_common_enableNumberHotkeys', true]) && {_keyIndex < 12} && {_keyIndex > 1} && {_keyCode mod 1 == 0}) exitWith {false}; _time = time; _player = ACE_player; _vehicle = vehicle _player; _isInput = false;", QUOTE(FUNC(convertKeyCode))];
|
||||
_headerUp = format ["_keyCode = _this select 1; _keyIndex = _keyCode; if (_keyIndex == 0) exitWith {false}; _time = time; _player = ACE_player; _vehicle = vehicle _player;"];
|
||||
|
||||
_handleDoubleTap = QUOTE(if (_time < (GVAR(keyTimes) select _keyIndex) + 0.5 && {_keyIndex == _keyCode}) then {_keyCode = _keyIndex + 0.8};);
|
||||
@ -60,7 +60,7 @@ _halt = format ["if (!(_allowHold) || {_disallowHold}) then {%1 set [_keyIndex,
|
||||
_haltUp = format ["%1 set [_keyIndex, 0];", QGVAR(keyStates)];
|
||||
|
||||
//_return = "_isInput";
|
||||
_return = "if (profileNamespace getVariable ['ACE_enableNumberHotkeys', true] && {_keyIndex < 12} && {_keyIndex > 1}) then {true} else {_isInput}";
|
||||
_return = "if (profileNamespace getVariable ['ACE_common_enableNumberHotkeys', true] && {_keyIndex < 12} && {_keyIndex > 1}) then {true} else {_isInput}";
|
||||
|
||||
_repeat = "if (!_isInput && {_keyCode mod 1 > 0.75} && {_keyCode mod 1 < 0.85}) exitWith {_keyCode = _keyIndex; " + _onKeyDown + _return + "};";
|
||||
_repeatUp = "if (!_isInput && {_keyCode mod 1 > 0.75} && {_keyCode mod 1 < 0.85}) exitWith {_keyCode = _keyIndex; " + _onKeyUp + "};";
|
||||
|
@ -244,7 +244,7 @@ class SniperCloud {
|
||||
};
|
||||
|
||||
class ACE_Options {
|
||||
class showInThirdPerson {
|
||||
class GVAR(showInThirdPerson) {
|
||||
displayName = $STR_ACE_Goggles_ShowInThirdPerson;
|
||||
default = 0;
|
||||
};
|
||||
|
@ -16,5 +16,5 @@
|
||||
call FUNC(ExternalCamera);
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
if (GETVAR(profileNamespace,ACE_showInThirdPerson,false)) exitWith { false };
|
||||
if (GVAR(showInThirdPerson)) exitWith { false };
|
||||
(cameraView == "External")
|
||||
|
@ -23,7 +23,7 @@ class CfgPatches {
|
||||
#include "CfgAmmo.hpp"
|
||||
|
||||
class ACE_Options {
|
||||
class Hearing_DisableEarRinging {
|
||||
class GVAR(Hearing_DisableEarRinging) {
|
||||
displayName = "$STR_ACE_Hearing_DisableEarRinging";
|
||||
default = 0;
|
||||
};
|
||||
|
@ -26,17 +26,17 @@ if (!hasInterface) exitWith {};
|
||||
|
||||
// Draw handle
|
||||
addMissionEventHandler ["Draw3D", {
|
||||
if !(profileNamespace getVariable ["ACE_showPlayerNames", true]) exitWith {};
|
||||
if (GVAR(showPlayerNames) == 0) exitWith {};
|
||||
|
||||
_player = ACE_player;
|
||||
if (profileNamespace getVariable ["ACE_showPlayerNamesOnlyOnCursor", true]) then {
|
||||
if (GVAR(showPlayerNames) in [2,4]) then { //only on cursor
|
||||
_target = cursorTarget;
|
||||
_target = if (_target in allUnitsUAV) then {objNull} else {effectiveCommander _target};
|
||||
|
||||
if (!isNull _target && {side group _target == playerSide} && {_target != _player} && {isPlayer _target || {GVAR(ShowNamesForAI)}} && {!(_target getVariable ["ACE_hideName", false])}) then {
|
||||
_distance = _player distance _target;
|
||||
_alpha = ((1 - 0.2 * (_distance - GVAR(PlayerNamesViewDistance))) min 1) * GVAR(PlayerNamesMaxAlpha);
|
||||
if (profileNamespace getVariable ["ACE_showPlayerNamesOnlyOnKeyPress", false]) then {
|
||||
if ((GVAR(showPlayerNames) in [3,4])) then { //only on keypress
|
||||
_alpha = _alpha min (1 - (time - GVAR(ShowNamesTime) - 1));
|
||||
};
|
||||
[_player, _target, _alpha, _distance * 0.026] call FUNC(drawNameTagIcon);
|
||||
@ -64,7 +64,7 @@ addMissionEventHandler ["Draw3D", {
|
||||
|
||||
_alpha = ((1 - 0.2 * (_distance - GVAR(PlayerNamesViewDistance))) min (1 - 0.15 * (_projDist * 5 - _distance - 3)) min 1) * GVAR(PlayerNamesMaxAlpha);
|
||||
|
||||
if (profileNamespace getVariable ["ACE_showPlayerNamesOnlyOnKeyPress", false]) then {
|
||||
if ((GVAR(showPlayerNames) in [3,4])) then { //only on keypress
|
||||
_alpha = _alpha min (1 - (time - GVAR(ShowNamesTime) - 1));
|
||||
};
|
||||
|
||||
|
@ -16,23 +16,16 @@ class CfgPatches {
|
||||
#include "CfgVehicles.hpp"
|
||||
|
||||
class ACE_Options {
|
||||
class showPlayerNames {
|
||||
class GVAR(showPlayerNames) {
|
||||
displayName = "$STR_ACE_NameTags_ShowPlayerNames";
|
||||
values[] = {"Disabled", "Enabled", "Only Cursor", "Only On Keypress", "Only Cursor and KeyPress"};
|
||||
default = 1;
|
||||
};
|
||||
class showPlayerNamesOnlyOnCursor {
|
||||
displayName = "$STR_ACE_NameTags_ShowPlayerNamesOnlyOnCursor";
|
||||
default = 1;
|
||||
};
|
||||
class showPlayerNamesOnlyOnKeyPress {
|
||||
displayName = "$STR_ACE_NameTags_ShowPlayerNamesOnlyOnKeyPress";
|
||||
default = 0;
|
||||
};
|
||||
class showPlayerRanks {
|
||||
class GVAR(showPlayerRanks) {
|
||||
displayName = "$STR_ACE_NameTags_ShowPlayerRanks";
|
||||
default = 1;
|
||||
};
|
||||
class showVehicleCrewInfo {
|
||||
class GVAR(showVehicleCrewInfo) {
|
||||
displayName = "$STR_ACE_CrewInfo_ShowVehicleCrewInfo";
|
||||
default = 1;
|
||||
};
|
||||
|
@ -22,6 +22,6 @@ _player = ACE_player;
|
||||
vehicle _player != _player &&
|
||||
{
|
||||
(GVAR(CrewInfoVisibility) == 1) ||
|
||||
(GVAR(CrewInfoVisibility) != -1 && profileNamespace getVariable ["ACE_showVehicleCrewInfo", false])
|
||||
(GVAR(CrewInfoVisibility) != -1 && GVAR(showVehicleCrewInfo))
|
||||
} &&
|
||||
{!(vehicle _player isKindOf "ParachuteBase")};
|
||||
|
@ -47,7 +47,7 @@ _color = if !(group _target == group _player) then {
|
||||
_name = [_target, true] call EFUNC(common,getName);
|
||||
|
||||
_rank = TEXTURES_RANKS select ((["PRIVATE", "CORPORAL", "SERGEANT", "LIEUTENANT", "CAPTAIN", "MAJOR", "COLONEL"] find rank _target) + 1);
|
||||
_size = [0, 1] select (profileNamespace getVariable ["ACE_showPlayerRanks", true]);
|
||||
_size = [0, 1] select GVAR(showPlayerRanks);
|
||||
|
||||
drawIcon3D [
|
||||
_rank,
|
||||
|
1
addons/optionsmenu/$PBOPREFIX$
Normal file
1
addons/optionsmenu/$PBOPREFIX$
Normal file
@ -0,0 +1 @@
|
||||
z\ace\addons\optionsmenu
|
11
addons/optionsmenu/CfgEventHandlers.hpp
Normal file
11
addons/optionsmenu/CfgEventHandlers.hpp
Normal file
@ -0,0 +1,11 @@
|
||||
class Extended_PreInit_EventHandlers {
|
||||
class ADDON {
|
||||
init = QUOTE(call COMPILE_FILE(XEH_preInit));
|
||||
};
|
||||
};
|
||||
|
||||
class Extended_PostInit_EventHandlers {
|
||||
class ADDON {
|
||||
init = QUOTE(call COMPILE_FILE(XEH_postInit));
|
||||
};
|
||||
};
|
7
addons/optionsmenu/XEH_postInit.sqf
Normal file
7
addons/optionsmenu/XEH_postInit.sqf
Normal file
@ -0,0 +1,7 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
[] spawn {
|
||||
sleep 1;
|
||||
[] call FUNC(addFromConfig);
|
||||
|
||||
};
|
22
addons/optionsmenu/XEH_preInit.sqf
Normal file
22
addons/optionsmenu/XEH_preInit.sqf
Normal file
@ -0,0 +1,22 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
ADDON = false;
|
||||
|
||||
PREP(addClientSideColor);
|
||||
PREP(addClientSideOptions);
|
||||
PREP(addFromConfig);
|
||||
PREP(loadFromProfile);
|
||||
PREP(onListBoxSettingsChanged);
|
||||
PREP(onListBoxShowSelectionChanged);
|
||||
PREP(onSettingsMenuOpen);
|
||||
PREP(onSliderPosChanged);
|
||||
PREP(resetSettings);
|
||||
PREP(saveToProfile);
|
||||
PREP(settingsMenuUpdateKeyView);
|
||||
PREP(settingsMenuUpdateList);
|
||||
PREP(updateSetting);
|
||||
|
||||
ADDON = true;
|
||||
|
||||
GVAR(clientSideOptions) = [];
|
||||
GVAR(clientSideColors) = [];
|
42
addons/optionsmenu/config.cpp
Normal file
42
addons/optionsmenu/config.cpp
Normal file
@ -0,0 +1,42 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
class CfgPatches {
|
||||
class ADDON {
|
||||
units[] = {};
|
||||
weapons[] = {};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {"ace_common"};
|
||||
author[] = {"Combat Space Enhancement"};
|
||||
authorUrl = "http://csemod.com";
|
||||
VERSION_CONFIG;
|
||||
};
|
||||
};
|
||||
|
||||
class CfgAddons {
|
||||
class PreloadAddons {
|
||||
class ADDON {
|
||||
list[] = {QUOTE(ADDON)};
|
||||
};
|
||||
};
|
||||
};
|
||||
class ACE_Options {
|
||||
class GVAR(testOption) {
|
||||
displayName = "Config Test";
|
||||
description = "Config Description";
|
||||
default = 1;
|
||||
values[] = {"Yeah", "Naa"};
|
||||
};
|
||||
};
|
||||
class ACE_Colors {
|
||||
class GVAR(testColor) {
|
||||
displayName = "Color Config Test";
|
||||
description = "Color Config Description";
|
||||
default[] = {0,1,1,1};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
#include "CfgEventHandlers.hpp"
|
||||
#include "gui\define.hpp"
|
||||
#include "gui\settingsMenu.hpp"
|
||||
#include "gui\pauseMenu.hpp"
|
19
addons/optionsmenu/functions/fnc_addClientSideColor.sqf
Normal file
19
addons/optionsmenu/functions/fnc_addClientSideColor.sqf
Normal file
@ -0,0 +1,19 @@
|
||||
/**
|
||||
* fnc_addClientSideColor.sqf
|
||||
* @Descr: N/A
|
||||
* @Author: PabstMirror
|
||||
*
|
||||
* @Arguments: []
|
||||
* @Return:
|
||||
* @PublicAPI: false
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_currentValue"];
|
||||
PARAMS_4(_name,_localizedName,_localizedDescription,_defaultValue);
|
||||
|
||||
GVAR(clientSideColors) pushBack [_name, _localizedName, _localizedDescription, [], _defaultValue];
|
||||
|
||||
//Get the current setting from profile (or default) and set it:
|
||||
_currentValue = [MENU_TAB_COLORS, _name, _defaultValue] call FUNC(loadFromProfile);
|
||||
[MENU_TAB_COLORS, _name, _currentValue] call FUNC(updateSetting);
|
19
addons/optionsmenu/functions/fnc_addClientSideOptions.sqf
Normal file
19
addons/optionsmenu/functions/fnc_addClientSideOptions.sqf
Normal file
@ -0,0 +1,19 @@
|
||||
/**
|
||||
* fnc_addClientSideOptions.sqf
|
||||
* @Descr: N/A
|
||||
* @Author: Glowbal
|
||||
*
|
||||
* @Arguments: []
|
||||
* @Return:
|
||||
* @PublicAPI: false
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_currentValue"];
|
||||
PARAMS_5(_name,_localizedName,_localizedDescription,_possibleValues,_defaultValue);
|
||||
|
||||
GVAR(clientSideOptions) pushBack [_name, _localizedName, _localizedDescription, _possibleValues, -1, _defaultValue];
|
||||
|
||||
//Get the current setting from profile (or default) and set it:
|
||||
_currentValue = [MENU_TAB_OPTIONS, _name, _defaultValue] call FUNC(loadFromProfile);
|
||||
[MENU_TAB_OPTIONS, _name, _currentValue] call FUNC(updateSetting);
|
38
addons/optionsmenu/functions/fnc_addFromConfig.sqf
Normal file
38
addons/optionsmenu/functions/fnc_addFromConfig.sqf
Normal file
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* fnc_addFromConfig.sqf
|
||||
* @Descr: N/A
|
||||
* @Author: PabstMirror
|
||||
*
|
||||
* @Arguments: []
|
||||
* @Return:
|
||||
* @PublicAPI: false
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
if (isClass (configFile >> "ACE_Options")) then {
|
||||
_countOptions = count (configFile >> "ACE_Options");
|
||||
for "_index" from 0 to (_countOptions - 1) do {
|
||||
_optionEntry = (configFile >> "ACE_Options") select _index;
|
||||
_name = configName _optionEntry;
|
||||
_displayName = getText (_optionEntry >> "displayName");
|
||||
_description = getText (_optionEntry >> "description");
|
||||
_default = getNumber (_optionEntry >> "default");
|
||||
_choices = getArray (_optionEntry >> "values");
|
||||
if ((count _choices) == 0) then {
|
||||
_choices = [(localize "STR_ACE_OptionsMenu_Disabled"), (localize "STR_ACE_OptionsMenu_Enabled")];
|
||||
};
|
||||
[_name, _displayName, _description, _choices, _default] call FUNC(addClientSideOptions);
|
||||
};
|
||||
};
|
||||
|
||||
if (isClass (configFile >> "ACE_Colors")) then {
|
||||
_countOptions = count (configFile >> "ACE_Colors");
|
||||
for "_index" from 0 to (_countOptions - 1) do {
|
||||
_optionEntry = (configFile >> "ACE_Colors") select _index;
|
||||
_name = configName _optionEntry;
|
||||
_displayName = getText (_optionEntry >> "displayName");
|
||||
_description = getText (_optionEntry >> "description");
|
||||
_default = getArray (_optionEntry >> "default");
|
||||
[_name, _displayName, _description, _default] call FUNC(addClientSideColor);
|
||||
};
|
||||
};
|
36
addons/optionsmenu/functions/fnc_loadFromProfile.sqf
Normal file
36
addons/optionsmenu/functions/fnc_loadFromProfile.sqf
Normal file
@ -0,0 +1,36 @@
|
||||
/**
|
||||
* fnc_loadFromProfile.sqf
|
||||
* @Descr: N/A
|
||||
* @Author: Glowbal
|
||||
*
|
||||
* @Arguments: []
|
||||
* @Return:
|
||||
* @PublicAPI: false
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_typeString", "_settingValue", "_badData"];
|
||||
PARAMS_3(_type,_name,_default);
|
||||
|
||||
_typeString = "";
|
||||
switch (_type) do {
|
||||
case (MENU_TAB_OPTIONS): {_typeString = "option";};
|
||||
case (MENU_TAB_COLORS): {_typeString = "color";};
|
||||
};
|
||||
|
||||
_settingValue = profileNamespace getvariable [(format ["ace_%1_%2", _typeString, _name]), _default];
|
||||
|
||||
_badData = isNil "_settingValue";
|
||||
if (!_badData) then {
|
||||
switch (_type) do {
|
||||
case (MENU_TAB_OPTIONS): {_badData = ((typeName _settingValue) != (typeName 0));};
|
||||
case (MENU_TAB_COLORS): {_badData = (((typeName _settingValue) != (typeName [])) || {(count _settingValue) != 4});};
|
||||
};
|
||||
};
|
||||
if (_badData) then {
|
||||
_settingValue = _default;
|
||||
systemChat format ["Bad Data in profile [ace_%1_%2] using default", _typeString, _name];
|
||||
ERROR("Bad Value in profile");
|
||||
};
|
||||
|
||||
_settingValue
|
@ -0,0 +1,27 @@
|
||||
/**
|
||||
* fnc_onListBoxSettingsChanged.sqf
|
||||
* @Descr: N/A
|
||||
* @Author: Glowbal
|
||||
*
|
||||
* @Arguments: []
|
||||
* @Return:
|
||||
* @PublicAPI: false
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_settingIndex", "_rightDropDownIndex"];
|
||||
|
||||
_settingIndex = lbCurSel 200; //Index of left list
|
||||
_rightDropDownIndex = lbCurSel 400; //Index of right drop down
|
||||
|
||||
if (_rightDropDownIndex < 0) then {_rightDropDownIndex = 0;};
|
||||
|
||||
switch (GVAR(optionMenu_openTab)) do {
|
||||
case (MENU_TAB_OPTIONS): {
|
||||
if ((_settingIndex >= 0) && (_settingIndex < (count GVAR(clientSideOptions)))) then {
|
||||
_settingIndex = (GVAR(clientSideOptions) select _settingIndex) select 0;
|
||||
[MENU_TAB_OPTIONS, _settingIndex, _rightDropDownIndex] call FUNC(updateSetting);
|
||||
};
|
||||
[false] call FUNC(settingsMenuUpdateList);
|
||||
};
|
||||
};
|
@ -0,0 +1,55 @@
|
||||
/**
|
||||
* fnc_onListBoxShowSelectionChanged.sqf
|
||||
* @Descr: called when the listbox selection has changed. Updates configuration menu information
|
||||
* @Author: Glowbal
|
||||
*
|
||||
* @Arguments: []
|
||||
* @Return:
|
||||
* @PublicAPI: false
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_settingsMenu", "_localizedHeader"];
|
||||
|
||||
PARAMS_1(_openTab);
|
||||
GVAR(optionMenu_openTab) = _openTab;
|
||||
|
||||
disableSerialization;
|
||||
_settingsMenu = uiNamespace getVariable 'ACE_settingsMenu';
|
||||
|
||||
switch (GVAR(optionMenu_openTab)) do {
|
||||
case (MENU_TAB_OPTIONS): {
|
||||
_localizedHeader = format ["%1: %2", (localize "STR_ACE_OptionsMenu_OpenConfigMenu"), (localize "STR_ACE_OptionsMenu_TabOptions")];
|
||||
ctrlSetText [13, _localizedHeader];
|
||||
lbClear 400;
|
||||
|
||||
(_settingsMenu displayCtrl 301) ctrlShow true;
|
||||
|
||||
(_settingsMenu displayCtrl 400) ctrlShow true;
|
||||
(_settingsMenu displayCtrl 410) ctrlShow false;
|
||||
(_settingsMenu displayCtrl 411) ctrlShow false;
|
||||
(_settingsMenu displayCtrl 412) ctrlShow false;
|
||||
(_settingsMenu displayCtrl 413) ctrlShow false;
|
||||
};
|
||||
case (MENU_TAB_COLORS): {
|
||||
_localizedHeader = format ["%1: %2", (localize "STR_ACE_OptionsMenu_OpenConfigMenu"), (localize "STR_ACE_OptionsMenu_TabColors")];
|
||||
ctrlSetText [13, _localizedHeader];
|
||||
|
||||
lbClear 400;
|
||||
|
||||
(_settingsMenu displayCtrl 301) ctrlShow false;
|
||||
|
||||
(_settingsMenu displayCtrl 400) ctrlShow false;
|
||||
(_settingsMenu displayCtrl 410) ctrlShow true;
|
||||
(_settingsMenu displayCtrl 411) ctrlShow true;
|
||||
(_settingsMenu displayCtrl 412) ctrlShow true;
|
||||
(_settingsMenu displayCtrl 413) ctrlShow true;
|
||||
|
||||
(_settingsMenu displayCtrl 410) sliderSetRange [0, 255];
|
||||
(_settingsMenu displayCtrl 411) sliderSetRange [0, 255];
|
||||
(_settingsMenu displayCtrl 412) sliderSetRange [0, 255];
|
||||
(_settingsMenu displayCtrl 413) sliderSetRange [0, 255];
|
||||
};
|
||||
};
|
||||
|
||||
[true] call FUNC(settingsMenuUpdateList);
|
13
addons/optionsmenu/functions/fnc_onSettingsMenuOpen.sqf
Normal file
13
addons/optionsmenu/functions/fnc_onSettingsMenuOpen.sqf
Normal file
@ -0,0 +1,13 @@
|
||||
/**
|
||||
* fnc_onSettingsMenuOpen.sqf
|
||||
* @Descr: called when the settings or configuration menu has opened. Do not use anywhere else.
|
||||
* @Author: Glowbal
|
||||
*
|
||||
* @Arguments: []
|
||||
* @Return:
|
||||
* @PublicAPI: false
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
//Delay a frame
|
||||
[{ [MENU_TAB_OPTIONS] call FUNC(onListBoxShowSelectionChanged) }, []] call EFUNC(common,execNextFrame);
|
29
addons/optionsmenu/functions/fnc_onSliderPosChanged.sqf
Normal file
29
addons/optionsmenu/functions/fnc_onSliderPosChanged.sqf
Normal file
@ -0,0 +1,29 @@
|
||||
/**
|
||||
* fnc_onSliderPosChanged.sqf
|
||||
* @Descr: N/A
|
||||
* @Author: PabstMirror
|
||||
*
|
||||
* @Arguments: []
|
||||
* @Return:
|
||||
* @PublicAPI: false
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_newColor", "_settingIndex"];
|
||||
|
||||
_newColor = [];
|
||||
{
|
||||
_newColor pushBack ((sliderPosition _x) / 255);
|
||||
} forEach [410, 411, 412, 413];
|
||||
|
||||
_settingIndex = lbCurSel 200;
|
||||
|
||||
switch (GVAR(optionMenu_openTab)) do {
|
||||
case (MENU_TAB_COLORS): {
|
||||
if ((_settingIndex >= 0) && (_settingIndex < (count GVAR(clientSideColors)))) then {
|
||||
_settingIndex = (GVAR(clientSideColors) select _settingIndex) select 0;
|
||||
[MENU_TAB_COLORS, _settingIndex, _newColor] call FUNC(updateSetting);
|
||||
};
|
||||
[false] call FUNC(settingsMenuUpdateList);
|
||||
};
|
||||
};
|
30
addons/optionsmenu/functions/fnc_resetSettings.sqf
Normal file
30
addons/optionsmenu/functions/fnc_resetSettings.sqf
Normal file
@ -0,0 +1,30 @@
|
||||
/**
|
||||
* fnc_resetSettings.sqf
|
||||
* @Descr:
|
||||
* @Author: Glowbal
|
||||
*
|
||||
* @Arguments: []
|
||||
* @Return:
|
||||
* @PublicAPI: true
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_name", "_default", "_lastSelected"];
|
||||
|
||||
{
|
||||
_name = _x select 0;
|
||||
_default = _x select 5;
|
||||
[MENU_TAB_OPTIONS, _name, _default] call FUNC(updateSetting);
|
||||
} forEach GVAR(clientSideOptions);
|
||||
|
||||
{
|
||||
_name = _x select 0;
|
||||
_default = _x select 4;
|
||||
[MENU_TAB_COLORS, _name, _default] call FUNC(updateSetting);
|
||||
} forEach GVAR(clientSideColors);
|
||||
|
||||
_lastSelected = lbCurSel 200;
|
||||
[GVAR(optionMenu_openTab)] call FUNC(onListBoxShowSelectionChanged);
|
||||
if (_lastSelected != -1) then {
|
||||
lbSetCurSel [200, _lastSelected];
|
||||
};
|
37
addons/optionsmenu/functions/fnc_saveToProfile.sqf
Normal file
37
addons/optionsmenu/functions/fnc_saveToProfile.sqf
Normal file
@ -0,0 +1,37 @@
|
||||
/**
|
||||
* fnc_saveToProfile.sqf
|
||||
* @Descr: Save the clientside option to the profile.
|
||||
* @Author: Glowbal
|
||||
*
|
||||
* @Arguments: [name STRING (Name of setting)]
|
||||
* @Return: BOOL True if saved.
|
||||
* @PublicAPI: false
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_nameSelected", "_saved"];
|
||||
PARAMS_2(_type,_name);
|
||||
|
||||
_saved = false;
|
||||
switch (_type) do {
|
||||
case (MENU_TAB_OPTIONS): {
|
||||
{
|
||||
_nameSelected = _x select 0;
|
||||
if (_nameSelected == _name) exitwith {
|
||||
profileNamespace setvariable [(format ["ace_option_%1", _name]), (_x select 4)];
|
||||
_saved = true;
|
||||
};
|
||||
}foreach GVAR(clientSideOptions);
|
||||
};
|
||||
case (MENU_TAB_COLORS): {
|
||||
{
|
||||
_nameSelected = _x select 0;
|
||||
if (_nameSelected == _name) exitwith {
|
||||
profileNamespace setvariable [(format ["ace_color_%1", _name]), (_x select 3)];
|
||||
_saved = true;
|
||||
};
|
||||
}foreach GVAR(clientSideColors);
|
||||
};
|
||||
};
|
||||
|
||||
_saved
|
@ -0,0 +1,65 @@
|
||||
/**
|
||||
* fnc_settingsMenuUpdateKeyView.sqf
|
||||
* @Descr: N/A
|
||||
* @Author: Glowbal
|
||||
*
|
||||
* @Arguments: []
|
||||
* @Return:
|
||||
* @PublicAPI: false
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_settingsMenu", "_ctrlList", "_collection", "_settingIndex", "_setting", "_entryName", "_localizedName", "_localizedDescription", "_possibleValues", "_settingsValue", "_currentColor"];
|
||||
disableSerialization;
|
||||
|
||||
_settingsMenu = uiNamespace getVariable 'ACE_settingsMenu';
|
||||
_ctrlList = _settingsMenu displayCtrl 200;
|
||||
|
||||
_collection = switch (GVAR(optionMenu_openTab)) do {
|
||||
case MENU_TAB_OPTIONS: {GVAR(clientSideOptions)};
|
||||
case MENU_TAB_COLORS: {GVAR(clientSideColors)};
|
||||
default {[]};
|
||||
};
|
||||
|
||||
if (count _collection > 0) then {
|
||||
_settingIndex = (lbCurSel _ctrlList);
|
||||
if (_settingIndex > (count _collection)) then {
|
||||
_settingIndex = count _collection - 1;
|
||||
};
|
||||
|
||||
if (_settingIndex < 0) exitwith {
|
||||
_settingIndex = 0;
|
||||
};
|
||||
_setting = _collection select _settingIndex;
|
||||
|
||||
_entryName = _setting select 0;
|
||||
_localizedName = _setting select 1;
|
||||
_localizedDescription = _setting select 2;
|
||||
|
||||
if (_localizedName == "") then {_localizedName = _entryName;};
|
||||
(_settingsMenu displayCtrl 250) ctrlSetText _localizedName;
|
||||
(_settingsMenu displayCtrl 251) ctrlSetText _localizedDescription;
|
||||
(_settingsMenu displayCtrl 300) ctrlSetText _entryName;
|
||||
|
||||
switch (GVAR(optionMenu_openTab)) do {
|
||||
case (MENU_TAB_OPTIONS): {
|
||||
_possibleValues = _setting select 3;
|
||||
_settingsValue = _setting select 4;
|
||||
lbClear 400;
|
||||
{ lbAdd [400, _x]; } foreach _possibleValues;
|
||||
|
||||
(_settingsMenu displayCtrl 400) lbSetCurSel _settingsValue;
|
||||
};
|
||||
case (MENU_TAB_COLORS): {
|
||||
_currentColor = _setting select 3;
|
||||
{
|
||||
sliderSetPosition [_x, (255 * (_currentColor select _forEachIndex))];
|
||||
} forEach [410, 411, 412, 413];
|
||||
};
|
||||
};
|
||||
} else { //no settings in list:
|
||||
lbClear 400;
|
||||
(_settingsMenu displayCtrl 250) ctrlSetText _localizedName;
|
||||
(_settingsMenu displayCtrl 251) ctrlSetText _localizedDescription;
|
||||
(_settingsMenu displayCtrl 300) ctrlSetText _entryName;
|
||||
};
|
44
addons/optionsmenu/functions/fnc_settingsMenuUpdateList.sqf
Normal file
44
addons/optionsmenu/functions/fnc_settingsMenuUpdateList.sqf
Normal file
@ -0,0 +1,44 @@
|
||||
/**
|
||||
* fnc_settingsMenuUpdateList.sqf
|
||||
* @Descr: N/A
|
||||
* @Author: Glowbal
|
||||
*
|
||||
* @Arguments: []
|
||||
* @Return:
|
||||
* @PublicAPI: false
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_settingsMenu", "_ctrlList", "_settingsText", "_color", "_settingsColor", "_updateKeyView"];
|
||||
DEFAULT_PARAM(0,_updateKeyView,true);
|
||||
|
||||
disableSerialization;
|
||||
_settingsMenu = uiNamespace getVariable 'ACE_settingsMenu';
|
||||
_ctrlList = _settingsMenu displayCtrl 200;
|
||||
|
||||
lbclear _ctrlList;
|
||||
|
||||
switch (GVAR(optionMenu_openTab)) do {
|
||||
case (MENU_TAB_OPTIONS): {
|
||||
{
|
||||
_settingsText = ((_x select 3) select (_x select 4));
|
||||
_ctrlList lbadd (_x select 1);
|
||||
_ctrlList lbadd (_settingsText);
|
||||
}foreach GVAR(clientSideOptions);
|
||||
};
|
||||
case (MENU_TAB_COLORS): {
|
||||
{
|
||||
_color = +(_x select 3);
|
||||
{
|
||||
_color set [_forEachIndex, ((round (_x * 100))/100)];
|
||||
} forEach _color;
|
||||
_settingsColor = str _color;
|
||||
_ctrlList lbadd (_x select 1);
|
||||
_ctrlList lbadd (_settingsColor);
|
||||
_ctrlList lnbSetColor [[_forEachIndex, 1], (_x select 3)];
|
||||
}foreach GVAR(clientSideColors);
|
||||
};
|
||||
};
|
||||
if (_updateKeyView) then {
|
||||
[] call FUNC(settingsMenuUpdateKeyView);
|
||||
};
|
43
addons/optionsmenu/functions/fnc_updateSetting.sqf
Normal file
43
addons/optionsmenu/functions/fnc_updateSetting.sqf
Normal file
@ -0,0 +1,43 @@
|
||||
/**
|
||||
* fnc_updateSetting.sqf
|
||||
* @Descr:
|
||||
* @Author: Glowbal
|
||||
*
|
||||
* @Arguments: []
|
||||
* @Return:
|
||||
* @PublicAPI: true
|
||||
*/
|
||||
#include "script_component.hpp"
|
||||
|
||||
private ["_changed"];
|
||||
PARAMS_3(_type,_name,_newValue);
|
||||
|
||||
_changed = false;
|
||||
|
||||
switch (_type) do {
|
||||
case (MENU_TAB_OPTIONS): {
|
||||
{
|
||||
if ((_x select 0) == _name) then {
|
||||
if (!((_x select 4) isEqualTo _newValue)) then {
|
||||
_changed = true;
|
||||
_x set [4, _newValue];
|
||||
};
|
||||
};
|
||||
} foreach GVAR(clientSideOptions);
|
||||
};
|
||||
case (MENU_TAB_COLORS): {
|
||||
{
|
||||
if (((_x select 0) == _name) && {!((_x select 3) isEqualTo _newValue)}) then {
|
||||
_changed = true;
|
||||
_x set [3, _newValue];
|
||||
};
|
||||
} foreach GVAR(clientSideColors);
|
||||
};
|
||||
};
|
||||
|
||||
if (_changed) then {
|
||||
missionNameSpace setVariable [_name, _newValue];
|
||||
[_type, _name] call FUNC(saveToProfile);
|
||||
["SettingChanged", [_name, _newValue]] call EFUNC(common,localEvent);
|
||||
TRACE_2("Variable Updated",_name,_newValue);
|
||||
};
|
1
addons/optionsmenu/functions/script_component.hpp
Normal file
1
addons/optionsmenu/functions/script_component.hpp
Normal file
@ -0,0 +1 @@
|
||||
#include "\z\ace\addons\optionsmenu\script_component.hpp"
|
94
addons/optionsmenu/gui/define.hpp
Normal file
94
addons/optionsmenu/gui/define.hpp
Normal file
@ -0,0 +1,94 @@
|
||||
// define.hpp
|
||||
|
||||
class ACE_gui_backgroundBase;
|
||||
class ACE_gui_editBase;
|
||||
class ACE_gui_buttonBase;
|
||||
class ACE_gui_staticBase;
|
||||
class ACE_gui_listNBox;
|
||||
class ACE_gui_comboBoxBase;
|
||||
class RscXSliderH;
|
||||
|
||||
|
||||
#ifndef ACE_DEFINE_H
|
||||
#define ACE_DEFINE_H
|
||||
|
||||
#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"
|
||||
|
||||
#endif
|
@ -1,6 +1,6 @@
|
||||
class CSE_Open_SettingsMenu_BtnBase : cse_gui_buttonBase {
|
||||
class ACE_Open_SettingsMenu_BtnBase : ACE_gui_buttonBase {
|
||||
idc = -1;
|
||||
text = "Configure [CSE]";
|
||||
text = "$STR_ACE_OptionsMenu_OpenConfigMenu";
|
||||
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)";
|
||||
@ -20,27 +20,27 @@ class CSE_Open_SettingsMenu_BtnBase : cse_gui_buttonBase {
|
||||
colorFocused[] = {0,0,0,1};
|
||||
periodFocus = 1;
|
||||
periodOver = 1;
|
||||
action = "(findDisplay 49) closeDisplay 0; createDialog 'cse_settingsMenu';";
|
||||
action = "(findDisplay 49) closeDisplay 0; createDialog 'ACE_settingsMenu';";
|
||||
};
|
||||
|
||||
class RscStandardDisplay;
|
||||
class RscDisplayMPInterrupt: RscStandardDisplay {
|
||||
class controls {
|
||||
class cse_Open_settingsMenu_Btn : CSE_Open_SettingsMenu_BtnBase {};
|
||||
class ACE_Open_settingsMenu_Btn : ACE_Open_SettingsMenu_BtnBase {};
|
||||
};
|
||||
};
|
||||
class RscDisplayInterruptEditorPreview: RscStandardDisplay {
|
||||
class controls {
|
||||
class cse_Open_settingsMenu_Btn : CSE_Open_SettingsMenu_BtnBase {};
|
||||
class ACE_Open_settingsMenu_Btn : ACE_Open_SettingsMenu_BtnBase {};
|
||||
};
|
||||
};
|
||||
class RscDisplayInterrupt: RscStandardDisplay {
|
||||
class controls {
|
||||
class cse_Open_settingsMenu_Btn : CSE_Open_SettingsMenu_BtnBase {};
|
||||
class ACE_Open_settingsMenu_Btn : ACE_Open_SettingsMenu_BtnBase {};
|
||||
};
|
||||
};
|
||||
class RscDisplayInterruptEditor3D: RscStandardDisplay {
|
||||
class controls {
|
||||
class cse_Open_settingsMenu_Btn : CSE_Open_SettingsMenu_BtnBase {};
|
||||
class ACE_Open_settingsMenu_Btn : ACE_Open_SettingsMenu_BtnBase {};
|
||||
};
|
||||
};
|
226
addons/optionsmenu/gui/settingsMenu.hpp
Normal file
226
addons/optionsmenu/gui/settingsMenu.hpp
Normal file
@ -0,0 +1,226 @@
|
||||
class ACE_settingsMenu {
|
||||
idd = 145246;
|
||||
movingEnable = false;
|
||||
onLoad = QUOTE(uiNamespace setVariable [ARR_2('ACE_settingsMenu', _this select 0)]; [] call FUNC(onSettingsMenuOpen););
|
||||
onUnload = QUOTE(uiNamespace setVariable [ARR_2('ACE_settingsMenu', nil)]; saveProfileNamespace;);
|
||||
|
||||
class controlsBackground {
|
||||
class HeaderBackground: ACE_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 = "17.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 = "$STR_ACE_OptionsMenu_OpenConfigMenu";
|
||||
};
|
||||
class labelSubHeader: ACE_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: ACE_gui_buttonBase {
|
||||
idc = 1000;
|
||||
text = "$STR_ACE_OptionsMenu_TabOptions";
|
||||
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 = QUOTE([MENU_TAB_OPTIONS] call FUNC(onListBoxShowSelectionChanged););
|
||||
};
|
||||
class selectionAction_2: selectionAction_1 {
|
||||
idc = 1001;
|
||||
text = "$STR_ACE_OptionsMenu_TabColors";
|
||||
x = "10.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
action = QUOTE([MENU_TAB_COLORS] call FUNC(onListBoxShowSelectionChanged););
|
||||
};
|
||||
class selectionAction_3: selectionAction_1 {
|
||||
idc = 1002;
|
||||
text = "---";
|
||||
x = "20 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
action = "";
|
||||
};
|
||||
class selectionAction_4: selectionAction_1 {
|
||||
idc = 1003;
|
||||
text = "---";
|
||||
x = "29.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
action = "";
|
||||
};
|
||||
class listBoxSettingsList: ACE_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 = "15 * ((((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};
|
||||
onLBSelChanged = QUOTE(_this call FUNC(settingsMenuUpdateKeyView));
|
||||
};
|
||||
class labelTitle: ACE_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: ACE_gui_staticBase { //Variable Name
|
||||
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 = "";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.5)";
|
||||
};
|
||||
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 = "Setting:";
|
||||
SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
};
|
||||
class comboBox1: ACE_gui_comboBoxBase {
|
||||
idc = 400;
|
||||
x = "31.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 = "7 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
onLBSelChanged = QUOTE( call FUNC(onListBoxSettingsChanged));
|
||||
};
|
||||
class sliderBar1: RscXSliderH {
|
||||
idc = 410;
|
||||
x = "27.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 = "11 * (((safezoneW / safezoneH) min 1.2) / 40)";
|
||||
h = "0.75 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
onSliderPosChanged = QUOTE(_this call FUNC(onSliderPosChanged));
|
||||
color[] = {1,0,0,0.4};
|
||||
colorActive[] = {1,0,0,1};
|
||||
};
|
||||
class sliderBar2: sliderBar1 {
|
||||
idc = 411;
|
||||
y = "8.2 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
color[] = {0,1,0,0.4};
|
||||
colorActive[] = {0,1,0,1};
|
||||
};
|
||||
class sliderBar3: sliderBar1 {
|
||||
idc = 412;
|
||||
y = "9.1 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
color[] = {0,0,1,0.4};
|
||||
colorActive[] = {0,0,1,1};
|
||||
};
|
||||
class sliderBar4: sliderBar1 {
|
||||
idc = 413;
|
||||
y = "10 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2)";
|
||||
color[] = {1,1,1,0.4};
|
||||
colorActive[] = {1,1,1,1};
|
||||
};
|
||||
class labelDesc: ACE_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 = "11 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
|
||||
text = "";
|
||||
style = ST_LEFT + ST_MULTI;
|
||||
lineSpacing = 1;
|
||||
sizeEx = 0.03;
|
||||
};
|
||||
class actionClose: ACE_gui_buttonBase {
|
||||
idc = 10;
|
||||
text = "$STR_DISP_CLOSE";
|
||||
x = "1 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
y = "22.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 action_animation: actionClose {
|
||||
idc = 1100;
|
||||
text = "$STR_ACE_OptionsMenu_FixAnimation";
|
||||
x = "7.5 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
// action = "if ([player] call ACE_fnc_canInteract && {animationState player == 'deadState' || animationState player == 'unconscious'} && {(vehicle player == player)}) then { [player, 'amovppnemstpsnonwnondnon'] call ACE_fnc_broadcastAnim; };";
|
||||
action = "hint 'todo???'";
|
||||
};
|
||||
class action_reset: actionClose {
|
||||
idc = 1100;
|
||||
text = "$STR_ACE_OptionsMenu_ResetAll";
|
||||
x = "14 * (((safezoneW / safezoneH) min 1.2) / 40) + (safezoneX + (safezoneW - ((safezoneW / safezoneH) min 1.2))/2)";
|
||||
action = QUOTE([] call FUNC(resetSettings));
|
||||
};
|
||||
};
|
||||
};
|
19
addons/optionsmenu/script_component.hpp
Normal file
19
addons/optionsmenu/script_component.hpp
Normal file
@ -0,0 +1,19 @@
|
||||
#define COMPONENT optionsmenu
|
||||
|
||||
#define DEBUG_MODE_FULL
|
||||
|
||||
#include "\z\ace\addons\main\script_mod.hpp"
|
||||
|
||||
#ifdef DEBUG_ENABLED_OPTIONSMENU
|
||||
#define DEBUG_MODE_FULL
|
||||
#endif
|
||||
|
||||
#ifdef DEBUG_SETTINGS_OPTIONSMENU
|
||||
#define DEBUG_SETTINGS DEBUG_SETTINGS_OPTIONSMENU
|
||||
#endif
|
||||
|
||||
#include "\z\ace\addons\main\script_macros.hpp"
|
||||
|
||||
#define MENU_TAB_OPTIONS 0
|
||||
#define MENU_TAB_COLORS 1
|
||||
|
56
addons/optionsmenu/stringtable.xml
Normal file
56
addons/optionsmenu/stringtable.xml
Normal file
@ -0,0 +1,56 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Edited with tabler - 2015-01-21 -->
|
||||
<Project name="ACE">
|
||||
<Package name="OptionsMenu">
|
||||
<Key ID="STR_ACE_OptionsMenu_OpenConfigMenu">
|
||||
<English>Configure ACE</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_OptionsMenu_FixAnimation">
|
||||
<English>Fix Animation</English>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_OptionsMenu_ResetAll">
|
||||
<English>Reset All</English>
|
||||
<German>Rücksetzen</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_OptionsMenu_TabColors">
|
||||
<English>Colors</English>
|
||||
<German>Farben</German>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_OptionsMenu_TabOptions">
|
||||
<English>Options</English>
|
||||
<German>Optionen</German>
|
||||
<Spanish>Opciones</Spanish>
|
||||
<Polish>Opcje</Polish>
|
||||
<Czech>Nastavení</Czech>
|
||||
<French>Options</French>
|
||||
<Russian>Настройки</Russian>
|
||||
<Portuguese>Opções</Portuguese>
|
||||
<Hungarian>Opciók</Hungarian>
|
||||
<Italian>Opzioni</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_OptionsMenu_Enabled">
|
||||
<English>Yes</English>
|
||||
<German>Ja</German>
|
||||
<Spanish>Si</Spanish>
|
||||
<Polish>Tak</Polish>
|
||||
<Czech>Ano</Czech>
|
||||
<French>Oui</French>
|
||||
<Russian>Да</Russian>
|
||||
<Hungarian>Igen</Hungarian>
|
||||
<Portuguese>Sim</Portuguese>
|
||||
<Italian>Si</Italian>
|
||||
</Key>
|
||||
<Key ID="STR_ACE_OptionsMenu_Disabled">
|
||||
<English>No</English>
|
||||
<German>Nein</German>
|
||||
<Spanish>No</Spanish>
|
||||
<Polish>Nie</Polish>
|
||||
<Czech>Ne</Czech>
|
||||
<French>Non</French>
|
||||
<Russian>Нет</Russian>
|
||||
<Hungarian>Nem</Hungarian>
|
||||
<Portuguese>Não</Portuguese>
|
||||
<Italian>No</Italian>
|
||||
</Key>
|
||||
</Package>
|
||||
</Project>
|
Loading…
Reference in New Issue
Block a user