https://wiki.unvanquished.net/api.php?action=feedcontributions&user=Ishq&feedformat=atomUnvanquished - User contributions [en-gb]2024-03-28T08:49:05ZUser contributionsMediaWiki 1.25.3https://wiki.unvanquished.net/index.php?title=MediaWiki:Common.css&diff=3606MediaWiki:Common.css2015-02-23T19:50:56Z<p>Ishq: </p>
<hr />
<div>/* CSS placed here will be applied to all skins */<br />
<br />
/* For the Hotkey template */<br />
span.hotkey {<br />
background: #D5D1CF;<br />
border: 1px solid #aaa;<br />
border-radius: 3px;<br />
-moz-border-radius: 3px;<br />
-webkit-border-radius: 3px;<br />
padding: 1px 3px;<br />
}<br />
span.hotkey + span.hotkey {<br />
margin-left: 1px;<br />
}<br />
<br />
.rot90 {<br />
transform: rotate(-90deg);<br />
-webkit-transform: rotate(-90deg);<br />
-moz-transform: rotate(-90deg);<br />
-ms-transform: rotate(-90deg);<br />
-o-transform: rotate(-90deg);<br />
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);<br />
}<br />
ul.nobullets, ul.nobullets > li,<br />
ol.nobullets, ol.nobullets > li {<br />
list-style-type: none;<br />
list-style-image: none;<br />
margin-left: 0px;<br />
padding-left: 0px;<br />
}<br />
/* Progress table colors */<br />
table.progress .none { background-color: #e81d1d; color: #fff; }<br />
table.progress .wip { background-color: #5292F7; color: #fff; }<br />
table.progress .done { background-color: #49ab47; color: #fff; }<br />
<br />
table.progress .none a:link { color: #fff; }<br />
table.progress .wip a:link { color: #fff; }<br />
table.progress .done a:link { color: #fff; }<br />
<br />
table.progress .none a:visited { color: #ddd; }<br />
table.progress .wip a:visited { color: #ddd; }<br />
table.progress .done a:visited { color: #ddd; }<br />
<br />
span.status_notbegun { color: #e81d1d; }<br />
span.status_wip { color: #5292F7; }<br />
span.status_done { color: #49ab47; }<br />
<br />
/* Text alignment shortcuts */<br />
.left { text-align: left; }<br />
.center { text-align: center; }<br />
.right { text-align: right; }<br />
table .top { vertical-align: top; }<br />
table .middle { vertical-align: middle; }<br />
table .bottom { vertical-align: bottom; }<br />
<br />
/* Miscellaneous text styles */<br />
.strikethrough { text-decoration: line-through; }<br />
.nowrap { white-space: nowrap; }<br />
<br />
/* Emulated header styles (these exactly match the styles of the tags they emulate) */<br />
.h3 { font-size: 132%; font-weight: bold; line-height: 1.5em; }<br />
.h4 { font-size: 116%; font-weight: bold; line-height: 1.5em; }<br />
<br />
tr.deprecated { background-color: #fff; font-style: italic; }<br />
<br />
/* Main page styles */<br />
<br />
tr > td > div.mainPageLinkBox {<br />
margin-right: 10px;<br />
}<br />
<br />
div.mainPageLinkBox {<br />
padding: 1px 10px 10px 10px;<br />
border: 2px solid #ccc;<br />
border-radius: 5px;<br />
background: #eee;<br />
}<br />
<br />
div.mainPageLinkBox + div.mainPageLinkBox {<br />
margin-top: 10px;<br />
}<br />
<br />
<br />
div.mainPageNewBox {<br />
float: left; <br />
background-color:#F6F6F6; <br />
padding: 0.5em 1em 1em 1em; <br />
margin: 1em; <br />
<br />
border: 1px solid #A7D7F9; <br />
border-radius: 5px; <br />
<br />
height: 15em; <br />
width: 15em;<br />
}<br />
<br />
.wikitable.spaced td, .wikitable.spaced th { <br />
padding: 6px 8px 6px 8px;<br />
}</div>Ishqhttps://wiki.unvanquished.net/index.php?title=MediaWiki:Common.css&diff=3605MediaWiki:Common.css2015-02-23T19:50:35Z<p>Ishq: </p>
<hr />
<div>/* CSS placed here will be applied to all skins */<br />
<br />
/* For the Hotkey template */<br />
span.hotkey {<br />
background: #D5D1CF;<br />
border: 1px solid #aaa;<br />
border-radius: 3px;<br />
-moz-border-radius: 3px;<br />
-webkit-border-radius: 3px;<br />
padding: 1px 3px;<br />
}<br />
span.hotkey + span.hotkey {<br />
margin-left: 1px;<br />
}<br />
<br />
.rot90 {<br />
transform: rotate(-90deg);<br />
-webkit-transform: rotate(-90deg);<br />
-moz-transform: rotate(-90deg);<br />
-ms-transform: rotate(-90deg);<br />
-o-transform: rotate(-90deg);<br />
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);<br />
}<br />
ul.nobullets, ul.nobullets > li,<br />
ol.nobullets, ol.nobullets > li {<br />
list-style-type: none;<br />
list-style-image: none;<br />
margin-left: 0px;<br />
padding-left: 0px;<br />
}<br />
/* Progress table colors */<br />
table.progress .none { background-color: #e81d1d; color: #fff; }<br />
table.progress .wip { background-color: #5292F7; color: #fff; }<br />
table.progress .done { background-color: #49ab47; color: #fff; }<br />
<br />
table.progress .none a:link { color: #fff; }<br />
table.progress .wip a:link { color: #fff; }<br />
table.progress .done a:link { color: #fff; }<br />
<br />
table.progress .none a:visited { color: #ddd; }<br />
table.progress .wip a:visited { color: #ddd; }<br />
table.progress .done a:visited { color: #ddd; }<br />
<br />
span.status_notbegun { color: #e81d1d; }<br />
span.status_wip { color: #5292F7; }<br />
span.status_done { color: #49ab47; }<br />
<br />
/* Text alignment shortcuts */<br />
.left { text-align: left; }<br />
.center { text-align: center; }<br />
.right { text-align: right; }<br />
table .top { vertical-align: top; }<br />
table .middle { vertical-align: middle; }<br />
table .bottom { vertical-align: bottom; }<br />
<br />
/* Miscellaneous text styles */<br />
.strikethrough { text-decoration: line-through; }<br />
.nowrap { white-space: nowrap; }<br />
<br />
/* Emulated header styles (these exactly match the styles of the tags they emulate) */<br />
.h3 { font-size: 132%; font-weight: bold; line-height: 1.5em; }<br />
.h4 { font-size: 116%; font-weight: bold; line-height: 1.5em; }<br />
<br />
tr.deprecated { background-color: #fff; font-style: italic; }<br />
<br />
/* Main page styles */<br />
<br />
tr > td > div.mainPageLinkBox {<br />
margin-right: 10px;<br />
}<br />
<br />
div.mainPageLinkBox {<br />
padding: 1px 10px 10px 10px;<br />
border: 2px solid #ccc;<br />
border-radius: 5px;<br />
background: #eee;<br />
}<br />
<br />
div.mainPageLinkBox + div.mainPageLinkBox {<br />
margin-top: 10px;<br />
}<br />
<br />
<br />
div.mainPageNewBox {<br />
float: left; <br />
background-color:#F6F6F6; <br />
padding: 0.5em 1em 1em 1em; <br />
margin: 1em; <br />
<br />
border: 1px solid #A7D7F9; <br />
border-radius: 5px; <br />
<br />
height: 15em; <br />
width: 15em;<br />
}<br />
<br />
.wikitable.spaced td, .wikitable.spaced th { <br />
padding: 4px 8px 4px 8px;<br />
}</div>Ishqhttps://wiki.unvanquished.net/index.php?title=MediaWiki:Common.css&diff=3604MediaWiki:Common.css2015-02-23T19:49:34Z<p>Ishq: </p>
<hr />
<div>/* CSS placed here will be applied to all skins */<br />
<br />
/* For the Hotkey template */<br />
span.hotkey {<br />
background: #D5D1CF;<br />
border: 1px solid #aaa;<br />
border-radius: 3px;<br />
-moz-border-radius: 3px;<br />
-webkit-border-radius: 3px;<br />
padding: 1px 3px;<br />
}<br />
span.hotkey + span.hotkey {<br />
margin-left: 1px;<br />
}<br />
<br />
.rot90 {<br />
transform: rotate(-90deg);<br />
-webkit-transform: rotate(-90deg);<br />
-moz-transform: rotate(-90deg);<br />
-ms-transform: rotate(-90deg);<br />
-o-transform: rotate(-90deg);<br />
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);<br />
}<br />
ul.nobullets, ul.nobullets > li,<br />
ol.nobullets, ol.nobullets > li {<br />
list-style-type: none;<br />
list-style-image: none;<br />
margin-left: 0px;<br />
padding-left: 0px;<br />
}<br />
/* Progress table colors */<br />
table.progress .none { background-color: #e81d1d; color: #fff; }<br />
table.progress .wip { background-color: #5292F7; color: #fff; }<br />
table.progress .done { background-color: #49ab47; color: #fff; }<br />
<br />
table.progress .none a:link { color: #fff; }<br />
table.progress .wip a:link { color: #fff; }<br />
table.progress .done a:link { color: #fff; }<br />
<br />
table.progress .none a:visited { color: #ddd; }<br />
table.progress .wip a:visited { color: #ddd; }<br />
table.progress .done a:visited { color: #ddd; }<br />
<br />
span.status_notbegun { color: #e81d1d; }<br />
span.status_wip { color: #5292F7; }<br />
span.status_done { color: #49ab47; }<br />
<br />
/* Text alignment shortcuts */<br />
.left { text-align: left; }<br />
.center { text-align: center; }<br />
.right { text-align: right; }<br />
table .top { vertical-align: top; }<br />
table .middle { vertical-align: middle; }<br />
table .bottom { vertical-align: bottom; }<br />
<br />
/* Miscellaneous text styles */<br />
.strikethrough { text-decoration: line-through; }<br />
.nowrap { white-space: nowrap; }<br />
<br />
/* Emulated header styles (these exactly match the styles of the tags they emulate) */<br />
.h3 { font-size: 132%; font-weight: bold; line-height: 1.5em; }<br />
.h4 { font-size: 116%; font-weight: bold; line-height: 1.5em; }<br />
<br />
tr.deprecated { background-color: #fff; font-style: italic; }<br />
<br />
/* Main page styles */<br />
<br />
tr > td > div.mainPageLinkBox {<br />
margin-right: 10px;<br />
}<br />
<br />
div.mainPageLinkBox {<br />
padding: 1px 10px 10px 10px;<br />
border: 2px solid #ccc;<br />
border-radius: 5px;<br />
background: #eee;<br />
}<br />
<br />
div.mainPageLinkBox + div.mainPageLinkBox {<br />
margin-top: 10px;<br />
}<br />
<br />
<br />
div.mainPageNewBox {<br />
float: left; <br />
background-color:#F6F6F6; <br />
padding: 0.5em 1em 1em 1em; <br />
margin: 1em; <br />
<br />
border: 1px solid #A7D7F9; <br />
border-radius: 5px; <br />
<br />
height: 15em; <br />
width: 15em;<br />
}<br />
<br />
.wikitable.spaced td, .wikitable.spaced th { <br />
padding: 8px; <br />
}</div>Ishqhttps://wiki.unvanquished.net/index.php?title=MediaWiki:Common.css&diff=3602MediaWiki:Common.css2015-02-23T19:49:10Z<p>Ishq: </p>
<hr />
<div>/* CSS placed here will be applied to all skins */<br />
<br />
/* For the Hotkey template */<br />
span.hotkey {<br />
background: #D5D1CF;<br />
border: 1px solid #aaa;<br />
border-radius: 3px;<br />
-moz-border-radius: 3px;<br />
-webkit-border-radius: 3px;<br />
padding: 1px 3px;<br />
}<br />
span.hotkey + span.hotkey {<br />
margin-left: 1px;<br />
}<br />
<br />
.rot90 {<br />
transform: rotate(-90deg);<br />
-webkit-transform: rotate(-90deg);<br />
-moz-transform: rotate(-90deg);<br />
-ms-transform: rotate(-90deg);<br />
-o-transform: rotate(-90deg);<br />
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);<br />
}<br />
ul.nobullets, ul.nobullets > li,<br />
ol.nobullets, ol.nobullets > li {<br />
list-style-type: none;<br />
list-style-image: none;<br />
margin-left: 0px;<br />
padding-left: 0px;<br />
}<br />
/* Progress table colors */<br />
table.progress .none { background-color: #e81d1d; color: #fff; }<br />
table.progress .wip { background-color: #5292F7; color: #fff; }<br />
table.progress .done { background-color: #49ab47; color: #fff; }<br />
<br />
table.progress .none a:link { color: #fff; }<br />
table.progress .wip a:link { color: #fff; }<br />
table.progress .done a:link { color: #fff; }<br />
<br />
table.progress .none a:visited { color: #ddd; }<br />
table.progress .wip a:visited { color: #ddd; }<br />
table.progress .done a:visited { color: #ddd; }<br />
<br />
span.status_notbegun { color: #e81d1d; }<br />
span.status_wip { color: #5292F7; }<br />
span.status_done { color: #49ab47; }<br />
<br />
/* Text alignment shortcuts */<br />
.left { text-align: left; }<br />
.center { text-align: center; }<br />
.right { text-align: right; }<br />
table .top { vertical-align: top; }<br />
table .middle { vertical-align: middle; }<br />
table .bottom { vertical-align: bottom; }<br />
<br />
/* Miscellaneous text styles */<br />
.strikethrough { text-decoration: line-through; }<br />
.nowrap { white-space: nowrap; }<br />
<br />
/* Emulated header styles (these exactly match the styles of the tags they emulate) */<br />
.h3 { font-size: 132%; font-weight: bold; line-height: 1.5em; }<br />
.h4 { font-size: 116%; font-weight: bold; line-height: 1.5em; }<br />
<br />
tr.deprecated { background-color: #fff; font-style: italic; }<br />
<br />
/* Main page styles */<br />
<br />
tr > td > div.mainPageLinkBox {<br />
margin-right: 10px;<br />
}<br />
<br />
div.mainPageLinkBox {<br />
padding: 1px 10px 10px 10px;<br />
border: 2px solid #ccc;<br />
border-radius: 5px;<br />
background: #eee;<br />
}<br />
<br />
div.mainPageLinkBox + div.mainPageLinkBox {<br />
margin-top: 10px;<br />
}<br />
<br />
<br />
div.mainPageNewBox {<br />
float: left; <br />
background-color:#F6F6F6; <br />
padding: 0.5em 1em 1em 1em; <br />
margin: 1em; <br />
<br />
border: 1px solid #A7D7F9; <br />
border-radius: 5px; <br />
<br />
height: 15em; <br />
width: 15em;<br />
}<br />
<br />
.wikitable.spaced td, .wikitable.spaced th { padding: 8px; }</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/LibRocket_bugs&diff=3193UI/LibRocket bugs2014-09-15T04:59:01Z<p>Ishq: </p>
<hr />
<div>* r_gamma does not affect UI<br />
* borders are shady. Sometimes they simply don't appear<br />
* objects 'jiggle' around when their class (eg :hover activated) changes, even though their size should not change.<br />
* causes wincing pain<br />
<br />
<br />
Sound:<br />
* sound loops from the last game keep playing in the loadscreen<br />
<br />
Internal:<br />
* rocketDebug does not work for HUD<br />
* ui_restart causes crashes<br />
<br />
&lt;select&gt; Drop-down menus:<br />
* large lists can go off-screen<br />
* misinterpret mouse coords (sometimes) and highlight/select the wrong entry<br />
<br />
<br />
Game start:<br />
* Errors in RML/CSS cause silent failures -> crash (sometimes)<br />
<br />
<br />
Match start:<br />
* various HUD files are 'flashed' for a frame [fixed]<br />
<br />
<br />
Match load:<br />
* mouse cursor visible and locked to top-left corner</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Wish_list&diff=2915UI/Wish list2014-04-13T23:08:42Z<p>Ishq: </p>
<hr />
<div>*onsubmit function to combinde all values except with ignore attribute, [COMPLETE] [https://github.com/Unvanquished/Unvanquished/blob/da0088f10243b012b23b2fa320b78fba38a4231c/main/ui/dialogs/editplayer.rml usage example]<br />
* [http://www.w3schools.com/cssref/sel_before.asp :before] and [http://www.w3schools.com/cssref/sel_after.asp :after] Selector with [http://www.w3schools.com/cssref/pr_gen_content.asp content] property for rss [UNLIKELY]<br />
*if tag [COMPLETE]<br />
<if cvar="name" is con="bob"><br />
display this only when cvar name = bob<br />
</if><br />
<br />
<if cvar="name" not ccvar="anothercvar"><br />
display this only when value of name and anothercvar ar not the same<br />
</if><br />
<br />
other attributes could be bigger and smaller to comare numbers<br />
*reload menu and keep focus(scroll position)<br />
=Data Sources= (TODO)<br />
*map rotation with mapname and image<br />
*maplog with mapname, image, time, winning team/mapvote/defeat/timelimit<br />
or<br />
*map rotation and maplog combined to one data source showing: last 3, current and next 3 maps</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Cvar_Changes&diff=2879Cvar Changes2014-01-20T21:57:30Z<p>Ishq: </p>
<hr />
<div>{| class="wikitable"<br />
! New Cvar !! Old Cvar<br />
|-<br />
| audio.al.availableCaptureDevices || <br />
|-<br />
| audio.al.availableDevices || <br />
|-<br />
| audio.al.captureDevice || <br />
|-<br />
| audio.al.checkAllCalls || <br />
|-<br />
| audio.al.device || <br />
|-<br />
| audio.doppler || <br />
|-<br />
| audio.dopplerExaggeration || <br />
|-<br />
| audio.muteWhenMinimized || <br />
|-<br />
| audio.muteWhenUnfocused || <br />
|-<br />
| audio.reverb || <br />
|-<br />
| audio.reverbIntensity || <br />
|-<br />
| audio.volume.effects || <br />
|-<br />
| audio.volume.master || <br />
|-<br />
| audio.volume.music || <br />
|-<br />
| common.framerate.fixed || <br />
|-<br />
| common.framerate.max || <br />
|-<br />
| common.framerate.maxMinimized || <br />
|-<br />
| common.framerate.maxUnfocused || <br />
|-<br />
| common.ignoreCrash ||<br />
|-<br />
| common.pipefile ||<br />
|-<br />
| common.showTraceStats ||<br />
|-<br />
| common.watchdogCmd ||<br />
|-<br />
| common.watchdogTime ||<br />
|-<br />
| logs.logFile.active ||<br />
|-<br />
| logs.logFile.filename ||<br />
|-<br />
| logs.logFile.forceFlush ||<br />
|-<br />
| logs.logFile.overwrite ||<br />
|-<br />
| logs.logLevel.audio ||<br />
|-<br />
| logs.logLevel.common.commands ||<br />
|-<br />
| server.vm.useNaCl ||<br />
|}</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Cvar_Changes&diff=2878Cvar Changes2014-01-20T21:56:44Z<p>Ishq: Created page with "{| class="wikitable" ! New Cvar !! Old Cvar |- | audio.al.availableCaptureDevices |- | audio.al.availableDevices |- | audio.al.captureDevice |- | audio.al.checkAllCalls |- | a..."</p>
<hr />
<div>{| class="wikitable"<br />
! New Cvar !! Old Cvar<br />
|-<br />
| audio.al.availableCaptureDevices<br />
|-<br />
| audio.al.availableDevices<br />
|-<br />
| audio.al.captureDevice<br />
|-<br />
| audio.al.checkAllCalls<br />
|-<br />
| audio.al.device<br />
|-<br />
| audio.doppler<br />
|-<br />
| audio.dopplerExaggeration<br />
|-<br />
| audio.muteWhenMinimized<br />
|-<br />
| audio.muteWhenUnfocused<br />
|-<br />
| audio.reverb<br />
|-<br />
| audio.reverbIntensity<br />
|-<br />
| audio.volume.effects<br />
|-<br />
| audio.volume.master<br />
|-<br />
| audio.volume.music<br />
|-<br />
| common.framerate.fixed<br />
|-<br />
| common.framerate.max<br />
|-<br />
| common.framerate.maxMinimized<br />
|-<br />
| common.framerate.maxUnfocused<br />
|-<br />
| common.ignoreCrash<br />
|-<br />
| common.pipefile<br />
|-<br />
| common.showTraceStats<br />
|-<br />
| common.watchdogCmd<br />
|-<br />
| common.watchdogTime<br />
|-<br />
| logs.logFile.active<br />
|-<br />
| logs.logFile.filename<br />
|-<br />
| logs.logFile.forceFlush<br />
|-<br />
| logs.logFile.overwrite<br />
|-<br />
| logs.logLevel.audio<br />
|-<br />
| logs.logLevel.common.commands<br />
|-<br />
| server.vm.useNaCl<br />
|}</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Sound_Licenses&diff=2632Sound Licenses2013-12-24T22:18:36Z<p>Ishq: Reverted edits by Ishq (talk) to last revision by Veyrdite</p>
<hr />
<div>{{Unknown}}<br />
<br />
Write the license next to the filename.<br />
<br />
'''[relative path to existing sound] : [license if known] - [link to replacement sound] : [license of the replacement and author]'''<br />
<br />
example:<br />
<br />
sounds/garbage_day.wav : ? - example.org/downloads/garbage_day_was_yesterday.ogg : CC-BY Attribute as John 'UnkN0wN' Doe<br />
sounds/ambient/humming.wav : ?<br />
<br />
<br />
----</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Sound_Licenses&diff=2630Sound Licenses2013-12-24T22:16:46Z<p>Ishq: Say what page is about.</p>
<hr />
<div>{{Unknown}}<br />
<br />
This page is to help the devteam keep track of community efforts to replace all the sounds.<br />
Write the license next to the filename.<br />
<br />
'''[relative path to existing sound] : [license if known] - [link to replacement sound] : [license of the replacement and author]'''<br />
<br />
example:<br />
<br />
sounds/garbage_day.wav : ? - example.org/downloads/garbage_day_was_yesterday.ogg : CC-BY Attribute as John 'UnkN0wN' Doe<br />
sounds/ambient/humming.wav : ?<br />
<br />
<br />
----</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Lucifer_Cannon&diff=2629Lucifer Cannon2013-12-24T22:13:23Z<p>Ishq: Tell people to lead with luci.</p>
<hr />
<div>{{MPHumanWeapon<br />
| name = Lucifer Cannon<br />
| image = Lucifer Cannon.png<br />
| caption = Everybody's favourite.<br />
| cost = 600 credits<br />
| damage = Up to 250 (primary)<br>30 (secondary)<br />
| primary attack = Charged shot<br />
| secondary attack = Low damage, high ROF shot<br />
}}<br />
<br />
The lucifer cannon, known affectionately as the Luci, is the most powerful weapon in the Humans' arsenal.<br />
<br />
==General Strategy==<br />
<br />
'''Don't''' use this to defend your base, unless you want to see it in pieces.<br />
<br />
'''Do''' use this to keep dretches and other lower level aliens at a manageable distance.<br />
'''Do''' lead your shots. Since this a projectile weapon, it takes time to hit your enemy. Unless they are walking in a straight line, shoot ahead of them.<br />
<br />
'''Don't''' fire wildly. As shots from the Lucifer Cannon move very slowly, the probability of hitting a teammate is increased.<br />
<br />
[[Category:Humans]]</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Armory&diff=2628Armory2013-12-24T22:07:22Z<p>Ishq: No more sudden death.</p>
<hr />
<div>The armory is a human structure that allows for players to purchase and sell equipment, assuming that the building is powered. Ammunition can be refilled for free, as well.<br />
<br />
==General Strategy==<br />
<br />
* '''Do''' build defenses near these.<br />
* '''Don't''' ever build more than one. Unlike medistations, multiple teammates can use one at once. You can, however, make these at forward bases to allow teammates without energy weapons to reload.<br />
* '''Don't''' allow any space behind an armory. They are big and bulky, and it's wholly possible for an alien to sneak behind and destroy it before anyone notices.</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Dretch&diff=2627Dretch2013-12-24T13:17:58Z<p>Ishq: Add note about headbiting from the ground.</p>
<hr />
<div>{{MPCharacterClass<br />
| name = Dretch<br />
| image = Dretch.png<br />
| caption = Tiny, but deadly.<br />
| health = 25<br />
| primary attack = Poisonous bite (auto-attack)<br />
}}<br />
<br />
The first alien form, selectable for free at spawning. Dretches are the smallest, fastest, and deadliest things in the game, but suffer from an extremely low amount of health. They are able to wall-walk, which combined with their natural stealth can make them exceedingly difficult to detect. Keep in mind that they are silent only while they are moving, not jumping.<br />
<br />
==General Strategy==<br />
<br />
*'''Do''' wall-walk, and constantly. Although it may be disorienting at first, it's crucial if you want to surprise radar-less humans and evade their shots.<br />
*'''Don't''' move in straight lines. You may be the fastest thing in the game, but your low health ensures that you'll never be able to charge at humans.<br />
*'''Do''' aim at the head, and remember locational damage! As the dretch relies primarily on stealth, your leg and chest bites won't kill fast enough for you to avoid detection. You only need two head bites to kill.<br />
*'''Do''' headbite from the ground. There is no need to continuously jump for headbites. This only makes you easier to hit.<br />
*'''Do''' attack humans stealthily. Use the advantage to close the distance and nibble on their noses. <br />
*'''Do''' use poison. As a dretch, poison is your best friend. A clever dretch can run into a crowd of humans, and tag multiple humans with poison, forcing them to either use their valuable medkits or sustain heavy damage. It is also an easy way to gather evos when your buddies kill the humans.<br />
<br />
==Background==<br />
<br />
It is unknown just where the dretch originated, for few aspects of the toxic arachnoid suggest an independent lifestyle. The few internal organs it possesses are vastly shrunken in comparison to its enormous poison glands, which fill up the bulk of its thoracic cavity. Of the dretches left behind after alien retreats, all die within hours, making it exceedingly difficult to examine a living one in detail.<br />
<br />
With its ability to climb any surface, the dretch is able to cling to anything, patiently awaiting a passing human to deliver a poisonous bite to. Once a dretch’s fangs pierce skin, a sudden reflex delivers a spray of venom into the wound, immediately causing necrosis of the flesh, with several bites being lethal. In addition, a dretch is capable of moving at great speed with utter silence, surprising those unfortunate humans without radar equipment.<br />
<br />
In its capacity as a mass-produced scout and assassin, the dretch can be fielded in enormous quantities, absorbing minuscule amounts of nutrients from the creep. While completely powerless against human structures, poorly equipped humans are no match for its stealth and lethality. Even armor is no foolproof protection against a swarm of dretches, for the dozens of oozing fangs eventually find some hole to sink themselves into.<br />
<br />
[[Category:Aliens]]</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Glossary&diff=2626Glossary2013-12-24T13:12:01Z<p>Ishq: Add evo slang.</p>
<hr />
<div>==B==<br />
<br />
* {{Definition|bp}}, {{Definition|buildpoints}} &mdash; Team wide resource spent on the construction of structures such as spawn points and base defenses. Is acquired via mining structures.<br />
<br />
==E==<br />
<br />
* {{Definition|evos}} &mdash; Short for evolution points. This is the currency aliens use to evolve to other classes.<br />
<br />
==F==<br />
<br />
* {{Definition|feeding}} &mdash; Reckless or poor play where one dies often to no benefit, giving the enemy a resource advantage.<br />
<br />
==R==<br />
* {{Definition|rant}} &mdash; [[Tyrant]]. The strongest alien class. It costs 10 evos.<br />
* {{Definition|ret}} &mdash; [[Machinegun Turret]]. A near distance human defense structure.</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Glossary&diff=2625Glossary2013-12-24T13:08:17Z<p>Ishq: Add tyrant slang.</p>
<hr />
<div>==B==<br />
<br />
* {{Definition|bp}}, {{Definition|buildpoints}} &mdash; Team wide resource spent on the construction of structures such as spawn points and base defenses. Is acquired via mining structures.<br />
<br />
==F==<br />
<br />
* {{Definition|feeding}} &mdash; Reckless or poor play where one dies often to no benefit, giving the enemy a resource advantage.<br />
<br />
==R==<br />
* {{Definition|rant}} &mdash; [[Tyrant]]. The strongest alien class. It costs 10 evos.<br />
* {{Definition|ret}} &mdash; [[Machinegun Turret]]. A near distance human defense structure.</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Medistation&diff=2624Medistation2013-12-24T13:04:31Z<p>Ishq: Update medistation page slightly.</p>
<hr />
<div>[[Category:Humans]]<br />
{{MPBuildable<br />
| name = Medistation<br />
| image = Medistation.png<br />
| caption = <br />
| health = ?<br />
| cost = 8<br />
}}<br />
<br />
Stand on this to regain your health!</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Pain_Saw&diff=2623Pain Saw2013-12-24T13:01:40Z<p>Ishq: Hey, useful edit!</p>
<hr />
<div>{{MPHumanWeapon<br />
| name = Pain Saw<br />
| image =<br />
| caption = Definitely a pain!<br />
| cost = 100 credits<br />
| damage = 253 per second<br />
| primary attack = Electrical Discharge<br />
}}<br />
<br />
The pain saw is known to be the most efficient weapon in terms of damage output. With its limited range it is also known to be the only close combat weapon accessible to the human team.<br />
<br />
==General Strategy==<br />
<br />
'''Do''' use strafing to your advantage when using the Pain Saw.<br />
<br />
'''Don't''' use the Pain Saw to attack buildables without cover from your teammates.<br />
<br />
'''Do''' use this against tyrants and dragoons in your base, but beware as the high damage output may also result in potential bleeding.<br />
'''Do''' hide Pain Saw noise by pulling out the blaster.<br />
<br />
[[Category:Humans]]</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Sound_Licenses&diff=2622Sound Licenses2013-12-24T12:46:44Z<p>Ishq: </p>
<hr />
<div>{{Unknown}}<br />
<br />
Write the license next to the filename.<br />
<br />
'''[relative path to existing sound] : [license if known] - [link to replacement sound] : [license of the replacement and author]'''<br />
<br />
example:<br />
<br />
sounds/garbage_day.wav : ? - example.org/downloads/garbage_day_was_yesterday.ogg : CC-BY Attribute as John 'UnkN0wN' Doe<br />
sounds/ambient/humming.wav : ?<br />
<br />
<br />
----</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Sound_Licenses&diff=2621Sound Licenses2013-12-24T12:30:20Z<p>Ishq: </p>
<hr />
<div>{{Unknown}}<br />
est<br />
Write the license next to the filename.<br />
<br />
'''[relative path to existing sound] : [license if known] - [link to replacement sound] : [license of the replacement and author]'''<br />
<br />
example:<br />
<br />
sounds/garbage_day.wav : ? - example.org/downloads/garbage_day_was_yesterday.ogg : CC-BY Attribute as John 'UnkN0wN' Doe<br />
sounds/ambient/humming.wav : ?<br />
<br />
<br />
----</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Sound_Licenses&diff=2620Sound Licenses2013-12-24T11:24:29Z<p>Ishq: Revert edit.</p>
<hr />
<div>{{Unknown}}<br />
<br />
Write the license next to the filename.<br />
<br />
'''[relative path to existing sound] : [license if known] - [link to replacement sound] : [license of the replacement and author]'''<br />
<br />
example:<br />
<br />
sounds/garbage_day.wav : ? - example.org/downloads/garbage_day_was_yesterday.ogg : CC-BY Attribute as John 'UnkN0wN' Doe<br />
sounds/ambient/humming.wav : ?<br />
<br />
<br />
----</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Sound_Licenses&diff=2619Sound Licenses2013-12-24T11:22:56Z<p>Ishq: testing script...</p>
<hr />
<div>{{Unknown}}<br />
Another test edit<br />
Write the license next to the filename.<br />
<br />
'''[relative path to existing sound] : [license if known] - [link to replacement sound] : [license of the replacement and author]'''<br />
<br />
example:<br />
<br />
sounds/garbage_day.wav : ? - example.org/downloads/garbage_day_was_yesterday.ogg : CC-BY Attribute as John 'UnkN0wN' Doe<br />
sounds/ambient/humming.wav : ?<br />
<br />
<br />
----</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Sound_Licenses&diff=2618Sound Licenses2013-12-24T09:39:55Z<p>Ishq: Reverted edits by Ishq (talk) to last revision by Veyrdite</p>
<hr />
<div>{{Unknown}}<br />
<br />
Write the license next to the filename.<br />
<br />
'''[relative path to existing sound] : [license if known] - [link to replacement sound] : [license of the replacement and author]'''<br />
<br />
example:<br />
<br />
sounds/garbage_day.wav : ? - example.org/downloads/garbage_day_was_yesterday.ogg : CC-BY Attribute as John 'UnkN0wN' Doe<br />
sounds/ambient/humming.wav : ?<br />
<br />
<br />
----</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Sound_Licenses&diff=2617Sound Licenses2013-12-24T09:39:14Z<p>Ishq: </p>
<hr />
<div>{{Unknown}}<br />
test edit<br />
Write the license next to the filename.<br />
<br />
'''[relative path to existing sound] : [license if known] - [link to replacement sound] : [license of the replacement and author]'''<br />
<br />
example:<br />
<br />
sounds/garbage_day.wav : ? - example.org/downloads/garbage_day_was_yesterday.ogg : CC-BY Attribute as John 'UnkN0wN' Doe<br />
sounds/ambient/humming.wav : ?<br />
<br />
<br />
----</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=2103UI/Implementation2013-07-22T19:01:01Z<p>Ishq: /* Missing Elements */</p>
<hr />
<div>==Legacy==<br />
<br />
{{Note|content=<br />
Please be aware that the information in this section describes the legacy (menu file&ndash;based) GUI. <br />
}}<br />
<br />
User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
===Editing tools===<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
===Troubleshooting===<br />
<br />
====Game crashes for an unknown reason====<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Implementation-Independent GUI Behavior==<br />
<br />
This information applies to both the legacy and libRocket GUI implementations.<br />
<br />
===Weapon icons===<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==libRocket GUI==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Integration Progress===<br />
<br />
====General====<br />
<br />
* Get libRocket to play nicely with q3 shaders [woo, done]<br />
* Clean up the generic RocketElement class used to draw all the ownerdraws [75%]<br />
* Remove ui_shared.c cgame dependence [50%]<br />
* Analyze potential of adding future animations [waaaaaaaaaay in the future, if at all] [https://github.com/TermiT/duke3d-megaton/tree/master/code/rocket DukeNukem3D Megaton]<br />
<br />
====Data Sources (aka feeders)====<br />
<br />
{| class="wikitable progress"<br />
|-<br />
! Name<br />
! Description<br />
! Status<br />
|-<br />
| Resolutions<br />
| list of resolutions<br />
| class="done" | Implemented<br />
|-<br />
| VoIP Input<br />
| Input devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| AL Output<br />
| Output devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| HUDS<br />
| List of HUDs to choose from<br />
| class="none" | Not Implemented<br />
|-<br />
| Languages<br />
| List of languages<br />
| class="done" | Implemented<br />
|-<br />
| Mods<br />
| List of mods<br />
| class="done" | Implemented<br />
|-<br />
| Demos<br />
| List of demos<br />
| class="done" | Implemented<br />
|-<br />
| Maps<br />
| List of maps<br />
| class="done" | Implemented<br />
|-<br />
| Players on team<br />
| List of players on each team<br />
| class="done" | Implemented<br />
|-<br />
| Players<br />
| List of players. This and above can probably be combined.<br />
| class="done" | Combined with the above<br />
|-<br />
| Server status<br />
| Detailed information on a server // Probably can implement without a feeder.<br />
| class="done" | Implemented<br />
|-<br />
| Find player<br />
| Results for a multiserver player search.<br />
| class="none" | Not Implemented<br />
|-<br />
| Team list<br />
| List of available teams<br />
| class="done" | Implemented<br />
|-<br />
| Classes<br />
| List of classes per team<br />
| class="done" | Implemented<br />
|-<br />
| Items<br />
| List of available items per team<br />
| class="done" | Implemented<br />
|-<br />
| Armory items<br />
| List of items. Can probably be merged with above.<br />
| class="done" | Implemented<br />
|-<br />
| Alien evo classes<br />
| List of classes that can be evo'd to.<br />
| class="done" | Implemented<br />
|-<br />
| Buildable menu<br />
| List of buildables that can be built<br />
| class="done" | Implemented<br />
|-<br />
| Ignore<br />
| List of players/patterns player has ignored<br />
| class="none" | Not Implemented<br />
|-<br />
| Help<br />
| List of help topics<br />
| class="none" | Not Implementing.<br />
|}<br />
<br />
====Missing Elements====<br />
* Chat field - Field for chat.<br />
* Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port. [done]<br />
* Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
* Key select - Detect which key is pressed. For binds. [done]<br />
<br />
====HUD Elements====<br />
<br />
{{UIElement<br />
|Name=health<br />
|Description=Renders the player's current health.<br />
}}<br />
<br />
{{UIElement<br />
|Name=bar<br />
|Description=Draws a progress bar.<br />
|Attributes=<br />
{{UIAttribute|Name=item|Type=cvar|Description=The name of the cvar that determines the current value of the progress bar.}}<br />
{{UIAttribute|Name=maxValue|Type=cvar|Description=The name of the cvar that specifies the maximum value of the progress bar; when <code>item</code> reaches this value, the progress bar will be rendered completely full.}}<br />
{{UIAttribute|Name=img|Optional|Type=string|Description=If a solid bar is not desired, the image that will be used to render the bar.}}<br />
{{UIAttribute|Name=direction|Optional|Type=left{{!}}right{{!}}up{{!}}down|Description=The direction that the bar decreases.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=ammo<br />
|Description=Current ammo value.<br />
|Attributes=<br />
{{UIAttribute|Name=type|Type=all{{!}}clip|Description=Determines whether to show current clip's ammo or total ammo.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=clips<br />
|Description=Current number of clips<br />
}}<br />
<br />
{{UIElement<br />
|Name=btimer <br />
|Description=Displays a build timer.<br />
}}<br />
<br />
{{UIElement<br />
|Name=credits<br />
|Description=Credits/evos available.<br />
|Attributes=<br />
{{UIAttribute|Name=precision|Type=integer|Description=Determines the number of leading decimal places (?)}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=stamina<br />
|Description=Available stamina<br />
}}<br />
<br />
{{UIElement<br />
|Name=boost<br />
|Description=Displays the current status of the [[Glossary#boost|boost]] and the time remaining before it is lost.<br />
}}<br />
<br />
{{UIElement<br />
|Name=selected<br />
|Description=Displays the icon of the currently selected item.<br />
}}<br />
<br />
{{UIElement<br />
|Name=weapon <br />
|Description=Displays the icon of the currently equipped weapon.<br />
}}<br />
<br />
{{UIElement<br />
|Name=wallclimb <br />
|Description=Wall climbing status indicator.<br />
}}<br />
<br />
{{UIElement<br />
|Name=alien_sense<br />
|Description=Alien radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=scanner<br />
|Description=Human radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=useable_buildable<br />
|Description=Indicates to the player when they are within range of a usable buildable.<br />
}}<br />
<br />
{{UIElement<br />
|Name=location <br />
|Description=Displays the name of the location in which the player is currently occupying, as set by the map author.<br />
}}<br />
<br />
{{UIElement<br />
|Name=team_overlay<br />
|Description=Team overlay which shows useful team info <!-- such as...? --><br />
}}<br />
<br />
{{UIElement<br />
|Name=fps<br />
|Description=Displays the current framerate, in frames per second.<br />
}}<br />
<br />
{{UIElement<br />
|Name=timer<br />
|Description=Displays the time since the game began.<br />
}}<br />
<br />
{{UIElement<br />
|Name=lagometer<br />
|Description=Displays a scrolling graph of the quality of the player's connection over time.<br />
}}<br />
<br />
{{UIElement<br />
|Name=speedometer<br />
|Description=Displays the player's current speed.<br />
}}<br />
<br />
{{UIElement<br />
|Name=crosshair_name<br />
|Description=Displays the name of the player currently in the crosshair, if it is appropriate to show.<br />
}}<br />
<br />
{{UIElement<br />
|Name=stage_report<br />
|Description=Indicates what percentage of map control is needed to advance to the next stage.<br />
}}<br />
<br />
{{UIElement<br />
|Name=demo<br />
|Description=Displays the state of demo recording or playback.<br />
}}</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=2102UI/Implementation2013-07-22T18:58:26Z<p>Ishq: /* Data Sources (aka feeders) */</p>
<hr />
<div>==Legacy==<br />
<br />
{{Note|content=<br />
Please be aware that the information in this section describes the legacy (menu file&ndash;based) GUI. <br />
}}<br />
<br />
User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
===Editing tools===<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
===Troubleshooting===<br />
<br />
====Game crashes for an unknown reason====<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Implementation-Independent GUI Behavior==<br />
<br />
This information applies to both the legacy and libRocket GUI implementations.<br />
<br />
===Weapon icons===<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==libRocket GUI==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Integration Progress===<br />
<br />
====General====<br />
<br />
* Get libRocket to play nicely with q3 shaders [woo, done]<br />
* Clean up the generic RocketElement class used to draw all the ownerdraws [75%]<br />
* Remove ui_shared.c cgame dependence [50%]<br />
* Analyze potential of adding future animations [waaaaaaaaaay in the future, if at all] [https://github.com/TermiT/duke3d-megaton/tree/master/code/rocket DukeNukem3D Megaton]<br />
<br />
====Data Sources (aka feeders)====<br />
<br />
{| class="wikitable progress"<br />
|-<br />
! Name<br />
! Description<br />
! Status<br />
|-<br />
| Resolutions<br />
| list of resolutions<br />
| class="done" | Implemented<br />
|-<br />
| VoIP Input<br />
| Input devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| AL Output<br />
| Output devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| HUDS<br />
| List of HUDs to choose from<br />
| class="none" | Not Implemented<br />
|-<br />
| Languages<br />
| List of languages<br />
| class="done" | Implemented<br />
|-<br />
| Mods<br />
| List of mods<br />
| class="done" | Implemented<br />
|-<br />
| Demos<br />
| List of demos<br />
| class="done" | Implemented<br />
|-<br />
| Maps<br />
| List of maps<br />
| class="done" | Implemented<br />
|-<br />
| Players on team<br />
| List of players on each team<br />
| class="done" | Implemented<br />
|-<br />
| Players<br />
| List of players. This and above can probably be combined.<br />
| class="done" | Combined with the above<br />
|-<br />
| Server status<br />
| Detailed information on a server // Probably can implement without a feeder.<br />
| class="done" | Implemented<br />
|-<br />
| Find player<br />
| Results for a multiserver player search.<br />
| class="none" | Not Implemented<br />
|-<br />
| Team list<br />
| List of available teams<br />
| class="done" | Implemented<br />
|-<br />
| Classes<br />
| List of classes per team<br />
| class="done" | Implemented<br />
|-<br />
| Items<br />
| List of available items per team<br />
| class="done" | Implemented<br />
|-<br />
| Armory items<br />
| List of items. Can probably be merged with above.<br />
| class="done" | Implemented<br />
|-<br />
| Alien evo classes<br />
| List of classes that can be evo'd to.<br />
| class="done" | Implemented<br />
|-<br />
| Buildable menu<br />
| List of buildables that can be built<br />
| class="done" | Implemented<br />
|-<br />
| Ignore<br />
| List of players/patterns player has ignored<br />
| class="none" | Not Implemented<br />
|-<br />
| Help<br />
| List of help topics<br />
| class="none" | Not Implementing.<br />
|}<br />
<br />
====Missing Elements====<br />
* Chat field - Field for chat.<br />
* Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port. [done]<br />
* Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
* Key select - Detect which key is pressed. For binds.<br />
<br />
====HUD Elements====<br />
<br />
{{UIElement<br />
|Name=health<br />
|Description=Renders the player's current health.<br />
}}<br />
<br />
{{UIElement<br />
|Name=bar<br />
|Description=Draws a progress bar.<br />
|Attributes=<br />
{{UIAttribute|Name=item|Type=cvar|Description=The name of the cvar that determines the current value of the progress bar.}}<br />
{{UIAttribute|Name=maxValue|Type=cvar|Description=The name of the cvar that specifies the maximum value of the progress bar; when <code>item</code> reaches this value, the progress bar will be rendered completely full.}}<br />
{{UIAttribute|Name=img|Optional|Type=string|Description=If a solid bar is not desired, the image that will be used to render the bar.}}<br />
{{UIAttribute|Name=direction|Optional|Type=left{{!}}right{{!}}up{{!}}down|Description=The direction that the bar decreases.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=ammo<br />
|Description=Current ammo value.<br />
|Attributes=<br />
{{UIAttribute|Name=type|Type=all{{!}}clip|Description=Determines whether to show current clip's ammo or total ammo.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=clips<br />
|Description=Current number of clips<br />
}}<br />
<br />
{{UIElement<br />
|Name=btimer <br />
|Description=Displays a build timer.<br />
}}<br />
<br />
{{UIElement<br />
|Name=credits<br />
|Description=Credits/evos available.<br />
|Attributes=<br />
{{UIAttribute|Name=precision|Type=integer|Description=Determines the number of leading decimal places (?)}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=stamina<br />
|Description=Available stamina<br />
}}<br />
<br />
{{UIElement<br />
|Name=boost<br />
|Description=Displays the current status of the [[Glossary#boost|boost]] and the time remaining before it is lost.<br />
}}<br />
<br />
{{UIElement<br />
|Name=selected<br />
|Description=Displays the icon of the currently selected item.<br />
}}<br />
<br />
{{UIElement<br />
|Name=weapon <br />
|Description=Displays the icon of the currently equipped weapon.<br />
}}<br />
<br />
{{UIElement<br />
|Name=wallclimb <br />
|Description=Wall climbing status indicator.<br />
}}<br />
<br />
{{UIElement<br />
|Name=alien_sense<br />
|Description=Alien radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=scanner<br />
|Description=Human radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=useable_buildable<br />
|Description=Indicates to the player when they are within range of a usable buildable.<br />
}}<br />
<br />
{{UIElement<br />
|Name=location <br />
|Description=Displays the name of the location in which the player is currently occupying, as set by the map author.<br />
}}<br />
<br />
{{UIElement<br />
|Name=team_overlay<br />
|Description=Team overlay which shows useful team info <!-- such as...? --><br />
}}<br />
<br />
{{UIElement<br />
|Name=fps<br />
|Description=Displays the current framerate, in frames per second.<br />
}}<br />
<br />
{{UIElement<br />
|Name=timer<br />
|Description=Displays the time since the game began.<br />
}}<br />
<br />
{{UIElement<br />
|Name=lagometer<br />
|Description=Displays a scrolling graph of the quality of the player's connection over time.<br />
}}<br />
<br />
{{UIElement<br />
|Name=speedometer<br />
|Description=Displays the player's current speed.<br />
}}<br />
<br />
{{UIElement<br />
|Name=crosshair_name<br />
|Description=Displays the name of the player currently in the crosshair, if it is appropriate to show.<br />
}}<br />
<br />
{{UIElement<br />
|Name=stage_report<br />
|Description=Indicates what percentage of map control is needed to advance to the next stage.<br />
}}<br />
<br />
{{UIElement<br />
|Name=demo<br />
|Description=Displays the state of demo recording or playback.<br />
}}</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=2080UI/Implementation2013-06-07T22:26:04Z<p>Ishq: /* Ownerdraws */</p>
<hr />
<div>==Legacy==<br />
<br />
{{Note|content=<br />
Please be aware that the information in this section describes the legacy (menu file&ndash;based) GUI. <br />
}}<br />
<br />
User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
===Editing tools===<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
===Troubleshooting===<br />
<br />
====Game crashes for an unknown reason====<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Implementation-Independent GUI Behavior==<br />
<br />
This information applies to both the legacy and libRocket GUI implementations.<br />
<br />
===Weapon icons===<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==libRocket GUI==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Integration Progress===<br />
<br />
====General====<br />
<br />
* Get libRocket to play nicely with q3 shaders [woo, done]<br />
* Clean up the generic RocketElement class used to draw all the ownerdraws [75%]<br />
* Remove ui_shared.c cgame dependence [50%]<br />
* Analyze potential of adding future animations [waaaaaaaaaay in the future, if at all] [https://github.com/TermiT/duke3d-megaton/tree/master/code/rocket DukeNukem3D Megaton]<br />
<br />
====Data Sources (aka feeders)====<br />
<br />
{| class="wikitable progress"<br />
|-<br />
! Name<br />
! Description<br />
! Status<br />
|-<br />
| Resolutions<br />
| list of resolutions<br />
| class="done" | Implemented<br />
|-<br />
| VoIP Input<br />
| Input devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| AL Output<br />
| Output devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| HUDS<br />
| List of HUDs to choose from<br />
| class="none" | Not Implemented<br />
|-<br />
| Languages<br />
| List of languages<br />
| class="done" | Implemented<br />
|-<br />
| Mods<br />
| List of mods<br />
| class="done" | Implemented<br />
|-<br />
| Demos<br />
| List of demos<br />
| class="done" | Implemented<br />
|-<br />
| Maps<br />
| List of maps<br />
| class="done" | Implemented<br />
|-<br />
| Players on team<br />
| List of players on each team<br />
| class="done" | Implemented<br />
|-<br />
| Players<br />
| List of players. This and above can probably be combined.<br />
| class="done" | Combined with the above<br />
|-<br />
| Server status<br />
| Detailed information on a server // Probably can implement without a feeder.<br />
| class="done" | Implemented<br />
|-<br />
| Find player<br />
| Results for a multiserver player search.<br />
| class="none" | Not Implemented<br />
|-<br />
| Team list<br />
| List of available teams<br />
| class="none" | Not Implemented<br />
|-<br />
| Classes<br />
| List of classes per team<br />
| class="none" | Not Implemented<br />
|-<br />
| Items<br />
| List of available items per team<br />
| class="none" | Not Implemented<br />
|-<br />
| Armory items<br />
| List of items. Can probably be merged with above.<br />
| class="none" | Not Implemented<br />
|-<br />
| Alien evo classes<br />
| List of classes that can be evo'd to.<br />
| class="none" | Not Implemented<br />
|-<br />
| Buildable menu<br />
| List of buildables that can be built<br />
| class="none" | Not Implemented<br />
|-<br />
| Ignore<br />
| List of players/patterns player has ignored<br />
| class="none" | Not Implemented<br />
|-<br />
| Help<br />
| List of help topics<br />
| class="none" | Not Implementing.<br />
|}<br />
<br />
====Missing Elements====<br />
* Chat field - Field for chat.<br />
* Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port. [done]<br />
* Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
* Key select - Detect which key is pressed. For binds.<br />
<br />
====HUD Elements====<br />
<br />
{{UIElement<br />
|Name=health<br />
|Description=Renders the player's current health.<br />
}}<br />
<br />
{{UIElement<br />
|Name=bar<br />
|Description=Draws a progress bar.<br />
|Attributes=<br />
{{UIAttribute|Name=item|Type=cvar|Description=The name of the cvar that determines the current value of the progress bar.}}<br />
{{UIAttribute|Name=maxValue|Type=cvar|Description=The name of the cvar that specifies the maximum value of the progress bar; when <code>item</code> reaches this value, the progress bar will be rendered completely full.}}<br />
{{UIAttribute|Name=img|Optional|Type=string|Description=If a solid bar is not desired, the image that will be used to render the bar.}}<br />
{{UIAttribute|Name=direction|Optional|Type=left{{!}}right{{!}}up{{!}}down|Description=The direction that the bar decreases.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=ammo<br />
|Description=Current ammo value.<br />
|Attributes=<br />
{{UIAttribute|Name=type|Type=all{{!}}clip|Description=Determines whether to show current clip's ammo or total ammo.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=clips<br />
|Description=Current number of clips<br />
}}<br />
<br />
{{UIElement<br />
|Name=btimer <br />
|Description=Displays a build timer.<br />
}}<br />
<br />
{{UIElement<br />
|Name=credits<br />
|Description=Credits/evos available.<br />
|Attributes=<br />
{{UIAttribute|Name=precision|Type=integer|Description=Determines the number of leading decimal places (?)}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=stamina<br />
|Description=Available stamina<br />
}}<br />
<br />
{{UIElement<br />
|Name=boost<br />
|Description=Displays the current status of the [[Glossary#boost|boost]] and the time remaining before it is lost.<br />
}}<br />
<br />
{{UIElement<br />
|Name=selected<br />
|Description=Displays the icon of the currently selected item.<br />
}}<br />
<br />
{{UIElement<br />
|Name=weapon <br />
|Description=Displays the icon of the currently equipped weapon.<br />
}}<br />
<br />
{{UIElement<br />
|Name=wallclimb <br />
|Description=Wall climbing status indicator.<br />
}}<br />
<br />
{{UIElement<br />
|Name=alien_sense<br />
|Description=Alien radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=scanner<br />
|Description=Human radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=useable_buildable<br />
|Description=Indicates to the player when they are within range of a usable buildable.<br />
}}<br />
<br />
{{UIElement<br />
|Name=location <br />
|Description=Displays the name of the location in which the player is currently occupying, as set by the map author.<br />
}}<br />
<br />
{{UIElement<br />
|Name=team_overlay<br />
|Description=Team overlay which shows useful team info <!-- such as...? --><br />
}}<br />
<br />
{{UIElement<br />
|Name=fps<br />
|Description=Displays the current framerate, in frames per second.<br />
}}<br />
<br />
{{UIElement<br />
|Name=timer<br />
|Description=Displays the time since the game began.<br />
}}<br />
<br />
{{UIElement<br />
|Name=lagometer<br />
|Description=Displays a scrolling graph of the quality of the player's connection over time.<br />
}}<br />
<br />
{{UIElement<br />
|Name=speedometer<br />
|Description=Displays the player's current speed.<br />
}}<br />
<br />
{{UIElement<br />
|Name=crosshair_name<br />
|Description=Displays the name of the player currently in the crosshair, if it is appropriate to show.<br />
}}<br />
<br />
{{UIElement<br />
|Name=stage_report<br />
|Description=Indicates what percentage of map control is needed to advance to the next stage.<br />
}}<br />
<br />
{{UIElement<br />
|Name=demo<br />
|Description=Displays the state of demo recording or playback.<br />
}}</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=2079UI/Implementation2013-06-07T22:24:21Z<p>Ishq: /* Data Sources (aka feeders) */</p>
<hr />
<div>==Legacy==<br />
<br />
{{Note|content=<br />
Please be aware that the information in this section describes the legacy (menu file&ndash;based) GUI. <br />
}}<br />
<br />
User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
===Editing tools===<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
===Troubleshooting===<br />
<br />
====Game crashes for an unknown reason====<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Implementation-Independent GUI Behavior==<br />
<br />
This information applies to both the legacy and libRocket GUI implementations.<br />
<br />
===Weapon icons===<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==libRocket GUI==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Integration Progress===<br />
<br />
====General====<br />
<br />
* Get libRocket to play nicely with q3 shaders [woo, done]<br />
* Clean up the generic RocketElement class used to draw all the ownerdraws [75%]<br />
* Remove ui_shared.c cgame dependence [50%]<br />
* Analyze potential of adding future animations [waaaaaaaaaay in the future, if at all] [https://github.com/TermiT/duke3d-megaton/tree/master/code/rocket DukeNukem3D Megaton]<br />
<br />
====Data Sources (aka feeders)====<br />
<br />
{| class="wikitable progress"<br />
|-<br />
! Name<br />
! Description<br />
! Status<br />
|-<br />
| Resolutions<br />
| list of resolutions<br />
| class="done" | Implemented<br />
|-<br />
| VoIP Input<br />
| Input devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| AL Output<br />
| Output devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| HUDS<br />
| List of HUDs to choose from<br />
| class="none" | Not Implemented<br />
|-<br />
| Languages<br />
| List of languages<br />
| class="done" | Implemented<br />
|-<br />
| Mods<br />
| List of mods<br />
| class="done" | Implemented<br />
|-<br />
| Demos<br />
| List of demos<br />
| class="done" | Implemented<br />
|-<br />
| Maps<br />
| List of maps<br />
| class="done" | Implemented<br />
|-<br />
| Players on team<br />
| List of players on each team<br />
| class="done" | Implemented<br />
|-<br />
| Players<br />
| List of players. This and above can probably be combined.<br />
| class="done" | Combined with the above<br />
|-<br />
| Server status<br />
| Detailed information on a server // Probably can implement without a feeder.<br />
| class="done" | Implemented<br />
|-<br />
| Find player<br />
| Results for a multiserver player search.<br />
| class="none" | Not Implemented<br />
|-<br />
| Team list<br />
| List of available teams<br />
| class="none" | Not Implemented<br />
|-<br />
| Classes<br />
| List of classes per team<br />
| class="none" | Not Implemented<br />
|-<br />
| Items<br />
| List of available items per team<br />
| class="none" | Not Implemented<br />
|-<br />
| Armory items<br />
| List of items. Can probably be merged with above.<br />
| class="none" | Not Implemented<br />
|-<br />
| Alien evo classes<br />
| List of classes that can be evo'd to.<br />
| class="none" | Not Implemented<br />
|-<br />
| Buildable menu<br />
| List of buildables that can be built<br />
| class="none" | Not Implemented<br />
|-<br />
| Ignore<br />
| List of players/patterns player has ignored<br />
| class="none" | Not Implemented<br />
|-<br />
| Help<br />
| List of help topics<br />
| class="none" | Not Implementing.<br />
|}<br />
<br />
====Missing Elements====<br />
* Chat field - Field for chat.<br />
* Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port. [done]<br />
* Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
* Key select - Detect which key is pressed. For binds.<br />
<br />
====Ownerdraws====<br />
<br />
{{UIElement<br />
|Name=health<br />
|Description=Renders the player's current health.<br />
}}<br />
<br />
{{UIElement<br />
|Name=bar<br />
|Description=Draws a progress bar.<br />
|Attributes=<br />
{{UIAttribute|Name=item|Type=cvar|Description=The name of the cvar that determines the current value of the progress bar.}}<br />
{{UIAttribute|Name=maxValue|Type=cvar|Description=The name of the cvar that specifies the maximum value of the progress bar; when <code>item</code> reaches this value, the progress bar will be rendered completely full.}}<br />
{{UIAttribute|Name=img|Optional|Type=string|Description=If a solid bar is not desired, the image that will be used to render the bar.}}<br />
{{UIAttribute|Name=direction|Optional|Type=left{{!}}right{{!}}up{{!}}down|Description=The direction that the bar decreases.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=ammo<br />
|Description=Current ammo value.<br />
|Attributes=<br />
{{UIAttribute|Name=type|Type=all{{!}}clip|Description=Determines whether to show current clip's ammo or total ammo.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=clips<br />
|Description=Current number of clips<br />
}}<br />
<br />
{{UIElement<br />
|Name=btimer <br />
|Description=Displays a build timer.<br />
}}<br />
<br />
{{UIElement<br />
|Name=credits<br />
|Description=Credits/evos available.<br />
|Attributes=<br />
{{UIAttribute|Name=precision|Type=integer|Description=Determines the number of leading decimal places (?)}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=stamina<br />
|Description=Available stamina<br />
}}<br />
<br />
{{UIElement<br />
|Name=boost<br />
|Description=Displays the current status of the [[Glossary#boost|boost]] and the time remaining before it is lost.<br />
}}<br />
<br />
{{UIElement<br />
|Name=selected<br />
|Description=Displays the icon of the currently selected item.<br />
}}<br />
<br />
{{UIElement<br />
|Name=weapon <br />
|Description=Displays the icon of the currently equipped weapon.<br />
}}<br />
<br />
{{UIElement<br />
|Name=wallclimb <br />
|Description=Wall climbing status indicator.<br />
}}<br />
<br />
{{UIElement<br />
|Name=alien_sense<br />
|Description=Alien radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=scanner<br />
|Description=Human radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=useable_buildable<br />
|Description=Indicates to the player when they are within range of a usable buildable.<br />
}}<br />
<br />
{{UIElement<br />
|Name=location <br />
|Description=Displays the name of the location in which the player is currently occupying, as set by the map author.<br />
}}<br />
<br />
{{UIElement<br />
|Name=team_overlay<br />
|Description=Team overlay which shows useful team info <!-- such as...? --><br />
}}<br />
<br />
{{UIElement<br />
|Name=fps<br />
|Description=Displays the current framerate, in frames per second.<br />
}}<br />
<br />
{{UIElement<br />
|Name=timer<br />
|Description=Displays the time since the game began.<br />
}}<br />
<br />
{{UIElement<br />
|Name=lagometer<br />
|Description=Displays a scrolling graph of the quality of the player's connection over time.<br />
}}<br />
<br />
{{UIElement<br />
|Name=speedometer<br />
|Description=Displays the player's current speed.<br />
}}<br />
<br />
{{UIElement<br />
|Name=crosshair_name<br />
|Description=Displays the name of the player currently in the crosshair, if it is appropriate to show.<br />
}}<br />
<br />
{{UIElement<br />
|Name=stage_report<br />
|Description=Indicates what percentage of map control is needed to advance to the next stage.<br />
}}<br />
<br />
{{UIElement<br />
|Name=demo<br />
|Description=Displays the state of demo recording or playback.<br />
}}</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=2078UI/Implementation2013-06-07T22:24:04Z<p>Ishq: /* Data Sources (aka feeders) */</p>
<hr />
<div>==Legacy==<br />
<br />
{{Note|content=<br />
Please be aware that the information in this section describes the legacy (menu file&ndash;based) GUI. <br />
}}<br />
<br />
User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
===Editing tools===<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
===Troubleshooting===<br />
<br />
====Game crashes for an unknown reason====<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Implementation-Independent GUI Behavior==<br />
<br />
This information applies to both the legacy and libRocket GUI implementations.<br />
<br />
===Weapon icons===<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==libRocket GUI==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Integration Progress===<br />
<br />
====General====<br />
<br />
* Get libRocket to play nicely with q3 shaders [woo, done]<br />
* Clean up the generic RocketElement class used to draw all the ownerdraws [75%]<br />
* Remove ui_shared.c cgame dependence [50%]<br />
* Analyze potential of adding future animations [waaaaaaaaaay in the future, if at all] [https://github.com/TermiT/duke3d-megaton/tree/master/code/rocket DukeNukem3D Megaton]<br />
<br />
====Data Sources (aka feeders)====<br />
<br />
{| class="wikitable progress"<br />
|-<br />
! Name<br />
! Description<br />
! Status<br />
|-<br />
| Resolutions<br />
| list of resolutions<br />
| class="done" | Implemented<br />
|-<br />
| VoIP Input<br />
| Input devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| AL Output<br />
| Output devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| HUDS<br />
| List of HUDs to choose from<br />
| class="none" | Not Implemented<br />
|-<br />
| Languages<br />
| List of languages<br />
| class="done" | Implemented<br />
|-<br />
| Mods<br />
| List of mods<br />
| class="done" | Implemented<br />
|-<br />
| Demos<br />
| List of demos<br />
| class="done" | Implemented<br />
|-<br />
| Maps<br />
| List of maps<br />
| class="done" | Implemented<br />
|-<br />
| Players on team<br />
| List of players on each team<br />
| class="done" | Implemented<br />
|-<br />
| Players<br />
| List of players. This and above can probably be combined.<br />
| class="done" | Combined with the above<br />
|-<br />
| Server status<br />
| Detailed information on a server // Probably can implement without a feeder.<br />
| class="Done" | Implemented<br />
|-<br />
| Find player<br />
| Results for a multiserver player search.<br />
| class="none" | Not Implemented<br />
|-<br />
| Team list<br />
| List of available teams<br />
| class="none" | Not Implemented<br />
|-<br />
| Classes<br />
| List of classes per team<br />
| class="none" | Not Implemented<br />
|-<br />
| Items<br />
| List of available items per team<br />
| class="none" | Not Implemented<br />
|-<br />
| Armory items<br />
| List of items. Can probably be merged with above.<br />
| class="none" | Not Implemented<br />
|-<br />
| Alien evo classes<br />
| List of classes that can be evo'd to.<br />
| class="none" | Not Implemented<br />
|-<br />
| Buildable menu<br />
| List of buildables that can be built<br />
| class="none" | Not Implemented<br />
|-<br />
| Ignore<br />
| List of players/patterns player has ignored<br />
| class="none" | Not Implemented<br />
|-<br />
| Help<br />
| List of help topics<br />
| class="none" | Not Implementing.<br />
|}<br />
<br />
====Missing Elements====<br />
* Chat field - Field for chat.<br />
* Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port. [done]<br />
* Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
* Key select - Detect which key is pressed. For binds.<br />
<br />
====Ownerdraws====<br />
<br />
{{UIElement<br />
|Name=health<br />
|Description=Renders the player's current health.<br />
}}<br />
<br />
{{UIElement<br />
|Name=bar<br />
|Description=Draws a progress bar.<br />
|Attributes=<br />
{{UIAttribute|Name=item|Type=cvar|Description=The name of the cvar that determines the current value of the progress bar.}}<br />
{{UIAttribute|Name=maxValue|Type=cvar|Description=The name of the cvar that specifies the maximum value of the progress bar; when <code>item</code> reaches this value, the progress bar will be rendered completely full.}}<br />
{{UIAttribute|Name=img|Optional|Type=string|Description=If a solid bar is not desired, the image that will be used to render the bar.}}<br />
{{UIAttribute|Name=direction|Optional|Type=left{{!}}right{{!}}up{{!}}down|Description=The direction that the bar decreases.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=ammo<br />
|Description=Current ammo value.<br />
|Attributes=<br />
{{UIAttribute|Name=type|Type=all{{!}}clip|Description=Determines whether to show current clip's ammo or total ammo.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=clips<br />
|Description=Current number of clips<br />
}}<br />
<br />
{{UIElement<br />
|Name=btimer <br />
|Description=Displays a build timer.<br />
}}<br />
<br />
{{UIElement<br />
|Name=credits<br />
|Description=Credits/evos available.<br />
|Attributes=<br />
{{UIAttribute|Name=precision|Type=integer|Description=Determines the number of leading decimal places (?)}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=stamina<br />
|Description=Available stamina<br />
}}<br />
<br />
{{UIElement<br />
|Name=boost<br />
|Description=Displays the current status of the [[Glossary#boost|boost]] and the time remaining before it is lost.<br />
}}<br />
<br />
{{UIElement<br />
|Name=selected<br />
|Description=Displays the icon of the currently selected item.<br />
}}<br />
<br />
{{UIElement<br />
|Name=weapon <br />
|Description=Displays the icon of the currently equipped weapon.<br />
}}<br />
<br />
{{UIElement<br />
|Name=wallclimb <br />
|Description=Wall climbing status indicator.<br />
}}<br />
<br />
{{UIElement<br />
|Name=alien_sense<br />
|Description=Alien radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=scanner<br />
|Description=Human radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=useable_buildable<br />
|Description=Indicates to the player when they are within range of a usable buildable.<br />
}}<br />
<br />
{{UIElement<br />
|Name=location <br />
|Description=Displays the name of the location in which the player is currently occupying, as set by the map author.<br />
}}<br />
<br />
{{UIElement<br />
|Name=team_overlay<br />
|Description=Team overlay which shows useful team info <!-- such as...? --><br />
}}<br />
<br />
{{UIElement<br />
|Name=fps<br />
|Description=Displays the current framerate, in frames per second.<br />
}}<br />
<br />
{{UIElement<br />
|Name=timer<br />
|Description=Displays the time since the game began.<br />
}}<br />
<br />
{{UIElement<br />
|Name=lagometer<br />
|Description=Displays a scrolling graph of the quality of the player's connection over time.<br />
}}<br />
<br />
{{UIElement<br />
|Name=speedometer<br />
|Description=Displays the player's current speed.<br />
}}<br />
<br />
{{UIElement<br />
|Name=crosshair_name<br />
|Description=Displays the name of the player currently in the crosshair, if it is appropriate to show.<br />
}}<br />
<br />
{{UIElement<br />
|Name=stage_report<br />
|Description=Indicates what percentage of map control is needed to advance to the next stage.<br />
}}<br />
<br />
{{UIElement<br />
|Name=demo<br />
|Description=Displays the state of demo recording or playback.<br />
}}</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=2077UI/Implementation2013-06-07T22:22:54Z<p>Ishq: /* Data Sources (aka feeders) */</p>
<hr />
<div>==Legacy==<br />
<br />
{{Note|content=<br />
Please be aware that the information in this section describes the legacy (menu file&ndash;based) GUI. <br />
}}<br />
<br />
User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
===Editing tools===<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
===Troubleshooting===<br />
<br />
====Game crashes for an unknown reason====<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Implementation-Independent GUI Behavior==<br />
<br />
This information applies to both the legacy and libRocket GUI implementations.<br />
<br />
===Weapon icons===<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==libRocket GUI==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Integration Progress===<br />
<br />
====General====<br />
<br />
* Get libRocket to play nicely with q3 shaders [woo, done]<br />
* Clean up the generic RocketElement class used to draw all the ownerdraws [75%]<br />
* Remove ui_shared.c cgame dependence [50%]<br />
* Analyze potential of adding future animations [waaaaaaaaaay in the future, if at all] [https://github.com/TermiT/duke3d-megaton/tree/master/code/rocket DukeNukem3D Megaton]<br />
<br />
====Data Sources (aka feeders)====<br />
<br />
{| class="wikitable progress"<br />
|-<br />
! Name<br />
! Description<br />
! Status<br />
|-<br />
| Resolutions<br />
| list of resolutions<br />
| class="done" | Implemented<br />
|-<br />
| VoIP Input<br />
| Input devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| AL Output<br />
| Output devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| HUDS<br />
| List of HUDs to choose from<br />
| class="none" | Not Implemented<br />
|-<br />
| Languages<br />
| List of languages<br />
| class="done" | Implemented<br />
|-<br />
| Mods<br />
| List of mods<br />
| class="done" | Implemented<br />
|-<br />
| Demos<br />
| List of demos<br />
| class="done" | Implemented<br />
|-<br />
| Maps<br />
| List of maps<br />
| class="done" | Implemented<br />
|-<br />
| Players on team<br />
| List of players on each team<br />
| class="Done" | Implemented<br />
|-<br />
| Players<br />
| List of players. This and above can probably be combined.<br />
| class="Done" | Combined with the above<br />
|-<br />
| Server status<br />
| Detailed information on a server // Probably can implement without a feeder.<br />
| class="Done" | Implemented<br />
|-<br />
| Find player<br />
| Results for a multiserver player search.<br />
| class="none" | Not Implemented<br />
|-<br />
| Team list<br />
| List of available teams<br />
| class="none" | Not Implemented<br />
|-<br />
| Classes<br />
| List of classes per team<br />
| class="none" | Not Implemented<br />
|-<br />
| Items<br />
| List of available items per team<br />
| class="none" | Not Implemented<br />
|-<br />
| Armory items<br />
| List of items. Can probably be merged with above.<br />
| class="none" | Not Implemented<br />
|-<br />
| Alien evo classes<br />
| List of classes that can be evo'd to.<br />
| class="none" | Not Implemented<br />
|-<br />
| Buildable menu<br />
| List of buildables that can be built<br />
| class="none" | Not Implemented<br />
|-<br />
| Ignore<br />
| List of players/patterns player has ignored<br />
| class="none" | Not Implemented<br />
|-<br />
| Help<br />
| List of help topics<br />
| class="none" | Not Implementing.<br />
|}<br />
<br />
====Missing Elements====<br />
* Chat field - Field for chat.<br />
* Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port. [done]<br />
* Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
* Key select - Detect which key is pressed. For binds.<br />
<br />
====Ownerdraws====<br />
<br />
{{UIElement<br />
|Name=health<br />
|Description=Renders the player's current health.<br />
}}<br />
<br />
{{UIElement<br />
|Name=bar<br />
|Description=Draws a progress bar.<br />
|Attributes=<br />
{{UIAttribute|Name=item|Type=cvar|Description=The name of the cvar that determines the current value of the progress bar.}}<br />
{{UIAttribute|Name=maxValue|Type=cvar|Description=The name of the cvar that specifies the maximum value of the progress bar; when <code>item</code> reaches this value, the progress bar will be rendered completely full.}}<br />
{{UIAttribute|Name=img|Optional|Type=string|Description=If a solid bar is not desired, the image that will be used to render the bar.}}<br />
{{UIAttribute|Name=direction|Optional|Type=left{{!}}right{{!}}up{{!}}down|Description=The direction that the bar decreases.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=ammo<br />
|Description=Current ammo value.<br />
|Attributes=<br />
{{UIAttribute|Name=type|Type=all{{!}}clip|Description=Determines whether to show current clip's ammo or total ammo.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=clips<br />
|Description=Current number of clips<br />
}}<br />
<br />
{{UIElement<br />
|Name=btimer <br />
|Description=Displays a build timer.<br />
}}<br />
<br />
{{UIElement<br />
|Name=credits<br />
|Description=Credits/evos available.<br />
|Attributes=<br />
{{UIAttribute|Name=precision|Type=integer|Description=Determines the number of leading decimal places (?)}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=stamina<br />
|Description=Available stamina<br />
}}<br />
<br />
{{UIElement<br />
|Name=boost<br />
|Description=Displays the current status of the [[Glossary#boost|boost]] and the time remaining before it is lost.<br />
}}<br />
<br />
{{UIElement<br />
|Name=selected<br />
|Description=Displays the icon of the currently selected item.<br />
}}<br />
<br />
{{UIElement<br />
|Name=weapon <br />
|Description=Displays the icon of the currently equipped weapon.<br />
}}<br />
<br />
{{UIElement<br />
|Name=wallclimb <br />
|Description=Wall climbing status indicator.<br />
}}<br />
<br />
{{UIElement<br />
|Name=alien_sense<br />
|Description=Alien radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=scanner<br />
|Description=Human radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=useable_buildable<br />
|Description=Indicates to the player when they are within range of a usable buildable.<br />
}}<br />
<br />
{{UIElement<br />
|Name=location <br />
|Description=Displays the name of the location in which the player is currently occupying, as set by the map author.<br />
}}<br />
<br />
{{UIElement<br />
|Name=team_overlay<br />
|Description=Team overlay which shows useful team info <!-- such as...? --><br />
}}<br />
<br />
{{UIElement<br />
|Name=fps<br />
|Description=Displays the current framerate, in frames per second.<br />
}}<br />
<br />
{{UIElement<br />
|Name=timer<br />
|Description=Displays the time since the game began.<br />
}}<br />
<br />
{{UIElement<br />
|Name=lagometer<br />
|Description=Displays a scrolling graph of the quality of the player's connection over time.<br />
}}<br />
<br />
{{UIElement<br />
|Name=speedometer<br />
|Description=Displays the player's current speed.<br />
}}<br />
<br />
{{UIElement<br />
|Name=crosshair_name<br />
|Description=Displays the name of the player currently in the crosshair, if it is appropriate to show.<br />
}}<br />
<br />
{{UIElement<br />
|Name=stage_report<br />
|Description=Indicates what percentage of map control is needed to advance to the next stage.<br />
}}<br />
<br />
{{UIElement<br />
|Name=demo<br />
|Description=Displays the state of demo recording or playback.<br />
}}</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=2076UI/Implementation2013-06-07T22:21:18Z<p>Ishq: /* General */</p>
<hr />
<div>==Legacy==<br />
<br />
{{Note|content=<br />
Please be aware that the information in this section describes the legacy (menu file&ndash;based) GUI. <br />
}}<br />
<br />
User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
===Editing tools===<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
===Troubleshooting===<br />
<br />
====Game crashes for an unknown reason====<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Implementation-Independent GUI Behavior==<br />
<br />
This information applies to both the legacy and libRocket GUI implementations.<br />
<br />
===Weapon icons===<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==libRocket GUI==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Integration Progress===<br />
<br />
====General====<br />
<br />
* Get libRocket to play nicely with q3 shaders [woo, done]<br />
* Clean up the generic RocketElement class used to draw all the ownerdraws [75%]<br />
* Remove ui_shared.c cgame dependence [50%]<br />
* Analyze potential of adding future animations [waaaaaaaaaay in the future, if at all] [https://github.com/TermiT/duke3d-megaton/tree/master/code/rocket DukeNukem3D Megaton]<br />
<br />
====Data Sources (aka feeders)====<br />
<br />
{| class="wikitable progress"<br />
|-<br />
! Name<br />
! Description<br />
! Status<br />
|-<br />
| Resolutions<br />
| list of resolutions<br />
| class="done" | Implemented<br />
|-<br />
| VoIP Input<br />
| Input devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| AL Output<br />
| Output devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| HUDS<br />
| List of HUDs to choose from<br />
| class="none" | Not Implemented<br />
|-<br />
| Languages<br />
| List of languages<br />
| class="done" | Implemented<br />
|-<br />
| Mods<br />
| List of mods<br />
| class="done" | Implemented<br />
|-<br />
| Demos<br />
| List of demos<br />
| class="done" | Implemented<br />
|-<br />
| Maps<br />
| List of maps<br />
| class="none" | Not Implemented<br />
|-<br />
| Players on team<br />
| List of players on each team<br />
| class="none" | Not Implemented<br />
|-<br />
| Players<br />
| List of players. This and above can probably be combined.<br />
| class="none" | Not Implemented<br />
|-<br />
| Server status<br />
| Detailed information on a server // Probably can implement without a feeder.<br />
| class="none" | Not Implemented<br />
|-<br />
| Find player<br />
| Results for a multiserver player search.<br />
| class="none" | Not Implemented<br />
|-<br />
| Team list<br />
| List of available teams<br />
| class="none" | Not Implemented<br />
|-<br />
| Classes<br />
| List of classes per team<br />
| class="none" | Not Implemented<br />
|-<br />
| Items<br />
| List of available items per team<br />
| class="none" | Not Implemented<br />
|-<br />
| Armory items<br />
| List of items. Can probably be merged with above.<br />
| class="none" | Not Implemented<br />
|-<br />
| Alien evo classes<br />
| List of classes that can be evo'd to.<br />
| class="none" | Not Implemented<br />
|-<br />
| Buildable menu<br />
| List of buildables that can be built<br />
| class="none" | Not Implemented<br />
|-<br />
| Ignore<br />
| List of players/patterns player has ignored<br />
| class="none" | Not Implemented<br />
|-<br />
| Help<br />
| List of help topics<br />
| class="none" | Not Implemented<br />
|}<br />
<br />
====Missing Elements====<br />
* Chat field - Field for chat.<br />
* Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port. [done]<br />
* Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
* Key select - Detect which key is pressed. For binds.<br />
<br />
====Ownerdraws====<br />
<br />
{{UIElement<br />
|Name=health<br />
|Description=Renders the player's current health.<br />
}}<br />
<br />
{{UIElement<br />
|Name=bar<br />
|Description=Draws a progress bar.<br />
|Attributes=<br />
{{UIAttribute|Name=item|Type=cvar|Description=The name of the cvar that determines the current value of the progress bar.}}<br />
{{UIAttribute|Name=maxValue|Type=cvar|Description=The name of the cvar that specifies the maximum value of the progress bar; when <code>item</code> reaches this value, the progress bar will be rendered completely full.}}<br />
{{UIAttribute|Name=img|Optional|Type=string|Description=If a solid bar is not desired, the image that will be used to render the bar.}}<br />
{{UIAttribute|Name=direction|Optional|Type=left{{!}}right{{!}}up{{!}}down|Description=The direction that the bar decreases.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=ammo<br />
|Description=Current ammo value.<br />
|Attributes=<br />
{{UIAttribute|Name=type|Type=all{{!}}clip|Description=Determines whether to show current clip's ammo or total ammo.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=clips<br />
|Description=Current number of clips<br />
}}<br />
<br />
{{UIElement<br />
|Name=btimer <br />
|Description=Displays a build timer.<br />
}}<br />
<br />
{{UIElement<br />
|Name=credits<br />
|Description=Credits/evos available.<br />
|Attributes=<br />
{{UIAttribute|Name=precision|Type=integer|Description=Determines the number of leading decimal places (?)}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=stamina<br />
|Description=Available stamina<br />
}}<br />
<br />
{{UIElement<br />
|Name=boost<br />
|Description=Displays the current status of the [[Glossary#boost|boost]] and the time remaining before it is lost.<br />
}}<br />
<br />
{{UIElement<br />
|Name=selected<br />
|Description=Displays the icon of the currently selected item.<br />
}}<br />
<br />
{{UIElement<br />
|Name=weapon <br />
|Description=Displays the icon of the currently equipped weapon.<br />
}}<br />
<br />
{{UIElement<br />
|Name=wallclimb <br />
|Description=Wall climbing status indicator.<br />
}}<br />
<br />
{{UIElement<br />
|Name=alien_sense<br />
|Description=Alien radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=scanner<br />
|Description=Human radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=useable_buildable<br />
|Description=Indicates to the player when they are within range of a usable buildable.<br />
}}<br />
<br />
{{UIElement<br />
|Name=location <br />
|Description=Displays the name of the location in which the player is currently occupying, as set by the map author.<br />
}}<br />
<br />
{{UIElement<br />
|Name=team_overlay<br />
|Description=Team overlay which shows useful team info <!-- such as...? --><br />
}}<br />
<br />
{{UIElement<br />
|Name=fps<br />
|Description=Displays the current framerate, in frames per second.<br />
}}<br />
<br />
{{UIElement<br />
|Name=timer<br />
|Description=Displays the time since the game began.<br />
}}<br />
<br />
{{UIElement<br />
|Name=lagometer<br />
|Description=Displays a scrolling graph of the quality of the player's connection over time.<br />
}}<br />
<br />
{{UIElement<br />
|Name=speedometer<br />
|Description=Displays the player's current speed.<br />
}}<br />
<br />
{{UIElement<br />
|Name=crosshair_name<br />
|Description=Displays the name of the player currently in the crosshair, if it is appropriate to show.<br />
}}<br />
<br />
{{UIElement<br />
|Name=stage_report<br />
|Description=Indicates what percentage of map control is needed to advance to the next stage.<br />
}}<br />
<br />
{{UIElement<br />
|Name=demo<br />
|Description=Displays the state of demo recording or playback.<br />
}}</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=2075UI/Implementation2013-06-07T22:20:54Z<p>Ishq: /* General */</p>
<hr />
<div>==Legacy==<br />
<br />
{{Note|content=<br />
Please be aware that the information in this section describes the legacy (menu file&ndash;based) GUI. <br />
}}<br />
<br />
User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
===Editing tools===<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
===Troubleshooting===<br />
<br />
====Game crashes for an unknown reason====<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Implementation-Independent GUI Behavior==<br />
<br />
This information applies to both the legacy and libRocket GUI implementations.<br />
<br />
===Weapon icons===<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==libRocket GUI==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Integration Progress===<br />
<br />
====General====<br />
<br />
* Get libRocket to play nicely with q3 shaders [woo, done]<br />
* Clean up the generic RocketElement class used to draw all the ownerdraws [75%]<br />
* Remove ui_shared.c cgame dependence [50%]<br />
* Analyze potential of adding future animations [waaaaaaaaaay in the future, if at all] [https://github.com/TermiT/duke3d-megaton/tree/master/code/rocket]<br />
<br />
====Data Sources (aka feeders)====<br />
<br />
{| class="wikitable progress"<br />
|-<br />
! Name<br />
! Description<br />
! Status<br />
|-<br />
| Resolutions<br />
| list of resolutions<br />
| class="done" | Implemented<br />
|-<br />
| VoIP Input<br />
| Input devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| AL Output<br />
| Output devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| HUDS<br />
| List of HUDs to choose from<br />
| class="none" | Not Implemented<br />
|-<br />
| Languages<br />
| List of languages<br />
| class="done" | Implemented<br />
|-<br />
| Mods<br />
| List of mods<br />
| class="done" | Implemented<br />
|-<br />
| Demos<br />
| List of demos<br />
| class="done" | Implemented<br />
|-<br />
| Maps<br />
| List of maps<br />
| class="none" | Not Implemented<br />
|-<br />
| Players on team<br />
| List of players on each team<br />
| class="none" | Not Implemented<br />
|-<br />
| Players<br />
| List of players. This and above can probably be combined.<br />
| class="none" | Not Implemented<br />
|-<br />
| Server status<br />
| Detailed information on a server // Probably can implement without a feeder.<br />
| class="none" | Not Implemented<br />
|-<br />
| Find player<br />
| Results for a multiserver player search.<br />
| class="none" | Not Implemented<br />
|-<br />
| Team list<br />
| List of available teams<br />
| class="none" | Not Implemented<br />
|-<br />
| Classes<br />
| List of classes per team<br />
| class="none" | Not Implemented<br />
|-<br />
| Items<br />
| List of available items per team<br />
| class="none" | Not Implemented<br />
|-<br />
| Armory items<br />
| List of items. Can probably be merged with above.<br />
| class="none" | Not Implemented<br />
|-<br />
| Alien evo classes<br />
| List of classes that can be evo'd to.<br />
| class="none" | Not Implemented<br />
|-<br />
| Buildable menu<br />
| List of buildables that can be built<br />
| class="none" | Not Implemented<br />
|-<br />
| Ignore<br />
| List of players/patterns player has ignored<br />
| class="none" | Not Implemented<br />
|-<br />
| Help<br />
| List of help topics<br />
| class="none" | Not Implemented<br />
|}<br />
<br />
====Missing Elements====<br />
* Chat field - Field for chat.<br />
* Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port. [done]<br />
* Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
* Key select - Detect which key is pressed. For binds.<br />
<br />
====Ownerdraws====<br />
<br />
{{UIElement<br />
|Name=health<br />
|Description=Renders the player's current health.<br />
}}<br />
<br />
{{UIElement<br />
|Name=bar<br />
|Description=Draws a progress bar.<br />
|Attributes=<br />
{{UIAttribute|Name=item|Type=cvar|Description=The name of the cvar that determines the current value of the progress bar.}}<br />
{{UIAttribute|Name=maxValue|Type=cvar|Description=The name of the cvar that specifies the maximum value of the progress bar; when <code>item</code> reaches this value, the progress bar will be rendered completely full.}}<br />
{{UIAttribute|Name=img|Optional|Type=string|Description=If a solid bar is not desired, the image that will be used to render the bar.}}<br />
{{UIAttribute|Name=direction|Optional|Type=left{{!}}right{{!}}up{{!}}down|Description=The direction that the bar decreases.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=ammo<br />
|Description=Current ammo value.<br />
|Attributes=<br />
{{UIAttribute|Name=type|Type=all{{!}}clip|Description=Determines whether to show current clip's ammo or total ammo.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=clips<br />
|Description=Current number of clips<br />
}}<br />
<br />
{{UIElement<br />
|Name=btimer <br />
|Description=Displays a build timer.<br />
}}<br />
<br />
{{UIElement<br />
|Name=credits<br />
|Description=Credits/evos available.<br />
|Attributes=<br />
{{UIAttribute|Name=precision|Type=integer|Description=Determines the number of leading decimal places (?)}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=stamina<br />
|Description=Available stamina<br />
}}<br />
<br />
{{UIElement<br />
|Name=boost<br />
|Description=Displays the current status of the [[Glossary#boost|boost]] and the time remaining before it is lost.<br />
}}<br />
<br />
{{UIElement<br />
|Name=selected<br />
|Description=Displays the icon of the currently selected item.<br />
}}<br />
<br />
{{UIElement<br />
|Name=weapon <br />
|Description=Displays the icon of the currently equipped weapon.<br />
}}<br />
<br />
{{UIElement<br />
|Name=wallclimb <br />
|Description=Wall climbing status indicator.<br />
}}<br />
<br />
{{UIElement<br />
|Name=alien_sense<br />
|Description=Alien radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=scanner<br />
|Description=Human radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=useable_buildable<br />
|Description=Indicates to the player when they are within range of a usable buildable.<br />
}}<br />
<br />
{{UIElement<br />
|Name=location <br />
|Description=Displays the name of the location in which the player is currently occupying, as set by the map author.<br />
}}<br />
<br />
{{UIElement<br />
|Name=team_overlay<br />
|Description=Team overlay which shows useful team info <!-- such as...? --><br />
}}<br />
<br />
{{UIElement<br />
|Name=fps<br />
|Description=Displays the current framerate, in frames per second.<br />
}}<br />
<br />
{{UIElement<br />
|Name=timer<br />
|Description=Displays the time since the game began.<br />
}}<br />
<br />
{{UIElement<br />
|Name=lagometer<br />
|Description=Displays a scrolling graph of the quality of the player's connection over time.<br />
}}<br />
<br />
{{UIElement<br />
|Name=speedometer<br />
|Description=Displays the player's current speed.<br />
}}<br />
<br />
{{UIElement<br />
|Name=crosshair_name<br />
|Description=Displays the name of the player currently in the crosshair, if it is appropriate to show.<br />
}}<br />
<br />
{{UIElement<br />
|Name=stage_report<br />
|Description=Indicates what percentage of map control is needed to advance to the next stage.<br />
}}<br />
<br />
{{UIElement<br />
|Name=demo<br />
|Description=Displays the state of demo recording or playback.<br />
}}</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=2033UI/Implementation2013-05-22T23:08:20Z<p>Ishq: /* Missing Elements */</p>
<hr />
<div>==Legacy==<br />
<br />
{{Note|content=<br />
Please be aware that the information in this section describes the legacy (menu file&ndash;based) GUI. <br />
}}<br />
<br />
User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
===Editing tools===<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
===Troubleshooting===<br />
<br />
====Game crashes for an unknown reason====<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Implementation-Independent GUI Behavior==<br />
<br />
This information applies to both the legacy and libRocket GUI implementations.<br />
<br />
===Weapon icons===<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==libRocket GUI==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Integration Progress===<br />
<br />
====General====<br />
<br />
* Get libRocket to play nicely with q3 shaders<br />
* Clean up the generic RocketElement class used to draw all the ownerdraws [50%]<br />
* Remove ui_shared.c cgame dependence [10%]<br />
* Analyze potential of adding future animations [waaaaaaaaaay in the future, if at all]<br />
<br />
====Data Sources (aka feeders)====<br />
<br />
{| class="wikitable progress"<br />
|-<br />
! Name<br />
! Description<br />
! Status<br />
|-<br />
| Resolutions<br />
| list of resolutions<br />
| class="done" | Implemented<br />
|-<br />
| VoIP Input<br />
| Input devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| AL Output<br />
| Output devices for OpenAL<br />
| class="done" | Implemented<br />
|-<br />
| HUDS<br />
| List of HUDs to choose from<br />
| class="none" | Not Implemented<br />
|-<br />
| Languages<br />
| List of languages<br />
| class="done" | Implemented<br />
|-<br />
| Mods<br />
| List of mods<br />
| class="done" | Implemented<br />
|-<br />
| Demos<br />
| List of demos<br />
| class="done" | Implemented<br />
|-<br />
| Maps<br />
| List of maps<br />
| class="none" | Not Implemented<br />
|-<br />
| Players on team<br />
| List of players on each team<br />
| class="none" | Not Implemented<br />
|-<br />
| Players<br />
| List of players. This and above can probably be combined.<br />
| class="none" | Not Implemented<br />
|-<br />
| Server status<br />
| Detailed information on a server // Probably can implement without a feeder.<br />
| class="none" | Not Implemented<br />
|-<br />
| Find player<br />
| Results for a multiserver player search.<br />
| class="none" | Not Implemented<br />
|-<br />
| Team list<br />
| List of available teams<br />
| class="none" | Not Implemented<br />
|-<br />
| Classes<br />
| List of classes per team<br />
| class="none" | Not Implemented<br />
|-<br />
| Items<br />
| List of available items per team<br />
| class="none" | Not Implemented<br />
|-<br />
| Armory items<br />
| List of items. Can probably be merged with above.<br />
| class="none" | Not Implemented<br />
|-<br />
| Alien evo classes<br />
| List of classes that can be evo'd to.<br />
| class="none" | Not Implemented<br />
|-<br />
| Buildable menu<br />
| List of buildables that can be built<br />
| class="none" | Not Implemented<br />
|-<br />
| Ignore<br />
| List of players/patterns player has ignored<br />
| class="none" | Not Implemented<br />
|-<br />
| Help<br />
| List of help topics<br />
| class="none" | Not Implemented<br />
|}<br />
<br />
====Missing Elements====<br />
* Chat field - Field for chat.<br />
* Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port. [done]<br />
* Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
* Key select - Detect which key is pressed. For binds.<br />
<br />
====Ownerdraws====<br />
<br />
{{UIElement<br />
|Name=health<br />
|Description=Renders the player's current health.<br />
}}<br />
<br />
{{UIElement<br />
|Name=bar<br />
|Description=Draws a progress bar.<br />
|Attributes=<br />
{{UIAttribute|Name=item|Type=cvar|Description=The name of the cvar that determines the current value of the progress bar.}}<br />
{{UIAttribute|Name=maxValue|Type=cvar|Description=The name of the cvar that specifies the maximum value of the progress bar; when <code>item</code> reaches this value, the progress bar will be rendered completely full.}}<br />
{{UIAttribute|Name=img|Optional|Type=string|Description=If a solid bar is not desired, the image that will be used to render the bar.}}<br />
{{UIAttribute|Name=direction|Optional|Type=left{{!}}right{{!}}up{{!}}down|Description=The direction that the bar decreases.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=ammo<br />
|Description=Current ammo value.<br />
|Attributes=<br />
{{UIAttribute|Name=type|Type=all{{!}}clip|Description=Determines whether to show current clip's ammo or total ammo.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=clips<br />
|Description=Current number of clips<br />
}}<br />
<br />
{{UIElement<br />
|Name=btimer <br />
|Description=Displays a build timer.<br />
}}<br />
<br />
{{UIElement<br />
|Name=credits<br />
|Description=Credits/evos available.<br />
|Attributes=<br />
{{UIAttribute|Name=precision|Type=integer|Description=Determines the number of leading decimal places (?)}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=stamina<br />
|Description=Available stamina<br />
}}<br />
<br />
{{UIElement<br />
|Name=boost<br />
|Description=Displays the current status of the [[Glossary#boost|boost]] and the time remaining before it is lost.<br />
}}<br />
<br />
{{UIElement<br />
|Name=selected<br />
|Description=Displays the icon of the currently selected item.<br />
}}<br />
<br />
{{UIElement<br />
|Name=weapon <br />
|Description=Displays the icon of the currently equipped weapon.<br />
}}<br />
<br />
{{UIElement<br />
|Name=wallclimb <br />
|Description=Wall climbing status indicator.<br />
}}<br />
<br />
{{UIElement<br />
|Name=alien_sense<br />
|Description=Alien radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=scanner<br />
|Description=Human radar.<br />
}}<br />
<br />
{{UIElement<br />
|Name=useable_buildable<br />
|Description=Indicates to the player when they are within range of a usable buildable.<br />
}}<br />
<br />
{{UIElement<br />
|Name=location <br />
|Description=Displays the name of the location in which the player is currently occupying, as set by the map author.<br />
}}<br />
<br />
{{UIElement<br />
|Name=team_overlay<br />
|Description=Team overlay which shows useful team info <!-- such as...? --><br />
}}<br />
<br />
{{UIElement<br />
|Name=fps<br />
|Description=Displays the current framerate, in frames per second.<br />
}}<br />
<br />
{{UIElement<br />
|Name=timer<br />
|Description=Displays the time since the game began.<br />
}}<br />
<br />
{{UIElement<br />
|Name=lagometer<br />
|Description=Displays a scrolling graph of the quality of the player's connection over time.<br />
}}<br />
<br />
{{UIElement<br />
|Name=speedometer<br />
|Description=Displays the player's current speed.<br />
}}<br />
<br />
{{UIElement<br />
|Name=crosshair_name<br />
|Description=Displays the name of the player currently in the crosshair, if it is appropriate to show.<br />
}}<br />
<br />
{{UIElement<br />
|Name=stage_report<br />
|Description=Indicates what percentage of map control is needed to advance to the next stage.<br />
}}<br />
<br />
{{UIElement<br />
|Name=demo<br />
|Description=Displays the state of demo recording or playback.<br />
}}</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=2003UI/Implementation2013-05-07T19:38:14Z<p>Ishq: /* Data Sources (aka feeders) */</p>
<hr />
<div>User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
==Weapon icons==<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==Editing tools==<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
==Troubleshooting==<br />
<br />
===Game crashes for an unknown reason===<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Transition to libRocket==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Progress===<br />
====General====<br />
*Get libRocket to play nicely with q3 shaders<br />
*Clean up the generic RocketElement class used to draw all the ownerdraws [50%]<br />
*Remove ui_shared.c cgame dependence [10%]<br />
*Analyze potential of adding future animations [waaaaaaaaaay in the future, if at all]<br />
<br />
====Data Sources (aka feeders)====<br />
*Resolutions - list of resolutions [done]<br />
*VoIP Input - Input devices for OpenAL [done]<br />
*AL Output - Output devices for OpenAL [done]<br />
*HUDS - List of HUDs to choose from<br />
*Languages - List of languages [done]<br />
*Mods - List of mods [done]<br />
*Demos - List of demos [done]<br />
*Maps - List of maps<br />
*Players on team - List of players on each team<br />
*Players - List of players. This and above can probably be combined.<br />
*Server status - Detailed information on a server // Probably can implement without a feeder.<br />
*Find player - Results for a multiserver player search.<br />
*Team list - List of available teams<br />
*Classes - List of classes per team<br />
*Items - List of available items per team<br />
*Armory items - List of items. Can probably be merged with above.<br />
*Alien evo classes - List of classes that can be evo'd to.<br />
*Buildable menu - List of buildables that can be built<br />
*Ignore - List of players/patterns player has ignored<br />
*Help - List of help topics<br />
<br />
====Missing Elements====<br />
*Chat field - Field for chat.<br />
*Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port.<br />
*Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
*Keyselect - Detect which key is pressed. For binds.<br />
<br />
====Ownerdraws====<br />
<br />
{{UIElement<br />
|Name=health<br />
|Description=Renders the player's current health.<br />
}}<br />
<br />
{{UIElement<br />
|Name=bar<br />
|Description=Draws a progress bar.<br />
|Attributes=<br />
{{UIAttribute|Name=item|Type=cvar|Description=The name of the cvar that determines the current value of the progress bar.}}<br />
{{UIAttribute|Name=maxValue|Type=cvar|Description=The name of the cvar that specifies the maximum value of the progress bar; when <code>item</code> reaches this value, the progress bar will be rendered completely full.}}<br />
{{UIAttribute|Name=img|Optional|Type=string|Description=If a solid bar is not desired, the image that will be used to render the bar.}}<br />
{{UIAttribute|Name=direction|Optional|Type=left{{!}}right{{!}}up{{!}}down|Description=The direction that the bar decreases.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=ammo<br />
|Description=Current ammo value.<br />
|Attributes=<br />
{{UIAttribute|Name=type|Type=all{{!}}clip|Description=Determines whether to show current clip's ammo or total ammo.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=clips<br />
|Description=Current number of clips<br />
}}<br />
<br />
*<btimer /> - Build timer display<br />
*<credits precision=(decimal places) /> - Credits/evos available.<br />
*<stamina /> - Available stamina<br />
*<boost /> - Boosted status and time remaining<br />
*<selected /> - Item selected<br />
*<weapon /> - selected weapon icon<br />
*<wallclimb /> - Wall climbing status indicator<br />
*<alien_sense /> - Alien radar<br />
*<scanner /> - Human radar<br />
*<useable_buildable /> - Indicator that you are near a usable buildable<br />
*<location /> - Player location text<br />
*<team_overlay /> - Team overlay which shows useful team info<br />
*<fps /> - Frames per second<br />
*<timer /> - Time since game began<br />
*<lagometer /> - Lagometer. Quality of connection<br />
*<speedometer /> - Wheeee. Current speed.<br />
*<crosshair_name /> - Name of player in crosshair<br />
*<stage_report /> - Stage report. % of mapcontrol needed for next stage<br />
*<demo /> - State of demo. eg, recording/playing</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=2002UI/Implementation2013-05-07T09:54:55Z<p>Ishq: /* Data Sources (aka feeders) */</p>
<hr />
<div>User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
==Weapon icons==<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==Editing tools==<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
==Troubleshooting==<br />
<br />
===Game crashes for an unknown reason===<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Transition to libRocket==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Progress===<br />
====General====<br />
*Get libRocket to play nicely with q3 shaders<br />
*Clean up the generic RocketElement class used to draw all the ownerdraws [50%]<br />
*Remove ui_shared.c cgame dependence [10%]<br />
*Analyze potential of adding future animations [waaaaaaaaaay in the future, if at all]<br />
<br />
====Data Sources (aka feeders)====<br />
*Resolutions - list of resolutions [done]<br />
*VoIP Input - Input devices for OpenAL [done]<br />
*AL Output - Output devices for OpenAL [done]<br />
*HUDS - List of HUDs to choose from<br />
*Languages - List of languages [done]<br />
*Mods - List of mods [done]<br />
*Demos - List of demos<br />
*Maps - List of maps<br />
*Players on team - List of players on each team<br />
*Players - List of players. This and above can probably be combined.<br />
*Server status - Detailed information on a server // Probably can implement without a feeder.<br />
*Find player - Results for a multiserver player search.<br />
*Team list - List of available teams<br />
*Classes - List of classes per team<br />
*Items - List of available items per team<br />
*Armory items - List of items. Can probably be merged with above.<br />
*Alien evo classes - List of classes that can be evo'd to.<br />
*Buildable menu - List of buildables that can be built<br />
*Ignore - List of players/patterns player has ignored<br />
*Help - List of help topics<br />
<br />
====Missing Elements====<br />
*Chat field - Field for chat.<br />
*Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port.<br />
*Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
*Keyselect - Detect which key is pressed. For binds.<br />
<br />
====Ownerdraws====<br />
<br />
{{UIElement<br />
|Name=health<br />
|Description=Renders the player's current health.<br />
}}<br />
<br />
{{UIElement<br />
|Name=bar<br />
|Description=Draws a progress bar.<br />
|Attributes=<br />
{{UIAttribute|Name=item|Type=cvar|Description=The name of the cvar that determines the current value of the progress bar.}}<br />
{{UIAttribute|Name=maxValue|Type=cvar|Description=The name of the cvar that specifies the maximum value of the progress bar; when <code>item</code> reaches this value, the progress bar will be rendered completely full.}}<br />
{{UIAttribute|Name=img|Optional|Type=string|Description=If a solid bar is not desired, the image that will be used to render the bar.}}<br />
{{UIAttribute|Name=direction|Optional|Type=left{{!}}right{{!}}up{{!}}down|Description=The direction that the bar decreases.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=ammo<br />
|Description=Current ammo value.<br />
|Attributes=<br />
{{UIAttribute|Name=type|Type=all{{!}}clip|Description=Determines whether to show current clip's ammo or total ammo.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=clips<br />
|Description=Current number of clips<br />
}}<br />
<br />
*<btimer /> - Build timer display<br />
*<credits precision=(decimal places) /> - Credits/evos available.<br />
*<stamina /> - Available stamina<br />
*<boost /> - Boosted status and time remaining<br />
*<selected /> - Item selected<br />
*<weapon /> - selected weapon icon<br />
*<wallclimb /> - Wall climbing status indicator<br />
*<alien_sense /> - Alien radar<br />
*<scanner /> - Human radar<br />
*<useable_buildable /> - Indicator that you are near a usable buildable<br />
*<location /> - Player location text<br />
*<team_overlay /> - Team overlay which shows useful team info<br />
*<fps /> - Frames per second<br />
*<timer /> - Time since game began<br />
*<lagometer /> - Lagometer. Quality of connection<br />
*<speedometer /> - Wheeee. Current speed.<br />
*<crosshair_name /> - Name of player in crosshair<br />
*<stage_report /> - Stage report. % of mapcontrol needed for next stage<br />
*<demo /> - State of demo. eg, recording/playing</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=1977UI/Implementation2013-04-19T04:44:44Z<p>Ishq: /* Data Sources (aka feeders) */</p>
<hr />
<div>User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
==Weapon icons==<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==Editing tools==<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
==Troubleshooting==<br />
<br />
===Game crashes for an unknown reason===<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Transition to libRocket==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Progress===<br />
====General====<br />
*Get libRocket to play nicely with q3 shaders<br />
*Clean up the generic RocketElement class used to draw all the ownerdraws [50%]<br />
*Remove ui_shared.c cgame dependence [10%]<br />
*Analyze potential of adding future animations [waaaaaaaaaay in the future, if at all]<br />
<br />
====Data Sources (aka feeders)====<br />
*Resolutions - list of resolutions [done]<br />
*VoIP Input - Input devices for OpenAL [done]<br />
*AL Output - Output devices for OpenAL [done]<br />
*HUDS - List of HUDs to choose from<br />
*Languages - List of languages [done]<br />
*Mods - List of mods<br />
*Demos - List of demos<br />
*Maps - List of maps<br />
*Players on team - List of players on each team<br />
*Players - List of players. This and above can probably be combined.<br />
*Server status - Detailed information on a server // Probably can implement without a feeder.<br />
*Find player - Results for a multiserver player search.<br />
*Team list - List of available teams<br />
*Classes - List of classes per team<br />
*Items - List of available items per team<br />
*Armory items - List of items. Can probably be merged with above.<br />
*Alien evo classes - List of classes that can be evo'd to.<br />
*Buildable menu - List of buildables that can be built<br />
*Ignore - List of players/patterns player has ignored<br />
*Help - List of help topics<br />
<br />
====Missing Elements====<br />
*Chat field - Field for chat.<br />
*Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port.<br />
*Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
*Keyselect - Detect which key is pressed. For binds.<br />
<br />
====Ownerdraws====<br />
<br />
{{UIElement<br />
|Name=health<br />
|Description=Renders the player's current health.<br />
}}<br />
<br />
{{UIElement<br />
|Name=bar<br />
|Description=Draws a progress bar.<br />
|Attributes=<br />
{{UIAttribute|Name=item|Type=cvar|Description=The name of the cvar that determines the current value of the progress bar.}}<br />
{{UIAttribute|Name=maxValue|Type=cvar|Description=The name of the cvar that specifies the maximum value of the progress bar; when <code>item</code> reaches this value, the progress bar will be rendered completely full.}}<br />
{{UIAttribute|Name=img|Optional|Type=string|Description=If a solid bar is not desired, the image that will be used to render the bar.}}<br />
{{UIAttribute|Name=direction|Optional|Type=left{{!}}right{{!}}up{{!}}down|Description=The direction that the bar decreases.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=ammo<br />
|Description=Current ammo value.<br />
|Attributes=<br />
{{UIAttribute|Name=type|Type=all{{!}}clip|Description=Determines whether to show current clip's ammo or total ammo.}}<br />
}}<br />
<br />
{{UIElement<br />
|Name=clips<br />
|Description=Current number of clips<br />
}}<br />
<br />
*<btimer /> - Build timer display<br />
*<credits precision=(decimal places) /> - Credits/evos available.<br />
*<stamina /> - Available stamina<br />
*<boost /> - Boosted status and time remaining<br />
*<selected /> - Item selected<br />
*<weapon /> - selected weapon icon<br />
*<wallclimb /> - Wall climbing status indicator<br />
*<alien_sense /> - Alien radar<br />
*<scanner /> - Human radar<br />
*<useable_buildable /> - Indicator that you are near a usable buildable<br />
*<location /> - Player location text<br />
*<team_overlay /> - Team overlay which shows useful team info<br />
*<fps /> - Frames per second<br />
*<timer /> - Time since game began<br />
*<lagometer /> - Lagometer. Quality of connection<br />
*<speedometer /> - Wheeee. Current speed.<br />
*<crosshair_name /> - Name of player in crosshair<br />
*<stage_report /> - Stage report. % of mapcontrol needed for next stage<br />
*<demo /> - State of demo. eg, recording/playing</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=1903UI/Implementation2013-03-30T10:53:35Z<p>Ishq: /* Ownerdraws */</p>
<hr />
<div>User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
==Weapon icons==<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==Editing tools==<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
==Troubleshooting==<br />
<br />
===Game crashes for an unknown reason===<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Transition to libRocket==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Progress===<br />
====General====<br />
*Get libRocket to play nicely with q3 shaders<br />
*Clean up the generic RocketElement class used to draw all the ownerdraws [50%]<br />
*Remove ui_shared.c cgame dependence [10%]<br />
*Analyze potential of adding future animations [waaaaaaaaaay in the future, if at all]<br />
<br />
====Data Sources (aka feeders)====<br />
*Resolutions - list of resolutions<br />
*VoIP Input - Input devices for OpenAL<br />
*AL Output - Output devices for OpenAL<br />
*HUDS - List of HUDs to choose from<br />
*Languages - List of languages<br />
*Mods - List of mods<br />
*Demos - List of demos<br />
*Maps - List of maps<br />
*Players on team - List of players on each team<br />
*Players - List of players. This and above can probably be combined.<br />
*Server status - Detailed information on a server // Probably can implement without a feeder.<br />
*Find player - Results for a multiserver player search.<br />
*Team list - List of available teams<br />
*Classes - List of classes per team<br />
*Items - List of available items per team<br />
*Armory items - List of items. Can probably be merged with above.<br />
*Alien evo classes - List of classes that can be evo'd to.<br />
*Buildable menu - List of buildables that can be built<br />
*Ignore - List of players/patterns player has ignored<br />
*Help - List of help topics<br />
<br />
====Missing Elements====<br />
*Chat field - Field for chat.<br />
*Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port.<br />
*Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
*Keyselect - Detect which key is pressed. For binds.<br />
<br />
====Ownerdraws====<br />
*<health /> - Player health<br />
*<bar item=(current value) maxValue=(max value) img=(image to draw) direction=(left|right|up|down) /> - Draw a bar for this item. Both $item and $maxvalue are cvars that say the value and maxvalue. img determines which image to draw, if a rectangular bar is not desired. direction is direction it decreases.<br />
*<ammo type=(all|clip) /> - Current ammo value. Type determines whether to show current clip's ammo or total ammo.<br />
*<clips /> - Current number of clips<br />
*<btimer /> - Build timer display<br />
*<credits precision=(decimal places) /> - Credits/evos available.<br />
*<stamina /> - Available stamina<br />
*<boost /> - Boosted status and time remaining<br />
*<selected /> - Item selected<br />
*<weapon /> - selected weapon icon<br />
*<wallclimb /> - Wall climbing status indicator<br />
*<alien_sense /> - Alien radar<br />
*<scanner /> - Human radar<br />
*<useable_buildable /> - Indicator that you are near a usable buildable<br />
*<location /> - Player location text<br />
*<team_overlay /> - Team overlay which shows useful team info<br />
*<fps /> - Frames per second<br />
*<timer /> - Time since game began<br />
*<lagometer /> - Lagometer. Quality of connection<br />
*<speedometer /> - Wheeee. Current speed.<br />
*<crosshair_name /> - Name of player in crosshair<br />
*<stage_report /> - Stage report. % of mapcontrol needed for next stage<br />
*<demo /> - State of demo. eg, recording/playing</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=1902UI/Implementation2013-03-30T10:52:34Z<p>Ishq: /* libRocket Progress */</p>
<hr />
<div>User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
==Weapon icons==<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==Editing tools==<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
==Troubleshooting==<br />
<br />
===Game crashes for an unknown reason===<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Transition to libRocket==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Progress===<br />
====General====<br />
*Get libRocket to play nicely with q3 shaders<br />
*Clean up the generic RocketElement class used to draw all the ownerdraws [50%]<br />
*Remove ui_shared.c cgame dependence [10%]<br />
*Analyze potential of adding future animations [waaaaaaaaaay in the future, if at all]<br />
<br />
====Data Sources (aka feeders)====<br />
*Resolutions - list of resolutions<br />
*VoIP Input - Input devices for OpenAL<br />
*AL Output - Output devices for OpenAL<br />
*HUDS - List of HUDs to choose from<br />
*Languages - List of languages<br />
*Mods - List of mods<br />
*Demos - List of demos<br />
*Maps - List of maps<br />
*Players on team - List of players on each team<br />
*Players - List of players. This and above can probably be combined.<br />
*Server status - Detailed information on a server // Probably can implement without a feeder.<br />
*Find player - Results for a multiserver player search.<br />
*Team list - List of available teams<br />
*Classes - List of classes per team<br />
*Items - List of available items per team<br />
*Armory items - List of items. Can probably be merged with above.<br />
*Alien evo classes - List of classes that can be evo'd to.<br />
*Buildable menu - List of buildables that can be built<br />
*Ignore - List of players/patterns player has ignored<br />
*Help - List of help topics<br />
<br />
====Missing Elements====<br />
*Chat field - Field for chat.<br />
*Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port.<br />
*Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
*Keyselect - Detect which key is pressed. For binds.<br />
<br />
====Ownerdraws====<br />
*<health /> - Player health<br />
*<bar item=(current value) maxValue=(max value) img=(image to draw) direction=(left|right|up|down) /> - Draw a bar for this item. Both $item and $maxvalue are cvars that say the value and maxvalue. img determines which image to draw, if a rectangular bar is not desired. direction is direction it decreases.<br />
*<ammo type=(all|clip) /> - Current ammo value. Type determines whetehr to show current clip's ammo or total ammo.<br />
*<clips /> - Current number of clips<br />
*<btimer /> - Build timer display<br />
*<credits precision=(decimal places) /> - Credits/evos available.<br />
*<stamina /> - Available stamina<br />
*<boost /> - Boosted status and time remaining<br />
*<selected /> - Item selected<br />
*<weapon /> - selected weapon icon<br />
*<wallclimb /> - Wall climbing status indicator<br />
*<alien_sense /> - Alien radar<br />
*<scanner /> - Human radar<br />
*<useable_buildable /> - Indicator that you are near a usable buildable<br />
*<location /> - Player location text<br />
*<team_overlay /> - Team overlay which shows useful team info<br />
*<fps /> - Frames per second<br />
*<timer /> - Time since game began<br />
*<lagometer /> - Lagometer. Quality of connection<br />
*<speedometer /> - Wheeee. Current speed.<br />
*<crosshair_name /> - Name of player in crosshair<br />
*<stage_report /> - Stage report. % of mapcontrol needed for next stage<br />
*<demo /> - State of demo. eg, recording/playing</div>Ishqhttps://wiki.unvanquished.net/index.php?title=UI/Implementation&diff=1899UI/Implementation2013-03-30T06:51:55Z<p>Ishq: </p>
<hr />
<div>User interface code runs in its own [[Virtual_machines|virtual machine]]. Source code for handling user interface controls and loading UI files may be found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/src/gamelogic/ui src/gamelogic/ui/]</code>; the actual UI content is controlled by configuration files found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui main/ui/]</code>. The list of menu files is found in <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menus.txt main/ui/menus.txt]</code>. The game will not run without this file present.<br />
<br />
==Weapon icons==<br />
<br />
Weapon icons are controlled by the <code>icon</code> entry in the weapon's [[Exporting_Models#Weapons_2|configuration file]].<br />
<br />
==Editing tools==<br />
<br />
There is a Quake 3 HUD editor called [http://plrf.org/q3cpmahudeditor/ q3cmpa hud editor] (which is no longer maintained), and a newer version called [http://plrf.org/superhudeditor/ SuperHud Editor], which appears to be built using wxWidgets.<br />
<br />
==Troubleshooting==<br />
<br />
===Game crashes for an unknown reason===<br />
<br />
Your <code>[https://github.com/Unvanquished/Unvanquished/tree/master/main/ui/menudef.h main/ui/menudef.h]</code> file may be out of date. <!-- TODO: add bt to where this usually happens --><br />
<br />
==Transition to libRocket==<br />
<br />
A move to use [http://librocket.com/ libRocket] has been planned with support underway. This middleware will allow creating the user interface using HTML and CSS. If you are interested in assisting with the transition, please [[Main_Page#Contributing|contact a member of the team]] to find out how to help.<br />
<br />
===libRocket Progress===<br />
====Data Sources (aka feeders)====<br />
*Resolutions - list of resolutions<br />
*VoIP Input - Input devices for OpenAL<br />
*AL Output - Output devices for OpenAL<br />
*HUDS - List of HUDs to choose from<br />
*Languages - List of languages<br />
*Mods - List of mods<br />
*Demos - List of demos<br />
*Maps - List of maps<br />
*Players on team - List of players on each team<br />
*Players - List of players. This and above can probably be combined.<br />
*Server status - Detailed information on a server // Probably can implement without a feeder.<br />
*Find player - Results for a multiserver player search.<br />
*Team list - List of available teams<br />
*Classes - List of classes per team<br />
*Items - List of available items per team<br />
*Armory items - List of items. Can probably be merged with above.<br />
*Alien evo classes - List of classes that can be evo'd to.<br />
*Buildable menu - List of buildables that can be built<br />
*Ignore - List of players/patterns player has ignored<br />
*Help - List of help topics<br />
<br />
====Missing Elements====<br />
*Chat field - Field for chat.<br />
*Selectable datagrid - Selectable table, essentially. Warsow has this. Can probably port.<br />
*Model view - Display a model. Low priority imo. Won't do unless there is demand.<br />
*Keyselect - Detect which key is pressed. For binds.<br />
<br />
====Ownerdraws====<br />
*<health /> - Player health<br />
*<bar item=(current value) maxValue=(max value) img=(image to draw) direction=(left|right|up|down) /> - Draw a bar for this item. Both $item and $maxvalue are cvars that say the value and maxvalue. img determines which image to draw, if a rectangular bar is not desired. direction is direction it decreases.<br />
*<ammo type=(all|clip) /> - Current ammo value. Type determines whetehr to show current clip's ammo or total ammo.<br />
*<clips /> - Current number of clips<br />
*<btimer /> - Build timer display<br />
*<credits format="%.1f"> - Credits available. format=printf format to display creds/evos in.<br />
*<stamina /> - Available stamina<br />
*<boost /> - Boosted status and time remaining<br />
*<selected /> - Item selected<br />
*<weapon /> - selected weapon icon<br />
*<wallclimb /> - Wall climbing status indicator<br />
*<alien_sense /> - Alien radar<br />
*<scanner /> - Human radar<br />
*<useable_buildable /> - Indicator that you are near a usable buildable<br />
*<location /> - Player location text<br />
*<team_overlay /> - Team overlay which shows useful team info<br />
*<fps /> - Frames per second<br />
*<timer /> - Time since game began<br />
*<lagometer /> - Lagometer. Quality of connection<br />
*<speedometer /> - Wheeee. Current speed.<br />
*<crosshair_name /> - Name of player in crosshair<br />
*<stage_report /> - Stage report. % of mapcontrol needed for next stage<br />
*<demo /> - State of demo. eg, recording/playing</div>Ishqhttps://wiki.unvanquished.net/index.php?title=Creating_custom_keybinds&diff=461Creating custom keybinds2012-06-27T20:45:24Z<p>Ishq: </p>
<hr />
<div>{| align="right"<br />
| __TOC__<br />
|}<br />
==Overview==<br />
<br />
'''''The information on this page is incomplete.'''''<br />
<br />
A number of commands for keybinds have changed since Tremulous, so keybind configurations cannot be directly copied from Tremulous to Unvanquished.<br />
<br />
{| class="wikitable"<br />
! Tremulous || Unvanquished || Used for…<br />
|-<br />
| <code>+button2</code> || <code>+useitem</code> || Using an item; granger spit; dragoon barb<br />
|-<br />
| <code>+button3</code> || <code>+taunt</code> || “Come on!” etc.<br />
|-<br />
| <code>+button5</code> || <code>+attack2</code> || Secondary attack<br />
|-<br />
| <code>+button6</code> || <code>+dodge</code> || Dodging<br />
|-<br />
| <code>+button7</code> || <code>+activate</code> || Using a structure; evolving<br />
|-<br />
| <code>+button8</code> || <code>+sprint</code> || Sprinting<br />
|-<br />
|}<br />
<br />
As of alpha 3, the <code>+button''N''</code> commands are no longer present.<br />
<br />
You may want to bind the new [[Voice say system|vsays]] to different keys.<br />
==New commands==<br />
<br />
This is a partial list of commands added, using Tremulous GPP r2259 as a reference point. Not everything listed is actually useful.<br />
<br />
===+activate===<br />
Access an armoury; evolve.<br />
<br />
===+attack2===<br />
Secondary attack.<br />
<br />
===+dodge===<br />
Low jump sideways or backwards. (Humans only.)<br />
<br />
===+sprint===<br />
Run. (Humans only.)<br />
<br />
===+taunt===<br />
“Come on!” etc.<br />
<br />
===+useitem===<br />
Use the highlighted item; tertiary attack (granger spit, dragoon snipe).<br />
<br />
===alias===<br />
<tt>alias NAME COMMAND [PARAMETERS…]</tt><br />
<br />
Create an alias for the given command. The alias is then useable as a command in its own right.<br />
<br />
===aliaslist===<br />
Lists available command aliases.<br />
<br />
===animationlist===<br />
<br />
===buildcubemaps===<br />
<br />
===cache_endgather===<br />
<br />
===cache_mapchange===<br />
<br />
===cache_setindex===<br />
<br />
===cache_startgather===<br />
<br />
===cache_usedfile===<br />
<br />
===calc===<br />
Do math calculations on cvars. Store the value to a cvar Useful in making scripts.<br />
<br />
===clearaliases===<br />
Clears all command aliases.<br />
<br />
===concat===<br />
Concatenate 2 cvars into a third.<br />
<br />
===cycle===<br />
<br />
===delay===<br />
<br />
===editbind===<br />
<tt>editbind KEY</tt><br />
<br />
This inserts a <tt>/bind</tt> command into the in-game console, ready for editing. The console is opened if needed.<br />
<br />
===fbolist===<br />
<br />
===fieldinfo===<br />
<br />
===gameCompleteStatus===<br />
<br />
===glsl_restart===<br />
Development use. For recompiling the GLSL shader code.<br />
<br />
===grep===<br />
<tt>grep TEXT</tt><br />
<br />
Searches the in-game console for occurrences of <tt>TEXT</tt>. Matching lines are reprinted.<br />
<br />
===help===<br />
<br />
===if===<br />
<tt>if VALUE CONDITION VALUE THEN [ELSE]</tt><br />
<br />
<tt>if MODIFIERS THEN [ELSE]</tt><br />
<br />
; <tt>VALUE</tt> : a variable or number<br />
; <tt>CONDITION</tt> : comparison operator<br />
; <tt>MODIFIERS</tt> : comma-separated list of keyboard modifiers: Shift, Ctrl, Alt, Command (or Cmd), Mode, Super. Prefix any which must not be pressed with <kbd>!</kbd>.<br />
; <tt>THEN</tt> and <tt>ELSE</tt> : either a variable name or, if prefixed with <kbd>/</kbd> or <kbd>\</kbd>, a command string.<br />
<br />
Either the <tt>THEN</tt> clause or the <tt>ELSE</tt> clause (if present) will be executed. If it is a variable name, its content will be executed.<br />
<br />
For example: <pre>/if shift "/echo Hello" "/echo Goodbye"</pre><br />
<br />
===irc_connect===<br />
Start the ingame IRC client<br />
<br />
===irc_quit===<br />
Stop the ingame IRC client<br />
<br />
===irc_say===<br />
Say something in the desired IRC channel if connected to a server<br />
<br />
===listrotation===<br />
Lists the current map rotation. The current map is highlighted.<br />
<br />
===loadgame===<br />
<br />
===math===<br />
Do math on cvars. Useful for scripts.<br />
<br />
===messagemode4===<br />
This command opens a chat prompt for the built-in IRC client.<br />
<br />
===modcase===<br />
<tt>modcase MODIFIERS THEN [MODIFIERS THEN]* [ELSE]</tt><br />
<br />
This works like <tt>if</tt>. The leftmost most-specific <tt>THEN</tt> whose modifier list matches is the one which is executed; if none match, then <tt>ELSE</tt> is executed if it is present.<br />
<br />
For example:<br />
<pre>/modcase shift "/echo 1" ctrl "/echo 2" shift,ctrl "/echo 3" shift,!alt "/echo 4"</pre><br />
works as follows:<br />
<br />
# if Shift and Alt (due to clause 4) but not Ctrl (due to clause 3) are pressed;<br />
# if Ctrl but not Shift (due to clause 3);<br />
# if Shift and Ctrl;<br />
# if Shift but neither Alt nor Ctrl.<br />
<br />
===modelist===<br />
<br />
===openurl===<br />
Open a URL inside the OS's default browser.<br />
<br />
===pubkey===<br />
Internal use.<br />
<br />
===pubkey_identify===<br />
Internal use.<br />
<br />
===random===<br />
Generate a random number<br />
<br />
===reloadhud===<br />
Reload the HUD without a vid_restart<br />
<br />
===say_area_team===<br />
Talk to all teammates within a server-set range.<br />
<br />
===screenshotPNG===<br />
Saves a screenshot in the PNG format.<br />
<br />
===search===<br />
<tt>search TEXT</tt><br />
<br />
Searches back through the in-game console for <tt>TEXT</tt> and scrolls to it.<br />
<br />
===searchDown===<br />
<tt>searchDown TEXT</tt><br />
<br />
Searches forward through the in-game console for <tt>TEXT</tt> and scrolls to it.<br />
<br />
===setRecommended===<br />
<br />
===shaderexp===<br />
<br />
===snd_reload===<br />
Reload sounds (includes a vid_restart<br />
<br />
===spdevmap===<br />
Does nothing.<br />
<br />
===speclock===<br />
<br />
===specunlock===<br />
<br />
===spmap===<br />
Does nothing.<br />
<br />
===strcmp===<br />
Compare the string values of two cvars.<br />
<br />
===toggleConsole===<br />
Opens or closes the in-game console.<br />
<br />
===ui_restart===<br />
Reloads UI files.<br />
<br />
===unalias===<br />
<tt>unalias NAME</tt><br />
<br />
Removes the named alias.<br />
<br />
===undelay===<br />
<br />
===undelayAll===<br />
<br />
===unregister===<br />
Removes registration of your GUID and name.<br />
<br />
===updatehunkusage===<br />
<br />
===updatescreen===<br />
<br />
===vbolist===<br />
<br />
===wav_record===<br />
<br />
===wav_stoprecord===</div>Ishq