Jump to content
Sign in to follow this  
-FW- Shaanguy

Cant see my dialog

Recommended Posts

i followed this tutorial :

and i did everything he did, but when i open my dialog, i cant see anything, it only creates the game cursor, but when i press Enter, one of my button function was executed, but i cant see anything,

my description.ext

#include "defines.hpp"

#include "dialogs.hpp"

my defines.hpp

// 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

// 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_GROUP_BOX 96

#define ST_GROUP_BOX2 112

#define ST_ROUNDED_CORNER ST_GROUP_BOX + ST_CENTER

#define ST_ROUNDED_CORNER2 ST_GROUP_BOX2 + ST_CENTER

#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

////////////////

//Base Classes//

////////////////

class RscText

{

access = 0;

idc = -1;

type = CT_STATIC;

style = ST_MULTI;

linespacing = 1;

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

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

text = "";

shadow = 0;

font = "PuristaLight";

SizeEx = 0.02300;

fixedWidth = 0;

x = 0;

y = 0;

h = 0;

w = 0;

};

class RscPicture

{

access = 0;

idc = -1;

type = CT_STATIC;

style = ST_PICTURE;

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

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

font = "PuristaLight";

sizeEx = 0;

lineSpacing = 0;

text = "";

fixedWidth = 0;

shadow = 0;

x = 0;

y = 0;

w = 0.2;

h = 0.15;

};

class RscButton

{

access = 0;

type = CT_BUTTON;

text = "";

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

colorDisabled[] = {0.4,0.4,0.4,0};

colorBackground[] = {0.75,0.75,0.75,0.8};

colorBackgroundDisabled[] = {0,0.0,0};

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

colorFocused[] = {0.75,0.75,0.75,.5};

colorShadow[] = {0.023529,0,0.0313725,1};

colorBorder[] = {0.023529,0,0.0313725,1};

soundEnter[] = {"\ca\ui\data\sound\onover",0.09,1};

soundPush[] = {"\ca\ui\data\sound\new1",0,0};

soundClick[] = {"\ca\ui\data\sound\onclick",0.07,1};

soundEscape[] = {"\ca\ui\data\sound\onescape",0.09,1};

style = 2;

x = 0;

y = 0;

w = 0.055589;

h = 0.039216;

shadow = 2;

font = "PuristaLight";

sizeEx = 0.03921;

offsetX = 0.003;

offsetY = 0.003;

offsetPressedX = 0.002;

offsetPressedY = 0.002;

borderSize = 0;

};

class RscFrame

{

type = CT_STATIC;

idc = -1;

style = ST_FRAME;

shadow = 2;

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

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

font = "PuristaLight";

sizeEx = 0.03;

text = "";

};

class Box

{

type = CT_STATIC;

idc = -1;

style = ST_CENTER;

shadow = 2;

colorBackground[] = { 0.2,0.9,0.5, 0.9};

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

font = "PuristaLight";

sizeEx = 0.03;

text = "";

};

my dialogs.hpp

class H8ER_dialog

{

idd=-1;

movingenable=false;

class controls

{

////////////////////////////////////////////////////////

// GUI EDITOR OUTPUT START (by sheg, v1.063, #Cypyxu)

////////////////////////////////////////////////////////

class h8er_frame: RscFrame

{

idc = 1800;

text = "my frame"; //--- ToDo: Localize;

x = 6.5 * GUI_GRID_W + GUI_GRID_X;

y = 3 * GUI_GRID_H + GUI_GRID_Y;

w = 24.5 * GUI_GRID_W;

h = 17.5 * GUI_GRID_H;

};

class h8er_button_yes: RscButton

{

idc = 1600;

text = "YES"; //--- ToDo: Localize;

x = 10 * GUI_GRID_W + GUI_GRID_X;

y = 17.5 * GUI_GRID_H + GUI_GRID_Y;

w = 4 * GUI_GRID_W;

h = 2.5 * GUI_GRID_H;

action = "hint 'you like my picture!'";

};

class h8er_button_no: RscButton

{

idc = 1601;

text = "NO"; //--- ToDo: Localize;

x = 23.5 * GUI_GRID_W + GUI_GRID_X;

y = 17.5 * GUI_GRID_H + GUI_GRID_Y;

w = 4 * GUI_GRID_W;

h = 2.5 * GUI_GRID_H;

action = "hint 'you hate my picture'";

};

class RscPicture_1200: RscPicture

{

idc = 1200;

text = "picture.jpg";

x = 8 * GUI_GRID_W + GUI_GRID_X;

y = 6 * GUI_GRID_H + GUI_GRID_Y;

w = 21 * GUI_GRID_W;

h = 9 * GUI_GRID_H;

};

class h8er_text: RscText

{

idc = 1000;

text = "Do you like my picture?"; //--- ToDo: Localize;

x = 13 * GUI_GRID_W + GUI_GRID_X;

y = 4 * GUI_GRID_H + GUI_GRID_Y;

w = 19.5 * GUI_GRID_W;

h = 1.5 * GUI_GRID_H;

};

////////////////////////////////////////////////////////

// GUI EDITOR OUTPUT END

////////////////////////////////////////////////////////

};

};

this post is solved, i have to change every Dialog item position type to Safezone, when i make it as a grid, its not working, others have this problem?,

then change your dialog item position type to Safezone :rolleyes:

Edited by [FW] Shaanguy

Share this post


Link to post
Share on other sites

Error in dialogs.hpp, need to be

movingEnable = 0;

Also, are any errors in RPT file?

Share this post


Link to post
Share on other sites

@Shannguy, there is no need to rewrite default RSC classes, also that would complicate your mod in case of vanilla game being updated. Best way is to inherit all the definitions and only if you want to add/change something the create a new unique clasname for your new RCS control

BASIC DEFINITIONS

class IGUIBack; // External class reference

class RscFrame; // External class reference

class RscPicture; // External class reference

class RscCombo; // External class reference

class RscButtonMenu; // External class reference

class RscMapControl; // External class reference

class RscObject; // External class reference

class RscText; // External class reference

class RscHTML; // External class reference

class RscTextCheckbox; // External class reference

class RscEdit; // External class reference

Also to fully understand the issue a game RPT file with actual error could be useful.

Share this post


Link to post
Share on other sites

@John spartan - That's not the "best practice" though. Scroll down to "best practice" >> Inheritence section where he defines the baseclass(s) and then the controls. It keeps things neater when editing the actual control IMO. All of the common (and custom common) attributes / parameters are in one file (class) separate. No re-writing (custom) attributes to controls and creating a gigantic mess just for one control, because certain attributes are gonna have to be defined somewhere in any case. Idk.. Never ever had any conflicting problems with mods or running many many different dialogs.

To each their own.

edit: It's akin to running code directly in the code space of an EH instead of calling a function that runs the code. It's faster to implement, but it can get messy. Best to have just one extra file. And the one super clean file (the one that you mainly edit). Whatever, I'll stop rambling. :p

Edited by Iceman77

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
Sign in to follow this  

×