This is the sidebar
Knowing that we now have CSQC to do all sorts of stuff, I've decided to have a close look at our HUD system, as well as HUD systems of other games like Quake 3 Arena. I've found out that the mod CPMA for Quake3 (as well as the Q4Max mod for Quake4) offers the possibility to configure the style of the elements of your HUD by modifying settings in a dedicated file. Here is an example:
Console { rect 0 0 640 48 time 3000 font threewave } WeaponList { rect 0 64 48 16 color 0.2 0.2 0.7 0.75 font id fontsize 12 16 } StatusBar_HealthIcon { rect 200 448 24 24 image "models/players/mynx/icon_pm.tga" }
As you can imagine, this is just a small snippet.
This whole thing is called the “SuperHud” system. They even developed a HUD editor for creating new HUDs in a comfortable way. This system allows you to alter stylistic parts of the HUD elements, like position, size, image, font, background etc. This file would not control which elements are actually shown, as you would still configure this by settings such as “showfps”, or using similar variables. This system should only alter the style of the elements if they are shown. Elements that are not contained in this HUD config file would be displayed using a default (hardcoded) style. Anyways, I think that Nexuiz could actually use such a system as well.
Oh, and to be complete, a way how something could work for a player who wants to load a new HUD (just an example console command):
set sbar_hudfile "myhud.cfg" loadhud
The goal is to get away from hardcoded HUD styles that require a modified csprogs.dat file, but instead allow normal players to alter their HUD. Some advanced users or developers could create a few more HUD config files and let the players choose which they like best. The way of doing this doesn't necessarily have to be the SuperHUD system and its syntax. It could also be done altogether by using a lot of new cvars, probably even introducing a complete namespace like ui_xyz variables. The problem with the SuperHUD system is that we would need a proper parsing mechanism for the configuration file first – but maybe the developers of CPMA or Q4Max can help us out with portions of their code, we'll see.
Regardless of what you think about the previous suggestions, regardless of what you think how much configurable such a system should be, the following chapter lists all HUD elements that came into my mind, including the options that make sense to be configurable. Feel free to comment the items or add new items. With this list, you'll get a list of ideas of what could be done. This will help CSQC developers who are looking for new ideas for the HUD, and might also help UI designers to find out which elements exist when they create new UIs.
Also keep in mind that, right now, this list was created without really knowing anything about CSQC yet.
One important note: when the following list mentions a color to be configurable, the user should be meant to be able to specify the four values R, G, B and A (alpha), and not just R, G, B.
First of all, I guess that modifying the style of the scoreboard is absolutely not trivial. However, the following lists a few elements that could be shown in the HUD as well (they do not necessarily have to be configurable). Feel free to add more items to the list, or add comments to the existing items!
Other thoughts and ideas that have more or less to do with the HUD:
GFDLcontent Unless mentioned on the licensing page, the work on this page is licensed under the GNU Free Documentation License. The author states that the text and images can be used within the restrictions of this license (for example, they can be incorporated into certain free encyclopedias such as Wikipedia). | |
Kindly hosted by NexuizNinjaz.com |