Page 3 of 5

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

Posted: Sat Apr 30, 2011 1:42 pm
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.

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

Posted: Sat Apr 30, 2011 2:39 pm
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?

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

Posted: Sat May 28, 2011 11:01 pm
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.

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

Posted: Sat May 28, 2011 11:47 pm
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

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

Posted: Sun May 29, 2011 5:58 am
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

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

Posted: Sun May 29, 2011 5:33 pm
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.

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

Posted: Sun May 29, 2011 5:52 pm
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

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

Posted: Sun May 29, 2011 6:01 pm
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.

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

Posted: Sun May 29, 2011 6:08 pm
by CommonSenseOTB
NICE!!!! 8) :D 8) :D

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

SUPERNOVATIME!!! :lol:

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

Posted: Sun May 29, 2011 6:45 pm
by Smivs
CSOTB, while your enthusiasm is laudable, your use of upper-case is a little vulgar :P

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

Posted: Sun May 29, 2011 6:51 pm
by CommonSenseOTB
Yeah, I'm upper case but lower class! :lol: :P

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

Posted: Sun May 29, 2011 7:04 pm
by Smivs
hehe :lol:

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

Posted: Sun May 29, 2011 9:03 pm
by maik
Nice one! Added to the [wiki]OXP List[/wiki] :)

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

Posted: Mon Jun 13, 2011 2:22 pm
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?

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

Posted: Mon Jun 13, 2011 4:55 pm
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...