ACE3/addons/spectator/UI.hpp
2015-06-28 19:34:21 -07:00

640 lines
21 KiB
C++

#define PIXEL_X (safeZoneWAbs / (getResolution select 0))
#define PIXEL_Y (safeZoneH / (getResolution select 1))
#define XHAIR RESUNITS_X * 4
#define COMPASS_W RESUNITS_X * 20
#define COMPASS_H COMPASS_W / 15
#define COMPASS_X RESCENTRE_X - COMPASS_W / 2
#define HELP_W RESUNITS_X * 75
#define HELP_H RESUNITS_Y * 75
class ace_spectator_overlay {
idd = 12200;
enableSimulation = 1;
movingEnable = 1;
enableDisplay = 1;
onLoad = "uiNamespace setVariable ['ace_spectator_overlay', _this select 0]; ['Init', _this] call ace_spectator_fnc_overlay";
class controls {
class Unitlist {
access = 0;
idc = 0;
type = CT_TREE;
style = ST_LEFT;
default = 0;
blinkingPeriod = 0;
x = QUOTE(safeZoneX);
y = QUOTE(safeZoneY + RESUNITS_X * 4/3);
w = QUOTE(RESUNITS_X * 30);
h = QUOTE(RESUNITS_Y * 50);
colorBorder[] = {1,1,1,1};
colorBackground[] = {0.1,0.1,0.1,1};
colorSelect[] = {1,0.5,0,1};
colorMarked[] = {1,0.5,0,0.5};
colorMarkedSelected[] = {1,0.5,0,1};
sizeEx = QUOTE(RESUNITS_Y * 2);
font = GUI_FONT_NORMAL;
shadow = 1;
colorText[] = {1,1,1,1};
colorSelectText[] = {1,1,1,1};
colorMarkedText[] = {1,1,1,1};
tooltip = "";
tooltipColorShade[] = {0,0,0,1};
tooltipColorText[] = {1,1,1,1};
tooltipColorBox[] = {1,1,1,1};
multiselectEnabled = 0;
expandOnDoubleclick = 0;
hiddenTexture = "A3\ui_f\data\gui\rsccommon\rsctree\hiddenTexture_ca.paa";
expandedTexture = "A3\ui_f\data\gui\rsccommon\rsctree\expandedTexture_ca.paa";
maxHistoryDelay = 1;
class ScrollBar {
width = 0;
height = 0;
scrollSpeed = 0.01;
arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
color[] = {1,1,1,1};
};
colorDisabled[] = {0,0,0,0};
colorArrow[] = {0,0,0,0};
onDestroy = QUOTE(GVAR(mouseBusy) = false; false);
onMouseEnter = QUOTE(GVAR(mouseBusy) = true; false);
onMouseExit = QUOTE(GVAR(mouseBusy) = false; false);
onTreeDblClick = "['Select', _this] call ace_spectator_fnc_overlay; false";
};
};
};
class ace_spectator_vd {
idd = 12201;
enableSimulation = 1;
enableDisplay = 0;
movingEnable = 0;
onLoad = "uiNamespace setVariable ['ace_spectator_vd', _this select 0]; ['Init', _this] call ace_spectator_fnc_viewDistance";
class Controls {
class BG: vip_rsc_box {
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 30);
y = QUOTE(safeZoneY + COMPASS_H);
w = QUOTE(RESUNITS_X * 30);
h = QUOTE(COMPASS_H);
colorBackground[] = {0.1,0.1,0.1,1};
onDestroy = QUOTE(GVAR(mouseBusy) = false; false);
};
class TitleFrame: vip_rsc_frame {
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 30);
y = QUOTE(safeZoneY + COMPASS_H);
w = QUOTE(RESUNITS_X * 8);
h = QUOTE(COMPASS_H);
shadow = 2;
colorText[]={1,1,1,1};
};
class Title: vip_rsc_text {
style = ST_CENTER;
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 30);
y = QUOTE(safeZoneY + COMPASS_H);
w = QUOTE(RESUNITS_X * 8);
h = QUOTE(COMPASS_H);
sizeEx = QUOTE(RESUNITS_Y * 2);
font = GUI_FONT_NORMAL;
shadow = 2;
colorText[]={1,1,1,1};
text = CSTRING(VD_Title);
};
class DistanceFrame: TitleFrame {
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 10.5);
w = QUOTE(RESUNITS_X * 5);
};
class Distance: Title {
idc = 1;
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 10.5);
w = QUOTE(RESUNITS_X * 5);
text = "";
};
class ButtonExit: vip_rsc_button {
idc = 0;
style = ST_CENTER;
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 5);
y = QUOTE(safeZoneY + COMPASS_H);
w = QUOTE(RESUNITS_X * 5);
h = QUOTE(COMPASS_H);
colorBackground[] = {1,1,1,1};
sizeEx = QUOTE(RESUNITS_Y * 2);
font = GUI_FONT_NORMAL;
text = CSTRING(VD_Button);
onButtonClick = "closeDialog 0; false";
onMouseButtonDown = QUOTE(GVAR(mouseBusy) = true; false);
onMouseButtonUp = QUOTE(GVAR(mouseBusy) = false; false);
};
class Slider {
idc = 2;
type = CT_XSLIDER;
style = SL_HORZ;
shadow = 2;
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 21.5);
y = QUOTE(safeZoneY + COMPASS_H);
w = QUOTE(RESUNITS_X * 9.5);
h = QUOTE(COMPASS_H);
color[] = {1,1,1,1};
colorActive[] = {1,1,1,1};
colorDisabled[] = {1,1,1,0.2};
arrowEmpty = "\A3\ui_f\data\gui\cfg\slider\arrowEmpty_ca.paa";
arrowFull = "\A3\ui_f\data\gui\cfg\slider\arrowFull_ca.paa";
border = "\A3\ui_f\data\gui\cfg\slider\border_ca.paa";
thumb = "\A3\ui_f\data\gui\cfg\slider\thumb_ca.paa";
text = "";
onSliderPosChanged = "['Slider', _this] call ace_spectator_fnc_viewDistance";
onMouseButtonDown = QUOTE(GVAR(mouseBusy) = true; false);
onMouseButtonUp = QUOTE(GVAR(mouseBusy) = false; false);
};
};
};
class ace_spectator_map {
idd = 12202;
enableSimulation = 1;
enableDisplay = 0;
onLoad = "uiNameSpace setVariable ['ace_spectator_map', _this select 0]; ['Init', _this select 0] call ace_spectator_fnc_map";
onUnload = "['Close', _this select 0] call ace_spectator_fnc_map";
onKeyDown = "['KeyDown', _this] call ace_spectator_fnc_map";
class controls {
//changes stolen from ACE_map
class Map {
access = 0;
idc = 1;
type = CT_MAP_MAIN;
style = ST_PICTURE;
default = 0;
blinkingPeriod = 0;
x = safeZoneXAbs;
y = safeZoneY;
w = safeZoneWAbs;
h = safeZoneH;
sizeEx = GUI_GRID_CENTER_H;
font = GUI_FONT_NORMAL;
colorText[] = {0,0,0,1};
text = "#(argb,8,8,3)color(1,1,1,1)";
moveOnEdges = 1;
ptsPerSquareSea = 5;
ptsPerSquareTxt = 20;
ptsPerSquareCLn = 10;
ptsPerSquareExp = 10;
ptsPerSquareCost = 10;
ptsPerSquareFor = 9;
ptsPerSquareForEdge = 9;
ptsPerSquareRoad = 6;
ptsPerSquareObj = 9;
scaleMin = 0.001;
scaleMax = 1.0;
scaleDefault = 0.16;
alphaFadeStartScale = 2;
alphaFadeEndScale = 2;
maxSatelliteAlpha = 0.5;
colorBackground[] = {0.929412, 0.929412, 0.929412, 1.0};
colorOutside[] = {0.929412, 0.929412, 0.929412, 1.0};
colorSea[] = {0.4,0.6,0.8,0.5};
colorForest[] = {0.6, 0.8, 0.2, 0.25};
colorForestBorder[] = {0.6,0.8,0.4,1};
colorRocks[] = {0.50, 0.50, 0.50, 0.50};
colorRocksBorder[] = {0,0,0,1};
colorLevels[] = {0.0, 0.0, 0.0, 1.0};
colorMainCountlines[] = {0.858824, 0, 0,1};
colorCountlines[] = {0.647059, 0.533333, 0.286275, 1};
colorMainCountlinesWater[] = {0.5,0.6,0.7,0.6};
colorCountlinesWater[] = {0.5,0.6,0.7,0.3};
colorPowerLines[] = {0.1,0.1,0.1,1};
colorRailWay[] = {0.8,0.2,0,1};
colorNames[] = {1.1,0.1,1.1,0.9};
colorInactive[] = {1,1,0,0.5};
colorTracks[] = {0.2,0.13,0,1};
colorTracksFill[] = {1,0.88,0.65,0.3};
colorRoads[] = {0.2,0.13,0,1};
colorRoadsFill[] = {1,0.88,0.65,1};
colorMainRoads[] = {0.0,0.0,0.0,1};
colorMainRoadsFill[] = {0.94,0.69,0.2,1};
colorGrid[] = {0.05,0.1,0,0.6};
colorGridMap[] = {0.05,0.1,0,0.4};
fontLabel="PuristaMedium";
sizeExLabel="( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
fontGrid="TahomaB";
sizeExGrid = 0.032;
fontUnits="TahomaB";
sizeExUnits="( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
fontNames="EtelkaNarrowMediumPro";
sizeExNames="( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2";
fontInfo="PuristaMedium";
sizeExInfo="( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";
fontLevel="TahomaB";
sizeExLevel=0.03;
showCountourInterval = 1;
class Task {
icon = "#(argb,8,8,3)color(1,1,1,1)";
color[] = {1,1,0,1};
iconCreated = "#(argb,8,8,3)color(1,1,1,1)";
colorCreated[] = {0,0,0,1};
iconCanceled = "#(argb,8,8,3)color(1,1,1,1)";
colorCanceled[] = {0,0,0,0.5};
iconDone = "#(argb,8,8,3)color(1,1,1,1)";
colorDone[] = {0,1,0,1};
iconFailed = "#(argb,8,8,3)color(1,1,1,1)";
colorFailed[] = {1,0,0,1};
size = 8;
importance = 1;
coefMin = 1;
coefMax = 1;
};
class ActiveMarker { //includes icons spawned by drawIcon
color[] = {0,0,0,1};
size = 2;
coefMin = 1; //make sure icon doesnt scale
};
class Waypoint {
coefMax = 1;
coefMin = 4;
color[] = {0,0,0,1};
icon = "#(argb,8,8,3)color(0,0,0,1)";
importance = 1;
size = 2;
};
class WaypointCompleted: Waypoint{};
class CustomMark: Waypoint{};
class Command: Waypoint{};
class Bush {
icon = "";
color[] = {0.450000, 0.640000, 0.330000, 0.0};
size = 14;
importance = "0.2 * 14 * 0.05";
coefMin = 0.250000;
coefMax = 4;
};
class Rock: Waypoint{color[]={0.45,0.64,0.33,0.4}; importance="0.5 * 12 * 0.05";};
class SmallTree {
icon = "";
color[] = {0.450000, 0.640000, 0.330000, 0.0};
size = 12;
importance = "0.6 * 12 * 0.05";
coefMin = 0.250000;
coefMax = 4;
};
class Tree {
icon = "";
color[] = {0.450000, 0.640000, 0.330000, 0.0};
size = 12;
importance = "0.9 * 16 * 0.05";
coefMin = 0.250000;
coefMax = 4;
};
class Legend {
x = SafeZoneX+SafeZoneW-.340;
y = SafeZoneY+SafeZoneH-.152;
font = "PuristaMedium";
w = .340;
h = .152;
sizeEx = 0.039210;
colorBackground[] = {0.906000, 0.901000, 0.880000, 0.5};
color[] = {0, 0, 0, 0.75};
};
class BusStop: Waypoint{};
class FuelStation: Waypoint{};
class Hospital: Waypoint{};
class Church: Waypoint{};
class Lighthouse: Waypoint{};
class Power: Waypoint{};
class PowerSolar: Waypoint{};
class PowerWave: Waypoint{};
class PowerWind: Waypoint{};
class Quay: Waypoint{};
class Transmitter: Waypoint{};
class Watertower: Waypoint{};
class Cross: Waypoint{};
class Chapel: Waypoint{};
class Shipwreck: Waypoint{};
class Bunker: Waypoint{};
class Fortress: Waypoint{};
class Fountain: Waypoint{};
class Ruin: Waypoint{};
class Stack: Waypoint{};
class Tourism: Waypoint{};
class ViewTower: Waypoint{};
};
};
};
class RscTitles {
class ace_spectator_crosshair {
onLoad = "uiNamespace setVariable ['ace_spectator_crosshair', _this select 0]";
idd=-1;
movingEnable=0;
fadein=0;
fadeout=0;
duration=1e+011;
class controls {
class X: vip_rsc_picture {
idc = 0;
x = QUOTE(RESCENTRE_X - XHAIR / 2);
y = QUOTE(RESCENTRE_Y - XHAIR * 4/3 / 2);
w = QUOTE(XHAIR);
h = QUOTE(XHAIR * 4/3);
text = "\a3\ui_f\data\IGUI\Cfg\Cursors\select_target_ca.paa";
colorText[] = {1,1,1,0.8};
};
};
};
class ace_spectator_status {
onLoad = "uiNamespace setVariable ['ace_spectator_status', _this select 0]; [_this select 0] call ace_spectator_fnc_status";
idd = -1;
movingEnable=0;
fadein=0;
fadeout=0;
duration=1e+011;
class controls {
class BGRight: vip_rsc_box {
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 30);
y = QUOTE(safeZoneY);
w = QUOTE(RESUNITS_X * 30);
h = QUOTE(COMPASS_H);
colorBackground[] = {0.1,0.1,0.1,1};
};
class BGLeft: BGRight {
x = QUOTE(safeZoneX);
};
class SpeedFrame: vip_rsc_frame {
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 5);
y = QUOTE(safeZoneY);
w = QUOTE(RESUNITS_X * 5);
h = QUOTE(COMPASS_H);
shadow = 2;
colorText[]={1,1,1,1};
};
class Speed: vip_rsc_text {
idc = 0;
style = ST_CENTER;
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 5);
y = QUOTE(safeZoneY);
w = QUOTE(RESUNITS_X * 5);
h = QUOTE(COMPASS_H);
colorText[]={1,1,1,1};
sizeEx = QUOTE(RESUNITS_Y * 2);
font = GUI_FONT_NORMAL;
text = "";
};
class FovFrame: SpeedFrame {
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 10.5);
};
class Fov: Speed {
idc = 4;
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 10.5);
};
class TimeAccFrame: SpeedFrame {
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 21.5);
};
class TimeAcc: Speed {
idc = 5;
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 21.5);
};
class FocusFrame: SpeedFrame {
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 16);
};
class Focus: Speed {
idc = 6;
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 16);
};
class NameFrame: SpeedFrame {
x = QUOTE(safeZoneX);
w = QUOTE(RESUNITS_X * 24.5);
};
class Name: Speed {
idc = 1;
x = QUOTE(safeZoneX);
w = QUOTE(RESUNITS_X * 24.5);
};
class ModeFrame: SpeedFrame {
x = QUOTE(safeZoneX + RESUNITS_X * 25);
};
class Mode: Speed {
idc = 2;
x = QUOTE(safeZoneX + RESUNITS_X * 25);
};
class TimeFrame: SpeedFrame {
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 30);
w = QUOTE(RESUNITS_X * 8);
};
class Time: Speed {
idc = 3;
x = QUOTE(safeZoneX + safeZoneW - RESUNITS_X * 30);
w = QUOTE(RESUNITS_X * 8);
};
};
};
class ace_spectator_compass {
onLoad = "uiNamespace setVariable ['ace_spectator_compass', _this select 0]";
onUnload = "";
idd=-1;
movingEnable=0;
fadein=0;
fadeout=0;
duration=1e+011;
class controls {
class BG: vip_rsc_box {
x = QUOTE(COMPASS_X);
y = QUOTE(safeZoneY);
w = QUOTE(COMPASS_W);
h = QUOTE(COMPASS_H);
colorBackground[] = {0.1,0.1,0.1,1};
};
class 0_90: vip_rsc_picture {
idc = 1;
x = QUOTE(RESCENTRE_X);
y = QUOTE(safeZoneY);
w = QUOTE(COMPASS_W / 2);
h = QUOTE(COMPASS_H);
text = "A3\ui_f_curator\data\cfgIngameUI\compass\texture180_ca.paa";
};
class 90_180: 0_90 {
idc = 2;
x = QUOTE(RESCENTRE_X + COMPASS_W / 2);
text = "A3\ui_f_curator\data\cfgIngameUI\compass\texture270_ca.paa";
};
class 180_270: 0_90 {
idc = 3;
x = QUOTE(RESCENTRE_X + COMPASS_W);
text = "A3\ui_f_curator\data\cfgIngameUI\compass\texture0_ca.paa";
};
class 270_0: 0_90 {
idc = 4;
x = QUOTE(RESCENTRE_X + COMPASS_W * 1.5);
text = "A3\ui_f_curator\data\cfgIngameUI\compass\texture90_ca.paa";
};
class Post: vip_rsc_box {
x = QUOTE(COMPASS_X + COMPASS_W / 2);
y = QUOTE(safeZoneY);
w = QUOTE(PIXEL_X * 2);
h = QUOTE(COMPASS_H);
colorBackground[]={1,0,0,1};
};
class LeftBlocker: vip_rsc_box {
x = QUOTE(COMPASS_X - COMPASS_W / 2);
y = QUOTE(safeZoneY);
w = QUOTE(COMPASS_W / 2);
h = QUOTE(COMPASS_H);
colorBackground[] = {0.1,0.1,0.1,1};
};
class RightBlocker: LeftBlocker {
x = QUOTE(COMPASS_X + COMPASS_W);
};
class Frame: vip_rsc_frame {
x = QUOTE(COMPASS_X);
y = QUOTE(safeZoneY);
w = QUOTE(COMPASS_W);
h = QUOTE(COMPASS_H);
shadow=2;
colorText[]={1,1,1,1};
};
};
};
class ace_spectator_help {
onLoad = "uiNamespace setVariable ['ace_spectator_help', _this select 0]; ['Help', _this select 0] call ace_spectator_fnc_camera";
idd = -1;
movingEnable=0;
fadein=0;
fadeout=0;
duration=1e+011;
class controls {
class BG: vip_rsc_box {
idc = -1;
x = QUOTE(RESCENTRE_X - HELP_W / 2);
y = QUOTE(RESCENTRE_Y - HELP_H / 2);
w = QUOTE(HELP_W);
h = QUOTE(HELP_H);
colorBackground[] = {0.1,0.1,0.1,1};
};
class Title: vip_rsc_text {
idc = 0;
style = ST_CENTER;
x = QUOTE(RESCENTRE_X - RESUNITS_X * 25);
y = QUOTE(RESCENTRE_Y - (HELP_H / 2) + RESUNITS_Y * 3);
w = QUOTE(RESUNITS_X * 50);
h = QUOTE(RESUNITS_Y * 4);
colorText[]={1,1,1,1};
sizeEx = QUOTE(RESUNITS_Y * 4);
font = GUI_FONT_NORMAL;
text = "ACE Spectator Controls";
};
class LeftColumn1 {
idc = 1;
type = CT_STRUCTURED_TEXT;
style = ST_LEFT;
x = QUOTE(RESCENTRE_X - HELP_W / 2 + RESUNITS_X * 3);
y = QUOTE(RESCENTRE_Y - (HELP_H / 2) + RESUNITS_Y * 10);
w = QUOTE(RESUNITS_X * 16.75);
h = QUOTE(RESUNITS_Y * 63);
text = "";
size = QUOTE(RESUNITS_Y * 2.5);
colorBackground[] = {0,0,0,0};
};
class LeftColumn2: LeftColumn1 {
idc = 2;
x = QUOTE(RESCENTRE_X - HELP_W / 2 + RESUNITS_X * 19.75);
};
class RightColumn1: LeftColumn1 {
idc = 3;
x = QUOTE(RESCENTRE_X + HELP_W / 2 - RESUNITS_X * 3 - RESUNITS_X * 29.5);
};
class RightColumn2: LeftColumn1 {
idc = 4;
x = QUOTE(RESCENTRE_X + HELP_W / 2 - RESUNITS_X * 3 - RESUNITS_X * 11.75);
};
};
};
};