mirror of
https://github.com/EpochModTeam/Epoch.git
synced 2024-08-30 18:22:13 +00:00
@EpochDevLibs initial commit
This commit is contained in:
parent
5af91794ae
commit
209999fc9d
BIN
Tools/DevFrameWork/@EpochDevTools/Addons/rmx_init.pbo
Normal file
BIN
Tools/DevFrameWork/@EpochDevTools/Addons/rmx_init.pbo
Normal file
Binary file not shown.
BIN
Tools/DevFrameWork/@EpochDevTools/Addons/rmx_sandbox.pbo
Normal file
BIN
Tools/DevFrameWork/@EpochDevTools/Addons/rmx_sandbox.pbo
Normal file
Binary file not shown.
BIN
Tools/DevFrameWork/@EpochDevTools/mod.cpp
Normal file
BIN
Tools/DevFrameWork/@EpochDevTools/mod.cpp
Normal file
Binary file not shown.
BIN
Tools/DevFrameWork/@EpochDevTools/mod.paa
Normal file
BIN
Tools/DevFrameWork/@EpochDevTools/mod.paa
Normal file
Binary file not shown.
99
Tools/DevFrameWork/README.md
Normal file
99
Tools/DevFrameWork/README.md
Normal file
@ -0,0 +1,99 @@
|
||||
Epoch Developer Libraries (Framework)
|
||||
=====
|
||||
http://epochmod.com
|
||||
|
||||
## This guide is WIP
|
||||
|
||||
These tools are for developers only, please do not use on public servers, local development servers only!
|
||||
|
||||
Technically you can simply copy/paste existing files into your Arma root and forget about it, unless you intend to use these tools for its intended purpose - as a development framework
|
||||
|
||||
Don't forget to load the @mod on client
|
||||
|
||||
Server config:
|
||||
|
||||
Make sure -filepatching is enabled
|
||||
|
||||
##### .bat file example
|
||||
```
|
||||
@echo off
|
||||
start "arma3" arma3server.exe autoInit -filepatching -mod=@EpochExperimental; -serverMod=@EpochHive; -port=2302 -config=c:\a3server\sc\server.cfg -cfg=C:\A3Server\sc\basic.cfg -profiles=sc -name=sc
|
||||
```
|
||||
|
||||
* server.cfg
|
||||
* verifySignatures = 0;
|
||||
* BattlEye = 0;
|
||||
* allowedFilePatching = 2;
|
||||
* // WHITELIST FILE TYPES
|
||||
* allowedLoadFileExtensions[] = {:};
|
||||
* allowedPreprocessFileExtensions[] = {"sqf"};
|
||||
* allowedHTMLLoadExtensions[] = {"html"};
|
||||
|
||||
|
||||
# Advanced:
|
||||
|
||||
|
||||
Create your own sandbox using mine as a template, this will save you headache on future tool updates.
|
||||
I will provide a clean template later.
|
||||
|
||||
To create your own sandbox:
|
||||
* Copy rmx_sanbox folder and rename it
|
||||
* update .bat file to support your new folder
|
||||
* update $PBOPREFIX$
|
||||
* delete "epoch" folder
|
||||
* clean up config.cpp (see class A3E)
|
||||
* cleanup sandbox.sqf
|
||||
* you can either clean up variables.sqf, rename or delete it. It is used for F3 menu - to save permament code snippets :)
|
||||
|
||||
Config.cpp
|
||||
```
|
||||
preInit = 1; //function run as soon as missionNamespace is created
|
||||
postInit = 1; //function is run after everything else is loaded
|
||||
recompile = 1; //function is not finalized and can be recompiled live using rmx_fnc_recompile or F3 menu (auto populated)
|
||||
```
|
||||
|
||||
### Tools:
|
||||
|
||||
##### F2 - Debug console
|
||||
you need an include in each of your scritps for it to work
|
||||
```
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
```
|
||||
|
||||
to call debug console events you need to call infos, warnings or critical from your scripts. Examples:
|
||||
```
|
||||
"this is info" info;
|
||||
(2+2) warning;
|
||||
(call _myfnc) critical;
|
||||
```
|
||||
|
||||
#### F3 - Quick launch
|
||||
|
||||
Edit variables.sqf
|
||||
|
||||
Quick launch depends on rmx_var_quickFnc_items array, that's all there is to it.
|
||||
|
||||
You can save code snippets here that you use the most.
|
||||
```
|
||||
Syntax: [[RGBA],name,function]
|
||||
```
|
||||
|
||||
#### F4 - variable watcher, see my youtube video
|
||||
|
||||
#### F5, F6 etc tools are mostly used for Single player to change weather or post processing effects.
|
||||
|
||||
|
||||
edit .bat file
|
||||
|
||||
make sure you also point to includes.txt correctly without spaces
|
||||
|
||||
Shit, this documentation will take me a week to compile all the features properly...
|
||||
|
||||
License:
|
||||
=====
|
||||
Arma Public License Share Alike (APL-SA).
|
||||
http://www.bistudio.com/community/licenses/arma-public-license-share-alike
|
||||
|
||||
Credits:
|
||||
=====
|
||||
https://github.com/EpochModTeam/Epoch/blob/release/CREDITS.md
|
1
Tools/DevFrameWork/x/addons/include.txt
Normal file
1
Tools/DevFrameWork/x/addons/include.txt
Normal file
@ -0,0 +1 @@
|
||||
*.xml;*.pac;*.paa;*.sqf;*.sqs;*.bikb;*.fsm;*.wss;*.ogg;*.wav;*.fxy;*.csv;*.html;*.lip;*.txt;*.wrp;*.bisurf;*.rvmat;*.sqm;*.ext;*.rtm;*.p3d;*.cfg;
|
42
Tools/DevFrameWork/x/addons/pack.bat
Normal file
42
Tools/DevFrameWork/x/addons/pack.bat
Normal file
@ -0,0 +1,42 @@
|
||||
@echo on
|
||||
setlocal
|
||||
|
||||
rd P:\temp /s /q
|
||||
|
||||
SET bin=D:\SteamLibrary\SteamApps\common\Arma 3 Tools\AddonBuilder
|
||||
SET arma=E:\Steam\SteamApps\common\Arma 3
|
||||
SET patch=E:\Steam\SteamApps\common\Arma 3\x\addons
|
||||
SET modPath=%arma%\@EpochDev\Addons
|
||||
SET devPath=%arma%\@EpochDevTools\Addons
|
||||
|
||||
:: Array
|
||||
SET list=epoch_code epoch_config a3_epoch_language
|
||||
SET devlist=rmx_init rmx_sandbox
|
||||
:: Loops trough array and makes PBO if folder exists
|
||||
for %%i in (%list%) do (
|
||||
IF EXIST %patch%\%%i (
|
||||
"%bin%\AddonBuilder.exe" "%patch%\%%i" "%patch%" -prefix="x\addons\a3_%%i" -include=F:\includes.txt -temp=P:\temp -packonly
|
||||
)
|
||||
)
|
||||
for %%i in (%devlist%) do (
|
||||
IF EXIST %patch%\%%i (
|
||||
"%bin%\AddonBuilder.exe" "%patch%\%%i" "%patch%" -prefix="x\addons\%%i" -include=F:\includes.txt -temp=P:\temp -packonly
|
||||
)
|
||||
)
|
||||
|
||||
for %%i in (%devlist%) do (
|
||||
move /Y "%patch%\%%i.pbo" "%devPath%"
|
||||
)
|
||||
|
||||
::for %%i in (%list%) do (
|
||||
:: rename "%patch%\%%i.pbo" "a3_%%i.pbo"
|
||||
::)
|
||||
|
||||
move /Y "%patch%\*.pbo" "%modPath%"
|
||||
|
||||
set IP=192.168.1.100
|
||||
set PORT=2302
|
||||
|
||||
rem timeout 3
|
||||
rem start "MP" "%arma%\arma3.exe" -connect=%IP% -port=%PORT% -filePatching -window -mod=@EpochExperimental;@EpochDevLibs; -malloc=system -skipintro -noSplash -noPause -world=empty -showScriptErrors -password=test123
|
||||
@exit
|
1
Tools/DevFrameWork/x/addons/rmx_init/$PBOPREFIX$
Normal file
1
Tools/DevFrameWork/x/addons/rmx_init/$PBOPREFIX$
Normal file
@ -0,0 +1 @@
|
||||
x\addons\rmx_init
|
5
Tools/DevFrameWork/x/addons/rmx_init/BIS_AddonInfo.hpp
Normal file
5
Tools/DevFrameWork/x/addons/rmx_init/BIS_AddonInfo.hpp
Normal file
@ -0,0 +1,5 @@
|
||||
class BIS_AddonInfo
|
||||
{
|
||||
author="";
|
||||
timepacked="1468263040";
|
||||
};
|
680
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/atmosFEAR.hpp
Normal file
680
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/atmosFEAR.hpp
Normal file
@ -0,0 +1,680 @@
|
||||
class dUI_atmosFear {
|
||||
idd = 8100;
|
||||
enableSimulation = 1;
|
||||
movingEnable = 1;
|
||||
onKeyDown = "_this call rmx_fnc_keyDown;";
|
||||
onUnload = "['unload'] call rmx_fnc_atmosFearActions;";
|
||||
|
||||
class controls {
|
||||
|
||||
//Background
|
||||
class dUI_af_background: IGUIBack
|
||||
{
|
||||
idc = -1;
|
||||
x = 0.304062 * safezoneW + safezoneX;
|
||||
y = 0.1898 * safezoneH + safezoneY;
|
||||
w = 0.39184 * safezoneW;
|
||||
h = 0.671 * safezoneH;
|
||||
colorBackground[] = {0,0,0,0.5};
|
||||
};
|
||||
|
||||
//Frames
|
||||
class dUI_af_f_generics: RscFrame
|
||||
{
|
||||
idc = -1;
|
||||
x = 0.31336 * safezoneW + safezoneX;
|
||||
y = 0.225 * safezoneH + safezoneY;
|
||||
w = 0.370186 * safezoneW;
|
||||
h = 0.1694 * safezoneH;
|
||||
colorText[] = {1,1,1,1};
|
||||
};
|
||||
class dUI_af_f_fog: RscFrame
|
||||
{
|
||||
idc = -1;
|
||||
text = "Fog"; //--- ToDo: Localize;
|
||||
x = 0.313344 * safezoneW + safezoneX;
|
||||
y = 0.4032 * safezoneH + safezoneY;
|
||||
w = 0.37125 * safezoneW;
|
||||
h = 0.1188 * safezoneH;
|
||||
};
|
||||
class dUI_af_f_wind: RscFrame
|
||||
{
|
||||
idc = -1;
|
||||
text = "Wind"; //--- ToDo: Localize;
|
||||
x = 0.313344 * safezoneW + safezoneX;
|
||||
y = 0.5308 * safezoneH + safezoneY;
|
||||
w = 0.37125 * safezoneW;
|
||||
h = 0.242 * safezoneH;
|
||||
};
|
||||
|
||||
//Text
|
||||
class dUI_af_txt_winda2_array: RscText
|
||||
{
|
||||
idc = 8101;
|
||||
text = "[100, 100, true]"; //--- ToDo: Localize;
|
||||
x = 0.315406 * safezoneW + safezoneX;
|
||||
y = 0.7112 * safezoneH + safezoneY;
|
||||
w = 0.133031 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
colorText[] = {0.79,0.46,0,1};
|
||||
};
|
||||
class dUI_af_txt_wind_dir_val: RscText
|
||||
{
|
||||
idc = 8102;
|
||||
text = "360"; //--- ToDo: Localize;
|
||||
x = 0.380375 * safezoneW + safezoneX;
|
||||
y = 0.6452 * safezoneH + safezoneY;
|
||||
w = 0.0505318 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
colorText[] = {0.79,0.46,0,1};
|
||||
};
|
||||
class dUI_af_title: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "AtmosFEAR"; //--- ToDo: Localize;
|
||||
x = 0.298925 * safezoneW + safezoneX;
|
||||
y = 0.1986 * safezoneH + safezoneY;
|
||||
w = 0.0721875 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
colorText[] = {0.75,0.34,0,1};
|
||||
colorBackground[] = {0,0,0,0.8};
|
||||
};
|
||||
class dUI_af_txt_gusts: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "Gusts"; //--- ToDo: Localize;
|
||||
x = 0.315407 * safezoneW + safezoneX;
|
||||
y = 0.3306 * safezoneH + safezoneY;
|
||||
w = 0.0360937 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_Lightnings: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "Lightnings"; //--- ToDo: Localize;
|
||||
x = 0.315413 * safezoneW + safezoneX;
|
||||
y = 0.2382 * safezoneH + safezoneY;
|
||||
w = 0.0453749 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_Overcast: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "Overcast"; //--- ToDo: Localize;
|
||||
x = 0.315406 * safezoneW + safezoneX;
|
||||
y = 0.269 * safezoneH + safezoneY;
|
||||
w = 0.0453749 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_rain: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "Rain"; //--- ToDo: Localize;
|
||||
x = 0.315407 * safezoneW + safezoneX;
|
||||
y = 0.3636 * safezoneH + safezoneY;
|
||||
w = 0.0453749 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_rainbow: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "Rainbow"; //--- ToDo: Localize;
|
||||
x = 0.315407 * safezoneW + safezoneX;
|
||||
y = 0.2998 * safezoneH + safezoneY;
|
||||
w = 0.0453749 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_fog_density: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "Density"; //--- ToDo: Localize;
|
||||
x = 0.315408 * safezoneW + safezoneX;
|
||||
y = 0.4208 * safezoneH + safezoneY;
|
||||
w = 0.0453749 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_fog_decay: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "Decay"; //--- ToDo: Localize;
|
||||
x = 0.315407 * safezoneW + safezoneX;
|
||||
y = 0.4538 * safezoneH + safezoneY;
|
||||
w = 0.0453749 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_fog_altitude: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "Altitude"; //--- ToDo: Localize;
|
||||
x = 0.315408 * safezoneW + safezoneX;
|
||||
y = 0.4868 * safezoneH + safezoneY;
|
||||
w = 0.0453749 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_wind_str: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "Strength"; //--- ToDo: Localize;
|
||||
x = 0.315407 * safezoneW + safezoneX;
|
||||
y = 0.5462 * safezoneH + safezoneY;
|
||||
w = 0.0453749 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_wind_dir: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "Direction"; //--- ToDo: Localize;
|
||||
x = 0.31519 * safezoneW + safezoneX;
|
||||
y = 0.644667 * safezoneH + safezoneY;
|
||||
w = 0.0453749 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_wind_frc: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "Force"; //--- ToDo: Localize;
|
||||
x = 0.315407 * safezoneW + safezoneX;
|
||||
y = 0.5792 * safezoneH + safezoneY;
|
||||
w = 0.0453749 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_waves: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "Waves"; //--- ToDo: Localize;
|
||||
x = 0.315407 * safezoneW + safezoneX;
|
||||
y = 0.6122 * safezoneH + safezoneY;
|
||||
w = 0.0453749 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_winda2: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "Wind (A2)"; //--- ToDo: Localize;
|
||||
x = 0.315732 * safezoneW + safezoneX;
|
||||
y = 0.686667 * safezoneH + safezoneY;
|
||||
w = 0.0453749 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_help1: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "m/s Positive: EAST | Negative: WEST"; //--- ToDo: Localize;
|
||||
x = 0.483501 * safezoneW + safezoneX;
|
||||
y = 0.6826 * safezoneH + safezoneY;
|
||||
w = 0.197976 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_help2: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "m/s Positive: NORTH | Negative: SOUTH"; //--- ToDo: Localize;
|
||||
x = 0.482876 * safezoneW + safezoneX;
|
||||
y = 0.713519 * safezoneH + safezoneY;
|
||||
w = 0.197976 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
class dUI_af_txt_help3: RscText
|
||||
{
|
||||
idc = -1;
|
||||
text = "Force?"; //--- ToDo: Localize;
|
||||
x = 0.483501 * safezoneW + safezoneX;
|
||||
y = 0.7442 * safezoneH + safezoneY;
|
||||
w = 0.0453749 * safezoneW;
|
||||
h = 0.0198 * safezoneH;
|
||||
};
|
||||
|
||||
//Progress Bar
|
||||
class dUI_af_p_lightning: RscProgress
|
||||
{
|
||||
idc = 8110;
|
||||
texture = "";
|
||||
textureExt = "";
|
||||
colorBar[] = {0.9, 0.9, 0.9, 0.9};
|
||||
colorExtBar[] = {1, 1, 1, 1};
|
||||
colorFrame[] = {1, 1, 1, 1};
|
||||
x = 0.362842 * safezoneW + safezoneX;
|
||||
y = 0.236 * safezoneH + safezoneY;
|
||||
w = 0.0876563 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_p_overcast: dUI_af_p_lightning
|
||||
{
|
||||
idc = 8111;
|
||||
x = 0.362844 * safezoneW + safezoneX;
|
||||
y = 0.2668 * safezoneH + safezoneY;
|
||||
w = 0.0876563 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_p_rainbow: dUI_af_p_lightning
|
||||
{
|
||||
idc = 8112;
|
||||
x = 0.362844 * safezoneW + safezoneX;
|
||||
y = 0.2976 * safezoneH + safezoneY;
|
||||
w = 0.0876563 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_p_gusts: dUI_af_p_lightning
|
||||
{
|
||||
idc = 8113;
|
||||
x = 0.362844 * safezoneW + safezoneX;
|
||||
y = 0.3284 * safezoneH + safezoneY;
|
||||
w = 0.0876563 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_p_rain: dUI_af_p_lightning
|
||||
{
|
||||
idc = 8114;
|
||||
x = 0.362844 * safezoneW + safezoneX;
|
||||
y = 0.3614 * safezoneH + safezoneY;
|
||||
w = 0.0876563 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
|
||||
class dUI_af_p_fog_density: dUI_af_p_lightning
|
||||
{
|
||||
idc = 8115;
|
||||
x = 0.362843 * safezoneW + safezoneX;
|
||||
y = 0.4186 * safezoneH + safezoneY;
|
||||
w = 0.0876563 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
|
||||
class dUI_af_p_fog_decay: dUI_af_p_lightning
|
||||
{
|
||||
idc = 8116;
|
||||
x = 0.362844 * safezoneW + safezoneX;
|
||||
y = 0.4538 * safezoneH + safezoneY;
|
||||
w = 0.0876563 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_p_fog_altitude: dUI_af_p_lightning
|
||||
{
|
||||
idc = 8117;
|
||||
x = 0.362844 * safezoneW + safezoneX;
|
||||
y = 0.4868 * safezoneH + safezoneY;
|
||||
w = 0.0876563 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
|
||||
class dUI_af_p_wind_str: dUI_af_p_lightning
|
||||
{
|
||||
idc = 8118;
|
||||
x = 0.362842 * safezoneW + safezoneX;
|
||||
y = 0.5462 * safezoneH + safezoneY;
|
||||
w = 0.0876563 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
|
||||
class dUI_af_p_waves: dUI_af_p_lightning
|
||||
{
|
||||
idc = 8119;
|
||||
x = 0.362844 * safezoneW + safezoneX;
|
||||
y = 0.61 * safezoneH + safezoneY;
|
||||
w = 0.0876563 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
/*
|
||||
class dUI_af_p_wind_frc: dUI_af_p_lightning //not implemented yet
|
||||
{
|
||||
idc = 8120;
|
||||
x = 0.363234 * safezoneW + safezoneX;
|
||||
y = 0.577985 * safezoneH + safezoneY;
|
||||
w = 0.0876563 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
*/
|
||||
//Input fields
|
||||
|
||||
class dUI_af_t_rain: RscEdit
|
||||
{
|
||||
idc = 8130;
|
||||
text = "0"; //--- ToDo: Localize;
|
||||
x = 0.453595 * safezoneW + safezoneX;
|
||||
y = 0.3592 * safezoneH + safezoneY;
|
||||
w = 0.0268126 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
colorText[] = {0.79,0.46,0,1};
|
||||
};
|
||||
class dUI_af_t_fog: RscEdit
|
||||
{
|
||||
idc = 8131;
|
||||
text = "0"; //--- ToDo: Localize;
|
||||
x = 0.454626 * safezoneW + safezoneX;
|
||||
y = 0.4538 * safezoneH + safezoneY;
|
||||
w = 0.0268126 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
colorText[] = {0.79,0.46,0,1};
|
||||
};
|
||||
class dUI_af_t_wind: RscEdit
|
||||
{
|
||||
idc = 8132;
|
||||
text = "0"; //--- ToDo: Localize;
|
||||
x = 0.453594 * safezoneW + safezoneX;
|
||||
y = 0.5462 * safezoneH + safezoneY;
|
||||
w = 0.0268126 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
colorText[] = {0.79,0.46,0,1};
|
||||
};
|
||||
class dUI_af_t_force: RscEdit
|
||||
{
|
||||
idc = 8133;
|
||||
text = "0"; //--- ToDo: Localize;
|
||||
x = 0.45422 * safezoneW + safezoneX;
|
||||
y = 0.577748 * safezoneH + safezoneY;
|
||||
w = 0.0268126 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
colorText[] = {0.79,0.46,0,1};
|
||||
};
|
||||
class dUI_af_t_waves: RscEdit
|
||||
{
|
||||
idc = 8134;
|
||||
text = "0"; //--- ToDo: Localize;
|
||||
x = 0.454625 * safezoneW + safezoneX;
|
||||
y = 0.61 * safezoneH + safezoneY;
|
||||
w = 0.0268126 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
colorText[] = {0.79,0.46,0,1};
|
||||
};
|
||||
|
||||
class dUI_af_t_dir: RscEdit
|
||||
{
|
||||
idc = 8135;
|
||||
text = "0"; //--- ToDo: Localize;
|
||||
x = 0.454625 * safezoneW + safezoneX;
|
||||
y = 0.643 * safezoneH + safezoneY;
|
||||
w = 0.0268126 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
colorText[] = {0.79,0.46,0,1};
|
||||
};
|
||||
class dUI_af_t_winda2_x: RscEdit
|
||||
{
|
||||
idc = 8136;
|
||||
text = "x"; //--- ToDo: Localize;
|
||||
x = 0.454625 * safezoneW + safezoneX;
|
||||
y = 0.6804 * safezoneH + safezoneY;
|
||||
w = 0.0268126 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
};
|
||||
|
||||
class dUI_af_t_winda2_y: RscEdit
|
||||
{
|
||||
idc = 8137;
|
||||
text = "y"; //--- ToDo: Localize;
|
||||
x = 0.454626 * safezoneW + safezoneX;
|
||||
y = 0.7112 * safezoneH + safezoneY;
|
||||
w = 0.0268126 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
};
|
||||
class dUI_af_t_export: RscEdit
|
||||
{
|
||||
idc = 8138;
|
||||
x = 0.312343 * safezoneW + safezoneX;
|
||||
y = 0.8234 * safezoneH + safezoneY;
|
||||
w = 0.0948749 * safezoneW;
|
||||
h = 0.0264 * safezoneH;
|
||||
};
|
||||
class dUI_af_t_day: RscEdit
|
||||
{
|
||||
idc = 8139;
|
||||
text = "26"; //--- ToDo: Localize;
|
||||
x = 0.48762 * safezoneW + safezoneX;
|
||||
y = 0.7882 * safezoneH + safezoneY;
|
||||
w = 0.0268124 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
colorText[] = {0.79,0.46,0,1};
|
||||
};
|
||||
class dUI_af_t_month: RscEdit
|
||||
{
|
||||
idc = 8140;
|
||||
text = "1"; //--- ToDo: Localize;
|
||||
x = 0.516495 * safezoneW + safezoneX;
|
||||
y = 0.7882 * safezoneH + safezoneY;
|
||||
w = 0.0268124 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
colorText[] = {0.79,0.46,0,1};
|
||||
};
|
||||
class dUI_af_t_year: RscEdit
|
||||
{
|
||||
idc = 8141;
|
||||
text = "1985"; //--- ToDo: Localize;
|
||||
x = 0.54537 * safezoneW + safezoneX;
|
||||
y = 0.7882 * safezoneH + safezoneY;
|
||||
w = 0.0268124 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
colorText[] = {0.79,0.46,0,1};
|
||||
};
|
||||
class dUI_af_t_hours: RscEdit
|
||||
{
|
||||
idc = 8142;
|
||||
text = "24"; //--- ToDo: Localize;
|
||||
x = 0.48731 * safezoneW + safezoneX;
|
||||
y = 0.8245 * safezoneH + safezoneY;
|
||||
w = 0.0268124 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
colorText[] = {0.79,0.46,0,1};
|
||||
};
|
||||
class dUI_af_t_minutes: RscEdit
|
||||
{
|
||||
idc = 8143;
|
||||
text = "00"; //--- ToDo: Localize;
|
||||
x = 0.516082 * safezoneW + safezoneX;
|
||||
y = 0.8245 * safezoneH + safezoneY;
|
||||
w = 0.0268124 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
colorText[] = {0.79,0.46,0,1};
|
||||
};
|
||||
class dUI_af_t_skipTime: RscEdit
|
||||
{
|
||||
idc = 8144;
|
||||
text = "0.5"; //--- ToDo: Localize;
|
||||
x = 0.637155 * safezoneW + safezoneX;
|
||||
y = 0.7794 * safezoneH + safezoneY;
|
||||
w = 0.0278435 * safezoneW;
|
||||
h = 0.0286 * safezoneH;
|
||||
colorText[] = {0.79,0.46,0,1};
|
||||
};
|
||||
//Sliders
|
||||
class dUI_af_s_lightnings: RscSlider
|
||||
{
|
||||
idc = 8150;
|
||||
x = 0.483519 * safezoneW + safezoneX;
|
||||
y = 0.2382 * safezoneH + safezoneY;
|
||||
w = 0.195919 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_s_overcast: RscSlider
|
||||
{
|
||||
idc = 8151;
|
||||
x = 0.4835 * safezoneW + safezoneX;
|
||||
y = 0.269 * safezoneH + safezoneY;
|
||||
w = 0.195919 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_s_rainbow: RscSlider
|
||||
{
|
||||
idc = 8152;
|
||||
x = 0.483501 * safezoneW + safezoneX;
|
||||
y = 0.2976 * safezoneH + safezoneY;
|
||||
w = 0.195919 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_s_gusts: RscSlider
|
||||
{
|
||||
idc = 8153;
|
||||
x = 0.4835 * safezoneW + safezoneX;
|
||||
y = 0.3284 * safezoneH + safezoneY;
|
||||
w = 0.195919 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_s_rain: RscSlider
|
||||
{
|
||||
idc = 8154;
|
||||
x = 0.483501 * safezoneW + safezoneX;
|
||||
y = 0.3614 * safezoneH + safezoneY;
|
||||
w = 0.195919 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_s_fog_Decay: RscSlider
|
||||
{
|
||||
idc = 8155;
|
||||
x = 0.484532 * safezoneW + safezoneX;
|
||||
y = 0.4538 * safezoneH + safezoneY;
|
||||
w = 0.195919 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_s_fog_density: RscSlider
|
||||
{
|
||||
idc = 8156;
|
||||
x = 0.484531 * safezoneW + safezoneX;
|
||||
y = 0.4208 * safezoneH + safezoneY;
|
||||
w = 0.195919 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_s_fog_altitude: RscSlider
|
||||
{
|
||||
idc = 8157;
|
||||
x = 0.484046 * safezoneW + safezoneX;
|
||||
y = 0.48817 * safezoneH + safezoneY;
|
||||
w = 0.195919 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_s_wind_str: RscSlider
|
||||
{
|
||||
idc = 8158;
|
||||
x = 0.483501 * safezoneW + safezoneX;
|
||||
y = 0.5462 * safezoneH + safezoneY;
|
||||
w = 0.195919 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_s_wind_frc: RscSlider
|
||||
{
|
||||
idc = 8159;
|
||||
x = 0.483499 * safezoneW + safezoneX;
|
||||
y = 0.5792 * safezoneH + safezoneY;
|
||||
w = 0.195919 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_s_waves: RscSlider
|
||||
{
|
||||
idc = 8160;
|
||||
x = 0.483501 * safezoneW + safezoneX;
|
||||
y = 0.6122 * safezoneH + safezoneY;
|
||||
w = 0.195919 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
class dUI_af_s_dir: RscSlider
|
||||
{
|
||||
idc = 8161;
|
||||
x = 0.4835 * safezoneW + safezoneX;
|
||||
y = 0.6452 * safezoneH + safezoneY;
|
||||
w = 0.195919 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
};
|
||||
|
||||
//Checkboxes
|
||||
class dUI_af_b_winda2: RscCheckbox
|
||||
{
|
||||
idc = 8170;
|
||||
x = 0.452564 * safezoneW + safezoneX;
|
||||
y = 0.742 * safezoneH + safezoneY;
|
||||
w = 0.0144373 * safezoneW;
|
||||
h = 0.0264 * safezoneH;
|
||||
};
|
||||
|
||||
//Combo
|
||||
class dUI_af_c_import: RscCombo
|
||||
{
|
||||
idc = 8180;
|
||||
x = 0.312318 * safezoneW + safezoneX;
|
||||
y = 0.786 * safezoneH + safezoneY;
|
||||
w = 0.0948858 * safezoneW;
|
||||
h = 0.0264 * safezoneH;
|
||||
onLBSelChanged = "_this call rmx_fnc_atmosFearActions;";
|
||||
};
|
||||
|
||||
//Buttons
|
||||
class dUI_af_btn_rpt: RscShortcutButton
|
||||
{
|
||||
idc = 8190;
|
||||
text = "RPT"; //--- ToDo: Localize;
|
||||
x = 0.647438 * safezoneW + safezoneX;
|
||||
y = 0.8168 * safezoneH + safezoneY;
|
||||
w = 0.0422814 * safezoneW;
|
||||
h = 0.033 * safezoneH;
|
||||
onButtonClick = "_this call rmx_fnc_atmosFearActions;";
|
||||
tooltip = "Apply changes before exporting to RPT";
|
||||
};
|
||||
class dUI_af_btn_apply: RscShortcutButton
|
||||
{
|
||||
idc = 8191;
|
||||
text = "Apply"; //--- ToDo: Localize;
|
||||
x = 0.59175 * safezoneW + safezoneX;
|
||||
y = 0.8168 * safezoneH + safezoneY;
|
||||
w = 0.0515625 * safezoneW;
|
||||
h = 0.033 * safezoneH;
|
||||
onButtonClick = "_this call rmx_fnc_atmosFearActions;";
|
||||
};
|
||||
class dUI_af_btn_import: RscButton
|
||||
{
|
||||
idc = 8192;
|
||||
text = "Load"; //--- ToDo: Localize;
|
||||
x = 0.410281 * safezoneW + safezoneX;
|
||||
y = 0.786 * safezoneH + safezoneY;
|
||||
w = 0.0257811 * safezoneW;
|
||||
h = 0.0264 * safezoneH;
|
||||
onButtonClick = "_this call rmx_fnc_atmosFearActions;";
|
||||
};
|
||||
class dUI_af_btn_export: RscButton
|
||||
{
|
||||
idc = 8193;
|
||||
text = "Save"; //--- ToDo: Localize;
|
||||
x = 0.410281 * safezoneW + safezoneX;
|
||||
y = 0.8234 * safezoneH + safezoneY;
|
||||
w = 0.0567187 * safezoneW;
|
||||
h = 0.0264 * safezoneH;
|
||||
onButtonClick = "_this call rmx_fnc_atmosFearActions;";
|
||||
tooltip = "Apply changes before saving";
|
||||
};
|
||||
class dUI_af_btn_set: RscButton
|
||||
{
|
||||
idc = 8194;
|
||||
text = "set"; //--- ToDo: Localize;
|
||||
x = 0.544957 * safezoneW + safezoneX;
|
||||
y = 0.8245 * safezoneH + safezoneY;
|
||||
w = 0.0268124 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
onButtonClick = "_this call rmx_fnc_atmosFearActions;";
|
||||
};
|
||||
class dUI_af_btn_plus: RscButton
|
||||
{
|
||||
idc = 8195;
|
||||
text = "+"; //--- ToDo: Localize;
|
||||
x = 0.666031 * safezoneW + safezoneX;
|
||||
y = 0.7816 * safezoneH + safezoneY;
|
||||
w = 0.0185621 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
onButtonClick = "_this call rmx_fnc_atmosFearActions;";
|
||||
};
|
||||
class dUI_af_btn_minus: RscButton
|
||||
{
|
||||
idc = 8196;
|
||||
text = "-"; //--- ToDo: Localize;
|
||||
x = 0.615499 * safezoneW + safezoneX;
|
||||
y = 0.7816 * safezoneH + safezoneY;
|
||||
w = 0.0185621 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
onButtonClick = "_this call rmx_fnc_atmosFearActions;";
|
||||
};
|
||||
class dUI_af_btn_del: RscButton
|
||||
{
|
||||
idc = 8197;
|
||||
text = "Delete"; //--- ToDo: Localize;
|
||||
x = 0.437093 * safezoneW + safezoneX;
|
||||
y = 0.786 * safezoneH + safezoneY;
|
||||
w = 0.0309372 * safezoneW;
|
||||
h = 0.0264 * safezoneH;
|
||||
onButtonClick = "_this call rmx_fnc_atmosFearActions;";
|
||||
};
|
||||
};
|
||||
};
|
399
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/console.hpp
Normal file
399
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/console.hpp
Normal file
@ -0,0 +1,399 @@
|
||||
class dUI_console {
|
||||
idd = 9100;
|
||||
enableSimulation = 1;
|
||||
movingEnable = 1;
|
||||
class controls {
|
||||
|
||||
class dUI_consoleFrame: RscFrame
|
||||
{
|
||||
idc = 9200;
|
||||
x = 0.00211241 * safezoneW + safezoneX;
|
||||
y = 0 * safezoneH + safezoneY;
|
||||
w = 0.244332 * safezoneW;
|
||||
h = 0.03 * safezoneH;
|
||||
};
|
||||
class dUI_console_text_plain_0: RscText
|
||||
{
|
||||
idc = 9201;
|
||||
text = "Info";
|
||||
x = 0.0699683 * safezoneW + safezoneX;
|
||||
y = 0 * safezoneH + safezoneY;
|
||||
w = 0.0216566 * safezoneW;
|
||||
h = 0.0286 * safezoneH;
|
||||
};
|
||||
class dUI_console_text_plain_1: RscText
|
||||
{
|
||||
idc = 9202;
|
||||
text = "Critical";
|
||||
x = 0.155556 * safezoneW + safezoneX;
|
||||
y = 0 * safezoneH + safezoneY;
|
||||
w = 0.0340316 * safezoneW;
|
||||
h = 0.0286 * safezoneH;
|
||||
};
|
||||
class dUI_console_text_plain_2: RscText
|
||||
{
|
||||
idc = 9203;
|
||||
text = "Warnings";
|
||||
x = 0.101936 * safezoneW + safezoneX;
|
||||
y = 0 * safezoneH + safezoneY;
|
||||
w = 0.0433128 * safezoneW;
|
||||
h = 0.0286 * safezoneH;
|
||||
};
|
||||
class dUI_console_text_plain_3: RscText
|
||||
{
|
||||
idc = 9204;
|
||||
text = "Pause";
|
||||
x = 0.200936 * safezoneW + safezoneX;
|
||||
y = 0 * safezoneH + safezoneY;
|
||||
w = 0.0340316 * safezoneW;
|
||||
h = 0.0286 * safezoneH;
|
||||
};
|
||||
class dUI_console_checkbox_0: RscCheckbox
|
||||
{
|
||||
idc = 9205;
|
||||
x = 0.0905927 * safezoneW + safezoneX;
|
||||
y = 0.0022 * safezoneH + safezoneY;
|
||||
w = 0.0123751 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
onCheckedChanged = "_this call rmx_fnc_consoleFilters;";
|
||||
};
|
||||
class dUI_console_checkbox_1: RscCheckbox
|
||||
{
|
||||
idc = 9206;
|
||||
x = 0.144212 * safezoneW + safezoneX;
|
||||
y = 0.0022 * safezoneH + safezoneY;
|
||||
w = 0.0123751 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
onCheckedChanged = "_this call rmx_fnc_consoleFilters;";
|
||||
};
|
||||
class dUI_console_checkbox_2: RscCheckbox
|
||||
{
|
||||
idc = 9207;
|
||||
x = 0.189587 * safezoneW + safezoneX;
|
||||
y = 0.0022 * safezoneH + safezoneY;
|
||||
w = 0.0123751 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
onCheckedChanged = "_this call rmx_fnc_consoleFilters;";
|
||||
};
|
||||
class dUI_console_checkbox_3: RscCheckbox
|
||||
{
|
||||
idc = 9208;
|
||||
x = 0.229813 * safezoneW + safezoneX;
|
||||
y = 0.0021 * safezoneH + safezoneY;
|
||||
w = 0.0123751 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
onCheckedChanged = "_this call rmx_fnc_consoleFilters;";
|
||||
};
|
||||
class dUI_console_button_0: RscButton
|
||||
{
|
||||
idc = 9209;
|
||||
text = "-";
|
||||
x = 0.0320173 * safezoneW + safezoneX;
|
||||
y = 0.0022 * safezoneH + safezoneY;
|
||||
w = 0.0175308 * safezoneW;
|
||||
h = 0.0264 * safezoneH;
|
||||
onButtonClick = "_this call rmx_fnc_consoleFilters;";
|
||||
};
|
||||
class dUI_console_button_1: RscButton
|
||||
{
|
||||
idc = 9210;
|
||||
text = "+";
|
||||
x = 0.0503738 * safezoneW + safezoneX;
|
||||
y = 0.0022 * safezoneH + safezoneY;
|
||||
w = 0.0175308 * safezoneW;
|
||||
h = 0.0264 * safezoneH;
|
||||
onButtonClick = "_this call rmx_fnc_consoleFilters;";
|
||||
};
|
||||
class dUI_console_button_3: RscButton
|
||||
{
|
||||
idc = 9211;
|
||||
text = "Clear";
|
||||
x = 0.00396872 * safezoneW + safezoneX;
|
||||
y = 0.0021 * safezoneH + safezoneY;
|
||||
w = 0.0268124 * safezoneW;
|
||||
h = 0.0264 * safezoneH;
|
||||
onButtonClick = "_this call rmx_fnc_consoleFilters;";
|
||||
};
|
||||
|
||||
class dUI_consoleGroup: RscControlsGroup
|
||||
{
|
||||
idc = 9050;
|
||||
x = 0 * safezoneW + safezoneX;
|
||||
y = 0 * safezoneH + safezoneY;
|
||||
w = 1 * safezoneW;
|
||||
h = 0 * safezoneH;
|
||||
colorBackground[] = {0,0,0,0};
|
||||
shadow=0;
|
||||
|
||||
class VScrollbar
|
||||
{
|
||||
width = 0.02;
|
||||
autoScrollSpeed = 1;
|
||||
autoScrollDelay = 2;
|
||||
autoScrollRewind = 0;
|
||||
shadow=0;
|
||||
};
|
||||
|
||||
class HScrollbar
|
||||
{
|
||||
height = 0;
|
||||
shadow=0;
|
||||
};
|
||||
|
||||
class ScrollBar
|
||||
{
|
||||
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)";
|
||||
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)";
|
||||
};
|
||||
|
||||
class controls
|
||||
{
|
||||
class dUI_console_text_0: dUI_ConsoleText
|
||||
{
|
||||
idc = 9000;
|
||||
y = 0 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_1: dUI_ConsoleText
|
||||
{
|
||||
idc = 9001;
|
||||
y = 0.025 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_2: dUI_ConsoleText
|
||||
{
|
||||
idc = 9002;
|
||||
y = 0.05 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_3: dUI_ConsoleText
|
||||
{
|
||||
idc = 9003;
|
||||
y = 0.075 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_4: dUI_ConsoleText
|
||||
{
|
||||
idc = 9004;
|
||||
y = 0.1 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_5: dUI_ConsoleText
|
||||
{
|
||||
idc = 9005;
|
||||
y = 0.125 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_6: dUI_ConsoleText
|
||||
{
|
||||
idc = 9006;
|
||||
y = 0.15 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_7: dUI_ConsoleText
|
||||
{
|
||||
idc = 9007;
|
||||
y = 0.175 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_8: dUI_ConsoleText
|
||||
{
|
||||
idc = 9008;
|
||||
y = 0.2 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_9: dUI_ConsoleText
|
||||
{
|
||||
idc = 9009;
|
||||
y = 0.225 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_10: dUI_ConsoleText
|
||||
{
|
||||
idc = 9010;
|
||||
y = 0.25 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_11: dUI_ConsoleText
|
||||
{
|
||||
idc = 9011;
|
||||
y = 0.275 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_12: dUI_ConsoleText
|
||||
{
|
||||
idc = 9012;
|
||||
y = 0.3 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_13: dUI_ConsoleText
|
||||
{
|
||||
idc = 9013;
|
||||
y = 0.325 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_14: dUI_ConsoleText
|
||||
{
|
||||
idc = 9014;
|
||||
y = 0.35 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_15: dUI_ConsoleText
|
||||
{
|
||||
idc = 9015;
|
||||
y = 0.375 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_16: dUI_ConsoleText
|
||||
{
|
||||
idc = 9016;
|
||||
y = 0.4 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_17: dUI_ConsoleText
|
||||
{
|
||||
idc = 9017;
|
||||
y = 0.425 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_18: dUI_ConsoleText
|
||||
{
|
||||
idc = 9018;
|
||||
y = 0.45 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_19: dUI_ConsoleText
|
||||
{
|
||||
idc = 9019;
|
||||
y = 0.475 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_20: dUI_ConsoleText
|
||||
{
|
||||
idc = 9020;
|
||||
y = 0.5 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_21: dUI_ConsoleText
|
||||
{
|
||||
idc = 9021;
|
||||
y = 0.525 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_22: dUI_ConsoleText
|
||||
{
|
||||
idc = 9022;
|
||||
y = 0.55 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_23: dUI_ConsoleText
|
||||
{
|
||||
idc = 9023;
|
||||
y = 0.575 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_24: dUI_ConsoleText
|
||||
{
|
||||
idc = 9024;
|
||||
y = 0.6 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_25: dUI_ConsoleText
|
||||
{
|
||||
idc = 9025;
|
||||
y = 0.625 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_26: dUI_ConsoleText
|
||||
{
|
||||
idc = 9026;
|
||||
y = 0.65 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_27: dUI_ConsoleText
|
||||
{
|
||||
idc = 9027;
|
||||
y = 0.675 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_28: dUI_ConsoleText
|
||||
{
|
||||
idc = 9028;
|
||||
y = 0.7 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_29: dUI_ConsoleText
|
||||
{
|
||||
idc = 9029;
|
||||
y = 0.725 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_30: dUI_ConsoleText
|
||||
{
|
||||
idc = 9030;
|
||||
y = 0.75 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_31: dUI_ConsoleText
|
||||
{
|
||||
idc = 9031;
|
||||
y = 0.775 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_32: dUI_ConsoleText
|
||||
{
|
||||
idc = 9032;
|
||||
y = 0.8 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_33: dUI_ConsoleText
|
||||
{
|
||||
idc = 9033;
|
||||
y = 0.825 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_34: dUI_ConsoleText
|
||||
{
|
||||
idc = 9034;
|
||||
y = 0.85 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_35: dUI_ConsoleText
|
||||
{
|
||||
idc = 9035;
|
||||
y = 0.875 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_36: dUI_ConsoleText
|
||||
{
|
||||
idc = 9036;
|
||||
y = 0.9 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_37: dUI_ConsoleText
|
||||
{
|
||||
idc = 9037;
|
||||
y = 0.925 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
class dUI_console_text_38: dUI_ConsoleText
|
||||
{
|
||||
idc = 9038;
|
||||
y = 0.95 * safeZoneH;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.31};
|
||||
};
|
||||
class dUI_console_text_39: dUI_ConsoleText
|
||||
{
|
||||
idc = 9039;
|
||||
y = 0.975 * safeZoneH;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.31};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
7
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/console2.hpp
Normal file
7
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/console2.hpp
Normal file
@ -0,0 +1,7 @@
|
||||
class dUI_console2: dUI_console
|
||||
{
|
||||
duration = 1e+1000;
|
||||
fadein = 0.5;
|
||||
fadeout = 0.5;
|
||||
onLoad = "uiNamespace setVariable ['rmx_var_console2',_this select 0]";
|
||||
};
|
218
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/editor.hpp
Normal file
218
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/editor.hpp
Normal file
@ -0,0 +1,218 @@
|
||||
/* #Wekeqo
|
||||
$[
|
||||
1.063,
|
||||
["console",[[0,0,1,1],0.025,0.04,"GUI_GRID"],0,0,0],
|
||||
[-2200,"bgrnd",[0,"",[0,-3.72529e-009,0.95,1],[-1,-1,-1,-1],[0.2,0.2,0.2,0.2],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1000,"title",[0,"Code Editor",[0,0,0.95,0.04],[-1,-1,-1,-1],[1,0.5,0,1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1400,"",[0,"",[0.025,0.12,0.9025,0.8],[-1,-1,-1,-1],[0.5,0.5,0.5,1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1600,"tab1",[0,"Tab1",[0.025,0.08,0.0975,0.04],[1,0.5,0,1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1601,"tab2",[0,"Tab2",[0.125,0.08,0.0975,0.04],[1,0.5,0,1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1602,"tab3",[0,"Tab3",[0.225,0.08,0.0975,0.04],[1,0.5,0,1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1603,"",[0,"Tab4",[0.325,0.08,0.0985,0.04],[1,0.5,0,1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1604,"",[0,"Tab5",[0.425,0.08,0.0975,0.04],[1,0.5,0,1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1605,"",[0,"Tab6",[0.525,0.08,0.0975,0.04],[1,0.5,0,1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1606,"",[0,"Tab7",[0.625,0.08,0.0975,0.04],[1,0.5,0,1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1607,"",[0,"Tab8",[0.725,0.08,0.0975,0.04],[1,0.5,0,1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1608,"",[0,"Tab9",[0.825,0.08,0.1025,0.04],[1,0.5,0,1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1001,"txt",[0,"Transparency",[0.005,0.94,0.14,0.036],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1900,"",[0,"",[0.155,0.928,0.39,0.068],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1609,"hide",[0,"_",[0.875,0,0.075,0.04],[1,0.5,0,1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1610,"Execute",[0,"Execute",[0.825,0.92,0.1025,0.08],[1,0.5,0,1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1611,"save",[0,"Save Tabs",[0.7,0.92,0.1025,0.08],[1,0.5,0,1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1612,"clear",[0,"Clear Tab",[0.575,0.92,0.1025,0.08],[1,0.5,0,1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]]
|
||||
]
|
||||
*/
|
||||
|
||||
class dUI_editor {
|
||||
idd = 7100;
|
||||
enableSimulation = 1;
|
||||
movingEnable = 1;
|
||||
onLoad = "'load' call rmx_fnc_codeEditorActions";
|
||||
onUnload = "'unload' call rmx_fnc_codeEditorActions";
|
||||
class controls {
|
||||
class ce_bgrnd: IGUIBack
|
||||
{
|
||||
idc = 7200;
|
||||
x = 0;
|
||||
y = -3.72529e-009;
|
||||
w = 0.95;
|
||||
h = 1;
|
||||
colorBackground[] = {0.2,0.2,0.2,1};
|
||||
moving = 1;
|
||||
};
|
||||
class ce_title: RscText
|
||||
{
|
||||
idc = 7300;
|
||||
text = "Code Editor"; //--- ToDo: Localize;
|
||||
x = 0;
|
||||
y = 0;
|
||||
w = 0.95;
|
||||
h = 0.04;
|
||||
colorBackground[] = {1,0.5,0,1};
|
||||
moving = 1;
|
||||
};
|
||||
class ce_editBox: RscEdit
|
||||
{
|
||||
idc = 7201;
|
||||
x = 0.025;
|
||||
y = 0.125;
|
||||
w = 0.9025;
|
||||
h = 0.7925;
|
||||
colorBackground[] = {0.3,0.3,0.3,0.1};
|
||||
style = 16;
|
||||
lineSpacing = 1;
|
||||
colorText[] = {1,1,1,1};
|
||||
sizeEx = 0.05;
|
||||
};
|
||||
class ce_tab0: RscButton
|
||||
{
|
||||
idc = 7202;
|
||||
text = "Alfa"; //--- ToDo: Localize;
|
||||
x = 0.025;
|
||||
y = 0.08;
|
||||
w = 0.0975;
|
||||
h = 0.04;
|
||||
colorText[] = {0.2,0.2,0.2,0.4};
|
||||
action = "['tabs', 0] call rmx_fnc_codeEditorActions";
|
||||
};
|
||||
class ce_tab1: RscButton
|
||||
{
|
||||
idc = 7203;
|
||||
text = "Bravo"; //--- ToDo: Localize;
|
||||
x = 0.125;
|
||||
y = 0.08;
|
||||
w = 0.0975;
|
||||
h = 0.04;
|
||||
colorText[] = {0.2,0.2,0.2,0.4};
|
||||
action = "['tabs', 1] call rmx_fnc_codeEditorActions";
|
||||
};
|
||||
class ce_tab2: RscButton
|
||||
{
|
||||
idc = 7204;
|
||||
text = "Charlie"; //--- ToDo: Localize;
|
||||
x = 0.225;
|
||||
y = 0.08;
|
||||
w = 0.0975;
|
||||
h = 0.04;
|
||||
colorText[] = {0.2,0.2,0.2,0.4};
|
||||
action = "['tabs', 2] call rmx_fnc_codeEditorActions";
|
||||
};
|
||||
class ce_tab3: RscButton
|
||||
{
|
||||
idc = 7205;
|
||||
text = "Delta"; //--- ToDo: Localize;
|
||||
x = 0.325;
|
||||
y = 0.08;
|
||||
w = 0.0985;
|
||||
h = 0.04;
|
||||
colorText[] = {0.2,0.2,0.2,0.4};
|
||||
action = "['tabs', 3] call rmx_fnc_codeEditorActions";
|
||||
};
|
||||
class ce_tab4: RscButton
|
||||
{
|
||||
idc = 7206;
|
||||
text = "Echo"; //--- ToDo: Localize;
|
||||
x = 0.425;
|
||||
y = 0.08;
|
||||
w = 0.0975;
|
||||
h = 0.04;
|
||||
colorText[] = {0.2,0.2,0.2,0.4};
|
||||
action = "['tabs', 4] call rmx_fnc_codeEditorActions";
|
||||
};
|
||||
class ce_tab5: RscButton
|
||||
{
|
||||
idc = 7207;
|
||||
text = "Foxtrot"; //--- ToDo: Localize;
|
||||
x = 0.525;
|
||||
y = 0.08;
|
||||
w = 0.0975;
|
||||
h = 0.04;
|
||||
colorText[] = {0.2,0.2,0.2,0.4};
|
||||
action = "['tabs', 5] call rmx_fnc_codeEditorActions";
|
||||
};
|
||||
class ce_tab6: RscButton
|
||||
{
|
||||
idc = 7208;
|
||||
text = "Golf"; //--- ToDo: Localize;
|
||||
x = 0.625;
|
||||
y = 0.08;
|
||||
w = 0.0975;
|
||||
h = 0.04;
|
||||
colorText[] = {0.2,0.2,0.2,0.4};
|
||||
action = "['tabs', 6] call rmx_fnc_codeEditorActions";
|
||||
};
|
||||
class ce_tab7: RscButton
|
||||
{
|
||||
idc = 7209;
|
||||
text = "Hotel"; //--- ToDo: Localize;
|
||||
x = 0.725;
|
||||
y = 0.08;
|
||||
w = 0.0975;
|
||||
h = 0.04;
|
||||
colorText[] = {0.2,0.2,0.2,0.4};
|
||||
action = "['tabs', 7] call rmx_fnc_codeEditorActions";
|
||||
};
|
||||
class ce_tab8: RscButton
|
||||
{
|
||||
idc = 7210;
|
||||
text = "India"; //--- ToDo: Localize;
|
||||
x = 0.825;
|
||||
y = 0.08;
|
||||
w = 0.1025;
|
||||
h = 0.04;
|
||||
colorText[] = {0.2,0.2,0.2,0.4};
|
||||
action = "['tabs', 8] call rmx_fnc_codeEditorActions";
|
||||
};
|
||||
class ce_txt: RscText
|
||||
{
|
||||
idc = 7211;
|
||||
text = "Transparency"; //--- ToDo: Localize;
|
||||
x = 0.005;
|
||||
y = 0.94;
|
||||
w = 0.14;
|
||||
h = 0.036;
|
||||
};
|
||||
class ce_slidhur: RscSlider
|
||||
{
|
||||
idc = 7212;
|
||||
x = 0.155;
|
||||
y = 0.928;
|
||||
w = 0.39;
|
||||
h = 0.068;
|
||||
onMouseButtonUp = "'slider' call rmx_fnc_codeEditorActions";
|
||||
};
|
||||
class ce_btn_Execute: RscButton
|
||||
{
|
||||
idc = 7213;
|
||||
text = "Execute"; //--- ToDo: Localize;
|
||||
x = 0.825;
|
||||
y = 0.92;
|
||||
w = 0.1025;
|
||||
h = 0.08;
|
||||
colorText[] = {1,0.5,0,1};
|
||||
action = "'execute' call rmx_fnc_codeEditorActions";
|
||||
};
|
||||
class ce_btn_save: RscButton
|
||||
{
|
||||
idc = 7214;
|
||||
text = "Save Tab"; //--- ToDo: Localize;
|
||||
x = 0.7;
|
||||
y = 0.92;
|
||||
w = 0.1025;
|
||||
h = 0.08;
|
||||
colorText[] = {1,0.5,0,1};
|
||||
action = "'save' call rmx_fnc_codeEditorActions";
|
||||
};
|
||||
class ce_btn_clear: RscButton
|
||||
{
|
||||
idc = 7215;
|
||||
text = "Clear Tab"; //--- ToDo: Localize;
|
||||
x = 0.575;
|
||||
y = 0.92;
|
||||
w = 0.1025;
|
||||
h = 0.08;
|
||||
colorText[] = {1,0.5,0,1};
|
||||
action = "'clear' call rmx_fnc_codeEditorActions";
|
||||
};
|
||||
};
|
||||
};
|
103
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/gui_dependencies.hpp
Normal file
103
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/gui_dependencies.hpp
Normal file
@ -0,0 +1,103 @@
|
||||
class RscPicture;
|
||||
class RscButton;
|
||||
class RscProgress;
|
||||
class RscCombo;
|
||||
class RscListBox;
|
||||
class ScrollBar;
|
||||
class HScrollbar;
|
||||
class VScrollbar;
|
||||
class RscText;
|
||||
class RscStructuredText;
|
||||
class RscShortcutButton;
|
||||
class RscIGUIShortcutButton;
|
||||
class RscGearShortcutButton;
|
||||
class IGUIBack;
|
||||
class CA_Title;
|
||||
class RscControlsGroup;
|
||||
class RscActiveText;
|
||||
class RscLineBreak;
|
||||
class RscIGUIListNBox;
|
||||
class Attributes;
|
||||
class RscFrame;
|
||||
class RscCheckbox;
|
||||
class RscEdit;
|
||||
class RscSlider;
|
||||
|
||||
//Fucking ninja cancer new to A3?
|
||||
class RscActivePicture;
|
||||
class RscActivePictureKeepAspect;
|
||||
|
||||
class dUI_ConsoleText { //structured text for console
|
||||
idc = -1;
|
||||
type = 13; // defined constant
|
||||
style = 0x00;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.7};
|
||||
x = 0 * safezoneW;
|
||||
y = 0 * safezoneH;
|
||||
w = 1 * safezoneW;
|
||||
h = 0.025 * safezoneH;
|
||||
size = 0.02;
|
||||
text = "";
|
||||
|
||||
class Attributes {
|
||||
font = "LucidaConsoleB"; //https://community.bistudio.com/wiki/File:Arma3Fonts.png
|
||||
color = "#000000";
|
||||
align = "left"; //align of text. Values can be "left", "center" or "right"
|
||||
valign = "middle"; //vertical align of text. Values can be "top", "middle", "bottom".
|
||||
shadow = false;
|
||||
shadowColor = "#ff0000";
|
||||
size = "1.25";
|
||||
};
|
||||
};
|
||||
|
||||
class dUI_rscText: RscText {
|
||||
style = 0x02;
|
||||
shadow = 2;
|
||||
};
|
||||
|
||||
class dUI_sandbox {
|
||||
idd = 666666;
|
||||
enableSimulation = 1;
|
||||
//movingEnable = 1;
|
||||
class controls {};
|
||||
};
|
||||
|
||||
class rmx_ST3
|
||||
{
|
||||
x=0;
|
||||
y=0;
|
||||
h=0.035;
|
||||
w=0.1;
|
||||
text="";
|
||||
//size="(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";
|
||||
size = 0.04;
|
||||
colorText[]={1,1,1,1};
|
||||
colorBackground[] = {0.2,0.2,0.2,0.7};
|
||||
shadow=2;
|
||||
type = 13;
|
||||
style = 0x02;
|
||||
class Attributes
|
||||
{
|
||||
font="PuristaMedium"; // "RobotoCondensed";
|
||||
color="#ffffff";
|
||||
colorLink="#D09B43";
|
||||
align="center";
|
||||
valign = "top"
|
||||
shadow=2;
|
||||
};
|
||||
};
|
||||
|
||||
class rmx_watcherProgress: RscProgress
|
||||
{
|
||||
idc = -1;
|
||||
texture = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
textureExt = "";
|
||||
colorBar[] = {1, 1, 1, 0.1};
|
||||
colorExtBar[] = {1, 1, 1, 1};
|
||||
colorFrame[] = {1, 1, 1, 1};
|
||||
x = 0.6;
|
||||
y = 0.92;
|
||||
w = 0.3;
|
||||
h = 0.08;
|
||||
|
||||
};
|
1213
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/ppEffects.hpp
Normal file
1213
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/ppEffects.hpp
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,56 @@
|
||||
class dUI_quickFunction {
|
||||
idd = 9400;
|
||||
enableSimulation = 1;
|
||||
movingEnable = 1;
|
||||
onKeyDown = "_this call rmx_fnc_keyDown;";
|
||||
class controls {
|
||||
class dUI_qf_back: IGUIBack
|
||||
{
|
||||
idc = 9401;
|
||||
x = 0.386562 * safezoneW + safezoneX;
|
||||
y = 0.269 * safezoneH + safezoneY;
|
||||
w = 0.226875 * safezoneW;
|
||||
h = 0.462 * safezoneH;
|
||||
colorBackground[] = {0,0,0,0.5};
|
||||
};
|
||||
class dUI_qf_title: RscText
|
||||
{
|
||||
idc = 9402;
|
||||
text = "Quick function"; //--- ToDo: Localize;
|
||||
x = 0.386562 * safezoneW + safezoneX;
|
||||
y = 0.269 * safezoneH + safezoneY;
|
||||
w = 0.226875 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
colorBackground[] = {1,0,0,1};
|
||||
};
|
||||
class dUI_qf_lb: RscListbox
|
||||
{
|
||||
idc = 9403;
|
||||
x = 0.396875 * safezoneW + safezoneX;
|
||||
y = 0.357 * safezoneH + safezoneY;
|
||||
w = 0.207282 * safezoneW;
|
||||
h = 0.33 * safezoneH;
|
||||
colorBackground[] = {0,0,0,0.8};
|
||||
};
|
||||
class dUI_qf_params: RscEdit
|
||||
{
|
||||
idc = 9404;
|
||||
text = "'Params are saved into profileNamespace'"; //--- ToDo: Localize;
|
||||
x = 0.396875 * safezoneW + safezoneX;
|
||||
y = 0.313 * safezoneH + safezoneY;
|
||||
w = 0.207281 * safezoneW;
|
||||
h = 0.0242 * safezoneH;
|
||||
colorBackground[] = {0,0,0,0.8};
|
||||
};
|
||||
class dUI_qf_hint: RscText
|
||||
{
|
||||
idc = 9405;
|
||||
text = "Double click listbox item to Execute"; //--- ToDo: Localize;
|
||||
x = 0.422656 * safezoneW + safezoneX;
|
||||
y = 0.698 * safezoneH + safezoneY;
|
||||
w = 0.155731 * safezoneW;
|
||||
h = 0.022 * safezoneH;
|
||||
colorBackground[] = {0,0,0,0};
|
||||
};
|
||||
};
|
||||
};
|
111
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/watcher.hpp
Normal file
111
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/watcher.hpp
Normal file
@ -0,0 +1,111 @@
|
||||
/* #Rubowe
|
||||
$[
|
||||
1.063,
|
||||
["dsa",[[0,0,1,1],0.025,0.04,"GUI_GRID"],0,0,0],
|
||||
[2200,"vw_bckgrnd",[0,"",[0,0.04,0.465,0.08],[-1,-1,-1,-1],[0.2,0.2,0.2,0.4],[-1,-1,-1,-1],"","-1"],["idc = 7501;"]],
|
||||
[1000,"vw_title",[0,"Drag to move",[0,0,0.465,0.04],[-1,-1,-1,-1],[0.2,0.2,0.2,1],[-1,-1,-1,-1],"","-1"],["idc = 7502;","style = 2;","moving = 1;","onMouseButtonUp = |^savePos^ call rmx_fnc_watcherActions;|;"]],
|
||||
[1001,"vw_pin: RscActivePictureKeepAspect",[0,"x\addons\rmx_init\data\retardedPinUp.paa",[0.429999,0,0.03,0.04],[-1,-1,-1,-1],[-1,-1,-1,-1],[1,1,1,1],"","-1"],["idc = 7503;","onMouseButtonUp = |^pin^ call rmx_fnc_watcherActions;|;"]],
|
||||
[1400,"vw_code",[0,"",[0,0.04,0.465,0.04],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],["idc = 7504;"]],
|
||||
[2100,"vw_combo",[0,"",[0.115,0.08,0.275,0.04],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],["idc = 7505;"]],
|
||||
[1600,"vw_btnAdd",[0,"Add",[0.390001,0.08,0.075,0.04],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],["idc = 7506;","action = |^execute^ call rmx_fnc_watcherActions;|;"]],
|
||||
[2300,"vw_grp",[0,"",[0,0.12,0.465,0.044],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],["idc = 7507;"]],
|
||||
[2101,"vw_combo_transparency",[0,"",[0,0.08,0.115,0.04],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],["idc = 7505;"]]
|
||||
]
|
||||
*/
|
||||
|
||||
|
||||
|
||||
class dUI_watcher {
|
||||
idd = 7500;
|
||||
enableSimulation = 1;
|
||||
movingEnable = 1;
|
||||
onUnload = "'unload' call rmx_fnc_watcherActions;";
|
||||
onLoad = "'load' call rmx_fnc_watcherActions;";
|
||||
class controls {
|
||||
class vw_bckgrnd: IGUIBack
|
||||
{
|
||||
idc = 7501;
|
||||
x = 0;
|
||||
y = 0.04;
|
||||
w = 0.465;
|
||||
h = 0.08;
|
||||
colorBackground[] = {0.2,0.2,0.2,0.4};
|
||||
};
|
||||
class vw_title: RscText
|
||||
{
|
||||
idc = 7502;
|
||||
text = "Drag to move"; //--- ToDo: Localize;
|
||||
x = 0;
|
||||
y = 0;
|
||||
w = 0.465;
|
||||
h = 0.04;
|
||||
colorBackground[] = {0.2,0.2,0.2,1};
|
||||
style = 0x02; //center
|
||||
moving = 1;
|
||||
};
|
||||
class vw_pin: RscActivePictureKeepAspect
|
||||
{
|
||||
idc = 7503;
|
||||
text = "x\addons\rmx_init\data\retardedPinUp.paa";
|
||||
x = 0.43;
|
||||
y = 0;
|
||||
w = 0.03;
|
||||
h = 0.04;
|
||||
onMouseButtonUp = "'pin' call rmx_fnc_watcherActions;";
|
||||
};
|
||||
class vw_code: RscEdit
|
||||
{
|
||||
idc = 7504;
|
||||
text = "";
|
||||
x = 0;
|
||||
y = 0.04;
|
||||
w = 0.465;
|
||||
h = 0.04;
|
||||
};
|
||||
class vw_combo: RscCombo
|
||||
{
|
||||
idc = 7505;
|
||||
x = 0.115;
|
||||
y = 0.08;
|
||||
w = 0.275;
|
||||
h = 0.04;
|
||||
};
|
||||
class vw_btnAdd: RscButton
|
||||
{
|
||||
idc = 7506;
|
||||
text = "Add"; //--- ToDo: Localize;
|
||||
x = 0.390001;
|
||||
y = 0.08;
|
||||
w = 0.075;
|
||||
h = 0.04;
|
||||
colorText[] = {1,1,1,1};
|
||||
action = "'execute' call rmx_fnc_watcherActions;";
|
||||
};
|
||||
class vw_grp: RscControlsGroup
|
||||
{
|
||||
idc = 7507;
|
||||
x = 0;
|
||||
y = 0.12;
|
||||
w = 0.465;
|
||||
h = 0;
|
||||
class VScrollbar: VScrollbar
|
||||
{
|
||||
width = 0;
|
||||
};
|
||||
class HScrollbar: VScrollbar
|
||||
{
|
||||
height = 0;
|
||||
};
|
||||
class controls{};
|
||||
};
|
||||
class vw_comboTransparency: RscCombo
|
||||
{
|
||||
idc = 7508;
|
||||
x = 0;
|
||||
y = 0.08;
|
||||
w = 0.115;
|
||||
h = 0.04;
|
||||
};
|
||||
onLBSelChanged = "'fade' call rmx_fnc_watcherActions;";
|
||||
};
|
||||
};
|
7
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/watcher2.hpp
Normal file
7
Tools/DevFrameWork/x/addons/rmx_init/CfgGUI/watcher2.hpp
Normal file
@ -0,0 +1,7 @@
|
||||
class dUI_watcher2: dUI_watcher
|
||||
{
|
||||
duration = 1e+1000;
|
||||
fadein = 0.5;
|
||||
fadeout = 0.5;
|
||||
onLoad = "uiNamespace setVariable ['rmx_var_watcher2',_this select 0]";
|
||||
};
|
127
Tools/DevFrameWork/x/addons/rmx_init/config.cpp
Normal file
127
Tools/DevFrameWork/x/addons/rmx_init/config.cpp
Normal file
@ -0,0 +1,127 @@
|
||||
#include "BIS_AddonInfo.hpp"
|
||||
//Author: Raimonds Virtoss / Raymix
|
||||
class CfgPatches {
|
||||
class rmx_init {
|
||||
units[] = {};
|
||||
weapons[] = {};
|
||||
requiredVersion = 0.1;
|
||||
//requiredAddons[] = {""};
|
||||
};
|
||||
};
|
||||
class CfgMods
|
||||
{
|
||||
class rmx_devLibs
|
||||
{
|
||||
dir = "@EpochDEV";
|
||||
name = "RMX Dev library";
|
||||
picture = "";
|
||||
hidePicture = 0;
|
||||
hideName = 0;
|
||||
action = "http://raimonds.me";
|
||||
version = "0.1";
|
||||
};
|
||||
};
|
||||
|
||||
class CfgAddons
|
||||
{
|
||||
access = 1;
|
||||
class PreloadBanks
|
||||
{
|
||||
};
|
||||
class PreloadAddons
|
||||
{
|
||||
class rmx_devLibs
|
||||
{
|
||||
list[] = {};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
// deps needs cleanup
|
||||
#include "CfgGUI\gui_dependencies.hpp"
|
||||
|
||||
// dominion custom console, use Shift + F2 to activate
|
||||
#include "CfgGUI\console.hpp"
|
||||
|
||||
// quick function launcher, developers only, use dev_variables.sqf ... F2 to activate
|
||||
#include "CfgGUI\quickFunction.hpp"
|
||||
|
||||
// Code Editor ... ENTER to activate
|
||||
#include "CfgGUI\editor.hpp"
|
||||
|
||||
// Variable Watcher ... CTRL + ENTER to activate
|
||||
#include "CfgGUI\watcher.hpp"
|
||||
|
||||
// AtmosFEAR ... F5 to activate
|
||||
#include "CfgGUI\atmosFEAR.hpp"
|
||||
|
||||
// ppEffects viewer ... F6 to activate
|
||||
#include "CfgGUI\ppEffects.hpp"
|
||||
|
||||
class RscTitles {
|
||||
class Default //use to delete title resources
|
||||
{
|
||||
idd = -1;
|
||||
fadein = 0;
|
||||
fadeout = 0;
|
||||
duration = 0;
|
||||
};
|
||||
//default console, F2 to activate (Shift + F2 to make buttons active)
|
||||
#include "CfgGUI\console2.hpp"
|
||||
#include "CfgGUI\watcher2.hpp"
|
||||
};
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
// Dev functions init - do not edit, important!
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
class devFunctions { //don't add fnc here, use appropriate pbo
|
||||
init = "x\Addons\rmx_init\functions.sqf";
|
||||
|
||||
class rmx {
|
||||
class raymix_dialogs {
|
||||
file = "x\Addons\rmx_init\functions";
|
||||
class dialogVars {preInit = 1;recompile = 1;}; // vars
|
||||
class buffer {preInit = 1;};
|
||||
class eventHandlers {preInit = 1;};
|
||||
|
||||
class getColorScheme{};
|
||||
class atmosFear {}; //Press F5 to toggle
|
||||
class atmosFearActions {};
|
||||
class atmosFearUpdate {};
|
||||
class ppViewer {}; //Press F6 to toggle
|
||||
class ppViewerUpdate {};
|
||||
class ppViewerEffects {};
|
||||
class ppViewerGetSet {};
|
||||
class console {}; //press F2 or shift + F2 to toggle
|
||||
class consoleFilters {};
|
||||
class consoleUpdate {};
|
||||
class quickFnc {}; //press F3 to toggle dialog
|
||||
class keyDown {recompile = 1;};
|
||||
class keyUp {};
|
||||
class output {};
|
||||
class codeEditor {recompile = 1;}; //press ENTER to toggle
|
||||
class codeEditorActions {recompile = 1;};
|
||||
class watcher {recompile = 1;}; //press CTRL + ENTER to toggle
|
||||
class watcherActions {recompile = 1;};
|
||||
class watcherAddRemove {recompile = 1;};
|
||||
class watcherRunner {recompile = 1;};
|
||||
};
|
||||
};
|
||||
};
|
||||
class cfgFunctions { //DO NOT EDIT BELOW
|
||||
class rmx {
|
||||
class rec {
|
||||
file = "x\Addons\rmx_init";
|
||||
class recompile {
|
||||
preInit = 1;
|
||||
postInit = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
class RscStandardDisplay;
|
||||
class RscDisplayStart: RscStandardDisplay
|
||||
{
|
||||
onLoad = "[2] call compile preprocessfilelinenumbers gettext (configfile >> 'CfgFunctions' >> 'init'); call compile preprocessfilelinenumbers gettext (configfile >> 'devFunctions' >> 'init'); ['onLoad',_this,'RscDisplayLoading','Loading'] call (uinamespace getvariable 'BIS_fnc_initDisplay')";
|
||||
};
|
||||
|
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/critical.paa
Normal file
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/critical.paa
Normal file
Binary file not shown.
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/info.paa
Normal file
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/info.paa
Normal file
Binary file not shown.
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/retardedPinDown.paa
Normal file
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/retardedPinDown.paa
Normal file
Binary file not shown.
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/retardedPinUp.paa
Normal file
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/retardedPinUp.paa
Normal file
Binary file not shown.
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/w_error.paa
Normal file
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/w_error.paa
Normal file
Binary file not shown.
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/w_off.paa
Normal file
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/w_off.paa
Normal file
Binary file not shown.
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/w_on.paa
Normal file
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/w_on.paa
Normal file
Binary file not shown.
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/warning.paa
Normal file
BIN
Tools/DevFrameWork/x/addons/rmx_init/data/warning.paa
Normal file
Binary file not shown.
18
Tools/DevFrameWork/x/addons/rmx_init/defines.inc
Normal file
18
Tools/DevFrameWork/x/addons/rmx_init/defines.inc
Normal file
@ -0,0 +1,18 @@
|
||||
#define info call _sendInfo
|
||||
#define warning call _sendWarning
|
||||
#define critical call _sendCritical
|
||||
|
||||
#define ST_SIZE18 "size='1.8'"
|
||||
#define ST_SIZE2 "size='2'"
|
||||
#define ST_SKYBLUE "color='#00D0DF'"
|
||||
#define ST_GREEN "color='#A5FD6B'"
|
||||
#define ST_ORANGE "color='#FEA834'"
|
||||
#define ST_RED "color='#ff0000'"
|
||||
#define ST_WHITE "color='#FFFFFF'"
|
||||
#define ST_TAHOMAB "font='TahomaB'"
|
||||
#define ST_PURISTAMEDIUM "font='PuristaMedium'"
|
||||
#define ST_SHADOW1 "shadow='1' shadowColor='#000000'"
|
||||
#define ST_SHADOW2 "shadow='2'"
|
||||
#define ST_INFO "<img image='x\addons\rmx_init\data\info.paa'/>"
|
||||
#define ST_WARNING "<img image='x\addons\rmx_init\data\warning.paa'/>"
|
||||
#define ST_CRITICAL "<img image='x\addons\rmx_init\data\critical.paa'/>"
|
16
Tools/DevFrameWork/x/addons/rmx_init/fn_recompile.sqf
Normal file
16
Tools/DevFrameWork/x/addons/rmx_init/fn_recompile.sqf
Normal file
@ -0,0 +1,16 @@
|
||||
//todo use param
|
||||
private ["_fnc"];
|
||||
_fnc = gettext (configfile >> "devFunctions" >> "init");
|
||||
if (_fnc != "") then {
|
||||
if (typeName _this isEqualTo typeName "") then {
|
||||
_this call compile preprocessfilelinenumbers _fnc;
|
||||
} else {
|
||||
call compile preprocessfilelinenumbers _fnc;
|
||||
};
|
||||
true
|
||||
} else {
|
||||
diag_log "Init param not found, check config pbo";
|
||||
false
|
||||
};
|
||||
|
||||
|
374
Tools/DevFrameWork/x/addons/rmx_init/functions.sqf
Normal file
374
Tools/DevFrameWork/x/addons/rmx_init/functions.sqf
Normal file
@ -0,0 +1,374 @@
|
||||
//--- Fake header
|
||||
_fnc_scriptName = if (isnil "_fnc_scriptName") then {"Dev Function Libs"} else {_fnc_scriptName};
|
||||
|
||||
/******************************************************************************************************
|
||||
DEFINE HEADERS
|
||||
******************************************************************************************************/
|
||||
|
||||
private ["_this","_headerMetaData","_headerBuffer","_headerDebugOff","_headerNone","_headerSQF","_debugLevel","_debugEnabled","_headerDefault","_fncCompile","_recompile","_debugHeader","_debugDestination"];
|
||||
|
||||
_headerMetaData = "
|
||||
_fnc_scriptNameParentTemp = if !(isnil '_fnc_scriptName') then {_fnc_scriptName} else {'%1'};
|
||||
private ['_fnc_scriptNameParent'];
|
||||
_fnc_scriptNameParent = _fnc_scriptNameParentTemp;
|
||||
_fnc_scriptNameParentTemp = nil;
|
||||
|
||||
private ['_fnc_scriptName'];
|
||||
_fnc_scriptName = '%1';
|
||||
scriptname _fnc_scriptName;
|
||||
";
|
||||
|
||||
_headerBuffer = "
|
||||
_sendInfo = {rmx_var_logMsg pushBack [0,_fnc_scriptName,_this]};
|
||||
_sendWarning = {rmx_var_logMsg pushBack [1,_fnc_scriptName,_this]};
|
||||
_sendCritical = {rmx_var_logMsg pushBack [2,_fnc_scriptName,_this]};
|
||||
|
||||
";
|
||||
|
||||
_headerDebugOff = "
|
||||
_sendInfo = {};
|
||||
_sendWarning = {};
|
||||
_sendCritical = {};
|
||||
|
||||
";
|
||||
_headerNone = "";
|
||||
|
||||
_debugEnabled = getNumber (configfile >> "devFunctions" >> "debugEnabled");
|
||||
|
||||
//default headers if no specific entries are given
|
||||
_headerDefault = if (_debugEnabled > 0) then {_headerMetaData + _headerBuffer} else {_headerNone + _headerDebugOff};
|
||||
/******************************************************************************************************
|
||||
Compile function
|
||||
******************************************************************************************************/
|
||||
|
||||
_fncCompile = {
|
||||
private ["_fncVar","_fncMeta","_fncPath","_fncHeader","_fncExt","_header","_fncFinal","_footer"];
|
||||
_fncVar = _this select 0;
|
||||
_fncMeta = _this select 1;
|
||||
_fncHeader = _this select 2;
|
||||
_fncFinal = _this select 3;
|
||||
|
||||
_fncPath = _fncMeta select 0;
|
||||
_fncExt = _fncMeta select 1;
|
||||
|
||||
switch _fncExt do {
|
||||
|
||||
//--- SQF
|
||||
case ".sqf": {
|
||||
_header = switch (_fncHeader) do {
|
||||
|
||||
//--- No header (used in low-level functions, like 'fired' event handlers for every weapon)
|
||||
case -1: {
|
||||
_headerNone + _headerDebugOff
|
||||
};
|
||||
case 1: {
|
||||
_headerMetaData + _headerBuffer
|
||||
};
|
||||
default {
|
||||
_headerDefault
|
||||
};
|
||||
};
|
||||
|
||||
if (_fncFinal) then {
|
||||
compileFinal (format [_header,_fncVar] + preprocessfilelinenumbers _fncPath);
|
||||
} else {
|
||||
compile (format [_header,_fncVar] + preprocessfilelinenumbers _fncPath);
|
||||
};
|
||||
};
|
||||
|
||||
//--- FSM
|
||||
case ".fsm": {
|
||||
compileFinal format ["%1_fsm = _this execfsm '%2';",_fncVar,_fncPath];
|
||||
};
|
||||
|
||||
default {0}
|
||||
};
|
||||
};
|
||||
|
||||
_fnc_recompile = {
|
||||
private "_this";
|
||||
_fnc_scriptname = "rmx_recompile";
|
||||
{
|
||||
diag_log format ["Recompiling: %1",_x];
|
||||
_x call rmx_fnc_recompile;
|
||||
} count _this;
|
||||
};
|
||||
|
||||
_fnc_init = {
|
||||
private ["_this","_call"];
|
||||
_fnc_scriptname = _this select 0;
|
||||
_call = _this select 1;
|
||||
{
|
||||
diag_log format ["[%2]: Calling: %1",_x,_fnc_scriptname];
|
||||
call (missionNamespace getVariable _x); //with missionNamespace do {call _x;};
|
||||
} count _call;
|
||||
};
|
||||
|
||||
_fnc_createShortcuts = {
|
||||
private "_this";
|
||||
{
|
||||
_allowRecompile = (_x call (uiNamespace getvariable "bis_fnc_functionMeta")) select 5;
|
||||
_xCode = uiNamespace getvariable _x; //shortcut copied over directly
|
||||
if (_allowRecompile) then {
|
||||
_xCode = call compile str (uiNamespace getvariable _x); //shortcut call compiles every mission start
|
||||
};
|
||||
//diag_log format ["[%2]: Creating shortcut: %1",_x,_fnc_scriptname];
|
||||
missionNamespace setvariable [_x,_xCode];
|
||||
} foreach _this;
|
||||
};
|
||||
/******************************************************************************************************
|
||||
COMPILE ONE FUNCTION
|
||||
|
||||
When input is string containing function name, only that one function is recompiled.
|
||||
|
||||
The script stops here, reads function's meta data and recompile the function
|
||||
based on its extension and header.
|
||||
Basically - it takes meta data from uiNamespace and uses it to replace function inside missionNamespace.
|
||||
|
||||
This will work even if recompile = 0; is set, but will fail because it's compileFinal in this case
|
||||
|
||||
******************************************************************************************************/
|
||||
|
||||
//--- Compile only selected
|
||||
if (isnil "_this") then {_this = [];};
|
||||
if (typename _this != typename []) then {_this = [_this];};
|
||||
_recompile = if (count _this > 0) then {_this select 0} else {0};
|
||||
|
||||
if (typename _recompile == typename "") exitwith {
|
||||
private ["_fnc","_fncMeta","_headerType","_var","_fncUINamespace"];
|
||||
|
||||
//--- Recompile specific function
|
||||
_fncUINamespace = true;
|
||||
_fnc = uiNamespace getvariable _recompile;
|
||||
if (isnil "_fnc") then {_fnc = missionNamespace getvariable _recompile; _fncUINamespace = false;};
|
||||
if !(isnil "_fnc") then {
|
||||
_fncMeta = _recompile call (uiNamespace getvariable "bis_fnc_functionMeta");
|
||||
_headerType = if (count _this > 1) then {_this select 1} else {0};
|
||||
_var = [_recompile,[_recompile,_fncMeta,_headerType,false] call _fncCompile];
|
||||
if (_fncUINamespace) then {uiNamespace setvariable _var;};
|
||||
missionNamespace setvariable _var;
|
||||
if (isnil "_functions_listRecompile") then {
|
||||
diag_log format ["[%3]: %1 recompiled with _meta %2",_recompile,_fncMeta,_fnc_scriptname];
|
||||
};
|
||||
} else {
|
||||
diag_log format ["[%2]: %1 is not a function.",_recompile,_fnc_scriptname];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
/******************************************************************************************************
|
||||
If params passed did not contain string, function will automatically detect if: fresh compiles, new mission or recompile
|
||||
|
||||
Detection is done by finalizing devlibs_init boolean inside 2 namespaces:
|
||||
If bool doesn't exist anywhere, then game is launched
|
||||
If bool exists only in uiNamespace then game was started, but not mission
|
||||
If bool exists in missionNamespace, then server/client is running and will only recompile non-final functions.
|
||||
|
||||
To make functions non-final while developing, use recompile = 1; inside pbo configs, simple as that.
|
||||
******************************************************************************************************/
|
||||
|
||||
|
||||
if (call (uiNamespace getvariable ["devlibs_init",{false}])) exitWith {
|
||||
private ["_functions_list","_functions_listRecompile","_functions_listPreInit","_functions_listPostInit"];
|
||||
|
||||
_functions_listRecompile = call (uiNamespace getvariable ["rmx_functions_listRecompile",{[]}]);
|
||||
|
||||
if (call (missionNamespace getvariable ["devlibs_init",{false}])) then {
|
||||
_functions_listRecompile call _fnc_recompile;
|
||||
} else {
|
||||
_functions_list = call (uiNamespace getvariable ["rmx_functions_list",{[]}]);
|
||||
_functions_listPreInit = call (uiNamespace getvariable ["rmx_functions_listPreInit",{[]}]);
|
||||
_functions_listPostInit = call (uiNamespace getvariable ["rmx_functions_listPostInit",{[]}]);
|
||||
|
||||
_functions_listRecompile call _fnc_recompile;
|
||||
|
||||
_functions_list call _fnc_createShortcuts;
|
||||
["preInit",_functions_listPreInit] call _fnc_init;
|
||||
|
||||
[_functions_listPostInit,_fnc_init] spawn {
|
||||
waitUntil {!isNil {missionNamespace getVariable "bis_fnc_init"}};
|
||||
["postInit",(_this select 0)] call (_this select 1);
|
||||
};
|
||||
missionNamespace setvariable ["devlibs_init",compileFinal "true"];
|
||||
};
|
||||
};
|
||||
|
||||
_functions_list = [];
|
||||
uiNamespace setvariable ["rmx_functions_list",_functions_list];
|
||||
_functions_listPreInit = [];
|
||||
uiNamespace setvariable ["rmx_functions_listPreInit",_functions_listPreInit];
|
||||
_functions_listPostInit = [];
|
||||
uiNamespace setvariable ["rmx_functions_listPostInit",_functions_listPostInit];
|
||||
_functions_listRecompile = [];
|
||||
uiNamespace setvariable ["rmx_functions_listRecompile",_functions_listRecompile];
|
||||
_functions_listPreStart = [];
|
||||
|
||||
/******************************************************************************************************
|
||||
SCAN devFunctions if devlibs_init was not detected anywhere.
|
||||
This part is done only once per game launch. Because of this an extra var inside uiNamespace is created with suffix _meta.
|
||||
These _meta variables contain path to files, but are final.
|
||||
If config file, file name or file path are changed, you'll have to re-PBO the whole structure again.
|
||||
|
||||
Go through devFunctions, scan categories and declare all functions.
|
||||
|
||||
Following variables are stored:
|
||||
<tag>_fnc_<functionName> - actual code of the function
|
||||
<tag>_fnc_<functionName>_meta - additional meta data of this format
|
||||
[<path>,<extension>,<header>,<preInit>,<postInit>,<recompile>,<category>]
|
||||
* path - path to actual file
|
||||
* extension - file extension, either ".sqf" or ".fsm"
|
||||
* debugLevel - header type
|
||||
* preInit - function is executed automatically upon mission start, before objects are initalized
|
||||
* postInit - function is executed automatically upon mission start, after objects are initialized
|
||||
* recompile - function is recompiled upon mission start
|
||||
* category - function's category based on config structure
|
||||
|
||||
******************************************************************************************************/
|
||||
|
||||
private ["_pathFile","_devFunctions"];
|
||||
_pathFile = gettext (configfile >> "devFunctions" >> "file");
|
||||
|
||||
_devFunctions = (configfile >> "devFunctions");
|
||||
for "_c" from 0 to (count _devFunctions - 1) do {
|
||||
private ["_currentTag"];
|
||||
_currentTag = _devFunctions select _c;
|
||||
|
||||
//--- Is Tag
|
||||
if (isclass _currentTag) then {
|
||||
private ["_tag","_tagName","_itemPathTag"];
|
||||
_tag = configname _currentTag;
|
||||
_tagName = gettext (_currentTag >> "tag");
|
||||
if (_tagName == "") then {_tagName = configname _currentTag};
|
||||
_itemPathTag = gettext (_currentTag >> "file");
|
||||
|
||||
for "_i" from 0 to (count _currentTag - 1) do {
|
||||
private ["_currentCategory"];
|
||||
_currentCategory = _currentTag select _i;
|
||||
|
||||
//--- Is Category
|
||||
if (isclass _currentCategory) then {
|
||||
private ["_categoryName","_itemPathCat"];
|
||||
_categoryName = configname _currentCategory;
|
||||
_itemPathCat = gettext (_currentCategory >> "file");
|
||||
|
||||
for "_n" from 0 to (count _currentCategory - 1) do {
|
||||
private ["_currentItem"];
|
||||
_currentItem = _currentCategory select _n;
|
||||
|
||||
//--- Is Item
|
||||
if (isclass _currentItem) then {
|
||||
private ["_epoch","_str","_itemName","_itemPathItem","_itemExt","_itemPreInit","_itemPostInit","_itemPreStart","_itemPath","_itemVar","_itemCompile","_itemRecompile"];
|
||||
|
||||
//--- Read function
|
||||
_itemName = configname _currentItem;
|
||||
_itemPathItem = gettext (_currentItem >> "file");
|
||||
_itemExt = gettext (_currentItem >> "ext");
|
||||
_itemPreInit = getnumber (_currentItem >> "preInit");
|
||||
_itemPostInit = getnumber (_currentItem >> "postInit");
|
||||
_itemPreStart = getnumber (_currentItem >> "preStart");
|
||||
_itemRecompile = getnumber (_currentItem >> "recompile");
|
||||
if (_itemExt == "") then {_itemExt = ".sqf"};
|
||||
_itemPath = if (_itemPathItem != "") then {
|
||||
if (_tagName in ["rmx"]) then { //more tags can be added
|
||||
//--- Disable rewriting of global functions from outside
|
||||
private ["_itemPathItemRMX","_itemPathSlash"];
|
||||
_itemPathItemRMX = (tolower _itemPathItem) find "x";
|
||||
_itemPathSlash = (tolower _itemPathItem) find "\";
|
||||
diag_log format ["Not compiling: %1",_itemPathItem]; //remove later?
|
||||
if ((_itemPathItemRMX < 0 || _itemPathItemRMX > 1) && _itemPathSlash > 0) then {_itemPathItem = "";};
|
||||
};
|
||||
_itemPathItem
|
||||
} else {
|
||||
""
|
||||
};
|
||||
|
||||
_epoch = _tagName in ["EPOCH","A3E"];
|
||||
|
||||
//path in category
|
||||
if (_itemPath == "") then {
|
||||
if (_epoch) then {
|
||||
_itemPath = if (_itemPathCat != "") then {_itemPathCat + "\EPOCH_" + _itemName + _itemExt} else {
|
||||
""
|
||||
};
|
||||
} else {
|
||||
_itemPath = if (_itemPathCat != "") then {_itemPathCat + "\" + _itemName + _itemExt} else {
|
||||
if (_itemPathTag != "") then {_itemPathTag + "\" + _itemName + _itemExt} else {""};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
_itemHeader = getnumber (_currentItem >> "debugHeader");
|
||||
_str = if (_epoch) then {"_"} else {"_fnc_"};
|
||||
|
||||
//category name as folder
|
||||
if (_itemPath == "") then {
|
||||
if (_epoch) then {
|
||||
_itemPath = _itemPathTag + "\" + _categoryName + "\EPOCH_" + _itemName + _itemExt
|
||||
} else {
|
||||
_itemPath = _pathFile + "\" + _categoryName + "\" + _itemName + _itemExt
|
||||
};
|
||||
};
|
||||
|
||||
_itemVar = _tagName + _str + _itemName;
|
||||
_itemMeta = [_itemPath,_itemExt,_itemHeader,_itemPreInit > 0,_itemPostInit > 0,_itemRecompile> 0,_tag,_categoryName,_itemName];
|
||||
_itemCompile = if (_itemRecompile > 0) then {
|
||||
[_itemVar,_itemMeta,_itemHeader,false] call _fncCompile;
|
||||
} else {
|
||||
[_itemVar,_itemMeta,_itemHeader,true] call _fncCompile;
|
||||
};
|
||||
|
||||
//--- Register function
|
||||
if !(_itemVar in _functions_list) then {
|
||||
//---- Save function
|
||||
uiNamespace setvariable [_itemVar, _itemCompile];
|
||||
//--- Save function meta data
|
||||
uiNamespace setvariable [_itemVar + "_meta",compileFinal str _itemMeta];
|
||||
|
||||
_functions_list set [count _functions_list,_itemVar];
|
||||
};
|
||||
//--- Add to list of functions executed when missionNamespace is created (during loading screen)
|
||||
if (_itemPreInit > 0) then {
|
||||
if !(_itemVar in _functions_listPreInit) then {
|
||||
_functions_listPreInit set [count _functions_listPreInit,_itemVar];
|
||||
};
|
||||
};
|
||||
//--- Add to list of functions executed after client, world and vehicles are created.
|
||||
if (_itemPostInit > 0) then {
|
||||
if !(_itemVar in _functions_listPostInit) then {
|
||||
_functions_listPostInit set [count _functions_listPostInit,_itemVar];
|
||||
};
|
||||
};
|
||||
//--- Add to list of functions executed upon game start where missionNamespace does not exist.
|
||||
if (_itemPreStart > 0) then {
|
||||
if !(_itemVar in _functions_listPreStart) then {
|
||||
_functions_listPreStart set [count _functions_listPreStart,_itemVar];
|
||||
};
|
||||
};
|
||||
//--- Add to list of functions that are not finalized and can be recompiled (DEV only). use recompile = 1;
|
||||
if (_itemRecompile > 0) then {
|
||||
if !(_itemVar in _functions_listRecompile) then {
|
||||
_functions_listRecompile set [count _functions_listRecompile,_itemVar];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
//--- Save the lists
|
||||
uiNamespace setvariable ["rmx_functions_list",compileFinal str (_functions_list)];
|
||||
uiNamespace setvariable ["rmx_functions_listRecompile",compileFinal str (_functions_listRecompile)];
|
||||
uiNamespace setvariable ["rmx_functions_listPreInit",compileFinal str (_functions_listPreInit)];
|
||||
uiNamespace setvariable ["rmx_functions_listPostInit",compileFinal str (_functions_listPostInit)];
|
||||
uiNamespace setvariable ["devlibs_init",compileFinal "true"];
|
||||
|
||||
// Call preStarted functions
|
||||
|
||||
{
|
||||
_function = [] call (uiNamespace getvariable _x);
|
||||
uiNamespace setvariable [_x + "_preStart",_function];
|
||||
} foreach _functions_listPreStart;
|
||||
|
||||
diag_log format ["[%1]: functions compiled",_fnc_scriptName];
|
106
Tools/DevFrameWork/x/addons/rmx_init/functions/atmosFear.sqf
Normal file
106
Tools/DevFrameWork/x/addons/rmx_init/functions/atmosFear.sqf
Normal file
@ -0,0 +1,106 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_atmosFear
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Atmosphere control dialog
|
||||
|
||||
License: ---
|
||||
*/
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
private ["_display","_diag","_listBox"];
|
||||
disableSerialization;
|
||||
|
||||
switch (rmx_var_atmosFearEnabled) do {
|
||||
case false:
|
||||
{
|
||||
_diag = createDialog "dUI_atmosFear";
|
||||
_display = findDisplay 8100;
|
||||
|
||||
for "_i" from 8110 to 8119 do {
|
||||
rmx_var_afProgress set [count rmx_var_afProgress,_display displayCtrl _i];
|
||||
};
|
||||
|
||||
for "_i" from 8130 to 8144 do {
|
||||
rmx_var_afInput set [count rmx_var_afInput,_display displayCtrl _i];
|
||||
};
|
||||
|
||||
for "_i" from 8150 to 8161 do {
|
||||
rmx_var_afSliders set [count rmx_var_afSliders,_display displayCtrl _i];
|
||||
};
|
||||
rmx_var_afMisc = [_display displayCtrl 8170, _display displayCtrl 8180]; //cb, combo
|
||||
rmx_var_afText = [_display displayCtrl 8101, _display displayCtrl 8102];
|
||||
|
||||
["load"] call rmx_fnc_atmosFearActions;
|
||||
[] spawn rmx_fnc_atmosFearUpdate;
|
||||
rmx_var_atmosFearEnabled = true;
|
||||
};
|
||||
case true:
|
||||
{
|
||||
rmx_var_atmosFearEnabled = false;
|
||||
closeDialog 0;
|
||||
};
|
||||
};
|
||||
|
||||
true
|
||||
|
||||
/*
|
||||
main dialog - 8100
|
||||
|
||||
Dynamic text:
|
||||
A2 winds 8101
|
||||
wind direction 8102
|
||||
|
||||
progress bars:
|
||||
lightnings 8110
|
||||
overcst 8111
|
||||
rainbow 8112
|
||||
gusts 8113
|
||||
rain 8114
|
||||
fog density 8115
|
||||
fog decay 8116
|
||||
fog altitude 8117
|
||||
wind str 8118
|
||||
waves 8119
|
||||
|
||||
Input fields:
|
||||
rain 8130
|
||||
fog 8131
|
||||
wind 8132
|
||||
force 8133 //3
|
||||
waves 8134
|
||||
direction 8135 //select 5
|
||||
wind a2 x 8136
|
||||
wind a2 y 8137
|
||||
export 8138
|
||||
day 8139 //select 9
|
||||
month 8140
|
||||
year 8141
|
||||
hours 8142
|
||||
minutes 8143
|
||||
skiptime 8144
|
||||
|
||||
Sliders:
|
||||
lightnings 8150
|
||||
overcast 8151
|
||||
rainbow 8152
|
||||
gusts 8153
|
||||
rain 8154
|
||||
fog decay 8155 //5
|
||||
fog density 8156
|
||||
fog altitude 8157 //select 7
|
||||
wind str 8158
|
||||
wind frc 8159 //9
|
||||
waves 8160
|
||||
direction 8161
|
||||
|
||||
Checkboxes:
|
||||
wind a2 8170
|
||||
|
||||
combo box:
|
||||
import 8180
|
||||
|
||||
buttons:
|
||||
rpt 8190
|
||||
apply 8191
|
||||
load 8192
|
||||
save 8193
|
||||
*/
|
@ -0,0 +1,272 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_atmosFearActions
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Button actions
|
||||
|
||||
License: ---
|
||||
*/
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
private ["_args"];
|
||||
|
||||
_args = _this select 0;
|
||||
if (typeName _args != "STRING") then {_args = str _args};
|
||||
//hintSilent str _this;
|
||||
|
||||
switch (_args) do {
|
||||
case "load":
|
||||
{
|
||||
{
|
||||
_x sliderSetRange [0,1];
|
||||
} forEach rmx_var_afSliders;
|
||||
|
||||
(rmx_var_afSliders select 7) sliderSetRange [0,1000]; //fog altitude in meters
|
||||
(rmx_var_afSliders select 11) sliderSetRange [0,360]; //wind direction in degrees
|
||||
|
||||
private "_date";
|
||||
_date = date; //[2035,5,28,13,41]
|
||||
(rmx_var_afInput select 9) ctrlSetText str (_date select 2); //day
|
||||
(rmx_var_afInput select 10) ctrlSetText str (_date select 1); //month
|
||||
(rmx_var_afInput select 11) ctrlSetText str (_date select 0); //year
|
||||
(rmx_var_afInput select 12) ctrlSetText str (_date select 3); //hours
|
||||
(rmx_var_afInput select 13) ctrlSetText str (_date select 4); //minutes
|
||||
|
||||
//set saved slider positions and inputs
|
||||
// [0,0,0,0,[0,0],[0,[0,0,0]],[0,0],[0,0],[0,0],[0,0],[0,0,false]]
|
||||
(rmx_var_afSliders select 0) sliderSetPosition (rmx_var_afProfile select 0);
|
||||
(rmx_var_afSliders select 1) sliderSetPosition (rmx_var_afProfile select 1);
|
||||
(rmx_var_afSliders select 2) sliderSetPosition (rmx_var_afProfile select 2);
|
||||
(rmx_var_afSliders select 3) sliderSetPosition (rmx_var_afProfile select 3);
|
||||
|
||||
(rmx_var_afInput select 0) ctrlSetText str (rmx_var_afProfile select 4 select 0); //rain
|
||||
(rmx_var_afSliders select 4) sliderSetPosition (rmx_var_afProfile select 4 select 1);
|
||||
|
||||
(rmx_var_afInput select 1) ctrlSetText str (rmx_var_afProfile select 5 select 0); //fog
|
||||
(rmx_var_afSliders select 5) sliderSetPosition (rmx_var_afProfile select 5 select 1 select 0);
|
||||
(rmx_var_afSliders select 6) sliderSetPosition (rmx_var_afProfile select 5 select 1 select 1);
|
||||
(rmx_var_afSliders select 7) sliderSetPosition (rmx_var_afProfile select 5 select 1 select 2);
|
||||
|
||||
(rmx_var_afInput select 2) ctrlSetText str (rmx_var_afProfile select 6 select 0); //Wind str
|
||||
(rmx_var_afSliders select 8) sliderSetPosition (rmx_var_afProfile select 6 select 1);
|
||||
|
||||
(rmx_var_afInput select 3) ctrlSetText str (rmx_var_afProfile select 7 select 0); //Wind force
|
||||
(rmx_var_afSliders select 9) sliderSetPosition (rmx_var_afProfile select 7 select 1);
|
||||
|
||||
(rmx_var_afInput select 4) ctrlSetText str (rmx_var_afProfile select 8 select 0); //Waves
|
||||
(rmx_var_afSliders select 10) sliderSetPosition (rmx_var_afProfile select 8 select 1);
|
||||
|
||||
(rmx_var_afInput select 5) ctrlSetText str (rmx_var_afProfile select 9 select 0); //Direction
|
||||
(rmx_var_afSliders select 11) sliderSetPosition (rmx_var_afProfile select 9 select 1);
|
||||
|
||||
(rmx_var_afInput select 6) ctrlSetText str (rmx_var_afProfile select 10 select 0); //x
|
||||
(rmx_var_afInput select 7) ctrlSetText str (rmx_var_afProfile select 10 select 1); //y
|
||||
(rmx_var_afMisc select 0) cbSetChecked (rmx_var_afProfile select 10 select 2);
|
||||
|
||||
lbClear (rmx_var_afMisc select 1);
|
||||
{
|
||||
(rmx_var_afMisc select 1) lbAdd (_x select 0);
|
||||
} forEach rmx_var_afLoadSave;
|
||||
(rmx_var_afMisc select 1) lbSetCurSel rmx_var_afSelected;
|
||||
};
|
||||
case "unload":
|
||||
{
|
||||
["save"] call rmx_fnc_atmosFearActions;
|
||||
rmx_var_atmosFearEnabled = false;
|
||||
rmx_var_afProgress = [];
|
||||
rmx_var_afInput = [];
|
||||
rmx_var_afSliders = [];
|
||||
rmx_var_afText = [];
|
||||
rmx_var_afMisc = [];
|
||||
};
|
||||
case "save":
|
||||
{
|
||||
// [0,0,0,0,[0,0],[0,[0,0,0]],[0,0],[0,0],[0,0],[0,0],[0,0,false]]
|
||||
rmx_var_afProfile =
|
||||
[
|
||||
sliderPosition (rmx_var_afSliders select 0),
|
||||
sliderPosition (rmx_var_afSliders select 1),
|
||||
sliderPosition (rmx_var_afSliders select 2),
|
||||
sliderPosition (rmx_var_afSliders select 3),
|
||||
[
|
||||
call compile (ctrlText (rmx_var_afInput select 0)),
|
||||
sliderPosition (rmx_var_afSliders select 4)
|
||||
],
|
||||
[
|
||||
call compile (ctrlText (rmx_var_afInput select 1)),
|
||||
[
|
||||
sliderPosition (rmx_var_afSliders select 5),
|
||||
sliderPosition (rmx_var_afSliders select 6),
|
||||
sliderPosition (rmx_var_afSliders select 7)
|
||||
]
|
||||
],
|
||||
[
|
||||
call compile (ctrlText (rmx_var_afInput select 2)),
|
||||
sliderPosition (rmx_var_afSliders select 8)
|
||||
],
|
||||
[
|
||||
call compile (ctrlText (rmx_var_afInput select 3)),
|
||||
sliderPosition (rmx_var_afSliders select 9)
|
||||
],
|
||||
[
|
||||
call compile (ctrlText (rmx_var_afInput select 4)),
|
||||
sliderPosition (rmx_var_afSliders select 10)
|
||||
],
|
||||
[
|
||||
call compile (ctrlText (rmx_var_afInput select 5)),
|
||||
sliderPosition (rmx_var_afSliders select 11)
|
||||
],
|
||||
[
|
||||
call compile (ctrlText (rmx_var_afInput select 6)),
|
||||
call compile (ctrlText (rmx_var_afInput select 7)),
|
||||
cbChecked (rmx_var_afMisc select 0)
|
||||
]
|
||||
];
|
||||
|
||||
profileNamespace setVariable ["rmx_var_afProfile",rmx_var_afProfile];
|
||||
};
|
||||
case "Control #8190": //RPT
|
||||
{
|
||||
diag_log format ["<<<<<<<<<< AtmosFEAR Template output >>>>>>>>>>
|
||||
|
||||
class RENAME_ME
|
||||
{
|
||||
setLightnings = %1;
|
||||
setOvercast = %2;
|
||||
setRainbow = %3;
|
||||
setGusts = %4;
|
||||
setRain[] = %5;
|
||||
setFog[] = %6;
|
||||
setWindStr[] = %7;
|
||||
setWindForce[] = %8;
|
||||
setWaves[] = %9;
|
||||
setWindDir[] = %10;
|
||||
setWind[] = %11;
|
||||
};
|
||||
|
||||
<<<<<<<<<< >>>>>>>>>>",
|
||||
rmx_var_afProfile select 0,rmx_var_afProfile select 1,
|
||||
rmx_var_afProfile select 2,rmx_var_afProfile select 3,
|
||||
rmx_var_afProfile select 4,rmx_var_afProfile select 5,
|
||||
rmx_var_afProfile select 6,rmx_var_afProfile select 7,
|
||||
rmx_var_afProfile select 8,rmx_var_afProfile select 9,
|
||||
rmx_var_afProfile select 10];
|
||||
};
|
||||
case "Control #8191": //Apply
|
||||
{
|
||||
private "_time";
|
||||
|
||||
_time = 24*60*60;
|
||||
skipTime -24;
|
||||
_time setLightnings sliderPosition (rmx_var_afSliders select 0);
|
||||
_time setOvercast sliderPosition (rmx_var_afSliders select 1);
|
||||
_time setRainbow sliderPosition (rmx_var_afSliders select 2);
|
||||
_time setGusts sliderPosition (rmx_var_afSliders select 3);
|
||||
|
||||
_time setRain 0;
|
||||
_time setFog [0, 0, 0];
|
||||
|
||||
skipTime 24;
|
||||
simulWeatherSync;
|
||||
call compile (ctrlText(rmx_var_afInput select 0)) setRain sliderPosition (rmx_var_afSliders select 4);
|
||||
call compile (ctrlText(rmx_var_afInput select 1)) setFog
|
||||
[
|
||||
sliderPosition (rmx_var_afSliders select 5),
|
||||
sliderPosition (rmx_var_afSliders select 6),
|
||||
sliderPosition (rmx_var_afSliders select 7)
|
||||
];
|
||||
call compile (ctrlText(rmx_var_afInput select 2)) setWindStr sliderPosition (rmx_var_afSliders select 8);
|
||||
call compile (ctrlText(rmx_var_afInput select 3)) setWindForce sliderPosition (rmx_var_afSliders select 9);
|
||||
call compile (ctrlText(rmx_var_afInput select 4)) setWaves sliderPosition (rmx_var_afSliders select 10);
|
||||
call compile (ctrlText(rmx_var_afInput select 5)) setWindDir sliderPosition (rmx_var_afSliders select 11);
|
||||
|
||||
setWind
|
||||
[
|
||||
call compile (ctrlText(rmx_var_afInput select 6)),
|
||||
call compile (ctrlText(rmx_var_afInput select 7)),
|
||||
cbChecked (rmx_var_afMisc select 0)
|
||||
];
|
||||
|
||||
};
|
||||
case "Control #8180": //combo
|
||||
{
|
||||
rmx_var_afSelected = _this select 1;
|
||||
};
|
||||
case "Control #8192": //Import
|
||||
{
|
||||
private ["_in","_inVal"];
|
||||
_in = profileNamespace getVariable ["rmx_var_afLoadSave",[]];
|
||||
if (_in isEqualTo []) exitWith {hint "Nothing to load"};
|
||||
_inVal = _in select rmx_var_afSelected;
|
||||
rmx_var_afProfile = _inVal select 1;
|
||||
["load"] call rmx_fnc_atmosFearActions;
|
||||
//(format ["Importing: %1",rmx_var_afProfile]) info;
|
||||
};
|
||||
case "Control #8193": //Export
|
||||
{
|
||||
if (ctrlText (rmx_var_afInput select 8) isEqualTo "") exitWith {hint "Name cannot be blank"};
|
||||
rmx_var_afLoadSave = profileNamespace getVariable ["rmx_var_afLoadSave",[]];
|
||||
rmx_var_afLoadSave pushBack [
|
||||
ctrlText (rmx_var_afInput select 8),
|
||||
rmx_var_afProfile
|
||||
];
|
||||
profileNamespace setVariable ["rmx_var_afLoadSave",rmx_var_afLoadSave];
|
||||
|
||||
lbClear (rmx_var_afMisc select 1);
|
||||
|
||||
{
|
||||
(rmx_var_afMisc select 1) lbAdd (_x select 0);
|
||||
} forEach rmx_var_afLoadSave;
|
||||
//(format ["Exporting: %1",rmx_var_afLoadSave select ((count rmx_var_afLoadSave)-1)]) info;
|
||||
};
|
||||
case "Control #8197": //delete
|
||||
{
|
||||
if (profileNamespace getVariable ["rmx_var_afLoadSave",[]] isEqualTo [] ) exitWith {hint "Nothing saved"};
|
||||
private ["_in","_rem"];
|
||||
_in = profileNamespace getVariable "rmx_var_afLoadSave";
|
||||
_rem = _in deleteAt rmx_var_afSelected;
|
||||
profileNamespace setVariable ["rmx_var_afLoadSave",_in];
|
||||
(format ["Deleted setting: %1 = %2",_rem select 0,_rem select 1]) warning;
|
||||
lbClear (rmx_var_afMisc select 1);
|
||||
|
||||
{
|
||||
(rmx_var_afMisc select 1) lbAdd (_x select 0);
|
||||
} forEach rmx_var_afLoadSave;
|
||||
};
|
||||
case "Control #8194": //set time
|
||||
{
|
||||
private "_arr";
|
||||
_arr = [
|
||||
call compile (ctrlText(rmx_var_afInput select 11)),
|
||||
call compile (ctrlText(rmx_var_afInput select 10)),
|
||||
call compile (ctrlText(rmx_var_afInput select 9)),
|
||||
call compile (ctrlText(rmx_var_afInput select 12)),
|
||||
call compile (ctrlText(rmx_var_afInput select 13))
|
||||
];
|
||||
setDate _arr;
|
||||
};
|
||||
case "Control #8195": //skipTime +
|
||||
{
|
||||
skipTime (call compile (ctrlText(rmx_var_afInput select 14)));
|
||||
|
||||
private "_date";
|
||||
_date = date; //[2035,5,28,13,41]
|
||||
(rmx_var_afInput select 9) ctrlSetText str (_date select 2); //day
|
||||
(rmx_var_afInput select 10) ctrlSetText str (_date select 1); //month
|
||||
(rmx_var_afInput select 11) ctrlSetText str (_date select 0); //year
|
||||
(rmx_var_afInput select 12) ctrlSetText str (_date select 3); //hours
|
||||
(rmx_var_afInput select 13) ctrlSetText str (_date select 4); //minutes
|
||||
};
|
||||
case "Control #8196": //skipTime -
|
||||
{
|
||||
skipTime -(call compile (ctrlText(rmx_var_afInput select 14)));
|
||||
|
||||
private "_date";
|
||||
_date = date; //[2035,5,28,13,41]
|
||||
(rmx_var_afInput select 9) ctrlSetText str (_date select 2); //day
|
||||
(rmx_var_afInput select 10) ctrlSetText str (_date select 1); //month
|
||||
(rmx_var_afInput select 11) ctrlSetText str (_date select 0); //year
|
||||
(rmx_var_afInput select 12) ctrlSetText str (_date select 3); //hours
|
||||
(rmx_var_afInput select 13) ctrlSetText str (_date select 4); //minutes
|
||||
};
|
||||
};
|
||||
|
||||
true
|
@ -0,0 +1,35 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_atmosFearUpdate
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Updates progress bars
|
||||
|
||||
License: ---
|
||||
*/
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
private ["_doMath","_fog"];
|
||||
|
||||
_doMath = {};
|
||||
|
||||
while {rmx_var_atmosFearEnabled} do {
|
||||
uiSleep 0.1;
|
||||
if !(rmx_var_atmosFearEnabled) exitWith{}; //required to avoid RPT error.
|
||||
(rmx_var_afProgress select 0) progressSetPosition lightnings;
|
||||
(rmx_var_afProgress select 1) progressSetPosition overcast;
|
||||
(rmx_var_afProgress select 2) progressSetPosition rainbow;
|
||||
(rmx_var_afProgress select 3) progressSetPosition gusts;
|
||||
(rmx_var_afProgress select 4) progressSetPosition rain;
|
||||
|
||||
_fog = fogParams;
|
||||
(rmx_var_afProgress select 5) progressSetPosition (_fog select 0); //density
|
||||
(rmx_var_afProgress select 6) progressSetPosition (_fog select 1); //decay value
|
||||
(rmx_var_afProgress select 7) progressSetPosition ((_fog select 2) / 1000); //altitude
|
||||
|
||||
(rmx_var_afProgress select 8) progressSetPosition windStr; //str
|
||||
|
||||
(rmx_var_afProgress select 9) progressSetPosition waves; //waves
|
||||
|
||||
(rmx_var_afText select 0) ctrlSetText str wind;
|
||||
(rmx_var_afText select 1) ctrlSetText str windDir;
|
||||
};
|
||||
|
||||
true
|
114
Tools/DevFrameWork/x/addons/rmx_init/functions/buffer.sqf
Normal file
114
Tools/DevFrameWork/x/addons/rmx_init/functions/buffer.sqf
Normal file
@ -0,0 +1,114 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_buffer
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Buffers the debug messages each cycle then processes them when console is open
|
||||
|
||||
License: ---
|
||||
*/
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
[] spawn {
|
||||
private ["_updateConsole","_appendToBuffer","_fnc_composeST"];
|
||||
|
||||
_fnc_updateConsole = {
|
||||
private ["_this","_tmp"];
|
||||
rmx_var_console_list resize 39;
|
||||
_tmp = [_this];
|
||||
_tmp append rmx_var_console_list;
|
||||
rmx_var_console_list = _tmp;
|
||||
call rmx_fnc_consoleUpdate;
|
||||
};
|
||||
|
||||
_fnc_appendToBuffer = {
|
||||
private ["_this","_cntBuffer","_cntInput"];
|
||||
_cntBuffer = count rmx_var_logBuffer;
|
||||
_cntInput = count _this;
|
||||
|
||||
if (_cntBuffer >= rmx_var_logBufferSize) then {
|
||||
rmx_var_logBuffer deleteRange [0,_cntInput];
|
||||
};
|
||||
rmx_var_logBuffer append _this;
|
||||
};
|
||||
|
||||
_fnc_composeST = {
|
||||
private ["_type","_msg","_fnc","_img","_fncName","_txt","_final"];
|
||||
_type = _this select 0;
|
||||
_fnc = _this select 1;
|
||||
_msg = _this select 2;
|
||||
|
||||
switch (_type) do {
|
||||
default //anything else, TODO: ability to colorize
|
||||
{
|
||||
_fncName = parseText format ["<t %2%3%4%5> [%1] </t>",_fnc,ST_SIZE18,ST_GREEN,ST_TAHOMAB,ST_SHADOW1];
|
||||
_txt = parseText format ["<t %2%3%4%5>%1</t>",_msg,ST_SIZE18,ST_WHITE,ST_PURISTAMEDIUM,ST_SHADOW2];
|
||||
_final = composeText [_fncName, _txt];
|
||||
};
|
||||
case 0: //info
|
||||
{
|
||||
_fncName = parseText format ["<t %2%3%4%5> [%1] </t>",_fnc,ST_SIZE18,ST_SKYBLUE,ST_TAHOMAB,ST_SHADOW1];
|
||||
_txt = parseText format ["<t %2%3%4%5>%1</t>",_msg,ST_SIZE18,ST_WHITE,ST_PURISTAMEDIUM,ST_SHADOW2];
|
||||
_final = composeText [_fncName, _txt];
|
||||
};
|
||||
case 1: //warning
|
||||
{
|
||||
_img = parseText format ["<t %2%3%4>%1</t>",ST_WARNING,ST_SIZE18,ST_WHITE,ST_SHADOW1];
|
||||
_fncName = parseText format ["<t %2%3%4%5> [%1] </t>",_fnc,ST_SIZE18,ST_ORANGE,ST_TAHOMAB,ST_SHADOW1];
|
||||
_txt = parseText format ["<t %2%3%4%5>%1</t>",_msg,ST_SIZE18,ST_WHITE,ST_PURISTAMEDIUM,ST_SHADOW2];
|
||||
_final = composeText [_img,_fncName,_txt];
|
||||
};
|
||||
case 2: //critical
|
||||
{
|
||||
_img = parseText format ["<t %2%3%4>%1</t>",ST_CRITICAL,ST_SIZE18,ST_WHITE,ST_SHADOW1];
|
||||
_fncName = parseText format ["<t %2%3%4%5> [%1] </t>",_fnc,ST_SIZE18,ST_RED,ST_TAHOMAB,ST_SHADOW1];
|
||||
_txt = parseText format ["<t %2%3%4%5>%1</t>",_msg,ST_SIZE18,ST_WHITE,ST_PURISTAMEDIUM,ST_SHADOW2];
|
||||
_final = composeText [_img,_fncName,_txt];
|
||||
};
|
||||
};
|
||||
[_type, _final]
|
||||
};
|
||||
|
||||
//TODO: add console filters
|
||||
while {true} do
|
||||
{
|
||||
private ["_cycleTimer","_snapShot","_queue","_st"];
|
||||
_cycleTimer = diag_tickTime;
|
||||
_snapShot = rmx_var_logMsg;
|
||||
_snapShotST = [];
|
||||
rmx_var_logMsg = [];
|
||||
|
||||
{
|
||||
_st = _x call _fnc_composeST;
|
||||
_snapShotST pushBack _st;
|
||||
} forEach _snapShot;
|
||||
|
||||
_snapShotST call _fnc_appendToBuffer;
|
||||
|
||||
if (!rmx_var_consoleCheckbox_pause && rmx_var_consoleEnabled) then {
|
||||
{
|
||||
_queue = _forEachIndex;
|
||||
if !(rmx_var_consoleEnabled) exitWith {rmx_var_logBuffer deleteRange [0,_queue];};
|
||||
|
||||
switch (_x select 0) do {
|
||||
case 0:
|
||||
{
|
||||
if (rmx_var_consoleCheckbox_info) then {(_x select 1) call _fnc_updateConsole;};
|
||||
};
|
||||
case 1:
|
||||
{
|
||||
if (rmx_var_consoleCheckbox_warnings) then {(_x select 1) call _fnc_updateConsole;};
|
||||
};
|
||||
case 2:
|
||||
{
|
||||
if (rmx_var_consoleCheckbox_critical) then {(_x select 1) call _fnc_updateConsole;};
|
||||
};
|
||||
default {(_x select 1) call _fnc_updateConsole;};
|
||||
};
|
||||
}forEach rmx_var_logBuffer;
|
||||
if (rmx_var_consoleEnabled) exitWith {rmx_var_logBuffer = [];};
|
||||
};
|
||||
|
||||
//format ["Cycle finished in %1 seconds, new cycle in %2 seconds",(diag_tickTime - _cycleTimer),rmx_var_logSweepCycle] warning; //If cycle takes too long, try to optimize script
|
||||
UISleep rmx_var_logSweepCycle;
|
||||
};
|
||||
};
|
||||
true
|
||||
|
@ -0,0 +1,48 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_codeEditor
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Display custom in-game code Editor with tabs saved to HDD
|
||||
Usage: Press ENTER to toggle menu on or off
|
||||
|
||||
License: ---
|
||||
*/
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
private ["_display"];
|
||||
disableSerialization;
|
||||
|
||||
if (rmx_var_editorControl) exitWith {
|
||||
findDisplay 7100 closeDisplay 1;
|
||||
rmx_var_editorControl = false;
|
||||
};
|
||||
|
||||
rmx_var_editorControl = true;
|
||||
|
||||
findDisplay 46 createDisplay "dUI_editor";
|
||||
_display = findDisplay 7100;
|
||||
_display displayAddEventHandler ["keyDown", "_this call rmx_fnc_keyDown;"];
|
||||
|
||||
rmx_var_ctrl_editorMain = [_display displayCtrl 7200, _display displayCtrl 7300];
|
||||
rmx_var_ctrl_editorItems = [];
|
||||
|
||||
for "_i" from 7200 to 7215 do {
|
||||
rmx_var_ctrl_editorItems set [count rmx_var_ctrl_editorItems,_display displayCtrl _i];
|
||||
};
|
||||
|
||||
true
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,102 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_codeEditorActions
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Actions required for Editor
|
||||
|
||||
License: ---
|
||||
*/
|
||||
private ["_action","_tab"];
|
||||
|
||||
_action = param [0, 100];
|
||||
_tab = param [1, 0];
|
||||
|
||||
switch (_action) do
|
||||
{
|
||||
case "execute":
|
||||
{
|
||||
playSound "click";
|
||||
_code = ctrlText (rmx_var_ctrl_editorItems select 1);
|
||||
call compile _code; //add try catch
|
||||
};
|
||||
case "save":
|
||||
{
|
||||
playSound "click";
|
||||
rmx_var_ctrl_editorTabContent set [rmx_var_editorIndex, ctrlText (rmx_var_ctrl_editorItems select 1)];
|
||||
profileNamespace setVariable ["rmx_var_ctrl_editorTabContent",rmx_var_ctrl_editorTabContent];
|
||||
};
|
||||
case "clear":
|
||||
{
|
||||
playSound "click";
|
||||
(rmx_var_ctrl_editorItems select 1) ctrlSetText "";
|
||||
rmx_var_ctrl_editorTabContent set [rmx_var_editorIndex, ctrlText (rmx_var_ctrl_editorItems select 1)];
|
||||
};
|
||||
case "slider":
|
||||
{
|
||||
playSound "click";
|
||||
_pos = (sliderPosition (rmx_var_ctrl_editorItems select 12)) / 10;
|
||||
{
|
||||
_x ctrlSetFade (_pos min 0.7);
|
||||
_x ctrlCommit 1;
|
||||
} forEach rmx_var_ctrl_editorItems + rmx_var_ctrl_editorMain;
|
||||
};
|
||||
case "load":
|
||||
{
|
||||
setMousePosition [0.5,0.5];
|
||||
[] spawn {
|
||||
waitUntil {!isNull (rmx_var_ctrl_editorItems select 1)};
|
||||
(rmx_var_ctrl_editorItems select 1) ctrlSetText (rmx_var_ctrl_editorTabContent select rmx_var_editorIndex);
|
||||
|
||||
//read positions
|
||||
disableSerialization;
|
||||
if (!isnil "rmx_var_editorPosition") then
|
||||
{
|
||||
{
|
||||
_x ctrlSetPosition (rmx_var_editorPosition select _forEachIndex);
|
||||
_x ctrlCommit 0;
|
||||
} forEach rmx_var_ctrl_editorItems + rmx_var_ctrl_editorMain;
|
||||
};
|
||||
|
||||
(rmx_var_ctrl_editorItems select 12) sliderSetPosition rmx_var_ctrl_editorContentFade;
|
||||
"slider" call rmx_fnc_codeEditorActions;
|
||||
|
||||
for "_i" from 2 to 10 do
|
||||
{
|
||||
(rmx_var_ctrl_editorItems select _i) ctrlSetTextColor [0.2,0.2,0.2,0.4];
|
||||
};
|
||||
(rmx_var_ctrl_editorItems select rmx_var_editorIndex + 2) ctrlSetTextColor (call rmx_fnc_getColorScheme);
|
||||
(rmx_var_ctrl_editorMain select 1) ctrlSetBackgroundColor (call rmx_fnc_getColorScheme);
|
||||
|
||||
for "_c" from 13 to 15 do {
|
||||
(rmx_var_ctrl_editorItems select _c) ctrlSetTextColor (call rmx_fnc_getColorScheme);
|
||||
};
|
||||
};
|
||||
};
|
||||
case "unload":
|
||||
{
|
||||
rmx_var_editorControl = false;
|
||||
rmx_var_ctrl_editorTabContent set [rmx_var_editorIndex, ctrlText (rmx_var_ctrl_editorItems select 1)];
|
||||
|
||||
//store positions
|
||||
rmx_var_editorPosition = [];
|
||||
|
||||
{
|
||||
rmx_var_editorPosition pushBack (ctrlPosition _x);
|
||||
} forEach rmx_var_ctrl_editorItems + rmx_var_ctrl_editorMain;
|
||||
rmx_var_ctrl_editorContentFade = sliderPosition (rmx_var_ctrl_editorItems select 12);
|
||||
profileNamespace setVariable ["rmx_var_ctrl_editorContentFade", rmx_var_ctrl_editorContentFade];
|
||||
};
|
||||
case "tabs":
|
||||
{
|
||||
playSound "click";
|
||||
rmx_var_editorIndex = _tab;
|
||||
profilenamespace setVariable ["rmx_var_editorIndex", rmx_var_editorIndex];
|
||||
|
||||
for "_i" from 2 to 10 do
|
||||
{
|
||||
(rmx_var_ctrl_editorItems select _i) ctrlSetTextColor [0.2,0.2,0.2,0.4];
|
||||
};
|
||||
(rmx_var_ctrl_editorItems select _tab + 2) ctrlSetTextColor (call rmx_fnc_getColorScheme);
|
||||
|
||||
(rmx_var_ctrl_editorItems select 1) ctrlSetText (rmx_var_ctrl_editorTabContent select _tab);
|
||||
};
|
||||
};
|
64
Tools/DevFrameWork/x/addons/rmx_init/functions/console.sqf
Normal file
64
Tools/DevFrameWork/x/addons/rmx_init/functions/console.sqf
Normal file
@ -0,0 +1,64 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_console
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Display custom in-game console
|
||||
Usage: Press F2 to enable
|
||||
Note: Player movement is not disabled
|
||||
|
||||
License: ---
|
||||
*/
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
private ["_display","_item","_currPosItem","_console","_currPos","_newPos"];
|
||||
disableSerialization;
|
||||
|
||||
switch (rmx_var_consoleEnabled) do {
|
||||
case false:
|
||||
{
|
||||
if (_shift) then {
|
||||
findDisplay 46 createDisplay "dUI_console";
|
||||
_display = findDisplay 9100;
|
||||
_display displayAddEventHandler ["keyDown", "_this call rmx_fnc_keyDown;"];
|
||||
} else {
|
||||
9100 cutRsc ["dUI_console2","PLAIN"];
|
||||
_display = uiNamespace getVariable "rmx_var_console2";
|
||||
};
|
||||
rmx_var_ctrl_console = [];
|
||||
rmx_var_ctrl_consoleItems = [];
|
||||
|
||||
for "_i" from 9000 to 9039 do {
|
||||
rmx_var_ctrl_console set [count rmx_var_ctrl_console,_display displayCtrl _i];
|
||||
};
|
||||
|
||||
{rmx_var_ctrl_consoleItems set [count rmx_var_ctrl_consoleItems,_display displayCtrl _x];
|
||||
}count [9200,9201,9202,9203,9204,9205,9206,9207,9208,9209,9210,9211,9050];
|
||||
|
||||
(rmx_var_ctrl_consoleItems select 5) cbSetChecked rmx_var_consoleCheckbox_info;
|
||||
(rmx_var_ctrl_consoleItems select 6) cbSetChecked rmx_var_consoleCheckbox_warnings;
|
||||
(rmx_var_ctrl_consoleItems select 7) cbSetChecked rmx_var_consoleCheckbox_critical;
|
||||
(rmx_var_ctrl_consoleItems select 8) cbSetChecked rmx_var_consoleCheckbox_pause;
|
||||
|
||||
if (rmx_var_consoleSetting <= 0) then {rmx_var_consoleSetting = 0}; //correct min
|
||||
if (rmx_var_consoleSetting >= 1.6) then {rmx_var_consoleSetting = 1.6}; //correct max
|
||||
for "_i" from 0 to 11 do {
|
||||
_item = rmx_var_ctrl_consoleItems select _i;
|
||||
_currPosItem = ctrlPosition _item;
|
||||
_item ctrlSetPosition [_currPosItem select 0,(_currPosItem select 1) + rmx_var_consoleSetting,_currPosItem select 2,_currPosItem select 3];
|
||||
_item ctrlCommit 0.2;
|
||||
};
|
||||
|
||||
_console = rmx_var_ctrl_consoleItems select 12;
|
||||
_currPos = ctrlPosition _console;
|
||||
_newPos = [_currPos select 0,_currPos select 1,_currPos select 2,(_currPos select 3) + rmx_var_consoleSetting];
|
||||
_console ctrlSetPosition _newPos;
|
||||
_console ctrlCommit 0.2;
|
||||
|
||||
rmx_var_consoleEnabled = true;
|
||||
call rmx_fnc_consoleUpdate;
|
||||
};
|
||||
case true:
|
||||
{
|
||||
findDisplay 9100 closeDisplay 1;
|
||||
9100 cutRsc ["Default","PLAIN"];
|
||||
rmx_var_consoleEnabled = false;
|
||||
};
|
||||
};
|
@ -0,0 +1,82 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_consoleFilters
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Manages debug console and saves settings to profile if required
|
||||
|
||||
License: ---
|
||||
*/
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
private ["_case","_checkBoxState"];
|
||||
disableSerialization;
|
||||
|
||||
_case = str (_this select 0);
|
||||
_checkBoxState = _this select 1;
|
||||
switch (_case) do { //TODO - save to profile Namespace
|
||||
case "Control #9205": //Checkbox: info
|
||||
{
|
||||
rmx_var_consoleCheckbox_info = if (_checkBoxState == 1) then {true} else {false};
|
||||
};
|
||||
case "Control #9206": //Checkbox: warnings
|
||||
{
|
||||
rmx_var_consoleCheckbox_warnings = if (_checkBoxState == 1) then {true} else {false};
|
||||
};
|
||||
case "Control #9207": //Checkbox: critical
|
||||
{
|
||||
rmx_var_consoleCheckbox_critical = if (_checkBoxState == 1) then {true} else {false};
|
||||
};
|
||||
case "Control #9208": //Checkbox: pause
|
||||
{
|
||||
rmx_var_consoleCheckbox_pause = if (_checkBoxState == 1) then {true} else {false};
|
||||
};
|
||||
case "Control #9209": //Button -
|
||||
{
|
||||
private ["_item","_currPosItem","_console","_currPos","_newPos"];
|
||||
|
||||
if (rmx_var_consoleSetting <= 0) exitWith {rmx_var_consoleSetting = 0};
|
||||
for "_i" from 0 to 11 do {
|
||||
_item = rmx_var_ctrl_consoleItems select _i;
|
||||
_currPosItem = ctrlPosition _item;
|
||||
_item ctrlSetPosition [_currPosItem select 0,(_currPosItem select 1) - 0.2,_currPosItem select 2,_currPosItem select 3];
|
||||
_item ctrlCommit 0.2;
|
||||
};
|
||||
|
||||
_console = rmx_var_ctrl_consoleItems select 12;
|
||||
_currPos = ctrlPosition _console;
|
||||
_newPos = [_currPos select 0,_currPos select 1,_currPos select 2,(_currPos select 3) - 0.2];
|
||||
_console ctrlSetPosition _newPos;
|
||||
_console ctrlCommit 0.2;
|
||||
rmx_var_consoleSetting = rmx_var_consoleSetting -0.2;
|
||||
};
|
||||
case "Control #9210": //Button +
|
||||
{
|
||||
private ["_item","_currPosItem","_console","_currPos","_newPos"];
|
||||
|
||||
if (rmx_var_consoleSetting >= 1.6) exitWith {rmx_var_consoleSetting = 1.6};
|
||||
for "_i" from 0 to 11 do {
|
||||
_item = rmx_var_ctrl_consoleItems select _i;
|
||||
_currPosItem = ctrlPosition _item;
|
||||
_item ctrlSetPosition [_currPosItem select 0,(_currPosItem select 1) + 0.2,_currPosItem select 2,_currPosItem select 3];
|
||||
_item ctrlCommit 0.2;
|
||||
};
|
||||
|
||||
_console = rmx_var_ctrl_consoleItems select 12;
|
||||
_currPos = ctrlPosition _console;
|
||||
_newPos = [_currPos select 0,_currPos select 1,_currPos select 2,(_currPos select 3) + 0.2];
|
||||
_console ctrlSetPosition _newPos;
|
||||
_console ctrlCommit 0.2;
|
||||
rmx_var_consoleSetting = rmx_var_consoleSetting + 0.2;
|
||||
};
|
||||
case "Control #9211": //Button Clear
|
||||
{
|
||||
for "_i" from 0 to 39 do {
|
||||
rmx_var_console_list set [_i,(text "")];
|
||||
};
|
||||
rmx_var_logBuffer = [];
|
||||
call rmx_fnc_consoleUpdate;
|
||||
};
|
||||
default {format ["Wrong input: %1",_this] warning;};
|
||||
};
|
||||
|
||||
//save variable settings permanently
|
||||
profileNamespace setVariable ["rmx_var_consoleSetting",rmx_var_consoleSetting];
|
||||
profileNamespace setVariable ["rmx_var_consoleCBstate",[rmx_var_consoleCheckbox_info,rmx_var_consoleCheckbox_warnings,rmx_var_consoleCheckbox_critical,rmx_var_consoleCheckbox_pause]];
|
@ -0,0 +1,18 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_consoleUpdate
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Writes to console
|
||||
Can be called to refresh/update console
|
||||
License: ---
|
||||
*/
|
||||
disableSerialization;
|
||||
|
||||
if (!rmx_var_consoleEnabled) exitWith {true}; //required: _ctrl only works when dialog exists
|
||||
|
||||
{
|
||||
_ctrl = rmx_var_ctrl_console select _forEachIndex;
|
||||
_ctrl ctrlSetStructuredText _x;
|
||||
_ctrl ctrlCommit 0;
|
||||
} forEach rmx_var_console_list;
|
||||
|
||||
true
|
107
Tools/DevFrameWork/x/addons/rmx_init/functions/dialogVars.sqf
Normal file
107
Tools/DevFrameWork/x/addons/rmx_init/functions/dialogVars.sqf
Normal file
@ -0,0 +1,107 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_dialogVars
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Variable defines used for currently developed functions or debugging.
|
||||
|
||||
This function is recompiled and called during preInit
|
||||
|
||||
License: ---
|
||||
*/
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
|
||||
rmx_var_logMsg = [];
|
||||
rmx_var_logBufferSize = 200;
|
||||
rmx_var_logBuffer = [];
|
||||
rmx_var_logsweepcycle = 0.01;
|
||||
|
||||
"Use Shift + F2 to open console as a display with ability to click buttons" warning;
|
||||
|
||||
rmx_var_quickFnc_items = [[[0,1,0,1],"Example","call doSTUFF;"]];
|
||||
|
||||
//Default dialog toggle state defines
|
||||
if (isNil "rmx_var_consoleEnabled") then {rmx_var_consoleEnabled = false;};
|
||||
if (isNil "rmx_var_quickFncEnabled") then {rmx_var_quickFncEnabled = false;};
|
||||
if (isNil "rmx_var_atmosFearEnabled") then {rmx_var_atmosFearEnabled = false;};
|
||||
if (isNil "rmx_var_ppViewerEnabled") then {rmx_var_ppViewerEnabled = false;};
|
||||
if (isNil "rmx_var_editorControl") then {rmx_var_editorControl = false;};
|
||||
if (isNil "rmx_var_watcherControl") then {rmx_var_watcherControl = false;};
|
||||
if (isNil "rmx_var_watcherPinned") then {rmx_var_watcherPinned = false;};
|
||||
|
||||
//gather default saved variables for console state from profile namespace (checkbox selection and console size)
|
||||
rmx_var_consoleSetting = profileNamespace getVariable ["rmx_var_consoleSetting",0];
|
||||
rmx_var_consoleCBstate = profileNamespace getVariable ["rmx_var_consoleCBstate",[true,true,true,false]];
|
||||
rmx_var_consoleCheckbox_info = rmx_var_consoleCBstate select 0;
|
||||
rmx_var_consoleCheckbox_warnings = rmx_var_consoleCBstate select 1;
|
||||
rmx_var_consoleCheckbox_critical = rmx_var_consoleCBstate select 2;
|
||||
rmx_var_consoleCheckbox_pause = rmx_var_consoleCBstate select 3;
|
||||
|
||||
//generate structured array for console early to avoid problems
|
||||
if (isNil "rmx_var_console_list") then {
|
||||
rmx_var_console_list = []; rmx_var_console_list resize 40;
|
||||
for "_i" from 0 to 39 do {
|
||||
rmx_var_console_list set [_i,(text "")];
|
||||
};
|
||||
};
|
||||
|
||||
/* -------------------- PP VIEWER -------------------- */
|
||||
rmx_var_ppCatMain = [];
|
||||
rmx_var_ppCatCC = [];
|
||||
rmx_var_ppCatCCV = [];
|
||||
rmx_var_ppCatCA = [];
|
||||
rmx_var_ppCatFG = [];
|
||||
rmx_var_ppCatRB = [];
|
||||
rmx_var_ppCatWD = [];
|
||||
rmx_var_ppCatDB = [];
|
||||
rmx_var_ppCatCI = [];
|
||||
rmx_var_ppTemplate = [["colorCorrections",1501],["chromAberration",201],["filmGrain",2001],["radialBlur",101],["wetdistortion",301],["dynamicBlur",401],["colorInversion",2501]];
|
||||
rmx_var_ppSelected = 0;
|
||||
rmx_var_ppiSelected = 0;
|
||||
|
||||
rmx_var_ppCcPos = [1,1,0,0,0,0,0,0,0,0,1,0,0,0,0];
|
||||
rmx_var_ppCcvPos = [0,0,0,0,0,0,0];
|
||||
rmx_var_ppCaPos = [0,0,false];
|
||||
rmx_var_ppFgPos = [0,0,1,0,0,false];
|
||||
rmx_var_ppRbPos = [0,0,0,0];
|
||||
rmx_var_ppWdPos = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
|
||||
rmx_var_ppDbPos = [0];
|
||||
rmx_var_ppCiPos = [0,0,0];
|
||||
|
||||
with profileNamespace do {
|
||||
if (rmx_var_ppLoadSave isEqualTo []) then {rmx_var_ppLoadSave = nil};
|
||||
};
|
||||
rmx_var_ppLoadSave = profileNamespace getVariable ["rmx_var_ppLoadSave",[[0,"Nothing saved",[1,1,0,0,0,0,0,0,0,0,1,0,0,0,0]]]];
|
||||
rmx_var_ppHandles = [];
|
||||
{
|
||||
private "_hndl";
|
||||
_hndl = ppEffectCreate [(_x select 0),(_x select 1)];
|
||||
_hndl ppEffectEnable false;
|
||||
rmx_var_ppHandles set [count rmx_var_ppHandles,_hndl]; //pushBack suddenly started giving error
|
||||
} forEach rmx_var_ppTemplate;
|
||||
//profileNamespace setVariable ["rmx_var_ppLoadSave",nil]; //deletes profileNS var
|
||||
|
||||
/* -------------------- AtmosFEAR -------------------- */
|
||||
rmx_var_afProgress = [];
|
||||
rmx_var_afInput = [];
|
||||
rmx_var_afSliders = [];
|
||||
rmx_var_afMisc = [];
|
||||
rmx_var_afText = [];
|
||||
rmx_var_afSelected = 0;
|
||||
|
||||
with profileNamespace do {
|
||||
if (rmx_var_afLoadSave isEqualTo []) then {rmx_var_afLoadSave = nil};
|
||||
};
|
||||
rmx_var_afProfile = profileNamespace getVariable ["rmx_var_afProfile",[0,0,0,0,[0,0],[0,[0,0,0]],[0,0],[0,0],[0,0],[0,0],[0,0,false]]];
|
||||
rmx_var_afLoadSave = profileNamespace getVariable ["rmx_var_afLoadSave",[["Nothing saved",[]]]];
|
||||
|
||||
/* -------------------- Code Editor -------------------- */
|
||||
rmx_var_ctrl_editorContentFade = profileNamespace getVariable ["rmx_var_ctrl_editorContentFade",0];
|
||||
rmx_var_editorIndex = profileNamespace getVariable ["rmx_var_editorIndex",1];
|
||||
rmx_var_ctrl_editorTabContent = profileNamespace getVariable ["rmx_var_ctrl_editorTabContent",["", "", "", "", "", "", "", "", ""]];
|
||||
|
||||
/* -------------------- Variable Watcher -------------------- */
|
||||
if (isNil "rmx_var_watcher_running") then {rmx_var_watcher_running = false;};
|
||||
if (isNil "rmx_var_watcherGrpControls") then {rmx_var_watcherGrpControls = []};
|
||||
rmx_var_watcherGrpControls_data = profileNamespace getVariable ["rmx_var_watcherGrpControls_data",[]];
|
||||
|
||||
|
||||
true
|
@ -0,0 +1,18 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_eventHandlers
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Bunch of EHs
|
||||
|
||||
License: ---
|
||||
*/
|
||||
|
||||
[] spawn {
|
||||
if !(isServer) then {
|
||||
waitUntil { uiSleep 0.1; (!isNull (findDisplay 46) && (!isNil "EPOCH_loadingScreenDone")) };
|
||||
};
|
||||
uiSleep 2; //increase if EH is not getting applied
|
||||
(findDisplay 46) displayAddEventHandler ["KeyDown","_this call rmx_fnc_keyDown"];
|
||||
//(findDisplay 46) displayAddEventHandler ["KeyUp","_this call rmx_fnc_keyUp"];
|
||||
};
|
||||
|
||||
true
|
@ -0,0 +1,14 @@
|
||||
/*
|
||||
More at profile vars, unrap first
|
||||
gui_bcg_rgb_preset
|
||||
gui_titletext_rgb_preset
|
||||
gui_bcg_rgb_g
|
||||
igui_bcg_rgb_b
|
||||
PresetRColive
|
||||
*/
|
||||
[
|
||||
profileNamespace getVariable "gui_bcg_rgb_r",
|
||||
profileNamespace getVariable "gui_bcg_rgb_g",
|
||||
profileNamespace getVariable "gui_bcg_rgb_b",
|
||||
profileNamespace getVariable "gui_bcg_rgb_a"
|
||||
]
|
113
Tools/DevFrameWork/x/addons/rmx_init/functions/keyDown.sqf
Normal file
113
Tools/DevFrameWork/x/addons/rmx_init/functions/keyDown.sqf
Normal file
@ -0,0 +1,113 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_keyDown
|
||||
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: This file detects keystrokes released and calls a function
|
||||
|
||||
List of all keys:
|
||||
https://community.bistudio.com/wiki/ListOfKeyCodes
|
||||
|
||||
License: ---
|
||||
*/
|
||||
private ["_handled","_key","_dev","_shift","_ctrl","_alt"];
|
||||
|
||||
_key = param [1,0];
|
||||
_shift = param [2,false];
|
||||
_ctrl = param [3,false];
|
||||
//_alt = param [4,false];
|
||||
|
||||
_handled = false;
|
||||
|
||||
//disable annoying cmd menu in SP
|
||||
//if (isServer) then {
|
||||
if (_this select 1 in [
|
||||
2,3,4,5,6,7,8,9,10,11, //1-0
|
||||
59,60,61,62,63,64,65,66,67,68, //F1-F0
|
||||
14, //backspace
|
||||
41 //tilde
|
||||
]) then {
|
||||
[] spawn {
|
||||
waitUntil {commandingMenu != ""};
|
||||
showCommandingMenu "";
|
||||
};
|
||||
};
|
||||
//};
|
||||
|
||||
switch (_this select 1) do
|
||||
{
|
||||
/*
|
||||
case 5:
|
||||
{
|
||||
_rnd = "";
|
||||
for "_i" from 0 to (floor random 50) + 2 do {
|
||||
_rnd = _rnd + (["a","b","c","d","1","2","3","4"," ","!"] select (floor random 10));
|
||||
};
|
||||
_st = composeText [parseText "<t color='#ff0000' size='1'>red text here </t>", linebreak, parseText "<t color='#00ff00' size='1'>green text here </t>"];
|
||||
[_st,floor random 10] call Epoch_dynamicText;
|
||||
};
|
||||
|
||||
case 57:
|
||||
{
|
||||
//[cursorTarget modelToWorld [0,0,0], floor random 10, 10] call Epoch_gui3DCooldown;
|
||||
//[cursorTarget, 10, "x\addons\a3_epoch_code\Data\UI\buttons\player_inspect.paa", "Testtesttest", [0,0,0]] call epoch_gui3dModelPos;
|
||||
//[player modelToWorld [0,2,2],10,"x\addons\a3_epoch_code\Data\UI\buttons\player_inspect.paa", "Testtesttest"] call epoch_gui3dWorldPos;
|
||||
//[cursorTarget,0] call epoch_guiObjHP;
|
||||
_handled = true;
|
||||
};
|
||||
*/
|
||||
case 14: //BACKSPACE
|
||||
{
|
||||
if (_ctrl) then {
|
||||
'rmx_fnc_sandbox' call rmx_fnc_recompile; [] spawn rmx_fnc_sandbox;
|
||||
};
|
||||
};
|
||||
case 28: //ENTER
|
||||
{
|
||||
if (_ctrl) then {
|
||||
call rmx_fnc_codeEditor;
|
||||
_handled = true;
|
||||
};
|
||||
};
|
||||
case 74: {rmx_var_3dCtrlSpin_Vector = rmx_var_3dCtrlSpin_Vector - 0.1;};
|
||||
case 78: {rmx_var_3dCtrlSpin_Vector = rmx_var_3dCtrlSpin_Vector + 0.1;};
|
||||
case 60: //F2
|
||||
{
|
||||
call rmx_fnc_console;
|
||||
_handled = true;
|
||||
};
|
||||
case 61: //F3
|
||||
{
|
||||
call rmx_fnc_quickFnc;
|
||||
_handled = true;
|
||||
};
|
||||
case 62: //F4
|
||||
{
|
||||
call rmx_fnc_watcher;
|
||||
_handled = true;
|
||||
};
|
||||
case 63: //F5
|
||||
{
|
||||
call rmx_fnc_atmosFear;
|
||||
_handled = true;
|
||||
};
|
||||
case 64: //F6
|
||||
{
|
||||
call rmx_fnc_ppViewer;
|
||||
_handled = true;
|
||||
};
|
||||
case 65: //F7
|
||||
{
|
||||
["Reserved for particle effects GUI editor","Hotkey reserved!"] spawn bis_fnc_guiMessage;
|
||||
_handled = true;
|
||||
};
|
||||
case 66: //F8
|
||||
{
|
||||
["Reserved for camera director GUI editor","Hotkey reserved!"] spawn bis_fnc_guiMessage;
|
||||
_handled = true;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
//uncomment to find keys on the go
|
||||
//hint format ["Key [%1] pressed", (_this select 1)];
|
||||
_handled;
|
23
Tools/DevFrameWork/x/addons/rmx_init/functions/keyUp.sqf
Normal file
23
Tools/DevFrameWork/x/addons/rmx_init/functions/keyUp.sqf
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_keyUp
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: This file detects keystrokes released and calls a function
|
||||
|
||||
List of all keys:
|
||||
https://community.bistudio.com/wiki/ListOfKeyCodes
|
||||
|
||||
License: ---
|
||||
*/
|
||||
private ["_handled","_key","_dev"];
|
||||
|
||||
_key = _this select 1;
|
||||
_handled = false;
|
||||
|
||||
switch (_this select 1) do
|
||||
{
|
||||
default {_handled = true;};
|
||||
};
|
||||
|
||||
//uncomment to find keys on the go
|
||||
//hint format ["Key [%1] released", (_this select 1)];
|
||||
_handled;
|
48
Tools/DevFrameWork/x/addons/rmx_init/functions/output.sqf
Normal file
48
Tools/DevFrameWork/x/addons/rmx_init/functions/output.sqf
Normal file
@ -0,0 +1,48 @@
|
||||
/*
|
||||
Function Name: rmx_dev_output
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: outputs params from quick function
|
||||
|
||||
Usage: ["hint","Test"] call d_dev_output;
|
||||
"Test" call d_dev_output;
|
||||
|
||||
License: ---
|
||||
*/
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
|
||||
if (typeName _this != typeName []) then {_this = [_this];};
|
||||
if (typeName (_this select 0) == "CONTROL") then {_this = ["No params"]};
|
||||
|
||||
switch (_this select 0) do {
|
||||
default {
|
||||
diag_log str _this;
|
||||
};
|
||||
case "hint":
|
||||
{
|
||||
hint str (_this select 1);
|
||||
};
|
||||
case "hintSilent":
|
||||
{
|
||||
hintSilent str (_this select 1);
|
||||
};
|
||||
case "diag_log":
|
||||
{
|
||||
diag_log str (_this select 1);
|
||||
};
|
||||
case "systemChat":
|
||||
{
|
||||
systemChat str (_this select 1);
|
||||
};
|
||||
case "info":
|
||||
{
|
||||
(_this select 1) info;
|
||||
};
|
||||
case "warning":
|
||||
{
|
||||
(_this select 1) warning;
|
||||
};
|
||||
case "critical":
|
||||
{
|
||||
(_this select 1) critical;
|
||||
};
|
||||
};
|
250
Tools/DevFrameWork/x/addons/rmx_init/functions/ppViewer.sqf
Normal file
250
Tools/DevFrameWork/x/addons/rmx_init/functions/ppViewer.sqf
Normal file
@ -0,0 +1,250 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_ppViewer
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Postprocess viewer
|
||||
|
||||
License: ---
|
||||
*/
|
||||
private ["_display","_diag"];
|
||||
disableSerialization;
|
||||
|
||||
switch (rmx_var_ppViewerEnabled) do {
|
||||
case false:
|
||||
{
|
||||
_diag = createDialog "dUI_ppEffects";
|
||||
_display = findDisplay 6100;
|
||||
|
||||
{rmx_var_ppCatMain set [count rmx_var_ppCatMain,_display displayCtrl _x];}count
|
||||
[
|
||||
6110,6111, //combo
|
||||
6120, //edit
|
||||
6130,6130,6130,6130,6130,6130,6130 //buttons
|
||||
];
|
||||
|
||||
{rmx_var_ppCatCC set [count rmx_var_ppCatCC,_display displayCtrl _x];}count
|
||||
[
|
||||
6210, //bg
|
||||
6220,6221,6222,6223,6224,6225,6250, //txt
|
||||
6230,6231,6232,6233,6234,6235,6236,6237,6238,6239,6240,6241,6242,6243,6244, //sliders
|
||||
6251 //bool
|
||||
];
|
||||
|
||||
{rmx_var_ppCatCCV set [count rmx_var_ppCatCCV,_display displayCtrl _x];}count
|
||||
[
|
||||
6260, //bg
|
||||
6270,6271,6272,6273,6274,6275,6276, //txt
|
||||
6280,6281,6282,6283,6284,6285,6286 //sliders
|
||||
];
|
||||
|
||||
{rmx_var_ppCatCA set [count rmx_var_ppCatCA,_display displayCtrl _x];}count
|
||||
[
|
||||
6310, //bg
|
||||
6320,6321,6322, //txt
|
||||
6330,6331, //sliders
|
||||
6340 //cb
|
||||
];
|
||||
|
||||
{rmx_var_ppCatFG set [count rmx_var_ppCatFG,_display displayCtrl _x];}count
|
||||
[
|
||||
6410, //bg
|
||||
6420,6421,6422,6423,6424,6425, //txt
|
||||
6430,6431,6432,6433,6434, //sliders
|
||||
6440 //cb
|
||||
];
|
||||
|
||||
{rmx_var_ppCatRB set [count rmx_var_ppCatRB,_display displayCtrl _x];}count
|
||||
[
|
||||
6510, //bg
|
||||
6520,6521,6522,6523, //txt
|
||||
6530,6531,6532,6533 //sliders
|
||||
];
|
||||
|
||||
{rmx_var_ppCatWD set [count rmx_var_ppCatWD,_display displayCtrl _x];}count
|
||||
[
|
||||
6610, //bg
|
||||
6620,6621,6622,6623,6624,6625, //txt
|
||||
6630,6631,6632,6633,6634,6635,6636,6637,6638,6639,6640,6641,6642,6643,6644 //sliders
|
||||
];
|
||||
|
||||
{rmx_var_ppCatDB set [count rmx_var_ppCatDB,_display displayCtrl _x];}count
|
||||
[
|
||||
6710, //bg
|
||||
6720, //txt
|
||||
6730 //sliders
|
||||
];
|
||||
|
||||
{rmx_var_ppCatCI set [count rmx_var_ppCatCI,_display displayCtrl _x];}count
|
||||
[
|
||||
6810, //bg
|
||||
6820,6821,6822, //txt
|
||||
6830,6831,6832 //sliders
|
||||
];
|
||||
|
||||
"range" call rmx_fnc_ppViewerGetSet; //sets slider ranges
|
||||
["load"] call rmx_fnc_ppViewerUpdate;
|
||||
"" call rmx_fnc_ppViewerGetSet; //loads default positions and selections
|
||||
call rmx_fnc_ppViewerEffects;
|
||||
rmx_var_ppViewerEnabled = true;
|
||||
};
|
||||
case true:
|
||||
{
|
||||
closeDialog 0;
|
||||
rmx_var_ppViewerEnabled = false;
|
||||
};
|
||||
};
|
||||
|
||||
true
|
||||
/*
|
||||
|
||||
dUI_ppEffects - IDD 6100
|
||||
|
||||
Category:
|
||||
Combo: Main: 6110
|
||||
Load: 6111
|
||||
|
||||
Edit: 6120
|
||||
|
||||
Buttons: Load: 6130
|
||||
Save: 6131
|
||||
Reset: 6132
|
||||
Random: 6133
|
||||
Delete: 6134
|
||||
RPT: 6135
|
||||
Reset ALL: 6136
|
||||
|
||||
Color Correction:
|
||||
Background: 6210
|
||||
|
||||
Text: Brightness: 6220
|
||||
Contrast: 6221
|
||||
Offset: 6222
|
||||
Blend: 6223
|
||||
Colorize1: 6224
|
||||
Colorize2: 6225
|
||||
Vignette: 6250
|
||||
|
||||
Sliders: Brightness: 6230
|
||||
Contrast: 6231
|
||||
Offset: 6232
|
||||
Blend Red: 6233
|
||||
Blend Green: 6234
|
||||
Blend Blue: 6235
|
||||
Blend Alpha: 6236
|
||||
Colorize1 Red: 6237
|
||||
Colorize1 Green: 6238
|
||||
Colorize1 Blue: 6239
|
||||
Colorize1 Alpha: 6240
|
||||
Colorize2 Red: 6241
|
||||
Colorize2 Green: 6242
|
||||
Colorize2 Blue: 6243
|
||||
Colorize2 Alpha: 6244
|
||||
|
||||
Bool:
|
||||
Vignette bool: 6251
|
||||
|
||||
Vignette: Background: 6260
|
||||
|
||||
Text: Hsize: 6270
|
||||
Vsize: 6271
|
||||
?: 6272
|
||||
Hpos: 6273
|
||||
Vpos: 6274
|
||||
STR: 6275
|
||||
Alpha: 6276
|
||||
|
||||
Slider: Hsize: 6280
|
||||
Vsize: 6281
|
||||
?: 6282
|
||||
Hpos: 6283
|
||||
Vpos: 6284
|
||||
STR: 6285
|
||||
Alpha: 6286
|
||||
|
||||
Chromatic aberration
|
||||
Background: 6310
|
||||
|
||||
Text: X: 6320
|
||||
Y: 6321
|
||||
Aspect: 6322
|
||||
|
||||
Sliders: X: 6330
|
||||
Y: 6331
|
||||
|
||||
Checkbox: CB: 6340
|
||||
|
||||
Film grain
|
||||
Background: 6410
|
||||
|
||||
Text: Sharpness: 6420
|
||||
Intensity: 6421
|
||||
Grain Size: 6422
|
||||
Intensityx0: 6423
|
||||
Intensityx1: 6424
|
||||
Monochromic: 6425
|
||||
|
||||
Sliders: Sharpness: 6430
|
||||
Intensity: 6431
|
||||
Grain Size: 6432
|
||||
Intensityx0: 6433
|
||||
Intensityx1: 6434
|
||||
|
||||
Checkbox: Bool: 6440
|
||||
|
||||
Radial Blur
|
||||
Background: 6510
|
||||
|
||||
Text: Relative X: 6520
|
||||
Relative Y: 6521
|
||||
Centre X: 6522
|
||||
Centre Y: 6523
|
||||
|
||||
Sliders: Relative X: 6530
|
||||
Relative Y: 6531
|
||||
Centre X: 6532
|
||||
Centre Y: 6533
|
||||
|
||||
Water Distortion
|
||||
BackGround: 6610
|
||||
|
||||
Text: Bluriness: 6620
|
||||
STR Top: 6621
|
||||
STR Bot: 6622
|
||||
Wave speed: 6623
|
||||
Wave amp: 6624
|
||||
Phase: 6625
|
||||
|
||||
Sliders: Blur: 6630
|
||||
STR Top: 6631
|
||||
STR Bot: 6632
|
||||
Wave speed 1: 6633
|
||||
Wave speed 2: 6634
|
||||
Wave speed 3: 6635
|
||||
Wave speed 4: 6636
|
||||
Wave amp 1: 6637
|
||||
Wave amp 2: 6638
|
||||
Wave amp 3: 6639
|
||||
Wave amp 4: 6640
|
||||
Phase 1: 6641
|
||||
Phase 2: 6642
|
||||
Phase 3: 6643
|
||||
Phase 4: 6644
|
||||
|
||||
Dynamic blur
|
||||
Background: 6710
|
||||
|
||||
Text: 6720
|
||||
|
||||
Slider: 6730
|
||||
|
||||
Color inversion
|
||||
Background: 6810
|
||||
|
||||
Text: Red: 6820
|
||||
Green: 6821
|
||||
Blue: 6822
|
||||
|
||||
Sliders: Red: 6830
|
||||
Green: 6831
|
||||
Blue: 6832
|
||||
|
||||
*/
|
@ -0,0 +1,86 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_ppViewerEffects
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: PPV Effects, responsible for all the math and applying effects
|
||||
|
||||
License: ---
|
||||
*/
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
private ["_currEffect","_handle","_adjust"];
|
||||
disableSerialization;
|
||||
|
||||
_currEffect = rmx_var_ppTemplate select rmx_var_ppSelected select 0;
|
||||
_handle = rmx_var_ppHandles select rmx_var_ppSelected;
|
||||
|
||||
//hintSilent format ["E: %1",_this];
|
||||
|
||||
switch (_currEffect) do {
|
||||
case "colorCorrections":
|
||||
{
|
||||
rmx_var_ppCcPos = [];
|
||||
for "_i" from 8 to 22 do {
|
||||
rmx_var_ppCcPos pushBack (sliderPosition (rmx_var_ppCatCC select _i));
|
||||
};
|
||||
if (cbChecked (rmx_var_ppCatCC select 23)) then {
|
||||
rmx_var_ppCcvPos = [];
|
||||
for "_i" from 8 to 14 do {
|
||||
rmx_var_ppCcvPos pushBack (sliderPosition (rmx_var_ppCatCCV select _i));
|
||||
};
|
||||
rmx_var_ppCcPos append rmx_var_ppCcvPos;
|
||||
};
|
||||
_adjust = rmx_var_ppCcPos;
|
||||
};
|
||||
case "chromAberration":
|
||||
{
|
||||
rmx_var_ppCaPos = [
|
||||
sliderPosition (rmx_var_ppCatCA select 4),
|
||||
sliderPosition (rmx_var_ppCatCA select 5),
|
||||
cbChecked (rmx_var_ppCatCA select 6)
|
||||
];
|
||||
_adjust = rmx_var_ppCaPos;
|
||||
};
|
||||
case "filmGrain":
|
||||
{
|
||||
rmx_var_ppFgPos = [];
|
||||
for "_i" from 7 to 11 do {
|
||||
rmx_var_ppFgPos pushBack (sliderPosition (rmx_var_ppCatFG select _i));
|
||||
};
|
||||
rmx_var_ppFgPos pushBack (cbChecked (rmx_var_ppCatFG select 12));
|
||||
_adjust = rmx_var_ppFgPos;
|
||||
};
|
||||
case "radialBlur":
|
||||
{
|
||||
rmx_var_ppRbPos = [];
|
||||
for "_i" from 5 to 8 do {
|
||||
rmx_var_ppRbPos pushBack (sliderPosition (rmx_var_ppCatRB select _i));
|
||||
};
|
||||
_adjust = rmx_var_ppRbPos;
|
||||
};
|
||||
case "wetdistortion":
|
||||
{
|
||||
rmx_var_ppWdPos = [];
|
||||
for "_i" from 7 to 21 do {
|
||||
rmx_var_ppWdPos pushBack (sliderPosition (rmx_var_ppCatWD select _i));
|
||||
};
|
||||
_adjust = rmx_var_ppWdPos;
|
||||
};
|
||||
case "dynamicBlur":
|
||||
{
|
||||
rmx_var_ppDbPos = [sliderPosition (rmx_var_ppCatDB select 2)];
|
||||
_adjust = rmx_var_ppDbPos;
|
||||
};
|
||||
case "colorInversion":
|
||||
{
|
||||
rmx_var_ppCiPos = [];
|
||||
for "_i" from 4 to 6 do {
|
||||
rmx_var_ppCiPos pushBack (sliderPosition (rmx_var_ppCatCI select _i));
|
||||
};
|
||||
_adjust = rmx_var_ppCiPos;
|
||||
};
|
||||
};
|
||||
//(format ["%1 >> %2",_currEffect,_adjust]) info;
|
||||
_handle ppEffectEnable true;
|
||||
_handle ppEffectAdjust _adjust;
|
||||
_handle ppEffectCommit 0;
|
||||
|
||||
true
|
@ -0,0 +1,117 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_ppViewerGetSet
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: PPV profiles and positions
|
||||
|
||||
License: ---
|
||||
*/
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
disableSerialization;
|
||||
|
||||
|
||||
switch (_this) do {
|
||||
default {
|
||||
(rmx_var_ppCatMain select 0) lbSetCurSel rmx_var_ppSelected;
|
||||
(rmx_var_ppCatMain select 1) lbSetCurSel rmx_var_ppiSelected;
|
||||
if ((cbChecked (rmx_var_ppCatCC select 23)) && (rmx_var_ppSelected isEqualTo 0)) then {
|
||||
{
|
||||
_x ctrlShow true;
|
||||
} count rmx_var_ppCatCCV;
|
||||
};
|
||||
|
||||
(rmx_var_ppCatCA select 6) cbSetChecked (rmx_var_ppCaPos select 2);
|
||||
(rmx_var_ppCatFG select 12) cbSetChecked (rmx_var_ppFgPos select 5);
|
||||
|
||||
{
|
||||
_x sliderSetPosition (rmx_var_ppCcPos select _forEachIndex);
|
||||
} forEach (rmx_var_ppCatCC select [8,15]);
|
||||
{
|
||||
_x sliderSetPosition (rmx_var_ppCcvPos select _forEachIndex);
|
||||
} forEach (rmx_var_ppCatCCV select [8,7]);
|
||||
{
|
||||
_x sliderSetPosition (rmx_var_ppCaPos select _forEachIndex);
|
||||
} forEach (rmx_var_ppCatCA select [4,2]);
|
||||
{
|
||||
_x sliderSetPosition (rmx_var_ppFgPos select _forEachIndex);
|
||||
} forEach (rmx_var_ppCatFG select [7,5]);
|
||||
{
|
||||
_x sliderSetPosition (rmx_var_ppRbPos select _forEachIndex);
|
||||
} forEach (rmx_var_ppCatRB select [5,4]);
|
||||
{
|
||||
_x sliderSetPosition (rmx_var_ppWdPos select _forEachIndex);
|
||||
} forEach (rmx_var_ppCatWD select [7,15]);
|
||||
{
|
||||
_x sliderSetPosition (rmx_var_ppDbPos select _forEachIndex);
|
||||
} forEach [(rmx_var_ppCatDB select 2)];
|
||||
{
|
||||
_x sliderSetPosition (rmx_var_ppCiPos select _forEachIndex);
|
||||
} forEach (rmx_var_ppCatCI select [4,3]);
|
||||
|
||||
};
|
||||
case "range":
|
||||
{
|
||||
for "_i" from 8 to 22 do {
|
||||
(rmx_var_ppCatCC select _i) sliderSetRange [0, 1];
|
||||
};
|
||||
|
||||
for "_i" from 8 to 14 do {
|
||||
(rmx_var_ppCatCCV select _i) sliderSetRange [0, 1];
|
||||
};
|
||||
|
||||
(rmx_var_ppCatCA select 4) sliderSetRange [0, 1]; //x
|
||||
(rmx_var_ppCatCA select 5) sliderSetRange [0, 1]; //y
|
||||
|
||||
(rmx_var_ppCatFG select 7) sliderSetRange [0, 20]; //sharpness
|
||||
(rmx_var_ppCatFG select 8) sliderSetRange [0, 1]; //intensity
|
||||
(rmx_var_ppCatFG select 9) sliderSetRange [1, 8]; //grain size
|
||||
(rmx_var_ppCatFG select 10) sliderSetRange [0, 1]; //x0
|
||||
(rmx_var_ppCatFG select 11) sliderSetRange [0, 1]; //x1
|
||||
|
||||
(rmx_var_ppCatRB select 5) sliderSetRange [0, 1]; //Rx
|
||||
(rmx_var_ppCatRB select 6) sliderSetRange [0, 1]; //Ry
|
||||
(rmx_var_ppCatRB select 7) sliderSetRange [0, 0.5]; //Cx
|
||||
(rmx_var_ppCatRB select 8) sliderSetRange [0, 0.5]; //Cy
|
||||
|
||||
for "_i" from 7 to 21 do {
|
||||
(rmx_var_ppCatWD select _i) sliderSetRange [-1, 1];
|
||||
};
|
||||
|
||||
(rmx_var_ppCatDB select 2) sliderSetRange [0, 1]; //db
|
||||
|
||||
for "_i" from 4 to 6 do {
|
||||
(rmx_var_ppCatCI select _i) sliderSetRange [0, 1];
|
||||
};
|
||||
|
||||
};
|
||||
case "import":
|
||||
{
|
||||
private ["_in","_var","_inVal"];
|
||||
_in = profileNamespace getVariable ["rmx_var_ppLoadSave",[]];
|
||||
if (_in isEqualTo []) exitWith {hint "Nothing to load"};
|
||||
_inVal = _in select rmx_var_ppiSelected;
|
||||
_var = ["rmx_var_ppCcPos","rmx_var_ppCaPos","rmx_var_ppFgPos","rmx_var_ppRbPos","rmx_var_ppWdPos","rmx_var_ppDbPos","rmx_var_ppCiPos"] select (_inVal select 0);
|
||||
missionNamespace setVariable [_var,(_inVal select 2)];
|
||||
rmx_var_ppSelected = _inVal select 0;
|
||||
"" call rmx_fnc_ppViewerGetSet; //loads default positions and selections
|
||||
call rmx_fnc_ppViewerEffects;
|
||||
};
|
||||
case "export":
|
||||
{
|
||||
if (ctrlText (rmx_var_ppCatMain select 2) isEqualTo "") exitWith {hint "Effect name cannot be blank"};
|
||||
rmx_var_ppLoadSave = profileNamespace getVariable ["rmx_var_ppLoadSave",[]];
|
||||
rmx_var_ppLoadSave pushBack [
|
||||
rmx_var_ppSelected,
|
||||
ctrlText (rmx_var_ppCatMain select 2),
|
||||
([rmx_var_ppCcPos,rmx_var_ppCaPos,rmx_var_ppFgPos,rmx_var_ppRbPos,rmx_var_ppWdPos,rmx_var_ppDbPos,rmx_var_ppCiPos] select rmx_var_ppSelected)
|
||||
];
|
||||
profileNamespace setVariable ["rmx_var_ppLoadSave",rmx_var_ppLoadSave];
|
||||
|
||||
lbClear (rmx_var_ppCatMain select 1);
|
||||
|
||||
{
|
||||
(rmx_var_ppCatMain select 1) lbAdd (_x select 1);
|
||||
} forEach rmx_var_ppLoadSave;
|
||||
};
|
||||
};
|
||||
|
||||
true
|
@ -0,0 +1,196 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_ppViewerUpdate
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: PPV updater, responsible for main category and slider positions
|
||||
|
||||
License: ---
|
||||
*/
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
private ["_args","_selection","_ctrl"];
|
||||
disableSerialization;
|
||||
|
||||
_args = _this select 0;
|
||||
_selection = _this select 1;
|
||||
_ctrl = [rmx_var_ppCatCC, rmx_var_ppCatCA, rmx_var_ppCatFG, rmx_var_ppCatRB, rmx_var_ppCatWD, rmx_var_ppCatDB, rmx_var_ppCatCI, rmx_var_ppCatCCV];
|
||||
if (typeName _args != "STRING") then {_args = str _args};
|
||||
//hintSilent format ["U: %1",_this];
|
||||
|
||||
switch (_args) do {
|
||||
case "load":
|
||||
{
|
||||
{
|
||||
{
|
||||
_x ctrlShow false;
|
||||
} count _x;
|
||||
} forEach _ctrl;
|
||||
|
||||
lbClear (rmx_var_ppCatMain select 0);
|
||||
|
||||
{
|
||||
(rmx_var_ppCatMain select 0) lbAdd _x;
|
||||
} forEach ["Color Correction","Chromatic Aberration","Film Grain","Radial Blur","Wet Distortion","Dynamic Blur","Color inversion"]; //does not like count
|
||||
|
||||
lbClear (rmx_var_ppCatMain select 1);
|
||||
|
||||
{
|
||||
(rmx_var_ppCatMain select 1) lbAdd (_x select 1);
|
||||
} forEach rmx_var_ppLoadSave;
|
||||
};
|
||||
case "unload":
|
||||
{
|
||||
rmx_var_ppViewerEnabled = false;
|
||||
rmx_var_ppCatMain = [];
|
||||
rmx_var_ppCatCC = [];
|
||||
rmx_var_ppCatCCV = [];
|
||||
rmx_var_ppCatCA = [];
|
||||
rmx_var_ppCatFG = [];
|
||||
rmx_var_ppCatRB = [];
|
||||
rmx_var_ppCatWD = [];
|
||||
rmx_var_ppCatDB = [];
|
||||
rmx_var_ppCatCI = [];
|
||||
};
|
||||
case "import":
|
||||
{
|
||||
{
|
||||
{
|
||||
if (ctrlShown _x) then {_x ctrlShow false;};
|
||||
} count _x;
|
||||
} forEach _ctrl;
|
||||
|
||||
{
|
||||
_x ctrlShow true;
|
||||
} count (_ctrl select (rmx_var_ppLoadSave select rmx_var_ppiSelected select 0));
|
||||
};
|
||||
case "Control #6110": //main combo
|
||||
{
|
||||
{
|
||||
{
|
||||
if (ctrlShown _x) then {_x ctrlShow false;};
|
||||
} count _x;
|
||||
} forEach _ctrl;
|
||||
|
||||
{
|
||||
_x ctrlShow true;
|
||||
} count (_ctrl select _selection);
|
||||
rmx_var_ppSelected = _selection;
|
||||
};
|
||||
case "Control #6111": //loadsave combo
|
||||
{
|
||||
rmx_var_ppiSelected = _selection;
|
||||
};
|
||||
case "Control #6132": //reset
|
||||
{
|
||||
private "_currEffect";
|
||||
_currEffect = rmx_var_ppHandles select rmx_var_ppSelected;
|
||||
_currEffect ppEffectEnable false;
|
||||
};
|
||||
case "Control #6133": //random
|
||||
{
|
||||
switch (rmx_var_ppSelected) do {
|
||||
case 0: //cc
|
||||
{
|
||||
rmx_var_ppCcPos = [random 1,random 1,random 1,random 1,random 1,random 1,random 1,random 1,random 1,random 1,random 1,random 1,random 1,random 1,random 1];
|
||||
if (cbChecked (rmx_var_ppCatCC select 23)) then {
|
||||
rmx_var_ppCcvPos = [random 1,random 1,random 1,random 1,random 1,random 1,random 1];
|
||||
rmx_var_ppCcPos append rmx_var_ppCcvPos;
|
||||
};
|
||||
};
|
||||
case 1: //ca
|
||||
{
|
||||
private "_bool";
|
||||
_bool = if (random 1 > 0.5) then {true} else {false};
|
||||
rmx_var_ppCaPos = [random 1,random 1,_bool];
|
||||
(rmx_var_ppCatCA select 6) cbSetChecked _bool;
|
||||
};
|
||||
case 2: //fg
|
||||
{
|
||||
private "_bool";
|
||||
_bool = if (random 1 > 0.5) then {true} else {false};
|
||||
rmx_var_ppFgPos = [random 20,random 1,(random 7) + 1,random 1,random 1,_bool];
|
||||
(rmx_var_ppCatFG select 12) cbSetChecked _bool;
|
||||
};
|
||||
case 3: //rb
|
||||
{
|
||||
rmx_var_ppRbPos = [random 1,random 1,random 0.5,random 0.5];
|
||||
};
|
||||
case 4: //wd
|
||||
{
|
||||
rmx_var_ppWdPos = [(random 2 ) - 1,(random 2 ) - 1,(random 2 ) - 1,(random 2 ) - 1,(random 2 ) - 1,(random 2 ) - 1,(random 2 ) - 1,(random 2 ) - 1,(random 2 ) - 1,(random 2 ) - 1,(random 2 ) - 1,(random 2 ) - 1,(random 2 ) - 1,(random 2 ) - 1,(random 2 ) - 1];
|
||||
};
|
||||
case 5: //db
|
||||
{
|
||||
rmx_var_ppDbPos = [random 1];
|
||||
};
|
||||
case 6: //ci
|
||||
{
|
||||
rmx_var_ppCiPos = [random 1,random 1,random 1];
|
||||
};
|
||||
|
||||
};
|
||||
"" call rmx_fnc_ppViewerGetSet;
|
||||
call rmx_fnc_ppViewerEffects;
|
||||
};
|
||||
case "Control #6134": //del
|
||||
{
|
||||
if (profileNamespace getVariable ["rmx_var_ppLoadSave",[]] isEqualTo [] ) exitWith {hint "Nothing saved"};
|
||||
|
||||
private ["_in","_rem"];
|
||||
_in = profileNamespace getVariable "rmx_var_ppLoadSave";
|
||||
_rem = _in deleteAt rmx_var_ppiSelected;
|
||||
profileNamespace setVariable ["rmx_var_ppLoadSave",_in];
|
||||
(format ["Deleted effect: %1 = %2",_rem select 1,_rem select 2]) warning;
|
||||
lbClear (rmx_var_ppCatMain select 1);
|
||||
|
||||
{
|
||||
(rmx_var_ppCatMain select 1) lbAdd (_x select 1);
|
||||
} forEach rmx_var_ppLoadSave;
|
||||
|
||||
};
|
||||
case "Control #6135": // RPT
|
||||
{
|
||||
{
|
||||
diag_log format ["<< %1 >>",(_x select 0)];
|
||||
diag_log (_x select 1);
|
||||
} forEach
|
||||
[
|
||||
["colorCorrections", rmx_var_ppCcPos],
|
||||
["chromAberration", rmx_var_ppCaPos],
|
||||
["filmGrain", rmx_var_ppFgPos],
|
||||
["radialBlur", rmx_var_ppRbPos],
|
||||
["wetdistortion", rmx_var_ppWdPos],
|
||||
["dynamicBlur", rmx_var_ppDbPos],
|
||||
["colorInversion", rmx_var_ppCiPos]
|
||||
];
|
||||
};
|
||||
case "Control #6136": //reset all
|
||||
{
|
||||
{
|
||||
_x ppEffectEnable false;
|
||||
} forEach rmx_var_ppHandles;
|
||||
rmx_var_ppCcPos = [1,1,0,0,0,0,0,0,0,0,1,0,0,0,0];
|
||||
rmx_var_ppCcvPos = [0,0,0,0,0,0,0];
|
||||
rmx_var_ppCaPos = [0,0,false];
|
||||
rmx_var_ppFgPos = [0,0,1,0,0,false];
|
||||
rmx_var_ppRbPos = [0,0,0,0];
|
||||
rmx_var_ppWdPos = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
|
||||
rmx_var_ppDbPos = [0];
|
||||
rmx_var_ppCiPos = [0,0,0];
|
||||
"" call rmx_fnc_ppViewerGetSet;
|
||||
};
|
||||
|
||||
case "Control #6251": //vignette bool
|
||||
{
|
||||
private "_bool";
|
||||
_bool = if (_selection isEqualTo 0) then {false} else {true};
|
||||
{
|
||||
_x ctrlShow _bool;
|
||||
} count rmx_var_ppCatCCV;
|
||||
|
||||
};
|
||||
default
|
||||
{
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
true
|
34
Tools/DevFrameWork/x/addons/rmx_init/functions/quickFnc.sqf
Normal file
34
Tools/DevFrameWork/x/addons/rmx_init/functions/quickFnc.sqf
Normal file
@ -0,0 +1,34 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_dev_quickFnc
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Function quick-launch dialog
|
||||
*/
|
||||
private ["_display","_diag","_listBox"];
|
||||
disableSerialization;
|
||||
|
||||
switch (rmx_var_quickFncEnabled) do {
|
||||
case false:
|
||||
{
|
||||
_diag = createDialog "dUI_quickFunction";
|
||||
_display = findDisplay 9400;
|
||||
_listBox = _display displayCtrl 9403;
|
||||
_editBox = _display displayCtrl 9404;
|
||||
_listBox ctrlSetEventHandler ["LBDblClick","_editBox = ctrlText (findDisplay 9400 displayCtrl 9404); _fnc = ((_this select 0) lbData (_this select 1)); systemChat _fnc; call compile (_editBox + ' ' + _fnc);"];
|
||||
_editBox ctrlSetText (profileNamespace getVariable ["rmx_var_quickFnc_editBox","Params"]);
|
||||
|
||||
{
|
||||
_idx = _listBox lbAdd (_x select 1);
|
||||
_listBox lbSetColor [_idx,(_x select 0)];
|
||||
_listBox lbSetData [_idx,(_x select 2)];
|
||||
_listBox lbSetTooltip [_idx,(_x select 2)];
|
||||
} count rmx_var_quickFnc_items;
|
||||
|
||||
rmx_var_quickFncEnabled = true;
|
||||
};
|
||||
case true:
|
||||
{
|
||||
profileNamespace setVariable ["rmx_var_quickFnc_editBox",ctrlText (findDisplay 9400 displayCtrl 9404)];
|
||||
closeDialog 0;
|
||||
rmx_var_quickFncEnabled = false;
|
||||
};
|
||||
};
|
156
Tools/DevFrameWork/x/addons/rmx_init/functions/watcher.sqf
Normal file
156
Tools/DevFrameWork/x/addons/rmx_init/functions/watcher.sqf
Normal file
@ -0,0 +1,156 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_watcher
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Display custom in-game code Editor with tabs saved to HDD
|
||||
Usage: Press CTRL + ENTER to enable
|
||||
|
||||
License: ---
|
||||
*/
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
private ["_display"];
|
||||
|
||||
_display = displayNull;
|
||||
|
||||
if (str (findDisplay 7500) isEqualTo "Display #7500") then {
|
||||
"unload" call rmx_fnc_watcherActions;
|
||||
};
|
||||
|
||||
findDisplay 7500 closeDisplay 1;
|
||||
7500 cutRsc ["Default","PLAIN"];
|
||||
|
||||
|
||||
|
||||
if (!rmx_var_watcherControl) then {
|
||||
|
||||
findDisplay 46 createDisplay "dUI_watcher";
|
||||
_display = findDisplay 7500;
|
||||
_display displayAddEventHandler ["keyDown", "_this call rmx_fnc_keyDown;"];
|
||||
rmx_var_watcherControl = true;
|
||||
} else {
|
||||
|
||||
if (rmx_var_watcherPinned) then {
|
||||
7500 cutRsc ["dUI_watcher2","PLAIN"];
|
||||
_display = uiNamespace getVariable "rmx_var_watcher2";
|
||||
};
|
||||
rmx_var_watcherControl = false;
|
||||
};
|
||||
|
||||
//Exit if not pinned
|
||||
if (isNull _display) exitWith {false};
|
||||
|
||||
setMousePosition [0.5,0.5];
|
||||
|
||||
rmx_var_ctrl_watcherItems = [];
|
||||
|
||||
for "_i" from 7501 to 7508 do {
|
||||
rmx_var_ctrl_watcherItems set [count rmx_var_ctrl_watcherItems,_display displayCtrl _i];
|
||||
};
|
||||
|
||||
//Load positions, create if doesn't exist anywhere
|
||||
rmx_var_watcherPositions = profileNamespace getVariable ["rmx_var_watcherPositions",nil];
|
||||
if (isNil "rmx_var_watcherPositions") then {
|
||||
rmx_var_watcherPositions = [];
|
||||
{
|
||||
rmx_var_watcherPositions pushBack (ctrlPosition _x);
|
||||
} forEach rmx_var_ctrl_watcherItems;
|
||||
};
|
||||
|
||||
{
|
||||
_x ctrlSetPosition (rmx_var_watcherPositions select _forEachIndex);
|
||||
_x ctrlCommit 0;
|
||||
} forEach rmx_var_ctrl_watcherItems;
|
||||
|
||||
if (!rmx_var_watcherPinned) then {
|
||||
(rmx_var_ctrl_watcherItems select 2) ctrlSetText "x\addons\rmx_init\data\retardedPinUp.paa";
|
||||
} else {
|
||||
(rmx_var_ctrl_watcherItems select 2) ctrlSetText "x\addons\rmx_init\data\retardedPinDown.paa";
|
||||
};
|
||||
|
||||
(rmx_var_ctrl_watcherItems select 1) ctrlSetBackgroundColor (call rmx_fnc_getColorScheme);
|
||||
|
||||
if (!rmx_var_watcherControl && rmx_var_watcherPinned) then {
|
||||
(rmx_var_ctrl_watcherItems select 1) ctrlSetText "";
|
||||
(rmx_var_ctrl_watcherItems select 1) ctrlSetBackgroundColor [0,0,0,0];
|
||||
{
|
||||
(rmx_var_ctrl_watcherItems select _x) ctrlShow false;
|
||||
}count [0,1,2,3,4,5,7];
|
||||
};
|
||||
|
||||
{
|
||||
_idx = (rmx_var_ctrl_watcherItems select 4) lbadd _x;
|
||||
} count
|
||||
[
|
||||
"{code} String",
|
||||
"{code} Boolean",
|
||||
"{code} Progress Bar",
|
||||
"[string] missionNamespace",
|
||||
"[string] uiNamespace",
|
||||
"[string] profileNamespace"
|
||||
];
|
||||
|
||||
{
|
||||
_idx = (rmx_var_ctrl_watcherItems select 7) lbadd _x;
|
||||
} count
|
||||
[
|
||||
"Fade 0%",
|
||||
"Fade 10%",
|
||||
"Fade 20%",
|
||||
"Fade 30%",
|
||||
"Fade 40%",
|
||||
"Fade 50%",
|
||||
"Fade 60%",
|
||||
"Fade 70%",
|
||||
"Fade 80%",
|
||||
"Fade 90%"
|
||||
];
|
||||
|
||||
(rmx_var_ctrl_watcherItems select 7) ctrlSetEventHandler ["LBSelChanged","'fade' call rmx_fnc_watcherActions;"];
|
||||
(rmx_var_ctrl_watcherItems select 7) lbsetCurSel (profileNamespace getVariable ["rmx_var_ctrl_watcherContentFade",0]);
|
||||
(rmx_var_ctrl_watcherItems select 4) lbSetCurSel 0;
|
||||
(rmx_var_ctrl_watcherItems select 3) ctrlSetText "";
|
||||
|
||||
[] spawn {
|
||||
disableSerialization;
|
||||
if (count rmx_var_watcherGrpControls_data > 0) then {
|
||||
_tmp = rmx_var_watcherGrpControls_data;
|
||||
"unload" call rmx_fnc_watcherActions;
|
||||
rmx_var_watcherGrpControls_data = [];
|
||||
{
|
||||
(rmx_var_ctrl_watcherItems select 3) ctrlSetText (_x select 0);
|
||||
(rmx_var_ctrl_watcherItems select 4) lbSetCurSel (_x select 1);
|
||||
[true, (_x select 1)] call rmx_fnc_watcherAddRemove;
|
||||
uiSleep 0.01;
|
||||
}forEach _tmp;
|
||||
|
||||
(rmx_var_ctrl_watcherItems select 4) lbSetCurSel 0;
|
||||
(rmx_var_ctrl_watcherItems select 3) ctrlSetText "";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
true
|
@ -0,0 +1,66 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_watcherActions
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
Description: Display custom in-game code Editor with tabs saved to HDD
|
||||
Usage: NONE, required for main FNC
|
||||
|
||||
License: ---
|
||||
*/
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
|
||||
_switch = param [0, 100];
|
||||
|
||||
switch (_switch) do {
|
||||
case "load":
|
||||
{
|
||||
[] spawn rmx_fnc_watcherRunner;
|
||||
};
|
||||
case "unload":
|
||||
{
|
||||
rmx_var_watcherPositions = []; //reset positions to save new ones
|
||||
{
|
||||
rmx_var_watcherPositions pushBack (ctrlPosition _x);
|
||||
} forEach rmx_var_ctrl_watcherItems;
|
||||
{
|
||||
{
|
||||
_x call Epoch_getIDC;
|
||||
ctrlDelete _x;
|
||||
} forEach _x;
|
||||
} forEach rmx_var_watcherGrpControls;
|
||||
|
||||
rmx_var_watcherGrpControls = [];
|
||||
profileNamespace setVariable ["rmx_var_watcherPositions",rmx_var_watcherPositions];
|
||||
};
|
||||
case "fade":
|
||||
{
|
||||
_fade = lbCurSel (rmx_var_ctrl_watcherItems select 7);
|
||||
|
||||
{
|
||||
(rmx_var_ctrl_watcherItems select _x) ctrlSetFade (_fade / 10);
|
||||
(rmx_var_ctrl_watcherItems select _x) ctrlCommit 0.5;
|
||||
} count [0,1,4,5,6,7];
|
||||
|
||||
profileNamespace setVariable ["rmx_var_ctrl_watcherContentFade",_fade];
|
||||
};
|
||||
case "pin":
|
||||
{
|
||||
if (rmx_var_watcherPinned) then {
|
||||
(rmx_var_ctrl_watcherItems select 2) ctrlSetText "x\addons\rmx_init\data\retardedPinUp.paa";
|
||||
rmx_var_watcherPinned = false;
|
||||
} else {
|
||||
(rmx_var_ctrl_watcherItems select 2) ctrlSetText "x\addons\rmx_init\data\retardedPinDown.paa";
|
||||
rmx_var_watcherPinned = true;
|
||||
};
|
||||
};
|
||||
case "execute":
|
||||
{
|
||||
private ["_sel"];
|
||||
_sel = lbCurSel (rmx_var_ctrl_watcherItems select 4);
|
||||
_editbox = ctrlText (rmx_var_ctrl_watcherItems select 3);
|
||||
|
||||
//if (_editbox isEqualTo "") exitWith {"Edit field cannot be blank!" warning};
|
||||
[true, _sel] call rmx_fnc_watcherAddRemove;
|
||||
};
|
||||
};
|
||||
|
||||
true
|
@ -0,0 +1,114 @@
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
disableSerialization;
|
||||
if !(_this isEqualTypeParams [true,0]) exitWith {false};
|
||||
params ["_add","_idx"];
|
||||
//TODO: ONLOAD to populate controls
|
||||
//TODO:
|
||||
|
||||
//if ((_idx < 0) || (_idx > count rmx_var_watcherGrpControls)) exitWith {false};
|
||||
if (_idx < 0) exitWith {false};
|
||||
|
||||
//_display = if (rmx_var_watcherPinned) then {uiNamespace getVariable "rmx_var_watcher2"} else {findDisplay 7500};
|
||||
|
||||
_isPinned = uiNamespace getVariable ["rmx_var_watcher2",displayNull];
|
||||
_display = if (_isPinned isEqualTo displayNull) then {
|
||||
findDisplay 7500
|
||||
} else {
|
||||
_isPinned
|
||||
};
|
||||
|
||||
_grp = _display displayCtrl 7507;
|
||||
_codeBox = _display displayCtrl 7504;
|
||||
_grpPos = ctrlPosition _grp;
|
||||
|
||||
if (_add) then {
|
||||
_grpPos set [3, (_grpPos select 3) + 0.108];
|
||||
_grp ctrlSetPosition _grpPos;
|
||||
_grp ctrlCommit 0;
|
||||
_color = call Epoch_getColorScheme;
|
||||
|
||||
//Create debug elements
|
||||
_cTop = _display ctrlCreate ["RscText", call Epoch_getIDC, _grp];
|
||||
_cVarBG = _display ctrlCreate ["RscText", call Epoch_getIDC, _grp];
|
||||
_cVar = switch (_idx) do {
|
||||
case 1: {_display ctrlCreate ["RscPicture", call Epoch_getIDC, _grp]};
|
||||
case 2: {_display ctrlCreate ["RscProgress", call Epoch_getIDC, _grp]};
|
||||
default {_display ctrlCreate ["RscEdit", call Epoch_getIDC, _grp]};
|
||||
};
|
||||
_cX = _display ctrlCreate ["RscButton", call Epoch_getIDC, _grp];
|
||||
_cOk = _display ctrlCreate ["RscButton", call Epoch_getIDC, _grp];
|
||||
_cEdit = _display ctrlCreate ["RscEdit", call Epoch_getIDC, _grp];
|
||||
|
||||
//store debug elements into an array
|
||||
_cArr = [_cTop, _cVarBG, _cVar, _cX, _cOk, _cEdit];
|
||||
|
||||
//store group of debug elements with others
|
||||
rmx_var_watcherGrpControls pushBack _cArr;
|
||||
rmx_var_watcherGrpControls_data pushBack [ctrlText _codeBox,_idx]; //index of execute
|
||||
profileNamespace setVariable ["rmx_var_watcherGrpControls_data",rmx_var_watcherGrpControls_data];
|
||||
|
||||
//Give position and parent variable data
|
||||
_ctrlSettings =
|
||||
[
|
||||
[[0,0,0.465,0.012],[0,0,0,0], "", [0,0,0,0]],
|
||||
[[0,0.012,0.4225,0.048],[0,0,0,0.6], "", [0,0,0,0]],
|
||||
[[0,0.06,0.4225,0.048],[1,1,1,0.1], "", [1,1,1,1]],
|
||||
[[0.4225,0.06,0.0425,0.048],[1,1,1,1], "X", _color],
|
||||
[[0.4225,0.012,0.0425,0.048],[1,1,1,1], "Ok", _color],
|
||||
[[0,0.012,0.4225,0.048],[0,0,0,0.6], ctrlText _codeBox, _color]
|
||||
];
|
||||
|
||||
{
|
||||
_x ctrlSetPosition (_ctrlSettings select _forEachIndex select 0);
|
||||
_x ctrlSetBackgroundColor (_ctrlSettings select _forEachIndex select 1);
|
||||
_x ctrlSetText (_ctrlSettings select _forEachIndex select 2);
|
||||
_x ctrlSetTextColor (_ctrlSettings select _forEachIndex select 3);
|
||||
_x ctrlCommit 0;
|
||||
} forEach _cArr;
|
||||
|
||||
} else {
|
||||
if (rmx_var_watcherGrpControls isEqualTo []) exitWith {false};
|
||||
|
||||
_grpPos set [3, (_grpPos select 3) - 0.108];
|
||||
_grp ctrlSetPosition _grpPos;
|
||||
_grp ctrlCommit 0;
|
||||
|
||||
{
|
||||
_x call Epoch_getIDC;
|
||||
ctrlDelete _x;
|
||||
} forEach (rmx_var_watcherGrpControls select _idx);
|
||||
rmx_var_watcherGrpControls deleteAt _idx;
|
||||
rmx_var_watcherGrpControls_data deleteAt _idx; //generated index from buttonSetAction (see below)
|
||||
profileNamespace setVariable ["rmx_var_watcherGrpControls_data",rmx_var_watcherGrpControls_data];
|
||||
};
|
||||
// y
|
||||
// 0.012 + 0.108 * rmx_var_watcherGrpIndex
|
||||
_ctrlSettingsY = [0, 0.012, 0.06, 0.06, 0.012, 0.012];
|
||||
|
||||
//Refresh/Update positions after changes
|
||||
{
|
||||
_count = _forEachIndex;
|
||||
{
|
||||
_yPos = ctrlPosition _x;
|
||||
_yPos set [1, (_ctrlSettingsY select _forEachIndex) + 0.108 * _count];
|
||||
_x ctrlSetPosition _yPos;
|
||||
_x ctrlCommit 0;
|
||||
} forEach _x;
|
||||
|
||||
(_x select 3) buttonSetAction (format ["[false, %1] call rmx_fnc_watcherAddRemove;",_forEachIndex]);
|
||||
(_x select 4) buttonSetAction (format ["(rmx_var_watcherGrpControls_data select %1) set [0, ctrlText(rmx_var_watcherGrpControls select %1 select 5)]",_forEachIndex]);
|
||||
|
||||
|
||||
|
||||
} forEach rmx_var_watcherGrpControls;
|
||||
|
||||
//Don't delete yet, used to visualize group size
|
||||
/*
|
||||
_c = _display ctrlCreate ["RscText", 909090];
|
||||
_c = _display displayCtrl 909090;
|
||||
_c ctrlSetPosition _grpPos;
|
||||
_c ctrlCommit 0;
|
||||
_c ctrlSetBackgroundColor [1,0,0,0.1];
|
||||
*/
|
||||
|
||||
true
|
122
Tools/DevFrameWork/x/addons/rmx_init/functions/watcherRunner.sqf
Normal file
122
Tools/DevFrameWork/x/addons/rmx_init/functions/watcherRunner.sqf
Normal file
@ -0,0 +1,122 @@
|
||||
if (rmx_var_watcher_running) exitWith {false};
|
||||
rmx_var_watcher_running = true;
|
||||
|
||||
disableSerialization;
|
||||
_fnc_findDisplay = {
|
||||
_isPinned = uiNamespace getVariable ["rmx_var_watcher2",displayNull];
|
||||
_display = if (_isPinned isEqualTo displayNull) then {
|
||||
findDisplay 7500
|
||||
} else {
|
||||
_isPinned
|
||||
};
|
||||
_display
|
||||
};
|
||||
|
||||
_scheme = call Epoch_getColorScheme;
|
||||
|
||||
while {str(call _fnc_findDisplay) isEqualTo "Display #7500"} do
|
||||
{
|
||||
{
|
||||
if !(rmx_var_watcherGrpControls isEqualTo []) then {
|
||||
_var = _x select 0;
|
||||
_idx = _x select 1;
|
||||
_ctrl = rmx_var_watcherGrpControls select _forEachIndex select 2;
|
||||
if !(isNil "_ctrl") then {
|
||||
switch _idx do {
|
||||
case 0: //code
|
||||
{
|
||||
_compiled = nil;
|
||||
_compiled = call compile _var;
|
||||
if !(isNil "_compiled") then {
|
||||
_ctrl ctrlSetText (str _compiled);
|
||||
_ctrl ctrlSetTextColor [1,1,1,1];
|
||||
} else {
|
||||
_ctrl ctrlSetText "Syntax Error!";
|
||||
_ctrl ctrlSetTextColor [1,0,0,1];
|
||||
};
|
||||
|
||||
};
|
||||
case 1: //bool
|
||||
{
|
||||
_compiled = nil;
|
||||
_compiled = call compile _var;
|
||||
if !(isNil "_compiled") then {
|
||||
if (_compiled isEqualType true) then {
|
||||
if (_compiled) then {
|
||||
_ctrl ctrlSetText "x\addons\rmx_init\data\w_on.paa";
|
||||
_ctrl ctrlSetTextColor _scheme;
|
||||
_ctrl ctrlEnable true;
|
||||
} else {
|
||||
_ctrl ctrlSetText "x\addons\rmx_init\data\w_off.paa";
|
||||
_ctrl ctrlSetTextColor [1,1,1,1];
|
||||
};
|
||||
} else {
|
||||
_ctrl ctrlSetText "x\addons\rmx_init\data\w_error.paa";
|
||||
_ctrl ctrlSetTextColor [1,0,0,1];
|
||||
};
|
||||
} else {
|
||||
_ctrl ctrlSetText "x\addons\rmx_init\data\w_error.paa";
|
||||
_ctrl ctrlSetTextColor [1,0,0,1];
|
||||
};
|
||||
};
|
||||
case 2: //progress
|
||||
{
|
||||
_compiled = nil;
|
||||
_compiled = call compile _var;
|
||||
if !(isNil "_compiled") then {
|
||||
if (_compiled isEqualType 0) then {
|
||||
if (_compiled <= 1 && _compiled >= 0) then {
|
||||
_ctrl progressSetPosition _compiled;
|
||||
_ctrl ctrlSetTextColor [1,1,1,1];
|
||||
} else {
|
||||
_ctrl progressSetPosition 1;
|
||||
_ctrl ctrlSetTextColor [1,0,0,1];
|
||||
};
|
||||
} else {
|
||||
_ctrl progressSetPosition 1;
|
||||
_ctrl ctrlSetTextColor [1,0,0,1];
|
||||
};
|
||||
} else {
|
||||
_ctrl progressSetPosition 1;
|
||||
_ctrl ctrlSetTextColor [1,0,0,1];
|
||||
};
|
||||
};
|
||||
case 3: //mission
|
||||
{
|
||||
_variable = missionNamespace getVariable [_var,"nil"];
|
||||
_ctrl ctrlSetText (str _variable);
|
||||
if (_variable isEqualTo "nil") then {
|
||||
_ctrl ctrlSetTextColor [1,0,0,1];
|
||||
} else {
|
||||
_ctrl ctrlSetTextColor [1,1,1,1];
|
||||
};
|
||||
};
|
||||
case 4: //ui
|
||||
{
|
||||
_variable = uiNamespace getVariable [_var,"nil"];
|
||||
_ctrl ctrlSetText (str _variable);
|
||||
if (_variable isEqualTo "nil") then {
|
||||
_ctrl ctrlSetTextColor [1,0,0,1];
|
||||
} else {
|
||||
_ctrl ctrlSetTextColor [1,1,1,1];
|
||||
};
|
||||
};
|
||||
case 5: //profileName
|
||||
{
|
||||
_variable = profileNamespace getVariable [_var,"nil"];
|
||||
_ctrl ctrlSetText (str _variable);
|
||||
if (_variable isEqualTo "nil") then {
|
||||
_ctrl ctrlSetTextColor [1,0,0,1];
|
||||
} else {
|
||||
_ctrl ctrlSetTextColor [1,1,1,1];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
} forEach rmx_var_watcherGrpControls_data;
|
||||
uiSleep 0.1;
|
||||
};
|
||||
|
||||
rmx_var_watcher_running = false;
|
||||
true
|
BIN
Tools/DevFrameWork/x/addons/rmx_init/texHeaders.bin
Normal file
BIN
Tools/DevFrameWork/x/addons/rmx_init/texHeaders.bin
Normal file
Binary file not shown.
1
Tools/DevFrameWork/x/addons/rmx_sandbox/$PBOPREFIX$
Normal file
1
Tools/DevFrameWork/x/addons/rmx_sandbox/$PBOPREFIX$
Normal file
@ -0,0 +1 @@
|
||||
x\addons\rmx_sandbox
|
45
Tools/DevFrameWork/x/addons/rmx_sandbox/config.cpp
Normal file
45
Tools/DevFrameWork/x/addons/rmx_sandbox/config.cpp
Normal file
@ -0,0 +1,45 @@
|
||||
//Author: Raimonds Virtoss / Raymix
|
||||
class CfgPatches {
|
||||
class rmx_sandbox {
|
||||
units[] = {};
|
||||
weapons[] = {};
|
||||
requiredVersion = 0.1;
|
||||
requiredAddons[] = {"rmx_init"};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
class devFunctions {
|
||||
debugEnabled = 1; //enables console debug
|
||||
class rmx {
|
||||
class sandbox {
|
||||
file = "x\Addons\rmx_sandbox";
|
||||
class variables {recompile = 1; preInit = 1;};
|
||||
class sandbox {recompile = 1;};
|
||||
};
|
||||
};
|
||||
|
||||
class A3E {
|
||||
tag = "EPOCH";
|
||||
file = "x\Addons\rmx_sandbox\epoch";
|
||||
class generic {
|
||||
file = "x\Addons\rmx_sandbox\epoch";
|
||||
//class dragControl {};
|
||||
//class dynamicHUD_start {postInit = 1; recompile = 1;};
|
||||
//class dynamicHUD_loadSave {recompile = 1;};
|
||||
//class dynamicHUD_adjust {recompile = 1;};
|
||||
//class getHUDCtrl {};
|
||||
class tradeMouseEvents {recompile = 1;};
|
||||
class tradeLoad {recompile = 1;};
|
||||
class tradeUnLoad {recompile = 1;};
|
||||
class tradePopulateLB {recompile = 1;};
|
||||
class tradeRefresh {recompile = 1;};
|
||||
class tradeMainLoop {recompile = 1;};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
#include "epoch\epoch_configs.hpp"
|
||||
#include "epoch\Epoch_GUI_rmx.hpp"
|
||||
#include "epoch\CfgPricing.hpp"
|
1494
Tools/DevFrameWork/x/addons/rmx_sandbox/epoch/CfgPricing.hpp
Normal file
1494
Tools/DevFrameWork/x/addons/rmx_sandbox/epoch/CfgPricing.hpp
Normal file
File diff suppressed because it is too large
Load Diff
550
Tools/DevFrameWork/x/addons/rmx_sandbox/epoch/Epoch_GUI_rmx.hpp
Normal file
550
Tools/DevFrameWork/x/addons/rmx_sandbox/epoch/Epoch_GUI_rmx.hpp
Normal file
@ -0,0 +1,550 @@
|
||||
/* #Ziboja
|
||||
$[
|
||||
1.063,
|
||||
["trader_menu",[[0,0,1,1],0.025,0.04,"GUI_GRID"],0,0,0],
|
||||
[-2202,"main_menu_mainBG",[0,"",[0,0,1,1],[-1,-1,-1,-1],[0.21,0.22,0.25,1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1201,"main_menu_top_BG",[0,"x\addons\rmx_sandbox\epoch\trader_menu_v2\tradebg.paa",[0,0,1,0.06],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1802,"main_menu_top_frame",[0,"",[0,0,1,0.06],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-2200,"dyn_menu_left_bg",[0,"",[-0.2,0,0.2,1.06],[-1,-1,-1,-1],[0.21,0.22,0.25,1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1800,"dyn_menu_left_frame",[0,"",[-0.2,0,0.2,1],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1200,"dyn_menu_left_buttonBG",[0,"x\addons\rmx_sandbox\epoch\trader_menu_v2\tradebg.paa",[-0.2,0,0.2,0.06],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1205,"dyn_menu_left_indicator",[0,"#(argb,8,8,3)color(1,1,1,1)",[-0.2,0,0.0075,0.06],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1202,"placeholder_left",[0,"x\addons\rmx_sandbox\epoch\trader_menu_v2\trade_placeholder.paa",[-0.05,0.012,0.0375,0.04],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-2201,"dyn_menu_right_bg",[0,"",[1,0,0.2,1.06],[-1,-1,-1,-1],[0.21,0.22,0.25,1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1801,"dyn_menu_right_frame",[0,"",[1,0,0.2,1],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1203,"dyn_menu_right_buttonBG",[0,"x\addons\rmx_sandbox\epoch\trader_menu_v2\tradebg.paa",[1,0,0.2,0.06],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1206,"dyn_menu_right_indicator",[0,"#(argb,8,8,3)color(1,1,1,1)",[1.1925,0,0.0075,0.06],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1204,"placeholder_right",[0,"x\addons\rmx_sandbox\epoch\trader_menu_v2\trade_placeholder.paa",[1.01,0.012,0.0375,0.04],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1500,"main_menu_left_LB",[0,"",[0,0.06,0.5,0.62],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1803,"main_menu_left_frame",[0,"",[0,0.06,0.5,0.62],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-2100,"main_menu_left_CB",[0,"",[0.28,0.008,0.2125,0.044],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1400,"main_menu_left_search",[0,"Type here to Search ...",[0.0075,0.008,0.265,0.044],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1501,"main_menu_right_LB",[0,"",[0.5,0.06,0.5,0.62],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1804,"main_menu_right_frame",[0,"",[0.5,0.06,0.5,0.62],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-2101,"main_menu_right_CB",[0,"",[0.78,0.008,0.2125,0.044],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1401,"main_menu_right_search",[0,"Type here to Search ...",[0.51,0.008,0.265,0.044],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1207,"main_menu_activeButton_TRADE",[0,"x\addons\rmx_sandbox\epoch\trader_menu_v2\tradebg.paa",[0,1,0.5,0.06],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1208,"main_menu_activeButton_CANCEL",[0,"x\addons\rmx_sandbox\epoch\trader_menu_v2\tradebg.paa",[0.5,1,0.5,0.06],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1000,"main_menu_activeButtonText_TRADE",[0,"Trade",[0.25,1.004,0.105,0.056],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1001,"main_menu_activeButtonText_CANCEL",[0,"Close",[0.7225,1.004,0.105,0.056],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1805,"desc_frame",[0,"",[0,0.68,1,0.32],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1209,"desc_icon",[0,"x\addons\rmx_sandbox\epoch\trader_menu_v2\trade_placeholder.paa",[0.5,0.82,0.1375,0.18],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1002,"desc_item_descriptionShort",[0,"Short description",[0.5,0.741158,0.5,0.036],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1211,"desc_title_bg",[0,"x\addons\rmx_sandbox\epoch\trader_menu_v2\tradebg.paa",[0,0.68,1,0.06],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1502,"desc_transaction_log_LB",[0,"",[0,0.74,0.5,0.26],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1100,"desc_rsctext_left",[0,"",[0,0.68,0.5,0.06],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1101,"desc_rsctext_right",[0,"",[0.5,0.68,0.5,0.06],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-1102,"desc_rscText_itemPropertiesFromCfgPricing",[0,"",[0.6375,0.776,0.3625,0.224],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[-2203,"hide_background",[0,"",[0.25,0.58,0.5,0.1],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1003,"hide_main_menu_rscProgress",[0,"Slider",[0.2625,0.6,0.25,0.062],[-1,-1,-1,-1],[0,0,0,1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1402,"hide_valuebox",[0,"",[0.5225,0.6,0.09,0.064],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1600,"hide_btn_ok",[0,"OK",[0.6225,0.6,0.0525,0.064],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]],
|
||||
[1601,"hide_btn_X",[0,"X",[0.685,0.6,0.0525,0.064],[-1,-1,-1,-1],[-1,-1,-1,-1],[-1,-1,-1,-1],"","-1"],[]]
|
||||
]
|
||||
*/
|
||||
|
||||
|
||||
|
||||
//delete on release
|
||||
class IGUIBack;
|
||||
class rmx_rscPicture;
|
||||
class RscFrame;
|
||||
class RscStructuredText;
|
||||
class RscText;
|
||||
class RscActivePicture;
|
||||
class RscEdit;
|
||||
class RscCombo;
|
||||
class RscListbox;
|
||||
class RscButton;
|
||||
class RscProgress;
|
||||
class rmx_rscControlsGroup;
|
||||
|
||||
class rmx_CT_TREE
|
||||
{
|
||||
access = 0; // Control access (0 - ReadAndWrite, 1 - ReadAndCreate, 2 - ReadOnly, 3 - ReadOnlyVerified)
|
||||
idc = -1; // Control identification (without it, the control won't be displayed)
|
||||
type = 12; // Type CT_TREE
|
||||
style = ST_LEFT; // Style
|
||||
default = 0; // Control selected by default (only one within a display can be used)
|
||||
blinkingPeriod = 0; // Time in which control will fade out and back in. Use 0 to disable the effect.
|
||||
|
||||
x = 0; // Horizontal coordinates
|
||||
y = 0; // Vertical coordinates
|
||||
w = 1; // Width
|
||||
h = 1; // Height
|
||||
|
||||
colorBorder[] = {0,0,0,0}; // Frame color
|
||||
|
||||
colorBackground[] = {0,0,0,0}; // Fill color
|
||||
colorSelectBackground[]={0,0,0,0.5};
|
||||
colorSelect[] = {0.3,0.3,0.3,1}; // Selected item fill color (when multiselectEnabled is 0)
|
||||
colorMarked[] = {0.3,0.3,0.3,0.5}; // Marked item fill color (when multiselectEnabled is 1)
|
||||
colorMarkedSelected[] = {1,0.5,0,1}; // Selected item fill color (when multiselectEnabled is 1)
|
||||
colorSearch[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])",
|
||||
"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",
|
||||
"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",
|
||||
"(profilenamespace getvariable ['GUI_BCG_RGB_A',0.8])"
|
||||
};
|
||||
colorDisabled[]={1,1,1,0.25};
|
||||
colorArrow[] = {0,0,0,0};
|
||||
colorLines[]={0,0,0,0};
|
||||
|
||||
borderSize=0;
|
||||
rowHeight=0.043909099;
|
||||
sizeEx = 0.03; // Text size
|
||||
font = "TahomaB"; // Font from CfgFontFamilies
|
||||
shadow = 1; // Shadow (0 - none, 1 - N/A, 2 - black outline)
|
||||
colorText[] = {1,1,1,1}; // Text color
|
||||
colorSelectText[] = {1,1,1,1}; // Selected text color (when multiselectEnabled is 0)
|
||||
colorMarkedText[] = {1,1,1,1}; // Selected text color (when multiselectEnabled is 1)
|
||||
|
||||
colorPicture[]={1,1,1,1};
|
||||
colorPictureSelected[]={0,0,0,1};
|
||||
colorPictureDisabled[]={1,1,1,0.25};
|
||||
colorPictureRight[]={1,1,1,1};
|
||||
colorPictureRightSelected[]={0,0,0,1};
|
||||
colorPictureRightDisabled[]={1,1,1,0.25};
|
||||
|
||||
tooltip = ""; // Tooltip text
|
||||
tooltipColorShade[] = {0,0,0,1}; // Tooltip background color
|
||||
tooltipColorText[] = {1,1,1,1}; // Tooltip text color
|
||||
tooltipColorBox[] = {1,1,1,1}; // Tooltip frame color
|
||||
|
||||
multiselectEnabled = 1; // Allow selecting multiple items while holding Ctrl or Shift
|
||||
expandOnDoubleclick = 1; // Expand/collapse item upon double-click
|
||||
|
||||
hiddenTexture = "A3\ui_f\data\gui\rsccommon\rsctree\hiddenTexture_ca.paa"; // Expand icon
|
||||
expandedTexture = "A3\ui_f\data\gui\rsccommon\rsctree\expandedTexture_ca.paa"; // Collapse icon
|
||||
|
||||
maxHistoryDelay = 1; // Time since last keyboard type search to reset it
|
||||
|
||||
// Scrollbar configuration
|
||||
class ScrollBar
|
||||
{
|
||||
width = 0; // Unknown?
|
||||
height = 0; // Unknown?
|
||||
scrollSpeed = 0.01; // Unknown?
|
||||
|
||||
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; // Arrow
|
||||
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; // Arrow when clicked on
|
||||
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; // Slider background (stretched vertically)
|
||||
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; // Dragging element (stretched vertically)
|
||||
|
||||
color[] = {1,1,1,1}; // Scrollbar color
|
||||
};
|
||||
|
||||
/*
|
||||
onTreeSelChanged = "systemChat str ['onTreeSelChanged',_this]; false";
|
||||
onTreeLButtonDown = "systemChat str ['onTreeLButtonDown',_this]; false";
|
||||
onTreeDblClick = "systemChat str ['onTreeDblClick',_this]; false";
|
||||
onTreeExpanded = "systemChat str ['onTreeExpanded',_this]; false";
|
||||
onTreeCollapsed = "systemChat str ['onTreeCollapsed',_this]; false";
|
||||
onTreeMouseExit = "systemChat str ['onTreeMouseExit',_this]; false";
|
||||
*/
|
||||
};
|
||||
|
||||
class rmx_traderUI {
|
||||
idd = 55500;
|
||||
enableSimulation = 1;
|
||||
movingEnable = 0;
|
||||
onUnload = "call epoch_tradeUnload;";
|
||||
onLoad = "setMousePosition [0.5, 0.5];";
|
||||
|
||||
class controls
|
||||
{
|
||||
class main_menu_mainBG: IGUIBack
|
||||
{
|
||||
idc = 55501;
|
||||
x = 0;
|
||||
y = 0;
|
||||
w = 1;
|
||||
h = 1;
|
||||
colorBackground[] = {0.21,0.22,0.25,1};
|
||||
};
|
||||
class main_menu_top_BG: rmx_rscPicture
|
||||
{
|
||||
idc = 55502;
|
||||
text = "x\addons\rmx_sandbox\epoch\trader_menu_v2\tradebg.paa";
|
||||
x = 0;
|
||||
y = 0;
|
||||
w = 1;
|
||||
h = 0.06;
|
||||
};
|
||||
class dyn_menu_left_bg_trigger: IGUIBack
|
||||
{
|
||||
idc = 55600;
|
||||
x = SafezoneX; //-0.5;
|
||||
y = SafeZoneY; //0;
|
||||
w = "(abs SafezoneX)" //0.5;
|
||||
h = safeZoneW; //1.06;
|
||||
colorBackground[] = {0,0,0,0};
|
||||
//onLoad = "(_this select 0) ctrlEnable true";
|
||||
//onMouseEnter = "['left','enter'] call Epoch_tradeMouseEvents";
|
||||
//onMouseExit = "['left','exit'] call Epoch_tradeMouseEvents";
|
||||
};
|
||||
class dyn_menu_right_bg_trigger: IGUIBack
|
||||
{
|
||||
idc = 55601;
|
||||
x = 1;
|
||||
y = SafeZoneY; //0;
|
||||
w = abs SafezoneX; // 0.5;
|
||||
h = safeZoneW; //1.06;
|
||||
colorBackground[] = {0,0,0,0};
|
||||
//onLoad = "(_this select 0) ctrlEnable true";
|
||||
//onMouseEnter = "['right','enter'] call Epoch_tradeMouseEvents";
|
||||
//onMouseExit = "['right','exit'] call Epoch_tradeMouseEvents";
|
||||
};
|
||||
class dyn_menu_left_bg: IGUIBack
|
||||
{
|
||||
idc = 55602;
|
||||
x = -0.06;
|
||||
y = 0;
|
||||
w = 0.06;
|
||||
h = 1.06;
|
||||
colorBackground[] = {0.21,0.22,0.25,1};
|
||||
};
|
||||
class dyn_menu_right_bg: IGUIBack
|
||||
{
|
||||
idc = 55603;
|
||||
x = 1;
|
||||
y = 0;
|
||||
w = 0.06;
|
||||
h = 1.06;
|
||||
colorBackground[] = {0.21,0.22,0.25,1};
|
||||
};
|
||||
class main_menu_left_LB: RscListbox
|
||||
{
|
||||
idc = 55604;
|
||||
x = 0;
|
||||
y = 0.06;
|
||||
w = 0.5;
|
||||
h = 0.62;
|
||||
};
|
||||
class main_menu_left_CB: RscCombo
|
||||
{
|
||||
idc = 55605;
|
||||
x = 0.28;
|
||||
y = 0.008;
|
||||
w = 0.2125;
|
||||
h = 0.044;
|
||||
};
|
||||
class main_menu_left_search: RscEdit
|
||||
{
|
||||
idc = 55606;
|
||||
text = "Type here to Search ..."; //--- ToDo: Localize;
|
||||
x = 0.0075;
|
||||
y = 0.008;
|
||||
w = 0.265;
|
||||
h = 0.044;
|
||||
};
|
||||
class main_menu_right_LB: RscListbox
|
||||
{
|
||||
idc = 55607;
|
||||
x = 0.5;
|
||||
y = 0.06;
|
||||
w = 0.5;
|
||||
h = 0.62;
|
||||
};
|
||||
class main_menu_right_CB: RscCombo
|
||||
{
|
||||
idc = 55608;
|
||||
x = 0.78;
|
||||
y = 0.008;
|
||||
w = 0.2125;
|
||||
h = 0.044;
|
||||
};
|
||||
class main_menu_right_search: RscEdit
|
||||
{
|
||||
idc = 55609;
|
||||
text = "Type here to Search ..."; //--- ToDo: Localize;
|
||||
x = 0.51;
|
||||
y = 0.008;
|
||||
w = 0.265;
|
||||
h = 0.044;
|
||||
};
|
||||
class main_menu_activeButton_TRADE: rmx_rscPicture
|
||||
{
|
||||
idc = 55503;
|
||||
text = "x\addons\rmx_sandbox\epoch\trader_menu_v2\tradebg.paa";
|
||||
x = 0;
|
||||
y = 1;
|
||||
w = 0.5;
|
||||
h = 0.06;
|
||||
};
|
||||
class main_menu_activeButton_CANCEL: rmx_rscPicture
|
||||
{
|
||||
idc = 55504;
|
||||
text = "x\addons\rmx_sandbox\epoch\trader_menu_v2\tradebg.paa";
|
||||
x = 0.5;
|
||||
y = 1;
|
||||
w = 0.5;
|
||||
h = 0.06;
|
||||
};
|
||||
class main_menu_activeButtonText_TRADE: RscText
|
||||
{
|
||||
idc = 55506;
|
||||
style = 0x02;
|
||||
font = "PolenticalNeon";
|
||||
sizeEx = 0.05;
|
||||
text = "Trade"; //--- ToDo: Localize;
|
||||
x = 0;
|
||||
y = 1;
|
||||
w = 0.5;
|
||||
h = 0.06;
|
||||
onLoad = "(_this select 0) ctrlEnable true";
|
||||
onMouseEnter = "(_this select 0) ctrlSetTextColor (call Epoch_getColorScheme);";
|
||||
onMouseExit = "(_this select 0) ctrlSetTextColor [1,1,1,1];"
|
||||
onMouseButtonUp = "['btn','trade'] call Epoch_tradeMouseEvents";
|
||||
};
|
||||
class main_menu_activeButtonText_CANCEL: RscText
|
||||
{
|
||||
idc = 55507;
|
||||
style = 0x02;
|
||||
font = "PolenticalNeon";
|
||||
sizeEx = 0.05;
|
||||
text = "Close"; //--- ToDo: Localize;
|
||||
x = 0.5;
|
||||
y = 1;
|
||||
w = 0.5;
|
||||
h = 0.06;
|
||||
onLoad = "(_this select 0) ctrlEnable true";
|
||||
onMouseEnter = "(_this select 0) ctrlSetTextColor (call Epoch_getColorScheme);";
|
||||
onMouseExit = "(_this select 0) ctrlSetTextColor [1,1,1,1];"
|
||||
onMouseButtonUp = "['btn','close'] call Epoch_tradeMouseEvents";
|
||||
};
|
||||
class desc_icon: rmx_rscPicture
|
||||
{
|
||||
idc = 55610;
|
||||
text = "x\addons\rmx_sandbox\epoch\trader_menu_v2\trade_placeholder.paa";
|
||||
x = 0.5;
|
||||
y = 0.82;
|
||||
w = 0.1375;
|
||||
h = 0.18;
|
||||
};
|
||||
class desc_item_descriptionShort: RscText
|
||||
{
|
||||
idc = 55611;
|
||||
text = "Short description"; //--- ToDo: Localize;
|
||||
x = 0.5;
|
||||
y = 0.741158;
|
||||
w = 0.5;
|
||||
h = 0.036;
|
||||
};
|
||||
class desc_title_bg: rmx_rscPicture
|
||||
{
|
||||
idc = 55508;
|
||||
text = "x\addons\rmx_sandbox\epoch\trader_menu_v2\tradebg.paa";
|
||||
x = 0;
|
||||
y = 0.68;
|
||||
w = 1;
|
||||
h = 0.06;
|
||||
};
|
||||
class desc_transaction_log_LB: RscListbox
|
||||
{
|
||||
idc = 55612;
|
||||
x = 0;
|
||||
y = 0.74;
|
||||
w = 0.5;
|
||||
h = 0.26;
|
||||
};
|
||||
class desc_rsctext_left: RscStructuredText
|
||||
{
|
||||
idc = 55613;
|
||||
x = 0;
|
||||
y = 0.68;
|
||||
w = 0.5;
|
||||
h = 0.06;
|
||||
};
|
||||
class desc_rsctext_right: RscStructuredText
|
||||
{
|
||||
idc = 55614;
|
||||
x = 0.5;
|
||||
y = 0.68;
|
||||
w = 0.5;
|
||||
h = 0.06;
|
||||
};
|
||||
class desc_rscText_itemPropertiesFromCfgPricing: RscStructuredText
|
||||
{
|
||||
idc = 55615;
|
||||
style = ST_MULTI;
|
||||
|
||||
x = 0.6375;
|
||||
y = 0.776;
|
||||
w = 0.3625;
|
||||
h = 0.224;
|
||||
};
|
||||
class hide_background: IGUIBack
|
||||
{
|
||||
idc = 55616;
|
||||
x = 0.25;
|
||||
y = 0.58;
|
||||
w = 0.5;
|
||||
h = 0.1;
|
||||
colorBackground[] = {0.21,0.22,0.25,1};
|
||||
onLoad = "(_this select 0) ctrlShow false";
|
||||
};
|
||||
class hide_main_menu_rscProgress: RscProgress
|
||||
{
|
||||
idc = 55617;
|
||||
x = 0.2625;
|
||||
y = 0.6;
|
||||
w = 0.25;
|
||||
h = 0.062;
|
||||
onLoad = "(_this select 0) ctrlShow false";
|
||||
};
|
||||
class hide_valuebox: RscEdit
|
||||
{
|
||||
idc = 55618;
|
||||
|
||||
SizeEx = 0.03;
|
||||
x = 0.5225;
|
||||
y = 0.6;
|
||||
w = 0.09;
|
||||
h = 0.064;
|
||||
onLoad = "(_this select 0)ctrlShow false";
|
||||
};
|
||||
class hide_btn_ok: RscButton
|
||||
{
|
||||
idc = 55619;
|
||||
text = "OK"; //--- ToDo: Localize;
|
||||
x = 0.6225;
|
||||
y = 0.6;
|
||||
w = 0.0525;
|
||||
h = 0.064;
|
||||
onLoad = "(_this select 0) ctrlShow false";
|
||||
};
|
||||
class hide_btn_X: RscButton
|
||||
{
|
||||
idc = 55620;
|
||||
text = "X"; //--- ToDo: Localize;
|
||||
x = 0.685;
|
||||
y = 0.6;
|
||||
w = 0.0525;
|
||||
h = 0.064;
|
||||
onLoad = "(_this select 0) ctrlShow false";
|
||||
};
|
||||
class trade_frame: RscFrame
|
||||
{
|
||||
idc = 55509;
|
||||
x = 0;
|
||||
y = 0;
|
||||
w = 1;
|
||||
h = 1;
|
||||
};
|
||||
};
|
||||
};
|
||||
/*
|
||||
class dyn_menu_left_buttonBG: rmx_rscPicture
|
||||
{
|
||||
idc = 1200;
|
||||
text = "x\addons\rmx_sandbox\epoch\trader_menu_v2\tradebg.paa";
|
||||
x = -0.2;
|
||||
y = 0;
|
||||
w = 0.2;
|
||||
h = 0.06;
|
||||
};
|
||||
class dyn_menu_left_indicator: rmx_rscPicture
|
||||
{
|
||||
idc = 1205;
|
||||
text = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
x = -0.2;
|
||||
y = 0;
|
||||
w = 0.0075;
|
||||
h = 0.06;
|
||||
};
|
||||
class placeholder_left: rmx_rscPicture
|
||||
{
|
||||
idc = 1202;
|
||||
text = "x\addons\rmx_sandbox\epoch\trader_menu_v2\trade_placeholder.paa";
|
||||
x = -0.05;
|
||||
y = 0.012;
|
||||
w = 0.0375;
|
||||
h = 0.04;
|
||||
};
|
||||
|
||||
class dyn_menu_right_buttonBG: rmx_rscPicture
|
||||
{
|
||||
idc = 1203;
|
||||
text = "x\addons\rmx_sandbox\epoch\trader_menu_v2\tradebg.paa";
|
||||
x = 1;
|
||||
y = 0;
|
||||
w = 0.2;
|
||||
h = 0.06;
|
||||
};
|
||||
class dyn_menu_right_indicator: rmx_rscPicture
|
||||
{
|
||||
idc = 1206;
|
||||
text = "#(argb,8,8,3)color(1,1,1,1)";
|
||||
x = 1.1925;
|
||||
y = 0;
|
||||
w = 0.0075;
|
||||
h = 0.06;
|
||||
};
|
||||
class placeholder_right: rmx_rscPicture
|
||||
{
|
||||
idc = 1204;
|
||||
text = "x\addons\rmx_sandbox\epoch\trader_menu_v2\trade_placeholder.paa";
|
||||
x = 1.01;
|
||||
y = 0.012;
|
||||
w = 0.0375;
|
||||
h = 0.04;
|
||||
};
|
||||
*/
|
||||
|
||||
/*
|
||||
class desc_frame: RscFrame
|
||||
{
|
||||
idc = 1805;
|
||||
x = 0;
|
||||
y = 0.68;
|
||||
w = 1;
|
||||
h = 0.32;
|
||||
};
|
||||
|
||||
class main_menu_right_frame: RscFrame
|
||||
{
|
||||
idc = 1804;
|
||||
x = 0.5;
|
||||
y = 0.06;
|
||||
w = 0.5;
|
||||
h = 0.62;
|
||||
};
|
||||
|
||||
class main_menu_left_frame: RscFrame
|
||||
{
|
||||
idc = 1803;
|
||||
x = 0;
|
||||
y = 0.06;
|
||||
w = 0.5;
|
||||
h = 0.62;
|
||||
};
|
||||
|
||||
class dyn_menu_right_frame: RscFrame
|
||||
{
|
||||
idc = 1801;
|
||||
x = 1;
|
||||
y = 0;
|
||||
w = 0.2;
|
||||
h = 1.06;
|
||||
};
|
||||
|
||||
class main_menu_top_frame: RscFrame
|
||||
{
|
||||
idc = 1802;
|
||||
x = 0;
|
||||
y = 0;
|
||||
w = 1;
|
||||
h = 0.06;
|
||||
};
|
||||
|
||||
class dyn_menu_left_frame: RscFrame
|
||||
{
|
||||
idc = 1800;
|
||||
x = -0.2;
|
||||
y = 0;
|
||||
w = 0.2;
|
||||
h = 1.06;
|
||||
};
|
||||
*/
|
@ -0,0 +1,132 @@
|
||||
createDialog "rmx_traderUI";
|
||||
_dsp = findDisplay 55500;
|
||||
|
||||
//_slider progressSetPosition 1;
|
||||
rmx_var_traderCategories= ["All","Air1","Air2","Land1","Land2","Land3","Ship","Terminal"];
|
||||
_clrScheme = call Epoch_getColorScheme;
|
||||
|
||||
rmx_var_tradeCtrls = [];
|
||||
|
||||
for "_i" from 55600 to 55620 do {
|
||||
rmx_var_tradeCtrls pushBack (_dsp displayCtrl _i);
|
||||
};
|
||||
|
||||
{
|
||||
_idxL = (rmx_var_tradeCtrls select 5) lbAdd _x;
|
||||
_idxR = (rmx_var_tradeCtrls select 8) lbAdd _x;
|
||||
(rmx_var_tradeCtrls select 5) lbSetCurSel 0;
|
||||
(rmx_var_tradeCtrls select 8) lbSetCurSel 0;
|
||||
} count ["No Sorting", "Alphabet", "Price: Low", "Price: High"];
|
||||
|
||||
|
||||
_leftCategories = ["Gear", "Nearby", "Vehicle Gear", "Owned Vehicles"]; //make multidimensional with pics
|
||||
|
||||
rmx_var_traderLeftMenuCTRLs = [];
|
||||
_leftCtrlGroup = _dsp ctrlCreate ["rmx_rscControlsGroup", call epoch_getIDC];
|
||||
_leftCtrlGroup ctrlSetPosition [-0.2,0,0.2,1];
|
||||
_leftCtrlGroup ctrlCommit 0;
|
||||
|
||||
for "_i" from 0 to (count _leftCategories)-1 do {
|
||||
_LBG = _dsp ctrlCreate ["RscPicture", call epoch_getIDC,_leftCtrlGroup];
|
||||
_LIcon = _dsp ctrlCreate ["RscPicture", call epoch_getIDC,_leftCtrlGroup];
|
||||
_LText = _dsp ctrlCreate ["RscText", call epoch_getIDC,_leftCtrlGroup];
|
||||
rmx_var_traderLeftMenuCTRLs pushBack [_LBG, _LIcon, _LText];
|
||||
|
||||
_displayName = (_leftCategories select _i);
|
||||
_LText ctrlEnable true; //create rsctext with EH in configs
|
||||
_LText ctrlSetEventHandler ["mouseEnter", format ["(_this select 0) ctrlSetTextColor %1",_clrScheme]];
|
||||
_LText ctrlSetEventHandler ["mouseExit", format ["(_this select 0) ctrlSetTextColor %1",[1,1,1,1]]];
|
||||
_LText ctrlSetEventHandler ["MouseButtonUp", format ["['left', 'click', '%1'] call Epoch_tradeMouseEvents;",_displayName]];
|
||||
|
||||
_LBG ctrlSetText "x\addons\rmx_sandbox\epoch\trader_menu_v2\tradebg.paa";
|
||||
_LIcon ctrlSetText "x\addons\rmx_sandbox\epoch\trader_menu_v2\trade_placeholder.paa";
|
||||
_LText ctrlSetText _displayName;
|
||||
|
||||
_LBG ctrlSetPosition [0.14,_i * 0.06,0.06,0.06];
|
||||
_LBG ctrlCommit 0;
|
||||
|
||||
_LText ctrlSetPosition [0.05,_i * 0.06,0.15,0.06];
|
||||
_LText ctrlSetFade 1;
|
||||
_LText ctrlCommit 0;
|
||||
|
||||
_LIcon ctrlSetPosition [0.15,_i * 0.06 + 0.012,0.0375,0.04];
|
||||
_LIcon ctrlCommit 0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
_mainCategories = "true" configClasses ("CfgPricing2" call EPOCH_returnConfig);
|
||||
|
||||
rmx_var_RCatConfigs = [];
|
||||
{
|
||||
rmx_var_RCatConfigs append ("true" configClasses _x);
|
||||
} count _mainCategories;
|
||||
|
||||
rmx_var_traderRightMenuCTRLs = [];
|
||||
_rightCtrlGroup = _dsp ctrlCreate ["rmx_rscControlsGroup", call epoch_getIDC];
|
||||
_rightCtrlGroup ctrlSetPosition [1,0,0.2,1];
|
||||
_rightCtrlGroup ctrlCommit 0;
|
||||
|
||||
_cnt = 0;
|
||||
{
|
||||
if (configName _x in rmx_var_traderCategories) then {
|
||||
_RBG = _dsp ctrlCreate ["RscPicture", call epoch_getIDC,_rightCtrlGroup];
|
||||
_RIcon = _dsp ctrlCreate ["RscPicture", call epoch_getIDC,_rightCtrlGroup];
|
||||
_RText = _dsp ctrlCreate ["RscText", call epoch_getIDC,_rightCtrlGroup];
|
||||
rmx_var_traderRightMenuCTRLs pushBack [_RBG, _RIcon, _RText];
|
||||
|
||||
_displayName = (getText (_x >> "displayName"));
|
||||
_RText ctrlEnable true;
|
||||
_RText ctrlSetEventHandler ["mouseEnter", format ["(_this select 0) ctrlSetTextColor %1",_clrScheme]];
|
||||
_RText ctrlSetEventHandler ["mouseExit", format ["(_this select 0) ctrlSetTextColor %1",[1,1,1,1]]];
|
||||
_RText ctrlSetEventHandler ["MouseButtonUp", format ["['right', 'click', '%1'] call Epoch_tradeMouseEvents;",_displayName]];
|
||||
|
||||
_RBG ctrlSetText "x\addons\rmx_sandbox\epoch\trader_menu_v2\tradebg.paa";
|
||||
_RIcon ctrlSetText (getText (_x >> "picture"));
|
||||
_RText ctrlSetText _displayName;
|
||||
|
||||
_RBG ctrlSetPosition [0,_cnt * 0.06,0.06,0.06];
|
||||
_RBG ctrlCommit 0;
|
||||
|
||||
_RText ctrlSetPosition [0,_cnt * 0.06,0.15,0.06];
|
||||
_RText ctrlSetFade 1;
|
||||
_RText ctrlCommit 0;
|
||||
|
||||
_RIcon ctrlSetPosition [0.01,_cnt * 0.06 + 0.012,0.0375,0.04];
|
||||
_RIcon ctrlCommit 0;
|
||||
|
||||
_cnt = _cnt + 1;
|
||||
};
|
||||
} forEach rmx_var_RCatConfigs;
|
||||
|
||||
rmx_var_traderGroupCTRLs = [_leftCtrlGroup, _rightCtrlGroup];
|
||||
|
||||
rmx_var_traderMenuActive = true;
|
||||
|
||||
[] spawn epoch_tradeMainLoop;
|
||||
|
||||
["right","All"] call epoch_tradePopulateLB;
|
||||
|
||||
/*
|
||||
0 left trigger
|
||||
1 right trigger
|
||||
2 left BG
|
||||
3 right BG
|
||||
4 left LB
|
||||
5 left CB
|
||||
6 left search
|
||||
7 right LB
|
||||
8 right CB
|
||||
9 right search
|
||||
10 desc pic
|
||||
11 desc descShort
|
||||
12 transaction LB
|
||||
13 desc left ST
|
||||
14 desc right ST
|
||||
15 desc multiline ST
|
||||
16 hide BG
|
||||
17 hide progress
|
||||
18 hide edit
|
||||
19 hide btn ok
|
||||
20 hide btn X
|
||||
*/
|
@ -0,0 +1,19 @@
|
||||
_tempPos = true;
|
||||
|
||||
while {rmx_var_traderMenuActive} do {
|
||||
|
||||
_mpos = getMousePosition;
|
||||
_onLeft = if ((_mpos select 0) < 0.5) then {true} else {false};
|
||||
|
||||
if !(_tempPos isEqualTo _onLeft) then {
|
||||
_tempPos = _onLeft;
|
||||
|
||||
if _onLeft then {
|
||||
['left','enter'] call Epoch_tradeMouseEvents;
|
||||
['right','exit'] call Epoch_tradeMouseEvents;
|
||||
} else {
|
||||
['left','exit'] call Epoch_tradeMouseEvents;
|
||||
['right','enter'] call Epoch_tradeMouseEvents;
|
||||
};
|
||||
};
|
||||
};
|
@ -0,0 +1,119 @@
|
||||
params ["_trigger", "_event",["_category", "All"]];
|
||||
disableSerialization;
|
||||
|
||||
switch _trigger do {
|
||||
case "left":
|
||||
{
|
||||
_leftBG = rmx_var_tradeCtrls select 2;
|
||||
switch _event do {
|
||||
case "enter":
|
||||
{
|
||||
_leftBG ctrlSetPosition [-0.2,0,0.2,1.06];
|
||||
_leftBG ctrlCommit 0.1;
|
||||
|
||||
{
|
||||
_temp = ctrlPosition (_x select 0);
|
||||
_temp set [0, 0];
|
||||
_temp set [2, 0.2];
|
||||
(_x select 0) ctrlSetPosition _temp;
|
||||
(_x select 0) ctrlCommit 0.1;
|
||||
|
||||
_temp = ctrlPosition (_x select 1);
|
||||
_temp set [0, 0.01];
|
||||
(_x select 1) ctrlSetPosition _temp;
|
||||
(_x select 1) ctrlCommit 0.1;
|
||||
|
||||
(_x select 2) ctrlSetFade 0;
|
||||
(_x select 2) ctrlCommit 0.3;
|
||||
} forEach rmx_var_traderLeftMenuCTRLs;
|
||||
|
||||
};
|
||||
case "exit":
|
||||
{
|
||||
_leftBG ctrlSetPosition [-0.06,0,0.06,1.06];
|
||||
_leftBG ctrlCommit 0.1;
|
||||
|
||||
{
|
||||
_temp = ctrlPosition (_x select 0);
|
||||
_temp set [0, 0.14];
|
||||
_temp set [2, 0.06];
|
||||
(_x select 0) ctrlSetPosition _temp;
|
||||
(_x select 0) ctrlCommit 0.1;
|
||||
|
||||
_temp = ctrlPosition (_x select 1);
|
||||
_temp set [0, 0.15];
|
||||
(_x select 1) ctrlSetPosition _temp;
|
||||
(_x select 1) ctrlCommit 0.1;
|
||||
|
||||
(_x select 2) ctrlSetFade 1;
|
||||
(_x select 2) ctrlCommit 0;
|
||||
} forEach rmx_var_traderLeftMenuCTRLs;
|
||||
};
|
||||
case "click":
|
||||
{
|
||||
[_trigger,_category] call Epoch_tradePopulateLB;
|
||||
};
|
||||
};
|
||||
};
|
||||
case "right":
|
||||
{
|
||||
_rightBG = rmx_var_tradeCtrls select 3;
|
||||
switch _event do {
|
||||
case "enter":
|
||||
{
|
||||
_rightBG ctrlSetPosition [1,0,0.2,1.06];
|
||||
_rightBG ctrlCommit 0.1;
|
||||
|
||||
{
|
||||
_temp = ctrlPosition (_x select 0);
|
||||
_temp set [2, 0.2];
|
||||
(_x select 0) ctrlSetPosition _temp;
|
||||
(_x select 0) ctrlCommit 0.1;
|
||||
|
||||
_temp = ctrlPosition (_x select 1);
|
||||
_temp set [0, 0.15];
|
||||
(_x select 1) ctrlSetPosition _temp;
|
||||
(_x select 1) ctrlCommit 0.1;
|
||||
|
||||
(_x select 2) ctrlSetFade 0;
|
||||
(_x select 2) ctrlCommit 0.3;
|
||||
} forEach rmx_var_traderRightMenuCTRLs;
|
||||
|
||||
ctrlSetFocus (rmx_var_traderGroupCTRLs select 1);
|
||||
};
|
||||
case "exit":
|
||||
{
|
||||
_rightBG ctrlSetPosition [1,0,0.06,1.06];
|
||||
_rightBG ctrlCommit 0.1;
|
||||
|
||||
{
|
||||
_temp = ctrlPosition (_x select 0);
|
||||
_temp set [2, 0.06];
|
||||
(_x select 0) ctrlSetPosition _temp;
|
||||
(_x select 0) ctrlCommit 0.1;
|
||||
|
||||
_temp = ctrlPosition (_x select 1);
|
||||
_temp set [0, 0.01];
|
||||
(_x select 1) ctrlSetPosition _temp;
|
||||
(_x select 1) ctrlCommit 0.1;
|
||||
|
||||
(_x select 2) ctrlSetFade 1;
|
||||
(_x select 2) ctrlCommit 0;
|
||||
} forEach rmx_var_traderRightMenuCTRLs;
|
||||
};
|
||||
case "click":
|
||||
{
|
||||
[_trigger,_category] call Epoch_tradePopulateLB;
|
||||
};
|
||||
};
|
||||
};
|
||||
case "btn":
|
||||
{
|
||||
switch _event do {
|
||||
case "close": {systemChat "Close";};
|
||||
case "trade": {systemChat "Trade";};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
true
|
@ -0,0 +1,45 @@
|
||||
params ["_trigger", ["_category", "All"]];
|
||||
|
||||
switch _trigger do {
|
||||
case "left":
|
||||
{
|
||||
|
||||
};
|
||||
case "right":
|
||||
{
|
||||
_cfg = [];
|
||||
|
||||
if (_category isEqualTo "All") then {
|
||||
{
|
||||
if (configName _x in rmx_var_traderCategories) then {
|
||||
_cfg pushBack _x;
|
||||
};
|
||||
} forEach rmx_var_RCatConfigs;
|
||||
|
||||
} else {
|
||||
{
|
||||
if (getText (_x >> "displayName") isEqualTo _category) exitWith {_cfg = [_x]};
|
||||
} forEach rmx_var_RCatConfigs;
|
||||
};
|
||||
|
||||
_rLB = rmx_var_tradeCtrls select 7;
|
||||
lbClear _rLB;
|
||||
{
|
||||
_items = "true" configClasses _x;
|
||||
{
|
||||
_itemData = [(configName _x),["displayName", "picture"]] call epoch_itemData;
|
||||
if !(_itemData isEqualTo [""]) then {
|
||||
_idx = _rLB lbAdd (_itemData select 0);
|
||||
_rLB lbSetPicture [_idx,(_itemData select 1)];
|
||||
};
|
||||
} forEach _items;
|
||||
|
||||
} forEach _cfg;
|
||||
_rLB lbSetCurSel 0;
|
||||
//call LB sorting from here (plus make EH and fnc itself)
|
||||
};
|
||||
case "log":
|
||||
{
|
||||
|
||||
};
|
||||
};
|
@ -0,0 +1,19 @@
|
||||
//unregister dynamic IDCs
|
||||
|
||||
rmx_var_traderMenuActive = false;
|
||||
|
||||
(rmx_var_traderGroupCTRLs select 0) call epoch_getIDC;
|
||||
(rmx_var_traderGroupCTRLs select 1) call epoch_getIDC;
|
||||
|
||||
{
|
||||
{
|
||||
_x call epoch_getIDC;
|
||||
} forEach _x;
|
||||
}forEach rmx_var_traderLeftMenuCTRLs;
|
||||
|
||||
{
|
||||
{
|
||||
_x call epoch_getIDC;
|
||||
} forEach _x;
|
||||
}forEach rmx_var_traderRightMenuCTRLs;
|
||||
|
559
Tools/DevFrameWork/x/addons/rmx_sandbox/epoch/epoch_configs.hpp
Normal file
559
Tools/DevFrameWork/x/addons/rmx_sandbox/epoch/epoch_configs.hpp
Normal file
@ -0,0 +1,559 @@
|
||||
class RscMapControl;
|
||||
class Bush
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\bush_ca.paa";
|
||||
color[]={0.44999999,0.63999999,0.33000001,0.40000001};
|
||||
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.80000001};
|
||||
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.44999999,0.63999999,0.33000001,0.40000001};
|
||||
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.44999999,0.63999999,0.33000001,0.40000001};
|
||||
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.85000002;
|
||||
coefMax=1;
|
||||
color[]={1,1,1,1};
|
||||
};
|
||||
class fuelstation
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa";
|
||||
size=24;
|
||||
importance=1;
|
||||
coefMin=0.85000002;
|
||||
coefMax=1;
|
||||
color[]={1,1,1,1};
|
||||
};
|
||||
class hospital
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\hospital_CA.paa";
|
||||
size=24;
|
||||
importance=1;
|
||||
coefMin=0.85000002;
|
||||
coefMax=1;
|
||||
color[]={1,1,1,1};
|
||||
};
|
||||
class church
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\church_CA.paa";
|
||||
size=24;
|
||||
importance=1;
|
||||
coefMin=0.85000002;
|
||||
coefMax=1;
|
||||
color[]={1,1,1,1};
|
||||
};
|
||||
class lighthouse
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa";
|
||||
size=24;
|
||||
importance=1;
|
||||
coefMin=0.85000002;
|
||||
coefMax=1;
|
||||
color[]={1,1,1,1};
|
||||
};
|
||||
class power
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\power_CA.paa";
|
||||
size=24;
|
||||
importance=1;
|
||||
coefMin=0.85000002;
|
||||
coefMax=1;
|
||||
color[]={1,1,1,1};
|
||||
};
|
||||
class powersolar
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa";
|
||||
size=24;
|
||||
importance=1;
|
||||
coefMin=0.85000002;
|
||||
coefMax=1;
|
||||
color[]={1,1,1,1};
|
||||
};
|
||||
class powerwave
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa";
|
||||
size=24;
|
||||
importance=1;
|
||||
coefMin=0.85000002;
|
||||
coefMax=1;
|
||||
color[]={1,1,1,1};
|
||||
};
|
||||
class powerwind
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa";
|
||||
size=24;
|
||||
importance=1;
|
||||
coefMin=0.85000002;
|
||||
coefMax=1;
|
||||
color[]={1,1,1,1};
|
||||
};
|
||||
class quay
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\quay_CA.paa";
|
||||
size=24;
|
||||
importance=1;
|
||||
coefMin=0.85000002;
|
||||
coefMax=1;
|
||||
color[]={1,1,1,1};
|
||||
};
|
||||
class transmitter
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa";
|
||||
size=24;
|
||||
importance=1;
|
||||
coefMin=0.85000002;
|
||||
coefMax=1;
|
||||
color[]={1,1,1,1};
|
||||
};
|
||||
class watertower
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\watertower_CA.paa";
|
||||
size=24;
|
||||
importance=1;
|
||||
coefMin=0.85000002;
|
||||
coefMax=1;
|
||||
color[]={1,1,1,1};
|
||||
};
|
||||
class Cross
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\Cross_CA.paa";
|
||||
size=24;
|
||||
importance=1;
|
||||
coefMin=0.85000002;
|
||||
coefMax=1;
|
||||
color[]={0,0,0,1};
|
||||
};
|
||||
class Chapel
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa";
|
||||
size=24;
|
||||
importance=1;
|
||||
coefMin=0.85000002;
|
||||
coefMax=1;
|
||||
color[]={0,0,0,1};
|
||||
};
|
||||
class Shipwreck
|
||||
{
|
||||
icon="\A3\ui_f\data\map\mapcontrol\Shipwreck_CA.paa";
|
||||
size=24;
|
||||
importance=1;
|
||||
coefMin=0.85000002;
|
||||
coefMax=1;
|
||||
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.89999998;
|
||||
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.69999999;
|
||||
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};
|
||||
};
|
||||
class rmx_emailMap: RscMapControl
|
||||
{
|
||||
IDC=6969691;
|
||||
ShowCountourInterval=0;
|
||||
//important for center
|
||||
x = 0;
|
||||
y = 0;
|
||||
w = 1;
|
||||
h = 1;
|
||||
moveOnEdges=1;
|
||||
maxSatelliteAlpha=0;
|
||||
alphaFadeStartScale=10;
|
||||
alphaFadeEndScale=10;
|
||||
ptsPerSquareTxt=500;
|
||||
ptsPerSquareFor=15;
|
||||
ptsPerSquareForEdge=15;
|
||||
ptsPerSquareRoad=6;
|
||||
ptsPerSquareObj=15;
|
||||
colorBackground[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])",
|
||||
0.5
|
||||
};
|
||||
colorSea[]={0,0,0,0.40000001};
|
||||
colorForest[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])",
|
||||
0.69999999
|
||||
};
|
||||
colorForestBorder[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])",
|
||||
0.5
|
||||
};
|
||||
colorRocks[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
0.1
|
||||
};
|
||||
colorRocksBorder[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
0.5
|
||||
};
|
||||
colorLevels[]={0,0,0,0};
|
||||
colorMainCountlines[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])",
|
||||
0.60000002
|
||||
};
|
||||
colorCountlines[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])",
|
||||
0.2
|
||||
};
|
||||
colorMainCountlinesWater[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
0.69999999
|
||||
};
|
||||
colorCountlinesWater[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
0.40000001
|
||||
};
|
||||
colorPowerLines[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
0.5
|
||||
};
|
||||
colorRailWay[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
colorTracks[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
0.15000001
|
||||
};
|
||||
colorTracksFill[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
0.30000001
|
||||
};
|
||||
colorRoads[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
colorRoadsFill[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
0.5
|
||||
};
|
||||
colorMainRoads[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
colorMainRoadsFill[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
0.69999999
|
||||
};
|
||||
colorGrid[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
0.30000001
|
||||
};
|
||||
colorGridMap[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
0.2
|
||||
};
|
||||
class bush: Bush
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])",
|
||||
0.40000001
|
||||
};
|
||||
};
|
||||
class rock: Rock
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])",
|
||||
0.80000001
|
||||
};
|
||||
};
|
||||
class smalltree: SmallTree
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])",
|
||||
0.40000001
|
||||
};
|
||||
};
|
||||
class tree: Tree
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])",
|
||||
0.40000001
|
||||
};
|
||||
};
|
||||
class busstop: busstop
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
};
|
||||
class fuelstation: fuelstation
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
};
|
||||
class hospital: hospital
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
};
|
||||
class church: church
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
};
|
||||
class lighthouse: lighthouse
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
};
|
||||
class power: power
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
};
|
||||
class powersolar: powersolar
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
};
|
||||
class powerwave: powerwave
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
};
|
||||
class powerwind: powerwind
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
};
|
||||
class quay: quay
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
};
|
||||
class shipwreck: Shipwreck
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
};
|
||||
class transmitter: transmitter
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
};
|
||||
class watertower: watertower
|
||||
{
|
||||
color[]=
|
||||
{
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])",
|
||||
"(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])",
|
||||
1
|
||||
};
|
||||
};
|
||||
};
|
Binary file not shown.
Binary file not shown.
198
Tools/DevFrameWork/x/addons/rmx_sandbox/sandbox.sqf
Normal file
198
Tools/DevFrameWork/x/addons/rmx_sandbox/sandbox.sqf
Normal file
@ -0,0 +1,198 @@
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
disableSerialization;
|
||||
|
||||
call rmx_fnc_recompile;
|
||||
|
||||
//New trader menu
|
||||
/*
|
||||
"Epoch_tradeMainLoop" call rmx_fnc_recompile;
|
||||
"Epoch_tradeLoad" call rmx_fnc_recompile;
|
||||
"Epoch_tradeUnLoad" call rmx_fnc_recompile;
|
||||
"Epoch_tradeMouseEvents" call rmx_fnc_recompile;
|
||||
"Epoch_tradeMouseEvents" call rmx_fnc_recompile;
|
||||
"Epoch_tradePopulateLB" call rmx_fnc_recompile;
|
||||
call Epoch_tradeLoad;
|
||||
*/
|
||||
|
||||
// dunno what's this for
|
||||
/*
|
||||
for "_i" from 1 to 7 do {
|
||||
_c = ["botcenter",_i] call epoch_getHUDCtrl;
|
||||
_c ctrlSetText "\x\addons\a3_epoch_code\Data\owner.paa";
|
||||
};
|
||||
|
||||
_c1 = ["botcenter",1] call epoch_getHUDCtrl;
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
//"epoch_dynamicHUD_adjust" call rmx_fnc_recompile;
|
||||
findDisplay 46 createDisplay "dUI_sandbox";
|
||||
|
||||
_dsp = findDisplay 666666;
|
||||
|
||||
_c = _dsp ctrlCreate ["rmx_emailMap", call epoch_getIDC];
|
||||
|
||||
_c ctrlSetPosition [0,0,1,1];
|
||||
_c ctrlSetFade 0.1;
|
||||
_c ctrlCommit 0;
|
||||
|
||||
_c ctrlMapAnimAdd [0, 1, getArray(configFile >> "CfgWorlds" >> worldName >> "centerPosition")];
|
||||
ctrlMapAnimCommit _c;
|
||||
_c ctrlMapAnimAdd [2, 0.1, getPosATL player];
|
||||
ctrlMapAnimCommit _c;
|
||||
*/
|
||||
/*
|
||||
disableSerialization;
|
||||
findDisplay 46 createDisplay "dUI_sandbox";
|
||||
_dsp = findDisplay 666666;
|
||||
|
||||
_c = _dsp ctrlCreate ["rmx_drag_RscActivePicture", 909090];
|
||||
_c1 = _dsp ctrlCreate ["rmx_drag_RscActivePicture", 909091];
|
||||
|
||||
_c ctrlSetPosition [0,0,0.25,0.25];
|
||||
_c1 ctrlSetPosition [1,0,0.25,0.25];
|
||||
_c ctrlCommit 0;
|
||||
_c1 ctrlCommit 0;
|
||||
|
||||
_c ctrlSetText "x\addons\rmx_init\data\retardedPinUp.paa";
|
||||
_c ctrlSetTextColor [1,0.5,0,0.2];
|
||||
|
||||
_c1 ctrlSetText "x\addons\rmx_init\data\retardedPinUp.paa";
|
||||
_c1 ctrlSetTextColor [1,1,0,1];
|
||||
*/
|
||||
/*
|
||||
for "_i" from 0 to 360 step 2 do {
|
||||
_c ctrlSetAngle [_i,0.5,0.5];
|
||||
hint str (ctrlAngle _c);
|
||||
uiSleep 0.01;
|
||||
};
|
||||
*/
|
||||
|
||||
/*
|
||||
rmx_fnc_moveShit = {
|
||||
_ctrl = param [0];
|
||||
_curr = ctrlPosition _Ctrl;
|
||||
_mpos = getmousePosition;
|
||||
|
||||
if (rmx_var_drag_MouseDown) then {
|
||||
_ctrl ctrlSetPosition [(_mpos select 0) - (_curr select 2) / 2, (_mpos select 1) - (_curr select 3) / 2 ];
|
||||
_ctrl ctrlCommit 0;
|
||||
};
|
||||
};
|
||||
|
||||
_c ctrlSetEventHandler ["mousemoving", "_this call rmx_fnc_moveShit;"];
|
||||
_c ctrlSetEventHandler ["MouseButtonDown", "rmx_var_MouseDown = true;"];
|
||||
_c ctrlSetEventHandler ["MouseButtonUp", "rmx_var_MouseDown = false;"];
|
||||
_c1 ctrlSetEventHandler ["mousemoving", "_this call rmx_fnc_moveShit;"];
|
||||
_c1 ctrlSetEventHandler ["MouseButtonDown", "rmx_var_MouseDown = true;"];
|
||||
_c1 ctrlSetEventHandler ["MouseButtonUp", "rmx_var_MouseDown = false;"];
|
||||
*/
|
||||
|
||||
//'rmx_fnc_epoch' call rmx_fnc_recompile;
|
||||
/*
|
||||
_a = "H";
|
||||
_b = "Hi";
|
||||
_c = "Hello World";
|
||||
_d = "Lorem ipsum dolor sit amet, diceret imperdiet consectetuer";
|
||||
_e = "Lorem ipsum dolor sit amet, diceret imperdiet consectetuer te sed, et qui civibus incorrupte, vis ei eirmod cetero. Vim sint evertitur ea, eum ea euismod commune singulis. Eos essent torquatos elaboraret ea, at per simul adversarium. Vis te homero intellegam. Usu ne tantas quaeque, wisi consectetuer has eu.";
|
||||
_f = "xiiiiiiIiiiiiiiiiiiiiiiiiiiiiiiiix";
|
||||
_g = "xWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWx";
|
||||
_h = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
_i = "abcdefghijklmnopqrstuvwxyz";
|
||||
*/
|
||||
|
||||
/*
|
||||
sleep 1;
|
||||
disableSerialization;
|
||||
createDialog "rmx_rscContainer";
|
||||
_dsp = findDisplay 99440;
|
||||
_c = _dsp displayCtrl 99441;
|
||||
|
||||
_c ctrlSetModelScale 0.2;
|
||||
_c ctrlSetModelDirAndUp [[0,1,0],[0,0,1]];
|
||||
*/
|
||||
//launch again to refresh memory
|
||||
/*
|
||||
rmx_test = false;
|
||||
uiSleep 1;
|
||||
rmx_test = true;
|
||||
_IDC = 28901;
|
||||
_getIDC = {_IDC = _IDC + 1; _IDC};
|
||||
|
||||
rmx_var_testControls = [];
|
||||
|
||||
_stuff = nearestOBjects [player, ["K03"],100];
|
||||
|
||||
{
|
||||
_ctrl = (findDisplay 46) ctrlCreate ["RscPicture",call _getIDC];
|
||||
_ctrl ctrlSetText "\x\addons\a3_epoch_code\Data\owner.paa";
|
||||
_ctrl ctrlSetPosition [0,0,0.1,0.1];
|
||||
_ctrl ctrlCommit 0;
|
||||
rmx_var_testControls set [_forEachIndex, [_x, _ctrl]];
|
||||
}forEach _stuff;
|
||||
|
||||
while {rmx_test} do {
|
||||
{
|
||||
(_x select 1) ctrlSetPosition (worldToScreen getPos(_x select 0));
|
||||
(_x select 1) ctrlCommit 0;
|
||||
}forEach rmx_var_testControls;
|
||||
//uiSleep 0.5;
|
||||
};
|
||||
|
||||
{
|
||||
ctrlDelete (_x select 1);
|
||||
}forEach rmx_var_testControls;
|
||||
|
||||
rmx_var_testControls = [];
|
||||
|
||||
*/
|
||||
//for "_i" from 0 to 200 do {_veh = "K03" createVehicle position player};
|
||||
|
||||
/*
|
||||
{
|
||||
if ((str _x find "barrelwater_f.p3d") != -1) exitWith {player setPosATL(getPosATL _x)};
|
||||
} forEach nearestObjects [position player,[],3000];
|
||||
|
||||
*/
|
||||
|
||||
/******** POST PROCESSING
|
||||
[] spawn {
|
||||
_priority = 10;
|
||||
_fullBlur = [1];
|
||||
_noBlur = [0];
|
||||
_animSpeed = 2;
|
||||
|
||||
_handle = ["dynamicBlur",_priority] call epoch_postProcessCreate; //create effect
|
||||
[_handle, _animSpeed, _fullBlur] call epoch_postprocessAdjust; //adds blur for 2 sec till max
|
||||
uiSleep _animSpeed;
|
||||
[_handle, _animSpeed, _noBlur] call epoch_postprocessAdjust; //removes blurr for 2 sec till min
|
||||
uiSleep _animSpeed;
|
||||
_handle call epoch_postprocessDestroy; //remove effect
|
||||
};
|
||||
**************************/
|
||||
|
||||
//("<img image='x\addons\rmx_init\data\critical.paa'/>") critical;
|
||||
|
||||
/******** 3D ctrl
|
||||
disableSerialization;
|
||||
_display = (findDisplay 46) createDisplay "rmx_rscObject";
|
||||
_display displaySetEventHandler ["unload","rmx_var_3dCtrlSpin = false;"];
|
||||
_ctrl = _display displayCtrl 77771;
|
||||
_ctrl2 = _display ctrlCreate ["rmx_rscPicture",77772];
|
||||
_ctrl2 ctrlSetText "#(rgb,8,8,3)color(1,1,1,0.1)";
|
||||
_ctrl2 ctrlSetPosition [0,0,1,1];
|
||||
_ctrl2 ctrlCommit 0;
|
||||
_ctrl2 ctrlEnable true;
|
||||
_ctrl2 ctrlSetEventHandler ["MouseMoving", "[_this,(findDisplay 77770) displayCtrl 77771] call Epoch_3DctrlYaw;"];
|
||||
_ctrl2 ctrlSetEventHandler ["MouseEnter", "rmx_var_3dCtrlSpin = false;"];
|
||||
_ctrl2 ctrlSetEventHandler ["MouseExit", "[(findDisplay 77770) displayCtrl 77771] call Epoch_3DctrlSpin;"];
|
||||
|
||||
_model1 = "\x\addons\a3_epoch_assets_1\models\chainsaw.p3d";
|
||||
_model2 = "\x\addons\a3_epoch_vehicles\jetski.p3d";
|
||||
_model3 = "\x\addons\a3_epoch_assets_3\cfgVehicles\Characters\female_ghillie.p3d";
|
||||
|
||||
_ctrl ctrlSetModel _model3;
|
||||
_ctrl ctrlSetPosition [0.5, 1, 0.5];
|
||||
_ctrl ctrlSetModelScale 0.5;
|
||||
**************************/
|
41
Tools/DevFrameWork/x/addons/rmx_sandbox/variables.sqf
Normal file
41
Tools/DevFrameWork/x/addons/rmx_sandbox/variables.sqf
Normal file
@ -0,0 +1,41 @@
|
||||
/*
|
||||
Function Name: rmx_fnc_variables
|
||||
Author: Raimonds Virtoss | Raymix
|
||||
|
||||
*/
|
||||
|
||||
#include <\x\Addons\rmx_init\defines.inc>
|
||||
|
||||
/*********************************** QUICK FUNCTION ***********************************/
|
||||
if (isNil "rmx_var_godMode") then {rmx_var_godMode = true;};
|
||||
/*
|
||||
Add function or FSM to quicklaunch menu. If exists, params from dialog are attached in front
|
||||
Careful with params if not function, will break ofc...
|
||||
Usage:
|
||||
[color, name, function]
|
||||
|
||||
Server compile example (removed) ::>
|
||||
//fnc grabs code block from specified function and sends it trough PV
|
||||
//requires EH on server to combine and call compile elements ie - call compile (format ["%1 = %2",_this select 0, _this select 1]);
|
||||
[[1,1,1,1],"Server recompile example","['rmx_fnc_remoteRecompile','rmx_fnc_remoteRecompileLocal'] call rmx_fnc_recompileOnServer;"],
|
||||
*/
|
||||
rmx_var_quickFnc_items =
|
||||
[
|
||||
[[0.76,0.99,0.4,1],"exec sandbox.sqf ( CTRL + Backspace)","'rmx_fnc_sandbox' call rmx_fnc_recompile; [] spawn rmx_fnc_sandbox;"],
|
||||
[[0,1,0,1],"Output params","call rmx_fnc_output;"],
|
||||
[[1,0,0,1],format ["allowDamage: [%1]",rmx_var_godMode],"rmx_var_godMode = if (rmx_var_godMode) then {false} else {true}; player allowDamage rmx_var_godMode; call rmx_fnc_variables"],
|
||||
|
||||
[[0,0,0,0],"-----------","Separator"],
|
||||
[[1,0.5,0,1],"Recompile dev variables","'rmx_fnc_variables' call rmx_fnc_recompile; call rmx_fnc_variables"],
|
||||
[[1,0.5,0,1],"Recompile ALL functions","call rmx_fnc_recompile;"], //can be used with params, but use generated list
|
||||
[[0,1,1,1],"*** Generated recompile list ***","don't run this line"] //leave this one, easier on github merge because no comma
|
||||
];
|
||||
|
||||
// generates list of functions with recompile tag
|
||||
{
|
||||
rmx_var_quickFnc_items pushBack [[1,1,1,0.4],format ["%1",_x],format ["'%1' call rmx_fnc_recompile;",_x]];
|
||||
} forEach (call (uiNamespace getvariable ["rmx_functions_listRecompile",{[]}]));
|
||||
|
||||
/***************************************************************************************/
|
||||
|
||||
true
|
Loading…
Reference in New Issue
Block a user