The GUI is made up of two parts. You have .win and .dds. And can be located in the folder "\AppData\Local\AChat\GUI"
.win file can be opened in any regular text editor. Its just text.
.dds will need a plugin for your favorite graphics editor. Links to them are below. .dds for GIMP : http://registry.gimp.org/node/70
.dds for PS/Corel : https://developer.nvidia.com/nvidia-texture-tools-adobe-photoshopIn this simple introduction I will only explain a edit made to "a_volume02.win". This is an example only. Not a intended change. Though it could be with work, or desire for change.
Sample Structure:BEGIN
TITLE 553
X0 240
Y0 85
WIDTH 398
HEIGHT 318
DEFAULT_FONT_COLOR 0xffffffff
OPTIONS 0x00000344
END
*************close
BEGIN
TYPE BUTTON
OBJID 0
X0 383
Y0 -16
WIDTH 10
HEIGHT 10
PICTURE GUI\02_close
END
********sound
BEGIN
TYPE TEXT
OBJID 0
X0 20
Y0 5
WIDTH 0
HEIGHT 0
SELECTABLE FALSE
FONT_COLOR 0xffffcc00
TEXT Sound
FONT_SIZE 20
END
********_bar1
BEGIN
TYPE BAR
TEXT 554
OBJID 1
X0 41
Y0 47
WIDTH 140
HEIGHT 12
FONT_SIZE 17
VAL1_COLOR 0xd0800000
VAL2_COLOR 0xd0800000
VAL3_COLOR 0xd0ff2020
VAL4_COLOR 0xd0ff2020
BLINK FALSE
END
********_increase_volume
BEGIN
TYPE BUTTON
OBJID 11
X0 178
Y0 46
WIDTH 25
HEIGHT 15
TEXT +
TEXT_X0 0
TEXT_Y0 -4
FONT_SIZE 23
PICTURE GUI\02_invisible
TEXT_OVER_COLOR 0xffff0000
OPTION OP_EATCLICK
END
********_decrease_volume
BEGIN
TYPE BUTTON
OBJID 12
X0 21
Y0 45
WIDTH 25
HEIGHT 15
TEXT -
TEXT_X0 0
TEXT_Y0 -5
FONT_SIZE 23
PICTURE GUI\02_invisible
TEXT_OVER_COLOR 0xffff0000
OPTION OP_EATCLICK
END
********_bar2
BEGIN
TYPE BAR
TEXT 555
OBJID 2
X0 222
Y0 47
WIDTH 145
HEIGHT 12
FONT_SIZE 17
VAL1_COLOR 0xd0800000
VAL2_COLOR 0xd0800000
VAL3_COLOR 0xd0ff2020
VAL4_COLOR 0xd0ff2020
BLINK FALSE
END
********_increase_volume
BEGIN
TYPE BUTTON
OBJID 21
X0 364
Y0 46
WIDTH 25
HEIGHT 15
TEXT +
TEXT_X0 0
TEXT_Y0 -4
FONT_SIZE 23
PICTURE GUI\02_invisible
TEXT_OVER_COLOR 0xffff0000
OPTION OP_EATCLICK
END
********_decrease_volume
BEGIN
TYPE BUTTON
OBJID 22
X0 202
Y0 45
WIDTH 25
HEIGHT 15
TEXT -
TEXT_X0 0
TEXT_Y0 -5
FONT_SIZE 23
PICTURE GUI\02_invisible
TEXT_OVER_COLOR 0xffff0000
OPTION OP_EATCLICK
END
********graphics
BEGIN
TYPE TEXT
OBJID 0
X0 20
Y0 80
WIDTH 0
HEIGHT 0
SELECTABLE FALSE
FONT_COLOR 0xffffcc00
TEXT Graphics
FONT_SIZE 20
END
********_advanced_shader
BEGIN
TYPE CHECKBOXGROUP
OBJID 30
X0 12
Y0 105
WIDTH 180
HEIGHT 15
HELPTEXT 572
MODE CHECKBOX
CHECKED_BOX_TEX GUI\02_radio_button_s.ate
UNCHECKED_BOX_TEX GUI\02_radio_button_uns.ate
CHECK_TEXT_DIST 6
CHECK_SIZE 9
CHECK_DELTA_Y 3
ITEM_START_X 20
ITEM_START_Y 0
ITEM_COL_DIST 55
CAPTION1 569
VALUE1 0
COLNUMBER -1
TITLE_COLOR 0xffffffff
TITLE_SIZE 17
ITEM_COLOR 0xffffffff
ITEM_SIZE 17
OPTION OP_RIGHTALIGN
END
****low_high_detail
*BEGIN
TYPE TEXT
OBJID 0
X0 199
Y0 145
WIDTH 0
HEIGHT 0
SELECTABLE FALSE
TEXT 571
OPTION OP_CENTERED
END
*BEGIN
TYPE TEXT
OBJID 0
X0 199
Y0 165
WIDTH 0
HEIGHT 0
SELECTABLE FALSE
TEXT 572
OPTION OP_CENTERED
END
BEGIN
TYPE BUTTON
OBJID 31
HELPTEXT 571
X0 220
Y0 102
WIDTH 99
HEIGHT 22
TEXT_X0 6
TEXT_Y0 3
TEXT 573
FONT_SIZE 16
TEXT_OUT_COLOR 0xffffffff
TEXT_OVER_COLOR 0xffffffff
TEXT_DOWN_COLOR 0xffffffff
PICTURE GUI\02_button-L
END
********state
BEGIN
TYPE TEXT
OBJID 0
X0 20
Y0 155
WIDTH 0
HEIGHT 0
SELECTABLE FALSE
FONT_COLOR 0xffffcc00
TEXT State
FONT_SIZE 20
END
********_busy_type
BEGIN
TYPE CHECKBOXGROUP
OBJID 6
X0 32
Y0 176
WIDTH 20
HEIGHT 160
MODE RADIO
BACKGROUND_COLOR 0x00000000
CHECKED_RADIO_TEX GUI\02_radio_button_s.ate
UNCHECKED_RADIO_TEX GUI\02_radio_button_uns.ate
CHECK_SIZE 9
CHECK_DELTA_Y 3
ITEM_START_X 0
ITEM_START_Y 2
CHECK_TEXT_DIST 10
OBJNAME reason
TITLE _
CAPTION1 590
VALUE1 1
CAPTION2 591
VALUE2 2
CAPTION3 592
VALUE3 3
COLNUMBER 1
TITLE_COLOR 0xffffffff
TITLE_SIZE 17
ITEM_COLOR 0xffffffff
ITEM_SIZE 17
ITEM_ROW_DIST 20
END
************background
BEGIN
TYPE IMAGE
OBJID 0
X0 1
Y0 70
WIDTH 396
HEIGHT 5
SELECTABLE FALSE
COLOR 0x95555555
TEXTURE GUI\white_solid
END
BEGIN
TYPE IMAGE
OBJID 0
X0 1
Y0 0
WIDTH 396
HEIGHT 70
SELECTABLE FALSE
COLOR 0x95333333
TEXTURE GUI\white_solid
END
BEGIN
TYPE IMAGE
OBJID 0
X0 1
Y0 145
WIDTH 396
HEIGHT 5
SELECTABLE FALSE
COLOR 0x95555555
TEXTURE GUI\white_solid
END
BEGIN
TYPE IMAGE
OBJID 0
X0 1
Y0 75
WIDTH 396
HEIGHT 70
SELECTABLE FALSE
COLOR 0x95333333
TEXTURE GUI\white_solid
END
BEGIN
TYPE IMAGE
OBJID 0
X0 1
Y0 240
WIDTH 396
HEIGHT 5
SELECTABLE FALSE
COLOR 0x95555555
TEXTURE GUI\white_solid
END
BEGIN
TYPE IMAGE
OBJID 0
X0 1
Y0 150
WIDTH 396
HEIGHT 90
SELECTABLE FALSE
COLOR 0x95333333
TEXTURE GUI\white_solid
END
*********************_OK_********************
BEGIN
TYPE BUTTON
OBJID 9
X0 172
Y0 273
WIDTH 56
HEIGHT 22
TEXT 212
TEXT_X0 20
TEXT_Y0 3
FONT_SIZE 16
PICTURE GUI\02_button-s
END
Sample Window:Now have I ever worked with editing .win files .. no. Do I like to script and program .. yes. The structure is like a very crude xml. I have also found that while .xml should have been used .win was used instead. In the creation of a GUI. That means a lot of features .win files will not support, such as embeding. One my loves for .xml is the ability to embed other .xml into one .xml. Well anyways on to more things ..*
BEGIN is the start of a given element and
END is the close. Open and close tags if you will.
*
TITLE references the elements name. It can be named here like "MyTitle" or pulled from
"\AppData\Local\AChat\prog_data\texts".
*
X0 &
Y0 defines where the element will be placed within the window.
*
WIDTH &
HEIGHT is reflective of their given names for the element.
*
SELECTABLE is a reference to whether or not the element is selectable (TRUE / FALSE)
*
FONT_COLOR uses 8 digits which represent opacity then hex color. IE 95333333 would be 95 opacity with a color of 333333. For solid use ff. Using earlier example would be ff333333.
*
FONT_SIZE is reflective of its name.
*
DEFAULT_FONT_COLOR is the base color to be used for the element.
*
TYPE is the element type from button,bar,text etc
*
HELPTEXT is the mouseover text displayed for the element.
See TITLE.
*
TEXT is the text to use for an element.
See TITLE.
*
TEXTURE is the .dds texture to use for the element.
*
PICTURE see TEXTURE.
And more ... While I could go down the line for everything, this is just to get people a bit more familiar with it. Now as far as ID's go .. I haven't fully gathered which elements are localized or globalized variables. It seems many are localized. Thus if you place a element from one form to another. It will cause a sort of unlinking. Unless there is a globalized reference to items as well, still looking into that. And doing so via the text files and learning. Not by interfering or reversing code. I find learning how something does something, to be fun.
In the end please expand, edit, remove any and all information as it becomes clearer to you or others. It allows people to have a correct reference point in editing the GUI.