Jump to content
lawman_actual

Help: Basics of GUI building

Recommended Posts

Hey world

 

I've been attempting to get my head around creating a user interface for a couple of days now and I just haven't managed it yet. 

The two resources I've mostly drawn upon are:

 

 

Kilzone Kid's website tutorials:

http://killzonekid.com/arma-scripting-tutorials-gui-part-1/

 

And this here YouTube video:

https://www.youtube.com/watch?v=x3wqgJ1JncY

 

 

As I understand it I am looking for a dialogue, rather than a resource - as I want users to be able to click on stuff to make stuff happen.

 

Sadly, Killzone's (better) tutorial is aimed more at resources, although to be honest I've had difficulty making either method work.

 

 

So here's my questions:

 

1. H8ermaker uses a 'defines.hpp' to define some stuff. 

  • What do I need to put in here? My current attempts have just copied presets from the cfg viewer but I have also tried just a straight copy/paste from a standard example 

 

 

2. What do I then need to include in the dialogues file (dialogues.hpp in the video)?

  • When I took data straight from the GUI builder I was given errors along the lines of "no background colour defined"
  • When I tried to add fields to "more fully define" my frames etc. I was given errors like "shadow already defined"

 

 

 

3. Can someone please explain rsc Titles a bit more? Am I right in thinking these don't apply when using the dialogue method like H8ermaker does?

 

 

4. General advice on the process of creating dialogues much appreciated.

 

 

 

 

Thanks a bunch; this one's not making much sense to me right now.

 

- Lawman 

 

 

Share this post


Link to post
Share on other sites

Hi Icaruk

 

Yes, I have 

#include "defines.hpp"

In my description.

 

 

 

I was looking for a little more help than that.

 

I understand what KK is saying about styles and whatnot, but I'm not sure what pieces of 'defining code' to put where for the controls. 

 

I don't really understand how the stuff going in "defines.hpp" relates to "dialogues.hpp" and how sometimes the two seem to clash whereas sometimes they don't. 

 

 

 

 

And to clarify, I did use the GUI editor in game and obtained some code for various frames and texts. 

I believe this was it, though I've modified so many things since I can't be 100% sure this is the direct output from the in-game editor

class firemissionform1

{

		idd=-1;

		movingenable = false;

		class controls

		{

////////////////////////////////////////////////////////
// GUI EDITOR OUTPUT START (by Lawman, v1.063, #Sufery)
////////////////////////////////////////////////////////

class mainframe1: RscFrame
{
	//colorBackground[] = {0,0,0,0};
	idc = 1800;
	type = 0;
	text = "Request Fire Mission"; //--- ToDo: Localize;
	x = 0.396875 * safezoneW + safezoneX;
	y = 0.28 * safezoneH + safezoneY;
	w = 0.20625 * safezoneW;
	h = 0.407 * safezoneH;
	colorText[] = {0,0,0,1};
};
class text_entity: RscText
{
	idc = 1000;
	text = "Entity"; //--- ToDo: Localize;
	x = 0.407187 * safezoneW + safezoneX;
	y = 0.357 * safezoneH + safezoneY;
	w = 0.04125 * safezoneW;
	h = 0.022 * safezoneH;
};
class combo_entity: RscCombo
{
	idc = 2100;
	x = 0.489687 * safezoneW + safezoneX;
	y = 0.357 * safezoneH + safezoneY;
	w = 0.0979687 * safezoneW;
	h = 0.022 * safezoneH;
	colorBackground[] = {0,0,0,0.25};
};
class text_supportType: RscText
{
	idc = 1001;
	text = "Support Type"; //--- ToDo: Localize;
	x = 0.407187 * safezoneW + safezoneX;
	y = 0.401 * safezoneH + safezoneY;
	w = 0.061875 * safezoneW;
	h = 0.022 * safezoneH;
};
class combo_supportType: RscCombo
{
	idc = 2101;
	x = 0.489687 * safezoneW + safezoneX;
	y = 0.401 * safezoneH + safezoneY;
	w = 0.0979687 * safezoneW;
	h = 0.022 * safezoneH;
	colorBackground[] = {0,0,0,0.25};
};
class text_location: RscText
{
	idc = 1002;
	text = "Mission Location"; //--- ToDo: Localize;
	x = 0.407187 * safezoneW + safezoneX;
	y = 0.489 * safezoneH + safezoneY;
	w = 0.061875 * safezoneW;
	h = 0.022 * safezoneH;
	colorText[] = {0,0,0,1};
	sizeEx = 0.75 * GUI_GRID_H;
};
class text_x: RscText
{
	idc = 1003;
	text = "X:"; //--- ToDo: Localize;
	x = 0.5 * safezoneW + safezoneX;
	y = 0.533 * safezoneH + safezoneY;
	w = 0.0154688 * safezoneW;
	h = 0.022 * safezoneH;
	colorText[] = {0,0,0,1};
};
class text_xEntry: RscText
{
	idc = 1004;
	text = "00000"; //--- ToDo: Localize;
	x = 0.510312 * safezoneW + safezoneX;
	y = 0.533 * safezoneH + safezoneY;
	w = 0.0309375 * safezoneW;
	h = 0.022 * safezoneH;
};
class RscText_1005: RscText
{
	idc = 1005;
	text = "Y:"; //--- ToDo: Localize;
	x = 0.54125 * safezoneW + safezoneX;
	y = 0.533 * safezoneH + safezoneY;
	w = 0.0154688 * safezoneW;
	h = 0.022 * safezoneH;
	colorText[] = {0,0,0,1};
};
class RscText_1006: RscText
{
	idc = 1006;
	text = "00000"; //--- ToDo: Localize;
	x = 0.551562 * safezoneW + safezoneX;
	y = 0.533 * safezoneH + safezoneY;
	w = 0.0309375 * safezoneW;
	h = 0.022 * safezoneH;
};
class button_myPos: RscButton
{
	idc = 1600;
	text = "Use Current Position"; //--- ToDo: Localize;
	x = 0.5 * safezoneW + safezoneX;
	y = 0.566 * safezoneH + safezoneY;
	w = 0.0876563 * safezoneW;
	h = 0.011 * safezoneH;
	colorBackground[] = {0,0,0,0.35};
	colorActive[] = {-1,-1,-1,0.5};
	sizeEx = 0.4 * GUI_GRID_H;
};
class frame_referencePosition: RscFrame
{
	idc = 1801;
	x = 20 * GUI_GRID_W + GUI_GRID_X;
	y = 14 * GUI_GRID_H + GUI_GRID_Y;
	w = 8.5 * GUI_GRID_W;
	h = 1 * GUI_GRID_H;
	colorText[] = {0,0,0,1};
	colorBackground[] = {0,0,0,0.35};
};
class text_distance: RscText
{
	idc = 1007;
	text = "Range"; //--- ToDo: Localize;
	x = 0.407187 * safezoneW + safezoneX;
	y = 0.599 * safezoneH + safezoneY;
	w = 0.0876563 * safezoneW;
	h = 0.022 * safezoneH;
};
class text_rangeInput: RscText
{
	idc = 1008;
	text = "300"; //--- ToDo: Localize;
	x = 0.5 * safezoneW + safezoneX;
	y = 0.599 * safezoneH + safezoneY;
	w = 0.0257812 * safezoneW;
	h = 0.022 * safezoneH;
};
class text_m: RscText
{
	idc = 1009;
	text = "m"; //--- ToDo: Localize;
	x = 0.520625 * safezoneW + safezoneX;
	y = 0.599 * safezoneH + safezoneY;
	w = 0.0154688 * safezoneW;
	h = 0.022 * safezoneH;
	colorText[] = {0,0,0,1};
};
class text_bearing: RscText
{
	idc = 1010;
	text = "Bearing"; //--- ToDo: Localize;
	x = 0.407187 * safezoneW + safezoneX;
	y = 0.643 * safezoneH + safezoneY;
	w = 0.0876563 * safezoneW;
	h = 0.022 * safezoneH;
};
class bearing_input: RscText
{
	idc = 1011;
	text = "210"; //--- ToDo: Localize;
	x = 0.5 * safezoneW + safezoneX;
	y = 0.643 * safezoneH + safezoneY;
	w = 0.0257812 * safezoneW;
	h = 0.022 * safezoneH;
};
class text_reference: RscText
{
	idc = 1012;
	text = "Reference Point"; //--- ToDo: Localize;
	x = 0.407187 * safezoneW + safezoneX;
	y = 0.533 * safezoneH + safezoneY;
	w = 0.0876563 * safezoneW;
	h = 0.022 * safezoneH;
};
class text_supporting: RscText
{
	idc = 1013;
	text = "Supporting Unit"; //--- ToDo: Localize;
	x = 0.407187 * safezoneW + safezoneX;
	y = 0.313 * safezoneH + safezoneY;
	w = 0.061875 * safezoneW;
	h = 0.022 * safezoneH;
	colorText[] = {0,0,0,1};
	sizeEx = 0.75 * GUI_GRID_H;
};
////////////////////////////////////////////////////////
// GUI EDITOR OUTPUT END
////////////////////////////////////////////////////////





		};
};

Simply combining this with a defines.hpp didn't seem to run though

Share this post


Link to post
Share on other sites

EDIT: Example error messages.

 

The following were retrieved after copying your example defines.hpp and the direct output from my GUI Editor save.

 

It confuses me that controls defined in the in-game editor have error messages coming up:

21:03:33 Warning Message: No entry 'C:\Users\ME\Documents\Arma 3\missions\Combat%20Test%2003.Altis\description.ext/firemissionform1/controls/combo_entity.ComboScrollBar'.
21:03:33 Warning Message: No entry 'C:\Users\ME\Documents\Arma 3\missions\Combat%20Test%2003.Altis\description.ext/firemissionform1/controls/combo_supportType.ComboScrollBar'.
21:03:33 Error loading control C:\Users\ME\Documents\Arma 3\missions\Combat%20Test%2003.Altis\description.ext/firemissionform1/controls/text_location/
21:03:33 Error loading control C:\Users\ME\Documents\Arma 3\missions\Combat%20Test%2003.Altis\description.ext/firemissionform1/controls/button_myPos/
21:03:33 Error loading control C:\Users\ME\Documents\Arma 3\missions\Combat%20Test%2003.Altis\description.ext/firemissionform1/controls/frame_referencePosition/
21:03:33 Error loading control C:\Users\ME\Documents\Arma 3\missions\Combat%20Test%2003.Altis\description.ext/firemissionform1/controls/text_supporting/

Share this post


Link to post
Share on other sites

Okay so the basic explanation of the defines.hpp is that it defines your base classes for dialog elements. Using an RscButton on your dialog, the game needs to know some attributes for that class so instead of defining it every time you use it, you just define it in the defines.hpp and include it before your dialog. That way that class is already defined for your dialog to use.

 

When you see the dialog.hpp files they're the files that hold your custom dialog. Like in your posted code you use RscText. That class will be referenced from the defines.hpp.

 

It can be quite confusing to start off with but I suggest working with a very simple dialog for now until you fully understand what each thing does. Just build a dialog with a button, style it nicely and get that button to do something.

 

Here's my defines.hpp which has some nice styling that looks like classic Arma menu's:

// Control types

#define CT_STATIC 0

#define CT_BUTTON 1

#define CT_EDIT 2

#define CT_SLIDER 3

#define CT_COMBO 4

#define CT_LISTBOX 5

#define CT_TOOLBOX 6

#define CT_CHECKBOXES 7

#define CT_PROGRESS 8

#define CT_HTML 9

#define CT_STATIC_SKEW 10

#define CT_ACTIVETEXT 11

#define CT_TREE 12

#define CT_STRUCTURED_TEXT 13

#define CT_CONTEXT_MENU 14

#define CT_CONTROLS_GROUP 15

#define CT_SHORTCUTBUTTON 16

#define CT_XKEYDESC 40

#define CT_XBUTTON 41

#define CT_XLISTBOX 42

#define CT_XSLIDER 43

#define CT_XCOMBO 44

#define CT_ANIMATED_TEXTURE 45

#define CT_OBJECT 80

#define CT_OBJECT_ZOOM 81

#define CT_OBJECT_CONTAINER 82

#define CT_OBJECT_CONT_ANIM 83

#define CT_LINEBREAK 98

#define CT_USER 99

#define CT_MAP 100

#define CT_MAP_MAIN 101

#define CT_LISTNBOX 102

#define CT_CHECKBOX 77

// Static styles

#define ST_POS 0x0F

#define ST_HPOS 0x03

#define ST_VPOS 0x0C

#define ST_LEFT 0x00

#define ST_RIGHT 0x01

#define ST_CENTER 0x02

#define ST_DOWN 0x04

#define ST_UP 0x08

#define ST_VCENTER 0x0C

#define ST_TYPE 0xF0

#define ST_SINGLE 0x00

#define ST_MULTI 0x10

#define ST_TITLE_BAR 0x20

#define ST_PICTURE 0x30

#define ST_FRAME 0x40

#define ST_BACKGROUND 0x50

#define ST_GROUP_BOX 0x60

#define ST_GROUP_BOX2 0x70

#define ST_HUD_BACKGROUND 0x80

#define ST_TILE_PICTURE 0x90

#define ST_WITH_RECT 0xA0

#define ST_LINE 0xB0

#define ST_SHADOW 0x100

#define ST_NO_RECT 0x200

#define ST_KEEP_ASPECT_RATIO 0x800

#define ST_TITLE ST_TITLE_BAR + ST_CENTER

// Slider styles

#define SL_DIR 0x400

#define SL_VERT 0

#define SL_HORZ 0x400

#define SL_TEXTURES 0x10

// progress bar

#define ST_VERTICAL 0x01

#define ST_HORIZONTAL 0

// Listbox styles

#define LB_TEXTURES 0x10

#define LB_MULTI 0x20

// Tree styles

#define TR_SHOWROOT 1

#define TR_AUTOCOLLAPSE 2

// MessageBox styles

#define MB_BUTTON_OK 1

#define MB_BUTTON_CANCEL 2

#define MB_BUTTON_USER 4

class RscMapControl

{

access = 0;

alphaFadeEndScale = 2;

alphaFadeStartScale = 2;

colorBackground[] = {0.969,0.957,0.949,1};

colorCountlines[] = {0.572,0.354,0.188,0.25};

colorCountlinesWater[] = {0.491,0.577,0.702,0.3};

colorForest[] = {0.624,0.78,0.388,0.5};

colorForestBorder[] = {0,0,0,0};

colorGrid[] = {0.1,0.1,0.1,0.6};

colorGridMap[] = {0.1,0.1,0.1,0.6};

colorInactive[] = {1,1,1,0.5};

colorLevels[] = {0.286,0.177,0.094,0.5};

colorMainCountlines[] = {0.572,0.354,0.188,0.5};

colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6};

colorMainRoads[] = {0.9,0.5,0.3,1};

colorMainRoadsFill[] = {1,0.6,0.4,1};

colorNames[] = {0.1,0.1,0.1,0.9};

colorOutside[] = {0,0,0,1};

colorPowerLines[] = {0.1,0.1,0.1,1};

colorRailWay[] = {0.8,0.2,0,1};

colorRoads[] = {0.7,0.7,0.7,1};

colorRoadsFill[] = {1,1,1,1};

colorRocks[] = {0,0,0,0.3};

colorRocksBorder[] = {0,0,0,0};

colorSea[] = {0.467,0.631,0.851,0.5};

colorText[] = {0,0,0,1};

colorTracks[] = {0.84,0.76,0.65,0.15};

colorTracksFill[] = {0.84,0.76,0.65,1};

deletable = 0;

fade = 0;

font = "TahomaB";

fontGrid = "TahomaB";

fontInfo = "PuristaMedium";

fontLabel = "PuristaMedium";

fontLevel = "TahomaB";

fontNames = "EtelkaNarrowMediumPro";

fontUnits = "TahomaB";

h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";

idc = 51;

maxSatelliteAlpha = 0.85;

moveOnEdges = 1;

ptsPerSquareCLn = 10;

ptsPerSquareCost = 10;

ptsPerSquareExp = 10;

ptsPerSquareFor = 9;

ptsPerSquareForEdge = 9;

ptsPerSquareObj = 9;

ptsPerSquareRoad = 6;

ptsPerSquareSea = 5;

ptsPerSquareTxt = 20;

scaleDefault = 0.16;

scaleMax = 1;

scaleMin = 0.001;

shadow = 0;

showCountourInterval = 0;

sizeEx = 0.04;

sizeExGrid = 0.02;

sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";

sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";

sizeExLevel = 0.02;

sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2";

sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";

stickX[] = {0.2,["Gamma",1,1.5]};

stickY[] = {0.2,["Gamma",1,1.5]};

style = 48;

text = "#(argb,8,8,3)color(1,1,1,1)";

type = 101;

w = "SafeZoneWAbs";

x = "SafeZoneXAbs";

y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";

onMouseButtonClick = "";

onMouseButtonDblClick = "";

class ActiveMarker {

color[] = {0.3,0.1,0.9,1};

size = 50;

};

class Legend {

color[] = {0,0,0,1};

colorBackground[] = {1,1,1,0.5};

font = "PuristaMedium";

h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";

sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";

w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)";

x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)";

y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";

};

class Bunker {

coefMax = 4;

coefMin = 0.25;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";

importance = "1.5 * 14 * 0.05";

size = 14;

};

class Bush {

coefMax = 4;

coefMin = 0.25;

color[] = {0.45,0.64,0.33,0.4};

icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";

importance = "0.2 * 14 * 0.05 * 0.05";

size = "14/2";

};

class BusStop {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa";

importance = 1;

size = 24;

};

class Command {

coefMax = 1;

coefMin = 1;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";

importance = 1;

size = 18;

};

class CustomMark {

coefMax = 1;

coefMin = 1;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa";

importance = 1;

size = 24;

};

class Cross {

coefMax = 1;

coefMin = 0.85;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa";

importance = 1;

size = 24;

};

class Shipwreck {

coefMax = 1;

coefMin = 0.85;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\Shipwreck_CA.paa";

importance = 1;

size = 24;

};

class Fortress {

coefMax = 4;

coefMin = 0.25;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";

importance = "2 * 16 * 0.05";

size = 16;

};

class Fuelstation {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa";

importance = 1;

size = 24;

};

class Fountain {

coefMax = 4;

coefMin = 0.25;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa";

importance = "1 * 12 * 0.05";

size = 11;

};

class Hospital {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa";

importance = 1;

size = 24;

};

class Chapel {

coefMax = 1;

coefMin = 0.85;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa";

importance = 1;

size = 24;

};

class Church {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa";

importance = 1;

size = 24;

};

class Lighthouse {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa";

importance = 1;

size = 24;

};

class Quay {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa";

importance = 1;

size = 24;

};

class Rock {

coefMax = 4;

coefMin = 0.25;

color[] = {0.1,0.1,0.1,0.8};

icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa";

importance = "0.5 * 12 * 0.05";

size = 12;

};

class Ruin {

coefMax = 4;

coefMin = 1;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa";

importance = "1.2 * 16 * 0.05";

size = 16;

};

class SmallTree {

coefMax = 4;

coefMin = 0.25;

color[] = {0.45,0.64,0.33,0.4};

icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";

importance = "0.6 * 12 * 0.05";

size = 12;

};

class Stack {

coefMax = 4;

coefMin = 0.9;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa";

importance = "2 * 16 * 0.05";

size = 20;

};

class Tree {

coefMax = 4;

coefMin = 0.25;

color[] = {0.45,0.64,0.33,0.4};

icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";

importance = "0.9 * 16 * 0.05";

size = 12;

};

class Task {

coefMax = 1;

coefMin = 1;

color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"};

colorCanceled[] = {0.7,0.7,0.7,1};

colorCreated[] = {1,1,1,1};

colorDone[] = {0.7,1,0.3,1};

colorFailed[] = {1,0.3,0.2,1};

icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa";

iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa";

iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa";

iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa";

iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa";

importance = 1;

size = 27;

};

class Tourism {

coefMax = 4;

coefMin = 0.7;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa";

importance = "1 * 16 * 0.05";

size = 16;

};

class Transmitter {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa";

importance = 1;

size = 24;

};

class ViewTower {

coefMax = 4;

coefMin = 0.5;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa";

importance = "2.5 * 16 * 0.05";

size = 16;

};

class Watertower {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa";

importance = 1;

size = 24;

};

class power {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa";

importance = 1;

size = 24;

};

class powersolar {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa";

importance = 1;

size = 24;

};

class powerwave {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa";

importance = 1;

size = 24;

};

class powerwind {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa";

importance = 1;

size = 24;

};

class Waypoint {

coefMax = 1;

coefMin = 1;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";

importance = 1;

size = 24;

};

class WaypointCompleted {

coefMax = 1;

coefMin = 1;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa";

importance = 1;

size = 24;

};

};

class RscMap

{

access = 0;

class controls {

class Map : RscMapControl {

moveOnEdges = 0;

x = 0;

y = 0;

w = 0.83;

h = 1;

};

};

};

class RscToolbox {

idc = -1;

type = CT_TOOLBOX;

style = ST_CENTER;

x = 0.1;

y = 0.2;

w = 0.2;

h = 0.15;

colorText[] = {1,1,1,1};

color[] = {0,0,0,1};

colorTextSelect[] = {0,0,0,1};

colorSelect[] = {0,0,0,1};

colorTextDisable[] = {0.4,0.4,0.4,1};

colorDisable[] = {0.4,0.4,0.4,1};

colorSelectedBg[] = {1,1,1,1};

font = "PuristaMedium";

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

rows = 0;

columns = 0;

strings[] = {};

values[] = {};

onToolBoxSelChanged = "hint format[""Toolbox change:\n%1\nEntry#:%2"",(_this select 0),(_this select 1)];"

};

class RscButtonSpacer

{

type = 0;

idc = 124;

style = 128;

text = "";

colorText[] =

{

0,

0,

0,

0

};

font = "PuristaMedium";

sizeEx = 0;

shadow = 0;

x = 0.1;

y = 0.1;

w = 0.1;

h = 0.1;

colorBackground[] =

{

0,

0,

0,

0.8

};

};

class RscText

{

deletable = 0;

fade = 0;

access = 0;

type = 0;

idc = -1;

colorBackground[] =

{

0,

0,

0,

0

};

colorText[] =

{

1,

1,

1,

1

};

text = "";

fixedWidth = 0;

x = 0;

y = 0;

h = 0.037;

w = 0.3;

style = 0;

shadow = 1;

colorShadow[] =

{

0,

0,

0,

0.5

};

font = "PuristaMedium";

SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

linespacing = 1;

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

};

class RscStructuredText

{

deletable = 0;

fade = 0;

access = 0;

type = 13;

idc = -1;

style = "0x02 + 0x0C";

colorText[] =

{

1,

1,

1,

1

};

class Attributes

{

font = "PuristaMedium";

color = "#ffffff";

align = "left";

shadow = 1;

};

x = 0;

y = 0;

h = 0.035;

w = 0.1;

text = "";

size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

shadow = 1;

};

class RscPicture

{

deletable = 0;

fade = 0;

access = 0;

type = 0;

idc = -1;

style = "0x30 + 2048";

colorBackground[] =

{

0,

0,

0,

0

};

colorText[] =

{

1,

1,

1,

1

};

font = "TahomaB";

sizeEx = 0;

lineSpacing = 0;

text = "";

fixedWidth = 0;

shadow = 0;

x = 0;

y = 0;

w = 0.2;

h = 0.15;

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

};

class RscEdit

{

deletable = 0;

fade = 0;

access = 0;

type = 2;

x = 0;

y = 0;

h = 0.04;

w = 0.2;

colorBackground[] =

{

0,

0,

0,

0

};

colorText[] =

{

1,

1,

1,

1

};

colorDisabled[] =

{

1,

1,

1,

0.25

};

colorSelection[] =

{

"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])",

"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",

"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",

1

};

autocomplete = "";

text = "";

size = 0.2;

style = "0x00 + 0x40";

font = "PuristaMedium";

shadow = 2;

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

canModify = 1;

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

};

class RscCombo

{

deletable = 0;

fade = 0;

access = 0;

type = 4;

colorSelect[] =

{

0,

0,

0,

1

};

colorText[] =

{

1,

1,

1,

1

};

colorBackground[] =

{

0,

0,

0,

1

};

colorScrollbar[] =

{

1,

0,

0,

1

};

colorDisabled[] =

{

1,

1,

1,

0.25

};

colorPicture[] =

{

1,

1,

1,

1

};

colorPictureSelected[] =

{

1,

1,

1,

1

};

colorPictureDisabled[] =

{

1,

1,

1,

0.25

};

colorPictureRight[] =

{

1,

1,

1,

1

};

colorPictureRightSelected[] =

{

1,

1,

1,

1

};

colorPictureRightDisabled[] =

{

1,

1,

1,

0.25

};

colorTextRight[] =

{

1,

1,

1,

1

};

colorSelectRight[] =

{

0,

0,

0,

1

};

colorSelect2Right[] =

{

0,

0,

0,

1

};

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

soundSelect[] =

{

"\A3\ui_f\data\sound\RscCombo\soundSelect",

0.1,

1

};

soundExpand[] =

{

"\A3\ui_f\data\sound\RscCombo\soundExpand",

0.1,

1

};

soundCollapse[] =

{

"\A3\ui_f\data\sound\RscCombo\soundCollapse",

0.1,

1

};

maxHistoryDelay = 1;

class ComboScrollBar

{

color[] =

{

1,

1,

1,

1

};

};

style = "0x10 + 0x200";

font = "PuristaMedium";

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

shadow = 0;

x = 0;

y = 0;

w = 0.12;

h = 0.035;

colorSelectBackground[] =

{

1,

1,

1,

0.7

};

arrowEmpty = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_ca.paa";

arrowFull = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_active_ca.paa";

wholeHeight = 0.45;

colorActive[] =

{

1,

0,

0,

1

};

};

class RscXListBox

{

access = 0;

idc = CT_XLISTBOX;

type = CT_XLISTBOX;

style = SL_HORZ + ST_CENTER + LB_TEXTURES;

default = 0;

blinkingPeriod = 0;

x = 12 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X;

y = 17 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y;

w = 10 * GUI_GRID_CENTER_W;

h = 1 * GUI_GRID_CENTER_H;

color[] = {1,1,1,1};

colorActive[] = {1,1,1,1};

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

font = "PuristaMedium";

shadow = 0;

colorText[] = {1,1,1,1}; // Text color

colorSelect[] = {1,1,1,1}; // Selected text color

colorDisabled[] = {1,1,1,0.5}; // Disabled text color

tooltip = ""; // Tooltip text

tooltipColorShade[] = {0,0,0,0}; // Tooltip background color

tooltipColorText[] = {1,1,1,0}; // Tooltip text color

tooltipColorBox[] = {1,1,1,0}; // Tooltip frame color

arrowEmpty = "\A3\ui_f\data\gui\cfg\slider\arrowEmpty_ca.paa"; // Arrow

arrowFull = "\A3\ui_f\data\gui\cfg\slider\arrowFull_ca.paa"; // Arrow when clicked on

border = "\A3\ui_f\data\gui\cfg\slider\border_ca.paa"; // Fill texture

soundSelect[] = {"\A3\ui_f\data\sound\RscListbox\soundSelect",0.09,1};

};

class RscListBox

{

deletable = 0;

fade = 0;

access = 0;

type = 5;

rowHeight = 0;

colorText[] =

{

1,

1,

1,

1

};

colorDisabled[] =

{

1,

1,

1,

0.25

};

colorScrollbar[] =

{

1,

0,

0,

0

};

colorSelect[] =

{

0,

0,

0,

1

};

colorSelect2[] =

{

0,

0,

0,

1

};

colorSelectBackground[] =

{

0.95,

0.95,

0.95,

1

};

colorSelectBackground2[] =

{

1,

1,

1,

0.5

};

colorBackground[] =

{

0,

0,

0,

0.3

};

soundSelect[] =

{

"\A3\ui_f\data\sound\RscListbox\soundSelect",

0.09,

1

};

autoScrollSpeed = -1;

autoScrollDelay = 5;

autoScrollRewind = 0;

arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";

arrowFull = "#(argb,8,8,3)color(1,1,1,1)";

colorPicture[] =

{

1,

1,

1,

1

};

colorPictureSelected[] =

{

1,

1,

1,

1

};

colorPictureDisabled[] =

{

1,

1,

1,

0.25

};

colorPictureRight[] =

{

1,

1,

1,

1

};

colorPictureRightSelected[] =

{

1,

1,

1,

1

};

colorPictureRightDisabled[] =

{

1,

1,

1,

0.25

};

colorTextRight[] =

{

1,

1,

1,

1

};

colorSelectRight[] =

{

0,

0,

0,

1

};

colorSelect2Right[] =

{

0,

0,

0,

1

};

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

class ListScrollBar

{

color[] =

{

1,

1,

1,

1

};

autoScrollEnabled = 1;

};

x = 0;

y = 0;

w = 0.3;

h = 0.3;

style = 16;

font = "PuristaMedium";

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

shadow = 0;

colorShadow[] =

{

0,

0,

0,

0.5

};

period = 1.2;

maxHistoryDelay = 1;

};

class RscButton

{

type=16;

style="0x02 + 0xC0";

default=0;

shadow=0;

x=0;

y=0;

w=0.095588997;

h=0.039216001;

animTextureNormal="#(argb,8,8,3)color(1,1,1,1)";

animTextureDisabled="#(argb,8,8,3)color(1,1,1,1)";

animTextureOver="#(argb,8,8,3)color(1,1,1,1)";

animTextureFocused="#(argb,8,8,3)color(1,1,1,1)";

animTexturePressed="#(argb,8,8,3)color(1,1,1,1)";

animTextureDefault="#(argb,8,8,3)color(1,1,1,1)";

colorBackground[]={0,0,0,0.80000001};

colorBackgroundFocused[]={1,1,1,1};

colorBackground2[]={0.75,0.75,0.75,1};

color[]={1,1,1,1};

colorFocused[]={0,0,0,1};

color2[]={0,0,0,1};

colorText[]={1,1,1,1};

colorDisabled[]={1,1,1,0.25};

period=1.2;

periodFocus=1.2;

periodOver=1.2;

size="( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

sizeEx="( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

tooltipColorText[]={1,1,1,1};

tooltipColorBox[]={1,1,1,1};

tooltipColorShade[]={0,0,0,0.64999998};

font="PuristaLight";

class TextPos

{

left="0.25 * ( ((safezoneW / safezoneH) min 1.2) / 40)";

top="( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - ( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2";

right=0.0049999999;

bottom=0;

};

class Attributes

{

font="PuristaLight";

color="#E5E5E5";

align="center";

shadow="false";

};

class ShortcutPos

{

left="(6.25 * ( ((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005";

top=0.0049999999;

w=0.022500001;

h=0.029999999;

};

soundEnter[]=

{

"\A3\ui_f\data\sound\RscButtonMenu\soundEnter",

0.090000004,

1

};

soundPush[]=

{

"\A3\ui_f\data\sound\RscButtonMenu\soundPush",

0.090000004,

1

};

soundClick[]=

{

"\A3\ui_f\data\sound\RscButtonMenu\soundClick",

0.090000004,

1

};

soundEscape[]=

{

"\A3\ui_f\data\sound\RscButtonMenu\soundEscape",

0.090000004,

1

};

textureNoShortcut="#(argb,8,8,3)color(0,0,0,0)";

class HitZone

{

left=0;

top=0;

right=0;

bottom=0;

};

class AttributesImage

{

font="PuristaMedium";

color="#E5E5E5";

align="center";

};

};

class RscShortcutButton

{

deletable = 0;

fade = 0;

type = 16;

x = 0.1;

y = 0.1;

class HitZone

{

left = 0;

top = 0;

right = 0;

bottom = 0;

};

class ShortcutPos

{

left = 0;

top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2";

w = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1) * (3/4)";

h = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

};

class TextPos

{

left = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1) * (3/4)";

top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2";

right = 0.005;

bottom = 0;

};

shortcuts[] =

{

};

textureNoShortcut = "#(argb,8,8,3)color(0,0,0,0)";

color[] =

{

1,

1,

1,

1

};

colorFocused[] =

{

1,

1,

1,

1

};

color2[] =

{

0.95,

0.95,

0.95,

1

};

colorDisabled[] =

{

1,

1,

1,

0.25

};

colorBackground[] =

{

"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])",

"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",

"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",

1

};

colorBackgroundFocused[] =

{

"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])",

"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",

"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",

1

};

colorBackground2[] =

{

1,

1,

1,

1

};

soundEnter[] =

{

"\A3\ui_f\data\sound\RscButton\soundEnter",

0.09,

1

};

soundPush[] =

{

"\A3\ui_f\data\sound\RscButton\soundPush",

0.09,

1

};

soundClick[] =

{

"\A3\ui_f\data\sound\RscButton\soundClick",

0.09,

1

};

soundEscape[] =

{

"\A3\ui_f\data\sound\RscButton\soundEscape",

0.09,

1

};

class Attributes

{

font = "PuristaMedium";

color = "#E5E5E5";

align = "left";

shadow = "true";

};

idc = -1;

style = 0;

default = 0;

shadow = 1;

w = 0.183825;

h = "((((safezoneW / safezoneH) min 1.2) / 1.2) / 20)";

textSecondary = "";

colorSecondary[] =

{

1,

1,

1,

1

};

colorFocusedSecondary[] =

{

1,

1,

1,

1

};

color2Secondary[] =

{

0.95,

0.95,

0.95,

1

};

colorDisabledSecondary[] =

{

1,

1,

1,

0.25

};

sizeExSecondary = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

fontSecondary = "PuristaMedium";

animTextureDefault = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";

animTextureNormal = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";

animTextureDisabled = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";

animTextureOver = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\over_ca.paa";

animTextureFocused = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\focus_ca.paa";

animTexturePressed = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\down_ca.paa";

periodFocus = 1.2;

periodOver = 0.8;

period = 0.4;

font = "PuristaMedium";

size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

text = "";

action = "";

class AttributesImage

{

font = "PuristaMedium";

color = "#E5E5E5";

align = "left";

};

};

class RscShortcutButtonMain

{

idc = -1;

style = 0;

default = 0;

w = 0.313726;

h = 0.104575;

color[] =

{

1,

1,

1,

1

};

colorDisabled[] =

{

1,

1,

1,

0.25

};

class HitZone

{

left = 0;

top = 0;

right = 0;

bottom = 0;

};

class ShortcutPos

{

left = 0.0145;

top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)) / 2";

w = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2) * (3/4)";

h = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)";

};

class TextPos

{

left = "(((safezoneW / safezoneH) min 1.2) / 32) * 1.5";

top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20)*2 - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)) / 2";

right = 0.005;

bottom = 0;

};

animTextureNormal = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\normal_ca.paa";

animTextureDisabled = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\disabled_ca.paa";

animTextureOver = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\over_ca.paa";

animTextureFocused = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\focus_ca.paa";

animTexturePressed = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\down_ca.paa";

animTextureDefault = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\normal_ca.paa";

period = 0.5;

font = "PuristaMedium";

size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)";

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)";

text = "";

action = "";

class Attributes

{

font = "PuristaMedium";

color = "#E5E5E5";

align = "left";

shadow = "false";

};

class AttributesImage

{

font = "PuristaMedium";

color = "#E5E5E5";

align = "false";

};

};

class RscFrame

{

type = 0;

idc = -1;

style = 64;

shadow = 2;

colorBackground[] =

{

0,

0,

0,

0

};

colorText[] =

{

1,

1,

1,

1

};

font = "PuristaMedium";

sizeEx = 0.02;

text = "";

};

class RscXSlider

{

access = 0;

idc = CT_XSLIDER;

type = CT_XSLIDER;

style = SL_HORZ;

default = 0;

blinkingPeriod = 0;

x = 12 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X;

y = 19 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y;

w = 10 * GUI_GRID_CENTER_W;

h = 1 * GUI_GRID_CENTER_H;

color[] = {1,1,1,1};

colorDisabled[] = {1,1,1,0.5};

colorActive[] = {1,1,1,1};

tooltip = "Rotation";

tooltipColorShade[] = {0,0,0,1};

tooltipColorText[] = {1,1,1,1};

tooltipColorBox[] = {1,1,1,1};

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 = "#(argb,8,8,3)color(1,1,1,1)";

};

class RscSlider

{

deletable = 0;

fade = 0;

access = 0;

type = 3;

style = 1024;

w = 0.3;

color[] =

{

1,

1,

1,

0.8

};

colorActive[] =

{

1,

1,

1,

1

};

shadow = 0;

h = 0.025;

};

class IGUIBack

{

type = 0;

idc = 124;

style = 128;

text = "";

colorText[] =

{

0,

0,

0,

0

};

font = "PuristaMedium";

sizeEx = 0;

shadow = 0;

x = 0.1;

y = 0.1;

w = 0.1;

h = 0.1;

colorbackground[] =

{

"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])",

"(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])",

"(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])",

"(profilenamespace getvariable ['IGUI_BCG_RGB_A',1])"

};

};

class RscCheckBox

{

idc = -1;

type = 77;

style = 0;

checked = 0;

x = "0.375 * safezoneW + safezoneX";

y = "0.36 * safezoneH + safezoneY";

w = "0.025 * safezoneW";

h = "0.04 * safezoneH";

color[] =

{

1,

1,

1,

0.7

};

colorFocused[] =

{

1,

1,

1,

1

};

colorHover[] =

{

1,

1,

1,

1

};

colorPressed[] =

{

1,

1,

1,

1

};

colorDisabled[] =

{

1,

1,

1,

0.2

};

colorBackground[] =

{

0,

0,

0,

0

};

colorBackgroundFocused[] =

{

0,

0,

0,

0

};

colorBackgroundHover[] =

{

0,

0,

0,

0

};

colorBackgroundPressed[] =

{

0,

0,

0,

0

};

colorBackgroundDisabled[] =

{

0,

0,

0,

0

};

textureChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";

textureUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";

textureFocusedChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";

textureFocusedUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";

textureHoverChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";

textureHoverUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";

texturePressedChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";

texturePressedUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";

textureDisabledChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";

textureDisabledUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

soundEnter[] =

{

"",

0.1,

1

};

soundPush[] =

{

"",

0.1,

1

};

soundClick[] =

{

"",

0.1,

1

};

soundEscape[] =

{

"",

0.1,

1

};

};

class RscTextCheckBox

{

idc = -1;

type = 7;

style = 0;

x = "0.375 * safezoneW + safezoneX";

y = "0.36 * safezoneH + safezoneY";

w = "0.025 * safezoneW";

h = "0.04 * safezoneH";

colorText[] =

{

1,

0,

0,

1

};

color[] =

{

0,

0,

0,

0

};

colorBackground[] =

{

0,

0,

0,

0

};

colorTextSelect[] =

{

0,

0.8,

0,

1

};

colorSelectedBg[] =

{

"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])",

"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",

"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",

1

};

colorSelect[] =

{

0,

0,

0,

1

};

colorTextDisable[] =

{

0.4,

0.4,

0.4,

1

};

colorDisable[] =

{

0.4,

0.4,

0.4,

1

};

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

font = "PuristaMedium";

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";

rows = 1;

columns = 1;

strings[] =

{

"UNCHECKED"

};

checked_strings[] =

{

"CHECKED"

};

};

class RscButtonMenu

{

idc = -1;

type = 16;

style = "0x02 + 0xC0";

default = 0;

shadow = 0;

x = 0;

y = 0;

w = 0.095589;

h = 0.039216;

animTextureNormal = "#(argb,8,8,3)color(1,1,1,1)";

animTextureDisabled = "#(argb,8,8,3)color(1,1,1,1)";

animTextureOver = "#(argb,8,8,3)color(1,1,1,1)";

animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)";

animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)";

animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)";

colorBackground[] =

{

0,

0,

0,

0.8

};

colorBackgroundFocused[] =

{

1,

1,

1,

1

};

colorBackground2[] =

{

0.75,

0.75,

0.75,

1

};

color[] =

{

1,

1,

1,

1

};

colorFocused[] =

{

0,

0,

0,

1

};

color2[] =

{

0,

0,

0,

1

};

colorText[] =

{

1,

1,

1,

1

};

colorDisabled[] =

{

1,

1,

1,

0.25

};

textSecondary = "";

colorSecondary[] =

{

1,

1,

1,

1

};

colorFocusedSecondary[] =

{

0,

0,

0,

1

};

color2Secondary[] =

{

0,

0,

0,

1

};

colorDisabledSecondary[] =

{

1,

1,

1,

0.25

};

sizeExSecondary = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

fontSecondary = "PuristaLight";

period = 1.2;

periodFocus = 1.2;

periodOver = 1.2;

size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

class TextPos

{

left = "0.25 * (((safezoneW / safezoneH) min 1.2) / 40)";

top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2";

right = 0.005;

bottom = 0;

};

class Attributes

{

font = "PuristaLight";

color = "#E5E5E5";

align = "left";

shadow = "false";

};

class ShortcutPos

{

left = "(6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005";

top = 0.005;

w = 0.0225;

h = 0.03;

};

soundEnter[] =

{

"\A3\ui_f\data\sound\RscButtonMenu\soundEnter",

0.09,

1

};

soundPush[] =

{

"\A3\ui_f\data\sound\RscButtonMenu\soundPush",

0.09,

1

};

soundClick[] =

{

"\A3\ui_f\data\sound\RscButtonMenu\soundClick",

0.09,

1

};

soundEscape[] =

{

"\A3\ui_f\data\sound\RscButtonMenu\soundEscape",

0.09,

1

};

};

class RscButtonMenuOK

{

idc = 1;

shortcuts[] =

{

"0x00050000 + 0",

28,

57,

156

};

default = 1;

text = "OK";

soundPush[] =

{

"\A3\ui_f\data\sound\RscButtonMenuOK\soundPush",

0.09,

1

};

};

class RscButtonMenuCancel

{

idc = 2;

shortcuts[] =

{

"0x00050000 + 1"

};

text = "Cancel";

};

class RscControlsGroup

{

deletable = 0;

fade = 0;

class VScrollbar

{

color[] =

{

1,

1,

1,

1

};

width = 0.021;

autoScrollEnabled = 1;

};

class HScrollbar

{

color[] =

{

1,

1,

1,

1

};

height = 0.028;

};

class Controls

{

};

type = 15;

idc = -1;

x = 0;

y = 0;

w = 1;

h = 1;

shadow = 0;

style = 16;

};

class Header

{

type = CT_STATIC;

idc = -1;

style = ST_LEFT;

shadow = 0;

colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])","(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"};

colorText[] = {1,1,1,1};

colorShadow[] = {0, 0, 0, 0};

colorBorder[] = {0, 0, 0, 0};

font = "PuristaMedium";

default = false;

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

text = "";

};

  • Like 1

Share this post


Link to post
Share on other sites

just a little side note you don't even directly need a seperate file to define the base classes you plan on using, you can simply include the ones you'll need directly above the dialog itself (though this is not a good idea to do if you plan on having more than one dialog, wasting space and time redefining classes over and over).

Share this post


Link to post
Share on other sites

Okay so the basic explanation of the defines.hpp is that it defines your base classes for dialog elements. Using an RscButton on your dialog, the game needs to know some attributes for that class so instead of defining it every time you use it, you just define it in the defines.hpp and include it before your dialog. That way that class is already defined for your dialog to use.

 

When you see the dialog.hpp files they're the files that hold your custom dialog. Like in your posted code you use RscText. That class will be referenced from the defines.hpp.

 

It can be quite confusing to start off with but I suggest working with a very simple dialog for now until you fully understand what each thing does. Just build a dialog with a button, style it nicely and get that button to do something.

 

Here's my defines.hpp which has some nice styling that looks like classic Arma menu's:

// Control types

#define CT_STATIC 0

#define CT_BUTTON 1

#define CT_EDIT 2

#define CT_SLIDER 3

#define CT_COMBO 4

#define CT_LISTBOX 5

#define CT_TOOLBOX 6

#define CT_CHECKBOXES 7

#define CT_PROGRESS 8

#define CT_HTML 9

#define CT_STATIC_SKEW 10

#define CT_ACTIVETEXT 11

#define CT_TREE 12

#define CT_STRUCTURED_TEXT 13

#define CT_CONTEXT_MENU 14

#define CT_CONTROLS_GROUP 15

#define CT_SHORTCUTBUTTON 16

#define CT_XKEYDESC 40

#define CT_XBUTTON 41

#define CT_XLISTBOX 42

#define CT_XSLIDER 43

#define CT_XCOMBO 44

#define CT_ANIMATED_TEXTURE 45

#define CT_OBJECT 80

#define CT_OBJECT_ZOOM 81

#define CT_OBJECT_CONTAINER 82

#define CT_OBJECT_CONT_ANIM 83

#define CT_LINEBREAK 98

#define CT_USER 99

#define CT_MAP 100

#define CT_MAP_MAIN 101

#define CT_LISTNBOX 102

#define CT_CHECKBOX 77

// Static styles

#define ST_POS 0x0F

#define ST_HPOS 0x03

#define ST_VPOS 0x0C

#define ST_LEFT 0x00

#define ST_RIGHT 0x01

#define ST_CENTER 0x02

#define ST_DOWN 0x04

#define ST_UP 0x08

#define ST_VCENTER 0x0C

#define ST_TYPE 0xF0

#define ST_SINGLE 0x00

#define ST_MULTI 0x10

#define ST_TITLE_BAR 0x20

#define ST_PICTURE 0x30

#define ST_FRAME 0x40

#define ST_BACKGROUND 0x50

#define ST_GROUP_BOX 0x60

#define ST_GROUP_BOX2 0x70

#define ST_HUD_BACKGROUND 0x80

#define ST_TILE_PICTURE 0x90

#define ST_WITH_RECT 0xA0

#define ST_LINE 0xB0

#define ST_SHADOW 0x100

#define ST_NO_RECT 0x200

#define ST_KEEP_ASPECT_RATIO 0x800

#define ST_TITLE ST_TITLE_BAR + ST_CENTER

// Slider styles

#define SL_DIR 0x400

#define SL_VERT 0

#define SL_HORZ 0x400

#define SL_TEXTURES 0x10

// progress bar

#define ST_VERTICAL 0x01

#define ST_HORIZONTAL 0

// Listbox styles

#define LB_TEXTURES 0x10

#define LB_MULTI 0x20

// Tree styles

#define TR_SHOWROOT 1

#define TR_AUTOCOLLAPSE 2

// MessageBox styles

#define MB_BUTTON_OK 1

#define MB_BUTTON_CANCEL 2

#define MB_BUTTON_USER 4

class RscMapControl

{

access = 0;

alphaFadeEndScale = 2;

alphaFadeStartScale = 2;

colorBackground[] = {0.969,0.957,0.949,1};

colorCountlines[] = {0.572,0.354,0.188,0.25};

colorCountlinesWater[] = {0.491,0.577,0.702,0.3};

colorForest[] = {0.624,0.78,0.388,0.5};

colorForestBorder[] = {0,0,0,0};

colorGrid[] = {0.1,0.1,0.1,0.6};

colorGridMap[] = {0.1,0.1,0.1,0.6};

colorInactive[] = {1,1,1,0.5};

colorLevels[] = {0.286,0.177,0.094,0.5};

colorMainCountlines[] = {0.572,0.354,0.188,0.5};

colorMainCountlinesWater[] = {0.491,0.577,0.702,0.6};

colorMainRoads[] = {0.9,0.5,0.3,1};

colorMainRoadsFill[] = {1,0.6,0.4,1};

colorNames[] = {0.1,0.1,0.1,0.9};

colorOutside[] = {0,0,0,1};

colorPowerLines[] = {0.1,0.1,0.1,1};

colorRailWay[] = {0.8,0.2,0,1};

colorRoads[] = {0.7,0.7,0.7,1};

colorRoadsFill[] = {1,1,1,1};

colorRocks[] = {0,0,0,0.3};

colorRocksBorder[] = {0,0,0,0};

colorSea[] = {0.467,0.631,0.851,0.5};

colorText[] = {0,0,0,1};

colorTracks[] = {0.84,0.76,0.65,0.15};

colorTracksFill[] = {0.84,0.76,0.65,1};

deletable = 0;

fade = 0;

font = "TahomaB";

fontGrid = "TahomaB";

fontInfo = "PuristaMedium";

fontLabel = "PuristaMedium";

fontLevel = "TahomaB";

fontNames = "EtelkaNarrowMediumPro";

fontUnits = "TahomaB";

h = "SafeZoneH - 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";

idc = 51;

maxSatelliteAlpha = 0.85;

moveOnEdges = 1;

ptsPerSquareCLn = 10;

ptsPerSquareCost = 10;

ptsPerSquareExp = 10;

ptsPerSquareFor = 9;

ptsPerSquareForEdge = 9;

ptsPerSquareObj = 9;

ptsPerSquareRoad = 6;

ptsPerSquareSea = 5;

ptsPerSquareTxt = 20;

scaleDefault = 0.16;

scaleMax = 1;

scaleMin = 0.001;

shadow = 0;

showCountourInterval = 0;

sizeEx = 0.04;

sizeExGrid = 0.02;

sizeExInfo = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";

sizeExLabel = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";

sizeExLevel = 0.02;

sizeExNames = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8) * 2";

sizeExUnits = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";

stickX[] = {0.2,["Gamma",1,1.5]};

stickY[] = {0.2,["Gamma",1,1.5]};

style = 48;

text = "#(argb,8,8,3)color(1,1,1,1)";

type = 101;

w = "SafeZoneWAbs";

x = "SafeZoneXAbs";

y = "SafeZoneY + 1.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";

onMouseButtonClick = "";

onMouseButtonDblClick = "";

class ActiveMarker {

color[] = {0.3,0.1,0.9,1};

size = 50;

};

class Legend {

color[] = {0,0,0,1};

colorBackground[] = {1,1,1,0.5};

font = "PuristaMedium";

h = "3.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";

sizeEx = "( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";

w = "10 * ( ((safezoneW / safezoneH) min 1.2) / 40)";

x = "SafeZoneX + ( ((safezoneW / safezoneH) min 1.2) / 40)";

y = "SafeZoneY + safezoneH - 4.5 * ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";

};

class Bunker {

coefMax = 4;

coefMin = 0.25;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";

importance = "1.5 * 14 * 0.05";

size = 14;

};

class Bush {

coefMax = 4;

coefMin = 0.25;

color[] = {0.45,0.64,0.33,0.4};

icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";

importance = "0.2 * 14 * 0.05 * 0.05";

size = "14/2";

};

class BusStop {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\busstop_CA.paa";

importance = 1;

size = 24;

};

class Command {

coefMax = 1;

coefMin = 1;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";

importance = 1;

size = 18;

};

class CustomMark {

coefMax = 1;

coefMin = 1;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\custommark_ca.paa";

importance = 1;

size = 24;

};

class Cross {

coefMax = 1;

coefMin = 0.85;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\Cross_CA.paa";

importance = 1;

size = 24;

};

class Shipwreck {

coefMax = 1;

coefMin = 0.85;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\Shipwreck_CA.paa";

importance = 1;

size = 24;

};

class Fortress {

coefMax = 4;

coefMin = 0.25;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\bunker_ca.paa";

importance = "2 * 16 * 0.05";

size = 16;

};

class Fuelstation {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\fuelstation_CA.paa";

importance = 1;

size = 24;

};

class Fountain {

coefMax = 4;

coefMin = 0.25;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\fountain_ca.paa";

importance = "1 * 12 * 0.05";

size = 11;

};

class Hospital {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\hospital_CA.paa";

importance = 1;

size = 24;

};

class Chapel {

coefMax = 1;

coefMin = 0.85;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\Chapel_CA.paa";

importance = 1;

size = 24;

};

class Church {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\church_CA.paa";

importance = 1;

size = 24;

};

class Lighthouse {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\lighthouse_CA.paa";

importance = 1;

size = 24;

};

class Quay {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\quay_CA.paa";

importance = 1;

size = 24;

};

class Rock {

coefMax = 4;

coefMin = 0.25;

color[] = {0.1,0.1,0.1,0.8};

icon = "\A3\ui_f\data\map\mapcontrol\rock_ca.paa";

importance = "0.5 * 12 * 0.05";

size = 12;

};

class Ruin {

coefMax = 4;

coefMin = 1;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\ruin_ca.paa";

importance = "1.2 * 16 * 0.05";

size = 16;

};

class SmallTree {

coefMax = 4;

coefMin = 0.25;

color[] = {0.45,0.64,0.33,0.4};

icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";

importance = "0.6 * 12 * 0.05";

size = 12;

};

class Stack {

coefMax = 4;

coefMin = 0.9;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\stack_ca.paa";

importance = "2 * 16 * 0.05";

size = 20;

};

class Tree {

coefMax = 4;

coefMin = 0.25;

color[] = {0.45,0.64,0.33,0.4};

icon = "\A3\ui_f\data\map\mapcontrol\bush_ca.paa";

importance = "0.9 * 16 * 0.05";

size = 12;

};

class Task {

coefMax = 1;

coefMin = 1;

color[] = {"(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])","(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])","(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])"};

colorCanceled[] = {0.7,0.7,0.7,1};

colorCreated[] = {1,1,1,1};

colorDone[] = {0.7,1,0.3,1};

colorFailed[] = {1,0.3,0.2,1};

icon = "\A3\ui_f\data\map\mapcontrol\taskIcon_CA.paa";

iconCanceled = "\A3\ui_f\data\map\mapcontrol\taskIconCanceled_CA.paa";

iconCreated = "\A3\ui_f\data\map\mapcontrol\taskIconCreated_CA.paa";

iconDone = "\A3\ui_f\data\map\mapcontrol\taskIconDone_CA.paa";

iconFailed = "\A3\ui_f\data\map\mapcontrol\taskIconFailed_CA.paa";

importance = 1;

size = 27;

};

class Tourism {

coefMax = 4;

coefMin = 0.7;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\tourism_ca.paa";

importance = "1 * 16 * 0.05";

size = 16;

};

class Transmitter {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\transmitter_CA.paa";

importance = 1;

size = 24;

};

class ViewTower {

coefMax = 4;

coefMin = 0.5;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\viewtower_ca.paa";

importance = "2.5 * 16 * 0.05";

size = 16;

};

class Watertower {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\watertower_CA.paa";

importance = 1;

size = 24;

};

class power {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\power_CA.paa";

importance = 1;

size = 24;

};

class powersolar {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\powersolar_CA.paa";

importance = 1;

size = 24;

};

class powerwave {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\powerwave_CA.paa";

importance = 1;

size = 24;

};

class powerwind {

coefMax = 1;

coefMin = 0.85;

color[] = {1,1,1,1};

icon = "\A3\ui_f\data\map\mapcontrol\powerwind_CA.paa";

importance = 1;

size = 24;

};

class Waypoint {

coefMax = 1;

coefMin = 1;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\waypoint_ca.paa";

importance = 1;

size = 24;

};

class WaypointCompleted {

coefMax = 1;

coefMin = 1;

color[] = {0,0,0,1};

icon = "\A3\ui_f\data\map\mapcontrol\waypointCompleted_ca.paa";

importance = 1;

size = 24;

};

};

class RscMap

{

access = 0;

class controls {

class Map : RscMapControl {

moveOnEdges = 0;

x = 0;

y = 0;

w = 0.83;

h = 1;

};

};

};

class RscToolbox {

idc = -1;

type = CT_TOOLBOX;

style = ST_CENTER;

x = 0.1;

y = 0.2;

w = 0.2;

h = 0.15;

colorText[] = {1,1,1,1};

color[] = {0,0,0,1};

colorTextSelect[] = {0,0,0,1};

colorSelect[] = {0,0,0,1};

colorTextDisable[] = {0.4,0.4,0.4,1};

colorDisable[] = {0.4,0.4,0.4,1};

colorSelectedBg[] = {1,1,1,1};

font = "PuristaMedium";

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

rows = 0;

columns = 0;

strings[] = {};

values[] = {};

onToolBoxSelChanged = "hint format[""Toolbox change:\n%1\nEntry#:%2"",(_this select 0),(_this select 1)];"

};

class RscButtonSpacer

{

type = 0;

idc = 124;

style = 128;

text = "";

colorText[] =

{

0,

0,

0,

0

};

font = "PuristaMedium";

sizeEx = 0;

shadow = 0;

x = 0.1;

y = 0.1;

w = 0.1;

h = 0.1;

colorBackground[] =

{

0,

0,

0,

0.8

};

};

class RscText

{

deletable = 0;

fade = 0;

access = 0;

type = 0;

idc = -1;

colorBackground[] =

{

0,

0,

0,

0

};

colorText[] =

{

1,

1,

1,

1

};

text = "";

fixedWidth = 0;

x = 0;

y = 0;

h = 0.037;

w = 0.3;

style = 0;

shadow = 1;

colorShadow[] =

{

0,

0,

0,

0.5

};

font = "PuristaMedium";

SizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

linespacing = 1;

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

};

class RscStructuredText

{

deletable = 0;

fade = 0;

access = 0;

type = 13;

idc = -1;

style = "0x02 + 0x0C";

colorText[] =

{

1,

1,

1,

1

};

class Attributes

{

font = "PuristaMedium";

color = "#ffffff";

align = "left";

shadow = 1;

};

x = 0;

y = 0;

h = 0.035;

w = 0.1;

text = "";

size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

shadow = 1;

};

class RscPicture

{

deletable = 0;

fade = 0;

access = 0;

type = 0;

idc = -1;

style = "0x30 + 2048";

colorBackground[] =

{

0,

0,

0,

0

};

colorText[] =

{

1,

1,

1,

1

};

font = "TahomaB";

sizeEx = 0;

lineSpacing = 0;

text = "";

fixedWidth = 0;

shadow = 0;

x = 0;

y = 0;

w = 0.2;

h = 0.15;

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

};

class RscEdit

{

deletable = 0;

fade = 0;

access = 0;

type = 2;

x = 0;

y = 0;

h = 0.04;

w = 0.2;

colorBackground[] =

{

0,

0,

0,

0

};

colorText[] =

{

1,

1,

1,

1

};

colorDisabled[] =

{

1,

1,

1,

0.25

};

colorSelection[] =

{

"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])",

"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",

"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",

1

};

autocomplete = "";

text = "";

size = 0.2;

style = "0x00 + 0x40";

font = "PuristaMedium";

shadow = 2;

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

canModify = 1;

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

};

class RscCombo

{

deletable = 0;

fade = 0;

access = 0;

type = 4;

colorSelect[] =

{

0,

0,

0,

1

};

colorText[] =

{

1,

1,

1,

1

};

colorBackground[] =

{

0,

0,

0,

1

};

colorScrollbar[] =

{

1,

0,

0,

1

};

colorDisabled[] =

{

1,

1,

1,

0.25

};

colorPicture[] =

{

1,

1,

1,

1

};

colorPictureSelected[] =

{

1,

1,

1,

1

};

colorPictureDisabled[] =

{

1,

1,

1,

0.25

};

colorPictureRight[] =

{

1,

1,

1,

1

};

colorPictureRightSelected[] =

{

1,

1,

1,

1

};

colorPictureRightDisabled[] =

{

1,

1,

1,

0.25

};

colorTextRight[] =

{

1,

1,

1,

1

};

colorSelectRight[] =

{

0,

0,

0,

1

};

colorSelect2Right[] =

{

0,

0,

0,

1

};

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

soundSelect[] =

{

"\A3\ui_f\data\sound\RscCombo\soundSelect",

0.1,

1

};

soundExpand[] =

{

"\A3\ui_f\data\sound\RscCombo\soundExpand",

0.1,

1

};

soundCollapse[] =

{

"\A3\ui_f\data\sound\RscCombo\soundCollapse",

0.1,

1

};

maxHistoryDelay = 1;

class ComboScrollBar

{

color[] =

{

1,

1,

1,

1

};

};

style = "0x10 + 0x200";

font = "PuristaMedium";

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

shadow = 0;

x = 0;

y = 0;

w = 0.12;

h = 0.035;

colorSelectBackground[] =

{

1,

1,

1,

0.7

};

arrowEmpty = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_ca.paa";

arrowFull = "\A3\ui_f\data\GUI\RscCommon\rsccombo\arrow_combo_active_ca.paa";

wholeHeight = 0.45;

colorActive[] =

{

1,

0,

0,

1

};

};

class RscXListBox

{

access = 0;

idc = CT_XLISTBOX;

type = CT_XLISTBOX;

style = SL_HORZ + ST_CENTER + LB_TEXTURES;

default = 0;

blinkingPeriod = 0;

x = 12 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X;

y = 17 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y;

w = 10 * GUI_GRID_CENTER_W;

h = 1 * GUI_GRID_CENTER_H;

color[] = {1,1,1,1};

colorActive[] = {1,1,1,1};

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

font = "PuristaMedium";

shadow = 0;

colorText[] = {1,1,1,1}; // Text color

colorSelect[] = {1,1,1,1}; // Selected text color

colorDisabled[] = {1,1,1,0.5}; // Disabled text color

tooltip = ""; // Tooltip text

tooltipColorShade[] = {0,0,0,0}; // Tooltip background color

tooltipColorText[] = {1,1,1,0}; // Tooltip text color

tooltipColorBox[] = {1,1,1,0}; // Tooltip frame color

arrowEmpty = "\A3\ui_f\data\gui\cfg\slider\arrowEmpty_ca.paa"; // Arrow

arrowFull = "\A3\ui_f\data\gui\cfg\slider\arrowFull_ca.paa"; // Arrow when clicked on

border = "\A3\ui_f\data\gui\cfg\slider\border_ca.paa"; // Fill texture

soundSelect[] = {"\A3\ui_f\data\sound\RscListbox\soundSelect",0.09,1};

};

class RscListBox

{

deletable = 0;

fade = 0;

access = 0;

type = 5;

rowHeight = 0;

colorText[] =

{

1,

1,

1,

1

};

colorDisabled[] =

{

1,

1,

1,

0.25

};

colorScrollbar[] =

{

1,

0,

0,

0

};

colorSelect[] =

{

0,

0,

0,

1

};

colorSelect2[] =

{

0,

0,

0,

1

};

colorSelectBackground[] =

{

0.95,

0.95,

0.95,

1

};

colorSelectBackground2[] =

{

1,

1,

1,

0.5

};

colorBackground[] =

{

0,

0,

0,

0.3

};

soundSelect[] =

{

"\A3\ui_f\data\sound\RscListbox\soundSelect",

0.09,

1

};

autoScrollSpeed = -1;

autoScrollDelay = 5;

autoScrollRewind = 0;

arrowEmpty = "#(argb,8,8,3)color(1,1,1,1)";

arrowFull = "#(argb,8,8,3)color(1,1,1,1)";

colorPicture[] =

{

1,

1,

1,

1

};

colorPictureSelected[] =

{

1,

1,

1,

1

};

colorPictureDisabled[] =

{

1,

1,

1,

0.25

};

colorPictureRight[] =

{

1,

1,

1,

1

};

colorPictureRightSelected[] =

{

1,

1,

1,

1

};

colorPictureRightDisabled[] =

{

1,

1,

1,

0.25

};

colorTextRight[] =

{

1,

1,

1,

1

};

colorSelectRight[] =

{

0,

0,

0,

1

};

colorSelect2Right[] =

{

0,

0,

0,

1

};

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

class ListScrollBar

{

color[] =

{

1,

1,

1,

1

};

autoScrollEnabled = 1;

};

x = 0;

y = 0;

w = 0.3;

h = 0.3;

style = 16;

font = "PuristaMedium";

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

shadow = 0;

colorShadow[] =

{

0,

0,

0,

0.5

};

period = 1.2;

maxHistoryDelay = 1;

};

class RscButton

{

type=16;

style="0x02 + 0xC0";

default=0;

shadow=0;

x=0;

y=0;

w=0.095588997;

h=0.039216001;

animTextureNormal="#(argb,8,8,3)color(1,1,1,1)";

animTextureDisabled="#(argb,8,8,3)color(1,1,1,1)";

animTextureOver="#(argb,8,8,3)color(1,1,1,1)";

animTextureFocused="#(argb,8,8,3)color(1,1,1,1)";

animTexturePressed="#(argb,8,8,3)color(1,1,1,1)";

animTextureDefault="#(argb,8,8,3)color(1,1,1,1)";

colorBackground[]={0,0,0,0.80000001};

colorBackgroundFocused[]={1,1,1,1};

colorBackground2[]={0.75,0.75,0.75,1};

color[]={1,1,1,1};

colorFocused[]={0,0,0,1};

color2[]={0,0,0,1};

colorText[]={1,1,1,1};

colorDisabled[]={1,1,1,0.25};

period=1.2;

periodFocus=1.2;

periodOver=1.2;

size="( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

sizeEx="( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

tooltipColorText[]={1,1,1,1};

tooltipColorBox[]={1,1,1,1};

tooltipColorShade[]={0,0,0,0.64999998};

font="PuristaLight";

class TextPos

{

left="0.25 * ( ((safezoneW / safezoneH) min 1.2) / 40)";

top="( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - ( ( ( ((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2";

right=0.0049999999;

bottom=0;

};

class Attributes

{

font="PuristaLight";

color="#E5E5E5";

align="center";

shadow="false";

};

class ShortcutPos

{

left="(6.25 * ( ((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005";

top=0.0049999999;

w=0.022500001;

h=0.029999999;

};

soundEnter[]=

{

"\A3\ui_f\data\sound\RscButtonMenu\soundEnter",

0.090000004,

1

};

soundPush[]=

{

"\A3\ui_f\data\sound\RscButtonMenu\soundPush",

0.090000004,

1

};

soundClick[]=

{

"\A3\ui_f\data\sound\RscButtonMenu\soundClick",

0.090000004,

1

};

soundEscape[]=

{

"\A3\ui_f\data\sound\RscButtonMenu\soundEscape",

0.090000004,

1

};

textureNoShortcut="#(argb,8,8,3)color(0,0,0,0)";

class HitZone

{

left=0;

top=0;

right=0;

bottom=0;

};

class AttributesImage

{

font="PuristaMedium";

color="#E5E5E5";

align="center";

};

};

class RscShortcutButton

{

deletable = 0;

fade = 0;

type = 16;

x = 0.1;

y = 0.1;

class HitZone

{

left = 0;

top = 0;

right = 0;

bottom = 0;

};

class ShortcutPos

{

left = 0;

top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2";

w = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1) * (3/4)";

h = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

};

class TextPos

{

left = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1) * (3/4)";

top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2";

right = 0.005;

bottom = 0;

};

shortcuts[] =

{

};

textureNoShortcut = "#(argb,8,8,3)color(0,0,0,0)";

color[] =

{

1,

1,

1,

1

};

colorFocused[] =

{

1,

1,

1,

1

};

color2[] =

{

0.95,

0.95,

0.95,

1

};

colorDisabled[] =

{

1,

1,

1,

0.25

};

colorBackground[] =

{

"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])",

"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",

"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",

1

};

colorBackgroundFocused[] =

{

"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])",

"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",

"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",

1

};

colorBackground2[] =

{

1,

1,

1,

1

};

soundEnter[] =

{

"\A3\ui_f\data\sound\RscButton\soundEnter",

0.09,

1

};

soundPush[] =

{

"\A3\ui_f\data\sound\RscButton\soundPush",

0.09,

1

};

soundClick[] =

{

"\A3\ui_f\data\sound\RscButton\soundClick",

0.09,

1

};

soundEscape[] =

{

"\A3\ui_f\data\sound\RscButton\soundEscape",

0.09,

1

};

class Attributes

{

font = "PuristaMedium";

color = "#E5E5E5";

align = "left";

shadow = "true";

};

idc = -1;

style = 0;

default = 0;

shadow = 1;

w = 0.183825;

h = "((((safezoneW / safezoneH) min 1.2) / 1.2) / 20)";

textSecondary = "";

colorSecondary[] =

{

1,

1,

1,

1

};

colorFocusedSecondary[] =

{

1,

1,

1,

1

};

color2Secondary[] =

{

0.95,

0.95,

0.95,

1

};

colorDisabledSecondary[] =

{

1,

1,

1,

0.25

};

sizeExSecondary = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

fontSecondary = "PuristaMedium";

animTextureDefault = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";

animTextureNormal = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";

animTextureDisabled = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\normal_ca.paa";

animTextureOver = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\over_ca.paa";

animTextureFocused = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\focus_ca.paa";

animTexturePressed = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButton\down_ca.paa";

periodFocus = 1.2;

periodOver = 0.8;

period = 0.4;

font = "PuristaMedium";

size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

text = "";

action = "";

class AttributesImage

{

font = "PuristaMedium";

color = "#E5E5E5";

align = "left";

};

};

class RscShortcutButtonMain

{

idc = -1;

style = 0;

default = 0;

w = 0.313726;

h = 0.104575;

color[] =

{

1,

1,

1,

1

};

colorDisabled[] =

{

1,

1,

1,

0.25

};

class HitZone

{

left = 0;

top = 0;

right = 0;

bottom = 0;

};

class ShortcutPos

{

left = 0.0145;

top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)) / 2";

w = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2) * (3/4)";

h = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)";

};

class TextPos

{

left = "(((safezoneW / safezoneH) min 1.2) / 32) * 1.5";

top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 20)*2 - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)) / 2";

right = 0.005;

bottom = 0;

};

animTextureNormal = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\normal_ca.paa";

animTextureDisabled = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\disabled_ca.paa";

animTextureOver = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\over_ca.paa";

animTextureFocused = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\focus_ca.paa";

animTexturePressed = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\down_ca.paa";

animTextureDefault = "\A3\ui_f\data\GUI\RscCommon\RscShortcutButtonMain\normal_ca.paa";

period = 0.5;

font = "PuristaMedium";

size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)";

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1.2)";

text = "";

action = "";

class Attributes

{

font = "PuristaMedium";

color = "#E5E5E5";

align = "left";

shadow = "false";

};

class AttributesImage

{

font = "PuristaMedium";

color = "#E5E5E5";

align = "false";

};

};

class RscFrame

{

type = 0;

idc = -1;

style = 64;

shadow = 2;

colorBackground[] =

{

0,

0,

0,

0

};

colorText[] =

{

1,

1,

1,

1

};

font = "PuristaMedium";

sizeEx = 0.02;

text = "";

};

class RscXSlider

{

access = 0;

idc = CT_XSLIDER;

type = CT_XSLIDER;

style = SL_HORZ;

default = 0;

blinkingPeriod = 0;

x = 12 * GUI_GRID_CENTER_W + GUI_GRID_CENTER_X;

y = 19 * GUI_GRID_CENTER_H + GUI_GRID_CENTER_Y;

w = 10 * GUI_GRID_CENTER_W;

h = 1 * GUI_GRID_CENTER_H;

color[] = {1,1,1,1};

colorDisabled[] = {1,1,1,0.5};

colorActive[] = {1,1,1,1};

tooltip = "Rotation";

tooltipColorShade[] = {0,0,0,1};

tooltipColorText[] = {1,1,1,1};

tooltipColorBox[] = {1,1,1,1};

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 = "#(argb,8,8,3)color(1,1,1,1)";

};

class RscSlider

{

deletable = 0;

fade = 0;

access = 0;

type = 3;

style = 1024;

w = 0.3;

color[] =

{

1,

1,

1,

0.8

};

colorActive[] =

{

1,

1,

1,

1

};

shadow = 0;

h = 0.025;

};

class IGUIBack

{

type = 0;

idc = 124;

style = 128;

text = "";

colorText[] =

{

0,

0,

0,

0

};

font = "PuristaMedium";

sizeEx = 0;

shadow = 0;

x = 0.1;

y = 0.1;

w = 0.1;

h = 0.1;

colorbackground[] =

{

"(profilenamespace getvariable ['IGUI_BCG_RGB_R',0])",

"(profilenamespace getvariable ['IGUI_BCG_RGB_G',1])",

"(profilenamespace getvariable ['IGUI_BCG_RGB_B',1])",

"(profilenamespace getvariable ['IGUI_BCG_RGB_A',1])"

};

};

class RscCheckBox

{

idc = -1;

type = 77;

style = 0;

checked = 0;

x = "0.375 * safezoneW + safezoneX";

y = "0.36 * safezoneH + safezoneY";

w = "0.025 * safezoneW";

h = "0.04 * safezoneH";

color[] =

{

1,

1,

1,

0.7

};

colorFocused[] =

{

1,

1,

1,

1

};

colorHover[] =

{

1,

1,

1,

1

};

colorPressed[] =

{

1,

1,

1,

1

};

colorDisabled[] =

{

1,

1,

1,

0.2

};

colorBackground[] =

{

0,

0,

0,

0

};

colorBackgroundFocused[] =

{

0,

0,

0,

0

};

colorBackgroundHover[] =

{

0,

0,

0,

0

};

colorBackgroundPressed[] =

{

0,

0,

0,

0

};

colorBackgroundDisabled[] =

{

0,

0,

0,

0

};

textureChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";

textureUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";

textureFocusedChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";

textureFocusedUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";

textureHoverChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";

textureHoverUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";

texturePressedChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";

texturePressedUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";

textureDisabledChecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_checked_ca.paa";

textureDisabledUnchecked = "A3\Ui_f\data\GUI\RscCommon\RscCheckBox\CheckBox_unchecked_ca.paa";

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

soundEnter[] =

{

"",

0.1,

1

};

soundPush[] =

{

"",

0.1,

1

};

soundClick[] =

{

"",

0.1,

1

};

soundEscape[] =

{

"",

0.1,

1

};

};

class RscTextCheckBox

{

idc = -1;

type = 7;

style = 0;

x = "0.375 * safezoneW + safezoneX";

y = "0.36 * safezoneH + safezoneY";

w = "0.025 * safezoneW";

h = "0.04 * safezoneH";

colorText[] =

{

1,

0,

0,

1

};

color[] =

{

0,

0,

0,

0

};

colorBackground[] =

{

0,

0,

0,

0

};

colorTextSelect[] =

{

0,

0.8,

0,

1

};

colorSelectedBg[] =

{

"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.77])",

"(profilenamespace getvariable ['GUI_BCG_RGB_G',0.51])",

"(profilenamespace getvariable ['GUI_BCG_RGB_B',0.08])",

1

};

colorSelect[] =

{

0,

0,

0,

1

};

colorTextDisable[] =

{

0.4,

0.4,

0.4,

1

};

colorDisable[] =

{

0.4,

0.4,

0.4,

1

};

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

font = "PuristaMedium";

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 0.8)";

rows = 1;

columns = 1;

strings[] =

{

"UNCHECKED"

};

checked_strings[] =

{

"CHECKED"

};

};

class RscButtonMenu

{

idc = -1;

type = 16;

style = "0x02 + 0xC0";

default = 0;

shadow = 0;

x = 0;

y = 0;

w = 0.095589;

h = 0.039216;

animTextureNormal = "#(argb,8,8,3)color(1,1,1,1)";

animTextureDisabled = "#(argb,8,8,3)color(1,1,1,1)";

animTextureOver = "#(argb,8,8,3)color(1,1,1,1)";

animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)";

animTexturePressed = "#(argb,8,8,3)color(1,1,1,1)";

animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)";

colorBackground[] =

{

0,

0,

0,

0.8

};

colorBackgroundFocused[] =

{

1,

1,

1,

1

};

colorBackground2[] =

{

0.75,

0.75,

0.75,

1

};

color[] =

{

1,

1,

1,

1

};

colorFocused[] =

{

0,

0,

0,

1

};

color2[] =

{

0,

0,

0,

1

};

colorText[] =

{

1,

1,

1,

1

};

colorDisabled[] =

{

1,

1,

1,

0.25

};

textSecondary = "";

colorSecondary[] =

{

1,

1,

1,

1

};

colorFocusedSecondary[] =

{

0,

0,

0,

1

};

color2Secondary[] =

{

0,

0,

0,

1

};

colorDisabledSecondary[] =

{

1,

1,

1,

0.25

};

sizeExSecondary = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

fontSecondary = "PuristaLight";

period = 1.2;

periodFocus = 1.2;

periodOver = 1.2;

size = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

tooltipColorText[] =

{

1,

1,

1,

1

};

tooltipColorBox[] =

{

1,

1,

1,

1

};

tooltipColorShade[] =

{

0,

0,

0,

0.65

};

class TextPos

{

left = "0.25 * (((safezoneW / safezoneH) min 1.2) / 40)";

top = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2";

right = 0.005;

bottom = 0;

};

class Attributes

{

font = "PuristaLight";

color = "#E5E5E5";

align = "left";

shadow = "false";

};

class ShortcutPos

{

left = "(6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005";

top = 0.005;

w = 0.0225;

h = 0.03;

};

soundEnter[] =

{

"\A3\ui_f\data\sound\RscButtonMenu\soundEnter",

0.09,

1

};

soundPush[] =

{

"\A3\ui_f\data\sound\RscButtonMenu\soundPush",

0.09,

1

};

soundClick[] =

{

"\A3\ui_f\data\sound\RscButtonMenu\soundClick",

0.09,

1

};

soundEscape[] =

{

"\A3\ui_f\data\sound\RscButtonMenu\soundEscape",

0.09,

1

};

};

class RscButtonMenuOK

{

idc = 1;

shortcuts[] =

{

"0x00050000 + 0",

28,

57,

156

};

default = 1;

text = "OK";

soundPush[] =

{

"\A3\ui_f\data\sound\RscButtonMenuOK\soundPush",

0.09,

1

};

};

class RscButtonMenuCancel

{

idc = 2;

shortcuts[] =

{

"0x00050000 + 1"

};

text = "Cancel";

};

class RscControlsGroup

{

deletable = 0;

fade = 0;

class VScrollbar

{

color[] =

{

1,

1,

1,

1

};

width = 0.021;

autoScrollEnabled = 1;

};

class HScrollbar

{

color[] =

{

1,

1,

1,

1

};

height = 0.028;

};

class Controls

{

};

type = 15;

idc = -1;

x = 0;

y = 0;

w = 1;

h = 1;

shadow = 0;

style = 16;

};

class Header

{

type = CT_STATIC;

idc = -1;

style = ST_LEFT;

shadow = 0;

colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])","(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])","(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])","(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"};

colorText[] = {1,1,1,1};

colorShadow[] = {0, 0, 0, 0};

colorBorder[] = {0, 0, 0, 0};

font = "PuristaMedium";

default = false;

sizeEx = "(((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)";

text = "";

};

 

Many thanks Kingsley, this makes things a little clearer.

 

So is it correct to assume you define one of each used control type in defines? 

 

And then in dialogs.hpp, is it only fields that you change that differ from those used in defines?

 

I guess I'm still not sure what is required and what isn't in the dialogues.hpp (though I haven't had a chance to mess around with it yet).

 

 

 

Many thanks to everyone for your help on this.

I'd be pulling my hair out without someone to ask for help on this one

Share this post


Link to post
Share on other sites

Many thanks Kingsley, this makes things a little clearer.

 

So is it correct to assume you define one of each used control type in defines? 

 

And then in dialogs.hpp, is it only fields that you change that differ from those used in defines?

 

I guess I'm still not sure what is required and what isn't in the dialogues.hpp (though I haven't had a chance to mess around with it yet).

 

 

 

Many thanks to everyone for your help on this.

I'd be pulling my hair out without someone to ask for help on this one

Yes you're exactly right. Think of the defines as the defaults and anything in your dialog overwrites the defaults.

Share this post


Link to post
Share on other sites

Thanks everyone.

I'll have another go tomorrow/this weekend and report back if I'm still experiencing problems

Share this post


Link to post
Share on other sites

Well I'm slowly adding items 1 by 1 and they seem to be working fine.

I have a feeling the descriptions file I copied had a flaw somewhere, so thank you for yours Kingsley

 

 

One small, very stupid thing I haven't been able to find.

 

How do I close the radio trigger menu when the dialog is opened?

Share this post


Link to post
Share on other sites

Ok, so I'm trying to make a button with smaller text than usual.

 

From the in-game editor I figured that "sizeex" controlledtext size, but changing this seems to have no effect on my button, even though it does on controls exported from the editor.

 

What am I doing wrong?

class button_myPos: RscButton
{
	idc = 1600;
	text = "Use Current Position"; //--- ToDo: Localize;
	sizeEx = 0.05 * safezoneH;
	x = 0.5 * safezoneW + safezoneX;
	y = 0.566 * safezoneH + safezoneY;
	w = 0.0876563 * safezoneW;
	h = 0.05 * safezoneH;
	colorBackground[] = {0,0,0,0.35};
	colorActive[] = {-1,-1,-1,0.5};
	
};

Share this post


Link to post
Share on other sites

 

Ok, so I'm trying to make a button with smaller text than usual.

 

From the in-game editor I figured that "sizeex" controlledtext size, but changing this seems to have no effect on my button, even though it does on controls exported from the editor.

 

What am I doing wrong?

class button_myPos: RscButton
{
	idc = 1600;
	text = "Use Current Position"; //--- ToDo: Localize;
	sizeEx = 0.05 * safezoneH;
	x = 0.5 * safezoneW + safezoneX;
	y = 0.566 * safezoneH + safezoneY;
	w = 0.0876563 * safezoneW;
	h = 0.05 * safezoneH;
	colorBackground[] = {0,0,0,0.35};
	colorActive[] = {-1,-1,-1,0.5};
	
};

You could try using size instead of sizeEx

 

also biki can be useful for looking for info on specific classes and possible parameters for each.

Share this post


Link to post
Share on other sites
sizeEx = "0.015 / (getResolution select 5)";

Just play around a bit. Worked always fine for me.

Share this post


Link to post
Share on other sites

Alright, I'm getting better at this.

 

What's the best format to define the position and height/width of objects?

 

The script I pulled out the in-game editor was in the format:

	idc = 1200;
	text = "#(argb,8,8,3)color(1,1,1,1)";
	x = 10 * GUI_GRID_W + GUI_GRID_X;
	y = 0 * GUI_GRID_H + GUI_GRID_Y;
	w = 19 * GUI_GRID_W;
	h = 25 * GUI_GRID_H;
	colorText[] = {0,0,0,0.35};
	colorBackground[] = {1,1,1,0.35};
	colorActive[] = {1,1,1,0.35};

Whereas the defines Kingsley gave me is just numbers.

 

Then there's Wiggum who seems to be defining the size relative to screen resolution (?)

 

 

What's easiest?

Share this post


Link to post
Share on other sites

Also; how come the size and position of objects changes sometimes when copy code straight out the GUI editor?

 

I spent hours last night trying to resize a picture back to the full height of the GUI grid and it never seemed to get any bigger no matter what number I put in

Share this post


Link to post
Share on other sites

This is hopeless.

 

The fields don't seem to determine size by however they damn feel like it.

 

I spent hours getting the width of a picture the correct width but then as soon as I try and make it the right height everything changes! 

It gets thinner, shifts position. Width and Height also seem to move it's position.

 

 

 

But you lot all make it sound so easy

 

X is X

Y is Y

Width is W 

and Height is H.

 

 

SO WHY DOESN'T MINE DO THAT?!?!

Is it possible my grid is messed up? 

Share this post


Link to post
Share on other sites

I have had the same issue constantly for a couple updates, I simply gave up trying as no matter what I did the dialog wouldnt work as expected when using GUI editor.

 

You could try manual dialog creation with SQF scripts but that is half baked as it doesnt adjust automatically to different resolutions which means it'll be off the screen completely on lower resolutions, rendering it useless.

Share this post


Link to post
Share on other sites

You could try manual dialog creation with SQF scripts but that is half baked as it doesnt adjust automatically to different resolutions which means it'll be off the screen completely on lower resolutions, rendering it useless.

Austin, clever use of the getResolution command should make this a non-issue

  • Like 1

Share this post


Link to post
Share on other sites

@Entity:      Thanks for the reminder about getResolution. I'll be checking that out tonight now I know a little more about defining dialogs

 

@Austin:    

 

Pleased to hear it's not just me misunderstanding something! 

 

How would I use an .sqf for this? 

Previously I've been modifying the exported script from the in-game GUI editor within dialogs.hpp

 

Also, is there a bug-report I can up-vote for the defined dialog controls not acting as expected (with respect to defining size in particular)?

 

 

 

Thanks again for your help

Lawman

Share this post


Link to post
Share on other sites

I recommend changing all of your controls to "Position type: Safezone", I always used this method and I find it to be pretty reliable. Never used the GUI_GRID method, but I do know that if you want to use that you need to #define GUI_GRID_W, GUI_GRID_H, GUI_GRID_X, and GUI_GRID_Y

  • Like 1

Share this post


Link to post
Share on other sites

Update: It works!

The problems with size and position not behaving as expected seemed to be for rscPicture only.

 

I experimented with changing the object to header and set the rgba and it positioned and sized itself exactly as I expected.

10 minutes of tweaking later and it's exactly as I wanted it.

 

Not ideal if I do need a picture, but it will do for the background I wanted.

 

 

 

Thanks to all for your contributions.

Your advise made it much easier to finish my GUI once I had figured out how to get controls into the size and position I wanted.

 

Now just to write the scripts for the buttons and I'm done :D

Share this post


Link to post
Share on other sites

Using SQF varients is much more simple, though there is less customizability as you can only use the classes that are defined in configFile already.

 

I will show you an example that is actually DreadedEntitie's, anyhow

 

you can start with this stuff in init.sqf 

 

This will be where we trigger the killfeed script from, and we also define some numbers that it can use as unique IDC's 

activeControls = [];
control = 2000;


{
_x addEventHandler ["Killed",
{
[control, _this select 0] execVM "kill_feed.sqf";
}];
} forEach allUnits;

Then we have the script itself

 

disableSerialization;


{
_ctrl = (findDisplay 46) displayCtrl _x;


_pos = ctrlPosition _ctrl;
_pos set [1, (_pos select 1) + 0.025];


_ctrl ctrlSetPosition _pos;


_ctrl ctrlCommit 0.25;
}forEach activeControls;


UISleep 0.25;


_ctrl = (findDisplay 46) ctrlCreate ["RscText", _this select 0]; //creating the control


_ctrl ctrlSetPosition [0.45, 0.7, 0.4, 0.1]; //needs a position set, x,y,w,h
_ctrl ctrlSetTextColor [1, 0, 0, 1]; //will change the color as well


_ctrl ctrlSetText ("You killed a " + (getText(configFile >> "CfgVehicles" >> typeOf (_this select 1) >> "displayName")));


_ctrl ctrlCommit 0; //needs to be committed so the above actions will take effect.


_ctrl ctrlSetFade 1;
_ctrl ctrlCommit 10;


0 = (_this select 0) spawn
{
disableSerialization;
_ctrl = (findDisplay 46) displayCtrl _this;


UISleep 10;


ctrlDelete _ctrl;
activeControls = activeControls - [_this]; 
};


activeControls = [_this select 0] + activeControls;
control = control + 1;
  • Like 1

Share this post


Link to post
Share on other sites

Three queries remaining:

 

1) How can I limit the format that the player can type into an edit control?  I want them to only be able to input a number in the format xxx.x (e.g. 125.5 is ok but 1250 is not, and neither is 125.50)

 

2) How can I close the radio menu when the dialog is opened? At the moment the player calls the dialog via radio alpha, but the radio channel selection menu remains open while they select their options.

 

3) How can I change the content of another control when an option in a combo box is chosen.

 

At the moment I'm experimenting with the following:

onLBSelChanged = "if ((_this select 1) == 0)then{call hint ""Air Strike""} else {call """"}"; 

But I can't seem to get the if/then/else working in this scripting language.

Once I have 1 working I then need to find a way of calling multiple lines of code so I can have:

if (_this select 0) == 0 then.... else....
if (_this select 0) == 1 then.... else....
if (_this select 0) == 2 then.... else....

It don't think I'm correctly incorporating sqf language in this .hpp file though...

Share this post


Link to post
Share on other sites

Solved (3) :)

In case future viewers need the solution:

onLBSelChanged = "if ((_this select 1) == 0) then {player sideChat ""Air Strike""} else {if ((_this select 1)==1) then {player sideChat ""Artillery""} else {player sideChat ""CAS""}}";
  • Like 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×