# User Interface

## Bugfixes and miscellanous

• Enabled ability to load full-color non-paletted PCX graphics of any bitness. This applies to every single PCX file that is loaded, including the Ares-supported PCX files.

• You can specify custom gamemd.exe icon via -icon command line argument followed by absolute or relative path to an *.ico file (f. ex. gamemd.exe -icon Resources/clienticon.ico).

• Fixed Blowfish.dll-caused error ***FATAL*** String Manager failed to initialize properly, which occurred if Blowfish.dll could not be registered in the OS, for example, it happened when the player did not have administrator rights. With Phobos, if the game did not find a registered file in the system, it will no longer try to register this file, but will load it bypassing registration.

• Fixed non-IME keyboard input to be working correctly for languages / keyboard layouts that use character ranges other than Basic Latin and Latin-1 Supplement (font support required).

Note

You can use the improved vanilla font which can be found on Phobos supplementaries repo which has way more Unicode character coverage than the default one.

## Audio

• You can now specify which soundtrack themes would play on win or lose.

In rulesmd.ini:

[SOMESIDE]             ; Side
IngameScore.WinTheme=  ; Soundtrack theme ID
IngameScore.LoseTheme= ; Soundtrack theme ID


## Battle screen UI/UX

### Hide health bars

Health bars hidden in CnC: Final War

• Health bar display can now be turned off as needed, hiding both the health bar box and health pips.

In rulesmd.ini:

[SOMENAME]            ; TechnoType
HealthBar.Hide=false  ; boolean


### Low priority for box selection

Harvesters not selected together with battle units in Rise of the East mod

• You can now set lower priority for an ingame object (currently has effect on units mostly), which means it will be excluded from box selection if there’s at least one normal priority unit in the box. Otherwise it would be selected as normal. Works with box+type selecting (type select hotkey + drag) and regular box selecting. Box shift-selection adds low-priority units to the group if there are no normal priority units among the appended ones.

In rulesmd.ini:

[SOMETECHNO]                ; TechnoType
LowSelectionPriority=false  ; boolean

• This behavior is designed to be toggleable by users. For now you can only do that externally via client or manually.

In RA2MD.ini:

[Phobos]
PrioritySelectionFiltering=true  ; boolean


### Placement preview

Building placement preview using 50% translucency in Rise of the East

• Building previews can now be enabled when placing a building for construction. This can be enabled on a global basis with [AudioVisual]->PlacementPreview and then further customized for each building with [SOMEBUILDING]->PlacementPreview.

• The building placement grid (place.shp) translucency setting can be adjusted via PlacementGrid.Translucency.

• If using the building’s appropriate Buildup is not desired, customizations allow for you to choose the exact SHP and frame you’d prefer to show as preview through PlacementPreview.Shape, PlacementPreview.ShapeFrame and PlacementPreview.Palette.

• You can specify theater-specific palettes and shapes by putting three ~ marks to the theater specific part of the filename. ~~~ is replaced with the theater’s three-letter extension.

• PlacementPreview.ShapeFrame= tag defaults to building’s artmd.ini Buildup entry’s last non-shadow frame. If there is no ‘Buildup’ specified it will instead attempt to default to the building’s normal first frame (animation frames and bibs are not included in this preview).

In rulesmd.ini:

[AudioVisual]
PlacementPreview=no                  ; boolean
PlacementPreview.Translucency=75     ; translucency level (0/25/50/75)
PlacementGrid.Translucency=0         ; translucency level (0/25/50/75)

[SOMEBUILDING]
PlacementPreview=yes                 ; boolean
PlacementPreview.Shape=              ; filename - including the .shp extension. If not set uses building's artmd.ini Buildup SHP (based on Building's Image)
PlacementPreview.ShapeFrame=         ; integer, zero-based frame index used for displaying the preview
PlacementPreview.Offset=0,-15,1      ; integer, expressed in X,Y,Z used to alter position preview
PlacementPreview.Remap=yes           ; boolean, does this preview use player remap colors
PlacementPreview.Palette=            ; filename - including the .pal extension
PlacementPreview.Translucency=       ; translucency level (0/25/50/75), defaults to [AudioVisual]->PlacementPreview.Translucency


Note

The PlacementPreview.Palette option is not used when PlacementPreview.Remap=yes is set to yes. This may change in future.

• This behavior is designed to be toggleable by users. For now you can only do that externally via client or manually.

In ra2md.ini:

[Phobos]
ShowPlacementPreview=yes   ; boolean


## Hotkey Commands

### [ ] Dump Object Info

• Writes currently hovered or last selected object info in log and shows a message. See this for details.

• If need localization, just add TXT_DUMP_OBJECT_INFO and TXT_DUMP_OBJECT_INFO_DESC into your .csf file.

### [ ] Next Idle Harvester

• Selects and centers the camera on the next TechnoType that is counted via the harvester counter and is currently idle.

• If need localization, just add TXT_NEXT_IDLE_HARVESTER and TXT_NEXT_IDLE_HARVESTER_DESC into your .csf file.

### [ ] Quicksave

• Save the current singleplayer game.

• If need localization, just add TXT_QUICKSAVE, TXT_QUICKSAVE_DESC, TXT_QUICKSAVE_SUFFIX and MSG:NotAvailableInMultiplayer into your .csf file.

• These vanilla CSF entries will be used: TXT_SAVING_GAME, TXT_GAME_WAS_SAVED and TXT_ERROR_SAVING_GAME.

• The save should be looks like Allied Mission 25: Esther's Money - QuickSaved

• PCX files can now be used as loadscreen images.

• You can specify custom loadscreen with Ares tag File.LoadScreen.

• Campaign loading screen (missionmd.ini->[LS800BkgdName]) can also use PCX image.

• Observer loading screen can use ls800obs.pcx (or ls640obs.pcx when screen width is 640) for this feature.

• The loadscreen size can now be different from the default 800x600 one; if the image is bigger than the screen it’s centered and cropped.

• This feature works in conjunction with CnCNet5 spawner DLL which resizes loadscreen window to actual monitor size and places the image in center. If there’s no CnCNet5 spawner loaded, the window resolution will be always 800x600.

• Same applies to campaign loading screen (missionmd.ini->[LS800BkgdName]).

• You can now disable hardcoded black dots that YR engine shows over empty spawn locations, which allows to use prettier and more correctly placed markers that are produced by Map Renderer instead.

In uimd.ini:

[LoadingScreen]
DisableEmptySpawnPositions=false  ; boolean


## Tooltips

Extended tooltips used in CnC: Final War

• Sidebar tooltips can now display extended information about the TechnoType/SWType when hovered over it’s cameo. In addition the low character limit is lifted when the feature is enabled via the corresponding tag, allowing for 1024 character long tooltips.

• TechnoType’s tooltip would display it’s name, cost, power, build time and description (when applicable).

• SWType’s tooltip would display it’s name, cost, and recharge time (when applicable).

• Extended tooltips don’t use TXT_MONEY_FORMAT_1 and TXT_MONEY_FORMAT_2. Instead you can specify cost, power and time labels (displayed before correspoding values) with the corresponding tags. Characters \$ U+0024, ⚡ U+26A1 and ⌚ U+231A are used by default.

• Fixed a bug when switching build queue tabs via QWER didn’t make tooltips disappear as they should, resulting in stuck tooltips.

• The tooltips can now go over the sidebar bounds to accommodate for longer contents. You can control maximum text width with a new tag (paddings are excluded from the number you specify).

In uimd.ini:

[ToolTips]
ExtendedToolTips=false     ; boolean
CostLabel=<none>           ; CSF entry key
PowerLabel=<none>          ; CSF entry key
PowerBlackoutLabel=<none>  ; CSF entry key
TimeLabel=<none>           ; CSF entry key
MaxWidth=0                 ; integer, pixels


In rulesmd.ini:

[SOMENAME]            ; TechnoType or SWType
UIDescription=<none>  ; CSF entry key

• The descriptions are designed to be toggleable by users. For now you can only do that externally via client or manually.

In RA2MD.ini:

[Phobos]
ToolTipDescriptions=true  ; boolean


Note

Same as with harvester counter, you can download the improved font (v4 and higher; can be found on Phobos supplementaries repo) or draw your own icons.

• The background color and opacity of tooltips can now be customized globally or per side.

In rulesmd.ini:

[SOMESIDE]
ToolTip.Background.Color=0,0,0      ; integer - R,G,B, defaults to [AudioVisual]->ToolTip.Background.Color, which defaults to 0,0,0
ToolTip.Background.Opacity=100      ; integer, ranged in [0, 100], defaults to [AudioVisual]->ToolTip.Background.Opacity, which defaults to 100
ToolTip.Background.BlurSize=0.0     ; float, defaults to [AudioVisual]->ToolTip.Background.BlurSize, which defaults to 0.0


Note

The blur effect is resource intensive. Please make sure you really want to enable this effect, otherwise leave it to 0.0 so it stays disabled.

In RA2MD.ini:

[Phobos]
ToolTipBlur=false  ; boolean, whether the blur effect of tooltips will be enabled.