To do list
- GUI internals - cleaning up the basic imageset
- Graphics - design basic button designs
- Graphics - design basic window elements (tooltip design, window borders, ...)
- Graphics - design a new mouse cursor
Picture type: PNG
Picture size: 60x60 pixels square, this size must all button tiles have that are described in the following.
There has to be exactly one for each of these basic elements:
- ButtonBackground - the baseplate for all buttons. It should have a solid background (no transparency)
- ButtonFrame - the frame for all buttons. It should have a transparent background (no transparency) + a solid border design
- ButtonHoverEffect - Should have a transparent bg. The effect itself should have around 50% transparency
- ButtonDisabledEffect - Should have a transparent bg. The effect itself should have around 50% transparency
- ButtonPushedEffect - Should have a transparent bg. The effect itself should have around 50% transparency
For every button in our MainTabControl we need one content image. Its background needs to be 100% transparent (not visible). The icon itself should at max have 10% transparency so that it is clearly visible and understandable.
File overview
The following lists all the files in the gui folder and what they contain.
- bluehigh.ttf - Font used by the GUI
- bluehighway.font - CEGUI font definitions
- FreeMono.ttf - Font used by OGRE for the console
- ogrefonts.fontdef - OGRE font definitons
- OpenDungeons.imageset - Defines the location and size of the basic GUI tiles in OpenDungeons.png (windows borders, tooltips, ...)
- OpenDungeonsIcons.imageset - Defines the location and size of the Icon tiles in OpenDungeonsIcons.png (buttons, counters, ...)
- OpenDungeons.layout - Defines properties of all predefined GUI elements (buttons, counters, mini map, ...)
- OpenDungeons.looknfeel - Defines the control types with their properties used by the .layout file
- OpenDungeons.scheme - Defines GUI name and what files are loaded (fonts, looknfeel, imagesets).
GUI naming scheme
These names and types are used in the source code to call a specific GUI element.
- {l Code}: {l Select All Code}
Root //Main Window Container
Root/GoldDisplay //StaticText for Gold
Root/ManaDisplay //StaticText for Mana
Root/TerritoryDisplay //StaticText for Territory
Root/MiniMap //StaticImage for MiniMap
Root/MessagesDisplayWindow //StaticText log box
Root/MainTabControl //Main Tab container
//The Tabs
Root/MainTabControl/Rooms
//ImageButtons
Root/MainTabControl/Rooms/QuartersButton //Quarters
Root/MainTabControl/Rooms/ForgeButton //Forge
Root/MainTabControl/Rooms/DojoButton //Dojo
Root/MainTabControl/Rooms/TreasuryButton //Treasury
Root/MainTabControl/Traps
Root/MainTabControl/Traps/CannonButton //Cannon
Root/MainTabControl/Spells
Root/MainTabControl/Creatures
Root/MainTabControl/Combat
Root/MainTabControl/System
//ImageButtons
Root/MainTabControl/System/HostButton //Host Server
Root/MainTabControl/System/QuitButton //Quit Game
MainMenu
MainMenu/WelcomeMessage //STaticText
MainMenu/StartNewGameButton //Button
MainMenu/QuitButton //Button