2.5+ design (work in progress)
Posted: Sat Apr 23, 2016 10:55 am
Starting with 2.5 ARM has changed the way it renders the players data on its window. Now you can fully customize how you want it to look and what to display, as well as having various configurations ready to switch with a click, i.e an interface dedicated to PVP instances, another just to display healing (coming in 2.6), a very simple basic display..
Some examples:
update: made a video showing the basics on how to do all this: https://www.youtube.com/watch?v=GLsLvGBSRwI
To edit these styles or make your own, take a look at the xml files under C:\Users\{user}\AppData\Roaming\Aion RainMeter\UI\default styles
Any xml files inside UI or any subfolders will be parsed by ARM when it starts and add them to the UI menu. You can also supply your own set of class images. The style files are basically a list of elements rendered in order, each with a few settings and condition checks to decide whether they will be drawn; there are also a few text variables to render the dmg, dps etc. Let's check the main default style in main.xml:
Switches:
You can add your own "condition" requirements for each element, as a means to offer the user various options/styles they can choose from with your theme, i.e. with this code we register 2 switches: one to show Dmg and one to show AP:
UI elements and options (some explained further below):
Settings: basic UI settings
ClassPic: class picture
RankPic: rank picture (star.png)
RoundRect: filled rounded rectangle
PlayerName: Text with the player name
Text32: text with 32-bit (alpha) color option
Text: simple text with alignment settings
Rectangle: normal rectangle
Outline: non-opaque rectangle
Possible values for each parameter:
* They all have to be inside quotes " ", even the numbers
* In the case of 0/1 parameters, simply not including the parameter is enough and will default to 0
AA (Anti-aliasing on/off):
0,1
AAmode (Anti-aliasing mode):
am32, am16, am8, am4, am2, amNone
bgColor32, FillColor32, OutColor32, Color32
This is an ARGB color (Alpha + RGB) with 2 parts: Color,Alpha.
Color part can be either a 32 or 24-bit hex value like $FF00F2A5 or $00F2A5 or a plain decimal like 123456, and then the alpha value in decimal split by a , (no need if you supply a 32-bit value in hex like $FF0A16C4)
The 32-bit color can also be a preset from one of the list shown further below
Example: $FF0000,200 would be full red with alpha set to 200 (from 0-255) so it will be a little transparent/faded
gradient
0,1
gradientangle
0-360
gradientcolors
array of 32-bit colors inside {.......} (any amount but preferably just 2}
example: {clRed32,200}{clWhite32,125}{$F0D1C4,240}{$FFB1210F}
You can also select one of a few presets i.e {theme:DarkNightBack,255} from this list: (use Fore one for the % bar and Back one for the background)
angle:
0-359
edgeWidth:
0-100
alternateRounding:
0,1
condition values:
playerIsMe: player box is Me
playerIsEnemy: player box is marked as Enemy (opposing faction)
playerIsDefault: default player box color (neither Me nor Enemy)
playerWarning: player marked as warning (hacker/blacklist/bad)
playerGood: player marked as Good in DB
AP: AP > 0 (only from acquired relics)
filtered: list is filtered (pvp mode/class selected/mob selected)
notfiltered: list is not filtered
PVP: PVP damage > 0
classSorc: player class is a sorc
classSm: ..
classCleric
classChanter
classTemplar
classGladi
classSin
classRanger
classBard
classAT
classGunner
ranked: player ranked above Rank1
classIdentified: class identified
FillPercent:
0,1
FontStyle:
bold, italic, underline, strikeout
this can be a combination, i.e "bold, italic"
FontAliasing:
Default, Draft, Proof, NonAntialiased, Antialiased, ClearType, ClearTypeNatural
align:
left, center, right
singleLine: (word-wrapping off for Text element)
0,1
shadow:
0,1
shadowColor, FontColor:
24-bit color either in hex ($RBG) or a preset
FontName:
Any of the default fonts installed in the system, i.e "Arial", "Segoe UI", "Verdana"..
FontSize:
0..x
Text:
Any text, can include the following variables:
$ap$: Abyss Points (only from acquired relics)
$dmg$: total damage
$dps$: dps
$avgdps$: average dps
$pvpdmg$: PVP damage
$dmgperc$: % damage from the total
$maxhit$: max hit
$peak$: peak dps
$rdmg$: received damage
$pvedmg$: PVE damage
$reldmgperc$: damage % relative to the player in the 1st position
$rank$: player position damage-wise
$exp$: gained EXP
$kinah$: gained Kinah
$hpgp$: Honor/Glory Points (yours)
$kills$: mobs/bosses/pvp kills
$pvprank$: pvp rank (1-star etc)
new:
$heal$
$maxheal$
$healperc$,
$relhealperc$
Coordinates:
x,y,x2,y2: top, left, right, down
optional x2offset,y2offset: offset from "width" setting. i.e if ui width=200 then x2offset=5 will be 195. If these are present, x2 and y2 will be ignored
Decent colors guide: http://www.rapidtables.com/web/color/RGB_Color.htm
24-bit color presets:
32-bit color presets
If you want to experiment with the colors and settings without having to restart ARM each time, start with a basic style with only the settings line so that it will appear under the UI menu, and then select "Settings/UI debug mode". Doing this will enable an extra option under "Help/UI design 32-bit color guide" and also reload the style files each time you select it from the UI menu, that way you can just make changes to the xml in notepad and then re-select the style in ARM to see the changes right away.
Some examples:
update: made a video showing the basics on how to do all this: https://www.youtube.com/watch?v=GLsLvGBSRwI
To edit these styles or make your own, take a look at the xml files under C:\Users\{user}\AppData\Roaming\Aion RainMeter\UI\default styles
Any xml files inside UI or any subfolders will be parsed by ARM when it starts and add them to the UI menu. You can also supply your own set of class images. The style files are basically a list of elements rendered in order, each with a few settings and condition checks to decide whether they will be drawn; there are also a few text variables to render the dmg, dps etc. Let's check the main default style in main.xml:
Click to show:
Switches:
You can add your own "condition" requirements for each element, as a means to offer the user various options/styles they can choose from with your theme, i.e. with this code we register 2 switches: one to show Dmg and one to show AP:
The user will then see 2 options when he clicks on the smaller "ui" button/menu and by clicking on either option will activate the switch and see either the Dmg or the AP displayed.<switch name="showDMG" desc="Show All Dmg">
<switch name="showAP" desc="Show AP">
<ui type="text" switch="showDMG" FontName="Segoe UI" FontSize="8" FontColor="clWhite" FontStyle="" FontAliasing="Draft" x="100" y="3" x2offset="8" y2="18" text="$dmg$ ($perc$%)" align="right" singleline="1" shadow="1" shadowcolor="clBlack">
<ui type="text" switch="showAP" FontName="Segoe UI" FontSize="8" FontColor="clWhite" FontStyle="" FontAliasing="Draft" x="100" y="3" x2offset="8" y2="18" text="AP: $ap$" align="right" singleline="1" shadow="1" shadowcolor="clBlack">
UI elements and options (some explained further below):
Settings: basic UI settings
Click to show:
Click to show:
Click to show:
Click to show:
Click to show:
Click to show:
Click to show:
Click to show:
Click to show:
Possible values for each parameter:
* They all have to be inside quotes " ", even the numbers
* In the case of 0/1 parameters, simply not including the parameter is enough and will default to 0
AA (Anti-aliasing on/off):
0,1
AAmode (Anti-aliasing mode):
am32, am16, am8, am4, am2, amNone
bgColor32, FillColor32, OutColor32, Color32
This is an ARGB color (Alpha + RGB) with 2 parts: Color,Alpha.
Color part can be either a 32 or 24-bit hex value like $FF00F2A5 or $00F2A5 or a plain decimal like 123456, and then the alpha value in decimal split by a , (no need if you supply a 32-bit value in hex like $FF0A16C4)
The 32-bit color can also be a preset from one of the list shown further below
Example: $FF0000,200 would be full red with alpha set to 200 (from 0-255) so it will be a little transparent/faded
gradient
0,1
gradientangle
0-360
gradientcolors
array of 32-bit colors inside {.......} (any amount but preferably just 2}
example: {clRed32,200}{clWhite32,125}{$F0D1C4,240}{$FFB1210F}
You can also select one of a few presets i.e {theme:DarkNightBack,255} from this list: (use Fore one for the % bar and Back one for the background)
Click to show:
0-359
edgeWidth:
0-100
alternateRounding:
0,1
condition values:
playerIsMe: player box is Me
playerIsEnemy: player box is marked as Enemy (opposing faction)
playerIsDefault: default player box color (neither Me nor Enemy)
playerWarning: player marked as warning (hacker/blacklist/bad)
playerGood: player marked as Good in DB
AP: AP > 0 (only from acquired relics)
filtered: list is filtered (pvp mode/class selected/mob selected)
notfiltered: list is not filtered
PVP: PVP damage > 0
classSorc: player class is a sorc
classSm: ..
classCleric
classChanter
classTemplar
classGladi
classSin
classRanger
classBard
classAT
classGunner
ranked: player ranked above Rank1
classIdentified: class identified
FillPercent:
0,1
FontStyle:
bold, italic, underline, strikeout
this can be a combination, i.e "bold, italic"
FontAliasing:
Default, Draft, Proof, NonAntialiased, Antialiased, ClearType, ClearTypeNatural
align:
left, center, right
singleLine: (word-wrapping off for Text element)
0,1
shadow:
0,1
shadowColor, FontColor:
24-bit color either in hex ($RBG) or a preset
FontName:
Any of the default fonts installed in the system, i.e "Arial", "Segoe UI", "Verdana"..
FontSize:
0..x
Text:
Any text, can include the following variables:
$ap$: Abyss Points (only from acquired relics)
$dmg$: total damage
$dps$: dps
$avgdps$: average dps
$pvpdmg$: PVP damage
$dmgperc$: % damage from the total
$maxhit$: max hit
$peak$: peak dps
$rdmg$: received damage
$pvedmg$: PVE damage
$reldmgperc$: damage % relative to the player in the 1st position
$rank$: player position damage-wise
$exp$: gained EXP
$kinah$: gained Kinah
$hpgp$: Honor/Glory Points (yours)
$kills$: mobs/bosses/pvp kills
$pvprank$: pvp rank (1-star etc)
new:
$heal$
$maxheal$
$healperc$,
$relhealperc$
Coordinates:
x,y,x2,y2: top, left, right, down
optional x2offset,y2offset: offset from "width" setting. i.e if ui width=200 then x2offset=5 will be 195. If these are present, x2 and y2 will be ignored
Decent colors guide: http://www.rapidtables.com/web/color/RGB_Color.htm
24-bit color presets:
Click to show:
Click to show:
If you want to experiment with the colors and settings without having to restart ARM each time, start with a basic style with only the settings line so that it will appear under the UI menu, and then select "Settings/UI debug mode". Doing this will enable an extra option under "Help/UI design 32-bit color guide" and also reload the style files each time you select it from the UI menu, that way you can just make changes to the xml in notepad and then re-select the style in ARM to see the changes right away.