Epoch/Sources/epoch_code/gui/scripts/dynamenu/Epoch_dynamicMenuPopulate.sqf
vbawol 87c23b106f Release 0.3.8 (#502)
* first build for 0.3.8

* 0.3.8.0190

* 0.3.8.0202

* 0.3.8.0213

* 0.3.7.0214

* 0.3.8.0222

* 0.3.8.0246

* 0.3.8.0247

fixed typo

* 0.3.8.0249

more fixes for server compiler

* 0.3.8.0256

* add build number and simple batch file for packing

* match build number with internal

* add build numbers to server pbo's and mission files

also reworked build script for more options

* 0.3.8.0261

* 0.3.8.0261

* 0.3.8.0283

* 0.3.8.0284

* changelog

* 0.3.8.0307

* 0.3.8.0311

* remove old BEC plugin

* update redis-server.exe to latest build and full config

* 0.3.8.0314

* 0.3.8.0315

* inverse logic

This should correctly prevent spawning these units nearby jammer or
protection zones

* use pushbackUnique here

* optimized loot function

by using selectRandom instead of slower sqf logic

* 0.3.8.0316

* make use of new getDir functionality instead of BIS fnc

* add lower disconnect value to server.cfg

* use new getpos functionality

* 0.3.8.0317

* 0.3.8.0319

* 0.3.8.0327

* 0.3.8.0338

changelog update tba

* changelog

* 0.3.8.0341

* BE update

* 0.3.8.0353

* changelog

* removed duplicates

* 0.3.8.0355

fixed error in getIDC

* 0.3.8.0356

revert to BIS_fnc_param as params threw errors

* 0.3.8.0357

fixes for #496 #497

* 0.3.8.0359

fixed #497
fixed #496

* 0.3.8.0365

* 0.3.8.0371

* 0.3.8.0373

* 0.3.8.0379

* 0.3.8.0381

* 0.3.8.0386

* 0.3.8.0393

* 0.3.8.0395

* 0.3.8.0396

* 0.3.8.0397

* 0.3.8.0406

* 0.3.8.0409

* 0.3.8.0410

loot balance
suppress error in spawnloot
make near object check based on building size

* 0.3.8.0412

* 0.3.8.0414

removed classes with scope 0
test remove loot trash on gear for #498
fixed #501

* 0.3.8.0415

* same
2016-04-08 15:21:46 -05:00

95 lines
3.4 KiB
Plaintext

/*
Author: Raimonds Virtoss - EpochMod.com
Contributors:
Description:
DESC-TBA
Licence:
Arma Public License Share Alike (APL-SA) - https://www.bistudio.com/community/licenses/arma-public-license-share-alike
Github:
https://github.com/EpochModTeam/Epoch/tree/master/Sources/epoch_code/gui/scripts/dynamenu/Epoch_dynamicMenuPopulate.sqf
*/
#include "\A3\ui_f\hpp\defineCommonGrids.inc"
private ["_x","_y","_arr","_inProgress","_display","_center","_scale","_defaultScaleX","_defaultScaleY","_distance","_scaleLargeX","_scaleLargeY","_scaleSmallX","_scaleSmallY","_points","_positions","_positions2"];
params ["_entries","_buttonSettings"];
disableSerialization;
_inProgress = uiNamespace getVariable ["rmx_var_dynamicMenuInProgress", false];
_display = findDisplay 66600;
if (_inProgress) then {
{
ctrlDelete _x;
} forEach rmx_var_dynaControls;
} else {
uiNamespace setVariable ["rmx_var_dynamicMenuInProgress", true];
//Post processing
if (isNil "rmx_var_dynamenuPPHandle") then {
rmx_var_dynamenuPPHandle = ["dynamicBlur",10] call epoch_postProcessCreate;
[rmx_var_dynamenuPPHandle, 1, [1]] call epoch_postprocessAdjust;
};
};
//defaults don't edit
_center = 0.5;
_scale = 12;
_defaultScaleX = _scale * GUI_GRID_W;
_defaultScaleY = _scale * GUI_GRID_H;
_distance = 0.6 + _entries / 100;
//edit scaling here (divisor only, larger values produce smaller image)
_scaleLargeX = _defaultScaleX / (1.5 + _entries / 10); //anim
_scaleLargeY = _defaultScaleY / (1.5 + _entries / 10);
_scaleSmallX = _defaultScaleX / (3 + _entries / 10); //icons
_scaleSmallY = _defaultScaleY / (3 + _entries / 10);
_points = 360 / _entries;
_positions = [];
_positions2 = [];
for "_p" from 0 to 360 step _points do {
_x = cos _p * (0.3 * _distance);
_y = sin _p * (0.4 * _distance);
_positions pushBack [_x + (_center - (_scaleLargeX / 2)),_y + (_center - (_scaleLargeY / 2)),_scaleLargeX,_scaleLargeY];
_positions2 pushBack [_x + (_center - (_scaleSmallX / 2)),_y + (_center - (_scaleSmallY / 2)),_scaleSmallX,_scaleSmallY];
};
missionNamespace setVariable ["rmx_var_dynaControls",[]];
//_buttonSettings [icon,tooltip,action]
for "_e" from 0 to (_entries - 1) do {
private ["_ctrl","_ctrl2"];
_ctrl = _display ctrlCreate ["rmx_rscPicture",(66600 + _e)];
_ctrl ctrlSetText "x\addons\a3_epoch_code\Data\UI\buttons\dm_selection_b1.paa";
_ctrl ctrlSetPosition (_positions select _e);
_ctrl ctrlSetFade 1;
_ctrl ctrlCommit 0;
_ctrl ctrlSetTooltip (_buttonSettings select _e select 1);
_ctrl ctrlSetTooltipColorBox [0, 0, 0, 0];
_ctrl ctrlSetTooltipColorShade [0, 0, 0, 0];
_ctrl ctrlSetEventHandler ["mouseEnter", "_c = _this select 0; _c ctrlSetFade 0; [_c,0.85,0.1] call BIS_fnc_ctrlSetScale"];
_ctrl ctrlSetEventHandler ["mouseExit", "_c = _this select 0; _c ctrlSetFade 1; [_c,1,0.1] call BIS_fnc_ctrlSetScale"];
_ctrl ctrlSetEventHandler ["mouseButtonDown", (_buttonSettings select _e select 2)];
_ctrl ctrlEnable true;
_ctrl2 = _display ctrlCreate ["rmx_rscPicture",-(66600 + _e)];
_ctrl2 ctrlSetTooltip (_buttonSettings select _e select 1);
_ctrl2 ctrlSetTooltipColorBox [0, 0, 0, 0];
_ctrl2 ctrlSetTooltipColorShade [0, 0, 0, 0];
_ctrl2 ctrlSetText (_buttonSettings select _e select 0);
_ctrl2 ctrlSetPosition (_positions2 select _e);
_ctrl2 ctrlCommit 0.1;
_arr = missionNamespace getVariable ["rmx_var_dynaControls",[]];
_arr append [_ctrl,_ctrl2];
missionNamespace setVariable ["rmx_var_dynaControls",_arr];
};
true