Yet another contribution to the collection of HUD´s

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: another_commander, winston

User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Re: Yet another contribution to the collection of HUD´s

Post by Kaks »

Yep, you put the _guis inside the dials array, they should be at the same level as dials & legends.

To wit:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>dials</key><!-- these are drawn, in order, after the legends -->
   <array>
      <dict><!-- Targetting enhancement -->
         <key>equipment_required</key>
         <string>EQ_SCANNER_SHOW_MISSILE_TARGET</string>
         <key>selector</key>
         <string>drawTargetReticle:</string>
      </dict>
      
      <dict><!-- station aegis, uses Images/aegis.png as indicator -->
         <key>alpha</key>
         <real>0.7</real>
         <key>selector</key>
         <string>drawAegis:</string>
         <key>x</key>
         <integer>240</integer>
         <key>y</key>
         <integer>205</integer>
         <key>width</key>
         <integer>14</integer>
         <key>height</key>
         <integer>25</integer>
      </dict>

      <dict><!-- status indicator light, x and y give the location, the size defines the icon size -->
      <key>alpha</key>
         <real>1.50</real>
         <key>height</key>
         <integer>14</integer>
         <key>width</key>
         <integer>14</integer>
         <key>selector</key>
         <string>drawStatusLight:</string>
         <key>x</key>
         <integer>131</integer>
         <key>y</key>
         <integer>225</integer>
      </dict>
      <dict><!-- status indicator light, x and y give the location, the size defines the icon size -->
         <key>alpha</key>
         <real>1.50</real>
         <key>height</key>
         <integer>14</integer>
         <key>width</key>
         <integer>14</integer>
         <key>selector</key>
         <string>drawStatusLight:</string>
         <key>x</key>
         <integer>-128</integer>
         <key>y</key>
         <integer>225</integer>
      </dict>
   
      <dict><!-- ship's clock, x and y give the location, the size defines the character size -->
         <key>height</key>
         <integer>7</integer>
         <key>selector</key>
         <string>drawClock:</string>
         <key>width</key>
         <integer>14</integer>
         <key>x</key>
         <integer>-20</integer>
         <key>y</key>
         <integer>-90</integer>
      </dict>
   
      <dict><!-- speed bar, can draw a surround 2 units out from the dial size specified -->
         <key>draw_surround</key>
         <false/>
         <key>height</key>
         <integer>13</integer>
         <key>width</key>
         <integer>90</integer>
         <key>selector</key>
         <string>drawSpeedBar:</string>
         <key>x</key>
         <integer>253</integer>
         <key>y</key>
         <integer>-140</integer>
      </dict>
      
      <dict><!-- fuel bar -->
         <key>height</key>
         <integer>13</integer>
         <key>width</key>
         <integer>60</integer>
         <key>selector</key>
         <string>drawFuelBar:</string>
         <key>x</key>
         <integer>-262</integer>
         <key>y</key>
         <integer>214</integer>
      </dict>
      
      <dict><!-- scanner -->
         <key>alpha</key>
         <real>0.8</real>
         <key>selector</key>
         <string>drawScanner:</string>
         <key>x</key>
         <integer>0</integer>
         <key>y</key>
         <integer>-173</integer>
         <key>height</key>
         <real>66</real>
         <key>width</key>
         <real>173</real>
               <key>rgb_color</key>
               <array>
                  <real>0.25</real>
                  <real>0.46</real>
                  <real>0.89</real>
               </array>
      </dict>
      
      <dict><!-- scanner zoom indicator, uses Images/zoom.png to provide 5 levels -->
         <key>alpha</key>
         <real>1.0</real>
         <key>selector</key>
         <string>drawScannerZoomIndicator:</string>
         <key>height</key>
         <integer>10</integer>
         <key>x</key>
         <integer>80</integer>
         <key>y</key>
         <integer>-217</integer>
               <key>rgb_color</key>
               <array>
                  <real>0.0</real>
                  <real>1.0</real>
                  <real>0.0</real>
               </array>
      </dict>
      
      <dict><!-- energy gauge, can draw a surround 2 units out from the dial size specified -->
         <key>draw_surround</key>
         <false/>
         <key>height</key>
         <integer>95</integer>
         <key>width</key>
         <integer>52</integer>
         <key>selector</key>
         <string>drawEnergyGauge:</string>
         <key>x</key>
         <integer>271</integer>
         <key>y</key>
         <integer>-181</integer>
         <key>labelled</key>
         <false/>
      </dict>
      
      <dict><!-- compass, uses Images/compass.png as background and Images/reddot.png and Images/greendot.png -->
         <key>alpha</key>
         <real>0.75</real>
         <key>selector</key>
         <string>drawCompass:</string>
         <key>height</key>
         <integer>56</integer>
         <key>width</key>
         <real>59</real>
         <key>x</key>
         <integer>0</integer>
         <key>y</key>
         <integer>188</integer>
         <key>rgb_color</key>
               <array>
                  <real>0.0</real>
                  <real>1.0</real>
                  <real>0.00</real>
               </array>
      </dict>
      
      <dict><!-- wasp indicator status -->
         <key>alpha</key>
         <real>0.75</real>
         <key>selector</key>
         <string>drawScoopStatus:</string>
         <key>height</key>
         <integer>17</integer>
         <key>width</key>
         <integer>14</integer>
         <key>x</key>
         <integer>-55</integer>
         <key>y</key>
         <integer>211</integer>
      </dict>

      <dict><!-- weapon temperature bar -->
         <key>height</key>
         <integer>13</integer>
         <key>width</key>
         <integer>133</integer>
         <key>selector</key>
         <string>drawWeaponTempBar:</string>
         <key>x</key>
         <integer>-178</integer>
         <key>y</key>
         <integer>210</integer>
      </dict>

      <dict><!-- missile display, x and y give the location, the x-spacing is given by spacing, the size defines the icon size -->
         <key>height</key>
         <integer>10</integer>
         <key>width</key>
         <integer>15</integer>
         <key>selector</key>
         <string>drawMissileDisplay:</string>
         <key>spacing</key>
         <integer>30</integer>
         <key>x</key>
         <integer>140</integer>
         <key>y</key>
         <integer>213</integer>
      </dict>

      <dict><!-- forward shield bar, can draw a surround 2 units out from the dial size specified -->
         <key>draw_surround</key>
         <false/>
         <key>height</key>
         <integer>82</integer>
         <key>width</key>
         <integer>20</integer>
         <key>selector</key>
         <string>drawForwardShieldBar:</string>
         <key>x</key>
         <integer>-287</integer>
         <key>y</key>
         <integer>-184</integer>
      </dict>
      <dict><!-- aft shield bar, can draw a surround 2 units out from the dial size specified -->
         <key>draw_surround</key>
         <false/>
         <key>height</key>
         <integer>82</integer>
         <key>width</key>
         <integer>20</integer>
         <key>selector</key>
         <string>drawAftShieldBar:</string>
         <key>x</key>
         <integer>-250</integer>
         <key>y</key>
         <integer>-184</integer>
      </dict>
      <dict><!-- cabin temperature bar -->
         <key>height</key>
         <integer>88</integer>
         <key>width</key>
         <integer>19</integer>
         <key>selector</key>
         <string>drawCabinTempBar:</string>
         <key>x</key>
         <integer>277</integer>
         <key>y</key>
         <integer>170</integer>
      </dict>
      
      <dict><!-- altitude bar -->
         <key>height</key>
         <integer>88</integer>
         <key>width</key>
         <integer>19</integer>
         <key>selector</key>
         <string>drawAltitudeBar:</string>
         <key>x</key>
         <integer>-277</integer>
         <key>y</key>
         <integer>170</integer>
      </dict>
   </array>

   <key>comm_log_gui</key>
   <dict>
      <key>height</key>
      <string>100</string>
      <key>row_height</key>
      <string>10</string>
      <key>width</key>
      <string>250</string>
      <key>x</key>
      <string>-195</string>
      <key>y</key>
      <string>100</string>
   </dict>

   <key>message_gui</key>
   <dict>
      <key>height</key>
      <string>160</string>
      <key>row_height</key>
      <string>12</string>
      <key>width</key>
      <string>210</string>
      <key>x</key>
      <string>-200</string>
      <key>y</key>
      <string>-50</string>
   </dict>   

   <key>legends</key><!-- these are drawn, in order, before the dials, add any other images you want here -->
   <array>
      <dict>
         <key>image</key>
         <string>phantomHUDgreen.png</string>
         <key>width</key>
         <real>640</real>
         <key>height</key>
         <real>480</real>
         <key>x</key>
         <integer>0</integer>
         <key>y</key>
         <integer>0</integer>
         <key>alpha</key>
         <real>1.00</real>
      </dict>
    </array>
</dict>
</plist>
should work.
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
User avatar
Killer Wolf
---- E L I T E ----
---- E L I T E ----
Posts: 2269
Joined: Tue Jan 02, 2007 12:38 pm

Re: Yet another contribution to the collection of HUD´s

Post by Killer Wolf »

awesome, cheers Kaks :-)


edit - i can't seem to get "draw surround" working on that - how can i check my dimesnions etc are ok? is there a way of, eg, spamming yourself w/ comms and messages?
User avatar
Captain Beatnik
Deadly
Deadly
Posts: 143
Joined: Sun Feb 27, 2011 10:15 pm
Location: Eastern Bavaria (Average Agricultural Confederacy)

Re: Yet another contribution to the collection of HUD´s

Post by Captain Beatnik »

Hi folks!

I have completed a new version of CB-hud.

Aside from several major changes in the design of the hud I used the "equipment_required = "-command to ad some functions e.g.

- "active lights" for the energy-bomb, the ECM, the escape pod and the fuel-injectors. (The "active lights" are built of surrounds that appear only if the proper equipment is installed;)
- the space-compass now switches from blue color to orange color if you have the advanced space-compass installed;
- the shield bars now glow brighter if you install shieldboosters and/or military shields. There are 3 levels of brightness representing the current strength of the shields ;
- the bar representing the energy banks now becomes wide if you install the extra energy unit and even wider if you have a naval energy unit.

The fuelbar is now divided into 7 sections each representing the necessary fuel for exact one lightyear.

And this is how the hud looks like when all the new "active lights" are on:

Image
The new version of CB-hud.

If you want to give the new hud a try, you may download it here:

http://www.box.net/shared/4lphdkazs5

I tried to use the "equipment_required = " command in the "legends" section of the hud.plist config file but that does not seem to work. That is really too bad because if it worked this would significantly increase the possibilities to customize the hud according to the installed equipment. Any ideas how to accomplish that?

Best regards from the lovely planet Xexedi

CB.
I love deadlines. I like the whooshing sound they make as they fly by.
(Douglas Adams, 1952 - 2001)
User avatar
CommonSenseOTB
---- E L I T E ----
---- E L I T E ----
Posts: 1397
Joined: Wed May 04, 2011 10:42 am
Location: Saskatchewan, Canada

Re: Yet another contribution to the collection of HUD´s

Post by CommonSenseOTB »

Well done Captain Beatnik! That is some fine outside-the-box thinking! :D The growing gauges is a good idea. I have done such a thing with my classic huds and I wasn't sure that others would like the idea(now I'm sure). I'm going to try out your hud and if I find a solution to your equipment conditional problem I will post here what I find out(if it's what I suspect there may be a solution).

Yeehaw! Thanx for giving me something new to experiment with this weekend! :D
Take an idea from one person and twist or modify it in a different way as a return suggestion so another person can see a part of it that can apply to the oxp they are working on.


CommonSense 'Outside-the-Box' Design Studios Ltd.
WIKI+OXPs
User avatar
CommonSenseOTB
---- E L I T E ----
---- E L I T E ----
Posts: 1397
Joined: Wed May 04, 2011 10:42 am
Location: Saskatchewan, Canada

Re: Yet another contribution to the collection of HUD´s

Post by CommonSenseOTB »

Well Captain Beatnik, I've given it a once over and done a little experimenting with your hud and here is the result.

First, there are a few errors in the hud. The forward shield (mistakenly) uses the aftshieldselector. Weapon temperature bar 1 has an extra decimal point in the (width?). Easy fixes to make quickly.

Next, the equipment required statement can only be used, it would seem, from the dials section of the hud. To modify anything to do with the text and images in the legends section would require hud switching via a script. This is undoubtedly the reason that most hud designers don't even bother to go in this direction.

Lastly, the hud is executed quite nicely. The attempt at displaying icons for various pieces of equipment is about as good as it gets. No text or images make this difficult but for a classic style hud it works. I would recommend that for the variable brightness shield gauges you either set the hud alpha lower or readjust the individual shield alphas lower. There is not enough difference in brightness between having shield boosters and having shield boosters and military shield enhancement. I like the weapon temperature also being integrated into the sights.

Suggestions for improvement could only be to attempt a hud switching script if only to improve the equipment icons but otherwise I have none. It's all a matter of individual taste.

Overall, mistakes aside, I would give this hud 2 thumbs up for a classic style hud. It falls into the thinking outside-the-box category(my favorite :D ) and considering you made this without hud switching you are to be applauded. Nicely done! :D
Take an idea from one person and twist or modify it in a different way as a return suggestion so another person can see a part of it that can apply to the oxp they are working on.


CommonSense 'Outside-the-Box' Design Studios Ltd.
WIKI+OXPs
User avatar
Captain Beatnik
Deadly
Deadly
Posts: 143
Joined: Sun Feb 27, 2011 10:15 pm
Location: Eastern Bavaria (Average Agricultural Confederacy)

Re: Yet another contribution to the collection of HUD´s

Post by Captain Beatnik »

Hi CommonSenseOTB,

thank you for your kind comments and the testing you did on the hud. I´ve already fixed the two bugs you found and uploaded a fixed version of the OXP to box.net. I am going to experiment with the brightness of the shieldbars and maybe I have a better solution with the next version of the hud.

In my opinion using a switching hud would be quite difficult because it would require a individual hud design for every thinkable combination of equipment. E.g. if you have 6 different items of equipment, that would be ... that would be ... (thinking) ... (calculating) ... (trying to remember what the teacher said 27 years ago about combinatorics) ... (asking wikipedia) ... (surrendering) ... well, I guess that would be MANY individual hud designs.

BTW: I took a look at the PCS-hudv2 you designed. Excellent work!

Best regards from the lovely planet Xexedi

C.B.
I love deadlines. I like the whooshing sound they make as they fly by.
(Douglas Adams, 1952 - 2001)
User avatar
CommonSenseOTB
---- E L I T E ----
---- E L I T E ----
Posts: 1397
Joined: Wed May 04, 2011 10:42 am
Location: Saskatchewan, Canada

Re: Yet another contribution to the collection of HUD´s

Post by CommonSenseOTB »

What a kind thing to say and and your work is quite good. What kind of gauges would you like if you had to pick(even things that don't exist yet....yet!). Start thinking about that one and it is very likely that you will get your wish in a matter of months. Can't say any more. :D
Take an idea from one person and twist or modify it in a different way as a return suggestion so another person can see a part of it that can apply to the oxp they are working on.


CommonSense 'Outside-the-Box' Design Studios Ltd.
WIKI+OXPs
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Re: Yet another contribution to the collection of HUD´s

Post by JensAyton »

Captain Beatnik wrote:
I tried to use the "equipment_required = " command in the "legends" section of the hud.plist config file but that does not seem to work. That is really too bad because if it worked this would significantly increase the possibilities to customize the hud according to the installed equipment.
Tracking as Feature request #5359.
User avatar
CommonSenseOTB
---- E L I T E ----
---- E L I T E ----
Posts: 1397
Joined: Wed May 04, 2011 10:42 am
Location: Saskatchewan, Canada

Re: Yet another contribution to the collection of HUD´s

Post by CommonSenseOTB »

NICE!!!! 8) :D 8) :D

THE FUTURE'S SO BRIGHT I GOTTA WEAR SHADES!!! 8) 8) 8)

SUPERNOVATIME!!! :lol:
Take an idea from one person and twist or modify it in a different way as a return suggestion so another person can see a part of it that can apply to the oxp they are working on.


CommonSense 'Outside-the-Box' Design Studios Ltd.
WIKI+OXPs
User avatar
Smivs
Retired Assassin
Retired Assassin
Posts: 8408
Joined: Tue Feb 09, 2010 11:31 am
Location: Lost in space
Contact:

Re: Yet another contribution to the collection of HUD´s

Post by Smivs »

CSOTB, while your enthusiasm is laudable, your use of upper-case is a little vulgar :P
Commander Smivs, the friendliest Gourd this side of Riedquat.
User avatar
CommonSenseOTB
---- E L I T E ----
---- E L I T E ----
Posts: 1397
Joined: Wed May 04, 2011 10:42 am
Location: Saskatchewan, Canada

Re: Yet another contribution to the collection of HUD´s

Post by CommonSenseOTB »

Yeah, I'm upper case but lower class! :lol: :P
Take an idea from one person and twist or modify it in a different way as a return suggestion so another person can see a part of it that can apply to the oxp they are working on.


CommonSense 'Outside-the-Box' Design Studios Ltd.
WIKI+OXPs
User avatar
Smivs
Retired Assassin
Retired Assassin
Posts: 8408
Joined: Tue Feb 09, 2010 11:31 am
Location: Lost in space
Contact:

Re: Yet another contribution to the collection of HUD´s

Post by Smivs »

hehe :lol:
Commander Smivs, the friendliest Gourd this side of Riedquat.
User avatar
maik
Wiki Wizard
Wiki Wizard
Posts: 2020
Joined: Wed Mar 10, 2010 12:30 pm
Location: Ljubljana, Slovenia (mainly industrial, feudal, TL12)

Re: Yet another contribution to the collection of HUD´s

Post by maik »

Nice one! Added to the [wiki]OXP List[/wiki] :)
Zireael
---- E L I T E ----
---- E L I T E ----
Posts: 1396
Joined: Tue Nov 09, 2010 1:44 pm

Re: Yet another contribution to the collection of HUD´s

Post by Zireael »

I played with it for a bit.
Pros: big scanner, all those nice new features (different crosshairs etc)
Cons: tiny shield readouts, tiny text

What is the green box on scanner for?
User avatar
Killer Wolf
---- E L I T E ----
---- E L I T E ----
Posts: 2269
Joined: Tue Jan 02, 2007 12:38 pm

Re: Yet another contribution to the collection of HUD´s

Post by Killer Wolf »

the screenshot above (he says, late to the party) show something i ran into when i started the Phantom HUD : ie, duped messages. there's a Comms log and Message log - i kinda thought one would be for game messages to the player and the other would be specifically for comms from NPCs etc?

nice HUD tho - are the colours/justification of the text definable? i never got that far...
Post Reply