Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

moving the onscreen messages to the side

General discussion for players of Oolite.

Moderators: another_commander, winston

User avatar
Yodeebe
---- E L I T E ----
---- E L I T E ----
Posts: 261
Joined: Mon Oct 13, 2008 7:32 pm
Location: Namab

Re: moving the onscreen messages to the side

Post by Yodeebe »

Hurraaaaah!
Thanks, EV.
sorry to be such a [insert word here]


Thanks CSO, but EV's plan worked fine, once I understood it.
probably simpler than reproducing in triplicate too, although it might be good if messages didn't work in 'critical' mode.

Now I've got my head around it, i'll try it out & see if its worth trying your way.
Image
User avatar
Yodeebe
---- E L I T E ----
---- E L I T E ----
Posts: 261
Joined: Mon Oct 13, 2008 7:32 pm
Location: Namab

Re: moving the onscreen messages to the side

Post by Yodeebe »

oh no, it's me again! captain incompetent :p

it only appeared to work cos i still had CB hud in my addons.

So, to the other method, I've tried adding this:


message_gui =
{
width = 210;
height = 160;
x = -210;
y = -35;
row_height=10;
};

comm_log_gui =
{
width = 250;
height = 100;
x = -195;
y = 200;
row_height=10;
};



into various positions in this:

<?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>crosshair_color</key>
<string>redColor</string>
<key>crosshair_scale</key>
<real>15.0</real>
<key>reticle_target_sensitive</key>
<true/>
<key>cloak_indicator_on_status_light</key>
<true/>
<key>overall_alpha</key>
<real>1</real>
<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><!--sniper compass -->
<key>equipment_required</key>
<string>EQ_TARGET_SCOPE</string>
<key>alpha</key>
<real>0.33</real>
<key>selector</key>
<string>drawCompass:</string>
<key>x</key>
<integer>0</integer>
<key>y</key>
<integer>0</integer>
<key>height</key>
<real>385</real>
<key>width</key>
<real>385</real>
<key>rgb_color</key>
<array>
<real>1.0</real>
<real>0.0</real>
<real>0.0</real>
</array>
</dict>
<dict><!-- scanner -->
<key>alpha</key>
<real>1</real>
<key>selector</key>
<string>drawScanner:</string>
<key>x</key>
<integer>0</integer>
<key>y</key>
<integer>-180</integer>
<key>height</key>
<real>112</real>
<key>width</key>
<real>328</real>
<key>rgb_color</key>
<array>
<real>0.9</real>
<real>0.9</real>
<real>0.0</real>
</array>
</dict>
<dict><!-- scanner zoom indicator -->
<key>alpha</key>
<real>1</real>
<key>selector</key>
<string>drawScannerZoomIndicator:</string>
<key>x</key>
<integer>-250</integer>
<key>y</key>
<integer>-190</integer>
<key>rgb_color</key>
<array>
<real>0.9</real>
<real>0.9</real>
<real>0.0</real>
</array>
</dict>
<dict><!-- compass -->
<key>alpha</key>
<real>1</real>
<key>selector</key>
<string>drawCompass:</string>
<key>x</key>
<integer>-180</integer>
<key>y</key>
<integer>-180</integer>
</dict>
<dict><!-- station aegis -->
<key>alpha</key>
<real>1</real>
<key>selector</key>
<string>drawAegis:</string>
<key>x</key>
<integer>-220</integer>
<key>y</key>
<integer>-180</integer>
</dict>
<dict><!-- ship's clock -->
<key>height</key>
<integer>11</integer>
<key>selector</key>
<string>drawClock:</string>
<key>width</key>
<integer>11</integer>
<key>x</key>
<integer>-258</integer>
<key>y</key>
<integer>-215</integer>
</dict>
<dict><!-- status indicator light, x and y give the location, the size defines the icon size -->
<key>height</key>
<integer>8</integer>
<key>selector</key>
<string>drawStatusLight:</string>
<key>width</key>
<integer>8</integer>
<key>x</key>
<integer>-250</integer>
<key>y</key>
<integer>-150</integer>
</dict>
<dict><!-- fuel scoop status -->
<key>alpha</key>
<real>1</real>
<key>selector</key>
<string>drawScoopStatus:</string>
<key>x</key>
<integer>-250</integer>
<key>y</key>
<integer>-170</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>selector</key>
<string>drawMissileDisplay:</string>
<key>spacing</key>
<integer>12</integer>
<key>width</key>
<integer>10</integer>
<key>x</key>
<integer>-245</integer>
<key>y</key>
<string>-220</string>
</dict>
<dict><!-- forward shield bar -->
<key>draw_surround</key>
<true/>
<key>height</key>
<integer>45</integer>
<key>selector</key>
<string>drawForwardShieldBar:</string>
<key>width</key>
<integer>6</integer>
<key>x</key>
<integer>172</integer>
<key>y</key>
<integer>-152</integer>
</dict>
<dict><!-- aft shield bar -->
<key>draw_surround</key>
<true/>
<key>height</key>
<integer>45</integer>
<key>selector</key>
<string>drawAftShieldBar:</string>
<key>width</key>
<integer>6</integer>
<key>x</key>
<integer>172</integer>
<key>y</key>
<integer>-204</integer>
</dict>
<dict><!-- energy guage, can draw a surround 2 units out from the dial size specified -->
<key>draw_surround</key>
<true/>
<key>height</key>
<integer>96</integer>
<key>selector</key>
<string>drawEnergyGauge:</string>
<key>width</key>
<integer>6</integer>
<key>x</key>
<integer>185</integer>
<key>y</key>
<integer>-178</integer>
<key>labelled</key>
<false/>
</dict>
<dict><!-- speed bar, can draw a surround 2 units out from the dial size specified -->
<key>draw_surround</key>
<true/>
<key>height</key>
<integer>97</integer>
<key>selector</key>
<string>drawSpeedBar:</string>
<key>width</key>
<integer>6</integer>
<key>x</key>
<integer>198</integer>
<key>y</key>
<integer>-178</integer>
</dict>
<dict><!--stick sensitivity indicator-->
<key>alpha</key>
<real>1.0</real>
<key>selector</key>
<string>drawStickSensitivityIndicator:</string>
<key>x</key>
<integer>-200</integer>
<key>y</key>
<integer>-160</integer>
<key>height</key>
<integer>8</integer>
<key>width</key>
<integer>8</integer>
</dict>
<dict><!--Roll, Pitch and Yaw-->
<key>draw_surround</key>
<true/>
<key>height</key>
<integer>5</integer>
<key>width</key>
<integer>25</integer>
<key>selector</key>
<string>drawRollBar:</string>
<key>x</key>
<integer>-180</integer>
<key>y</key>
<integer>-200</integer>
</dict>
<dict>
<key>draw_surround</key>
<true/>
<key>height</key>
<integer>5</integer>
<key>width</key>
<integer>25</integer>
<key>selector</key>
<string>drawYawBar:</string>
<key>x</key>
<integer>-180</integer>
<key>y</key>
<integer>-160</integer>
</dict>
<dict>
<key>draw_surround</key>
<true/>
<key>height</key>
<integer>25</integer>
<key>width</key>
<integer>5</integer>
<key>selector</key>
<string>drawPitchBar:</string>
<key>x</key>
<integer>-200</integer>
<key>y</key>
<integer>-180</integer>
</dict><!-- End RPY-->
<dict><!-- just draws a surround 2 units around the selected size, you could also use drawGreenSurround: -->
<key>height</key>
<integer>97</integer>
<key>selector</key>
<string>drawGreenSurround:</string>
<key>width</key>
<integer>33</integer>
<key>x</key>
<integer>224</integer>
<key>y</key>
<integer>-178</integer>
</dict>
<dict><!-- cabin temperature bar -->
<key>height</key>
<integer>97</integer>
<key>selector</key>
<string>drawCabinTempBar:</string>
<key>width</key>
<integer>6</integer>
<key>x</key>
<integer>210</integer>
<key>y</key>
<integer>-178</integer>
</dict>
<dict><!-- weapon temperature bar -->
<key>height</key>
<integer>97</integer>
<key>selector</key>
<string>drawWeaponTempBar:</string>
<key>width</key>
<integer>6</integer>
<key>x</key>
<integer>219</integer>
<key>y</key>
<integer>-178</integer>
</dict>
<dict><!-- fuel bar -->
<key>height</key>
<integer>97</integer>
<key>selector</key>
<string>drawFuelBar:</string>
<key>width</key>
<integer>6</integer>
<key>x</key>
<integer>228</integer>
<key>y</key>
<integer>-178</integer>
</dict>
<dict><!-- altitude bar -->
<key>height</key>
<integer>97</integer>
<key>selector</key>
<string>drawAltitudeBar:</string>
<key>width</key>
<integer>6</integer>
<key>x</key>
<integer>237</integer>
<key>y</key>
<integer>-178</integer>
</dict>
<dict><!-- fps counter, x and y give the location, the size defines the character size -->
<key>height</key>
<integer>18</integer>
<key>selector</key>
<string>drawFPSInfoCounter:</string>
<key>width</key>
<integer>18</integer>
<key>x</key>
<integer>-300</integer>
<key>y</key>
<integer>220</integer>
</dict>
</array>
<key>legends</key><!-- these are drawn, in order, before the dials, add any other images you want here -->
<array>
<!-- LHS -->
<dict>
<key>text</key>
<string>NRG</string>
<key>x</key>
<integer>179</integer>
<key>y</key>
<string>-128</string>
<key>height</key>
<integer>10</integer>
<key>width</key>
<integer>6</integer>
</dict>
<dict>
<key>text</key>
<string>SPD</string>
<key>x</key>
<integer>192</integer>
<key>y</key>
<string>-128</string>
<key>height</key>
<integer>10</integer>
<key>width</key>
<integer>6</integer>
</dict>
<dict>
<key>text</key>
<string>FL</string>
<key>x</key>
<integer>225</integer>
<key>y</key>
<string>-128</string>
<key>height</key>
<integer>10</integer>
<key>width</key>
<integer>6</integer>
</dict>
<dict>
<key>text</key>
<string>CT</string>
<key>x</key>
<integer>205</integer>
<key>y</key>
<string>-128</string>
<key>height</key>
<integer>10</integer>
<key>width</key>
<integer>6</integer>
</dict>
<dict>
<key>text</key>
<string>WT</string>
<key>x</key>
<integer>214</integer>
<key>y</key>
<string>-128</string>
<key>height</key>
<integer>10</integer>
<key>width</key>
<integer>6</integer>
</dict>
<dict>
<key>text</key>
<string>AL</string>
<key>x</key>
<integer>234</integer>
<key>y</key>
<string>-128</string>
<key>height</key>
<integer>10</integer>
<key>width</key>
<integer>6</integer>
</dict>
<dict>
<key>text</key>
<string>SLD</string>
<key>x</key>
<integer>166</integer>
<key>y</key>
<string>-128</string>
<key>height</key>
<integer>10</integer>
<key>width</key>
<integer>6</integer>
</dict>
<!-- images -->
<dict><!-- Dial block underlay -->
<key>image</key>
<string>dialglas.png</string>
<key>height</key>
<integer>101</integer>
<key>width</key>
<integer>76</integer>
<key>x</key>
<integer>205</integer>
<key>y</key>
<integer>-178</integer>
<key>alpha</key>
<real>1.00</real>
</dict>
<dict><!-- Roll underlay -->
<key>image</key>
<string>ryphoriglas.png</string>
<key>height</key>
<integer>8</integer>
<key>width</key>
<integer>28</integer>
<key>x</key>
<integer>-180</integer>
<key>y</key>
<integer>-200</integer>
<key>alpha</key>
<real>1.00</real>
</dict>
<dict><!-- Yaw underlay -->
<key>image</key>
<string>ryphoriglas.png</string>
<key>height</key>
<integer>8</integer>
<key>width</key>
<integer>28</integer>
<key>x</key>
<integer>-180</integer>
<key>y</key>
<integer>-160</integer>
<key>alpha</key>
<real>1.00</real>
</dict>
<dict><!-- Pitch underlay -->
<key>image</key>
<string>rypvertglas.png</string>
<key>height</key>
<integer>28</integer>
<key>width</key>
<integer>8</integer>
<key>x</key>
<integer>-200</integer>
<key>y</key>
<integer>-180</integer>
<key>alpha</key>
<real>1.00</real>
</dict>
<dict><!-- compass underlay -->
<key>image</key>
<string>compassglas.png</string>
<key>width</key>
<real>29</real>
<key>height</key>
<real>29</real>
<key>x</key>
<integer>-180</integer>
<key>y</key>
<integer>-180</integer>
<key>alpha</key>
<real>1.00</real>
</dict>
<dict><!-- radar underlay -->
<key>image</key>
<string>radarglas.png</string>
<key>width</key>
<real>330</real>
<key>height</key>
<real>115</real>
<key>x</key>
<integer>0</integer>
<key>y</key>
<integer>-180</integer>
<key>alpha</key>
<real>1.00</real>
</dict>
<!-- gun pipper graphics follow. Four seperate elements combine to make up the pipper. -->
<dict><!-- gun pipper element: Conraster. Contrast enhancement can make distant or dark objects easier to see. This can be really useful on older low-contrast monitors, and/or older eyes. -->
<key>height</key>
<integer>140</integer>
<key>width</key>
<integer>140</integer>
<key>image</key>
<string>contraster.png</string>
<key>x</key>
<integer>0</integer>
<key>y</key>
<integer>0</integer>
<key>alpha</key>
<real>0.25</real><!-- Use an alpha of 0.0 to turn this element off. Default: 0.25 -->
</dict>
<dict><!-- gun pipper element: The central long-range sniper's dot -->
<key>height</key>
<integer>32</integer>
<key>width</key>
<integer>32</integer>
<key>image</key>
<string>reddot.png</string>
<key>x</key>
<integer>0</integer>
<key>y</key>
<integer>0</integer>
<key>alpha</key>
<real>0.75</real><!-- Use an alpha of 0.0 to turn this element off. Default: 0.75 -->

</dict>
</array>
</dict>
</plist>



but either nothing happens, or the entire HUD dissappears.

the two oxp'x (mil hud & CB hud) appear to use different formats, no?
Image
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: moving the onscreen messages to the side

Post by CommonSenseOTB »

Yeah, that's right. You can't mix XML and OpenStep. You'll have to covert it to XML. All my stuff is OpenStep or I'd post an XML version for you. When it's converted, be sure to place it at the same level as target reticle sensitive in the hud.plist. It won't work if it is in the dials or legends portion of the hud.plist.

XML conversion to OpenStep, looks like your fun is just beginning. Wasn't there a utility on the board recently for doing conversions? Maybe you can avoid that by doing it yourself by hand or maybe someone out there has that piece of code available in XML and can post it for you to copy. Cheers! :)
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
Pluisje
Dangerous
Dangerous
Posts: 92
Joined: Mon Jan 11, 2010 3:14 pm

Re: moving the onscreen messages to the side

Post by Pluisje »

Sorry to join this topic so late. I just realised I have what you need. In my version of the MilHUD I inserted the following right after the first <dict> in the green, yellow and red plists.

Code: Select all

	<key>comm_log_gui</key>
	<dict>
		<key>alpha</key>
		<string>0.65</string>
		<key>height</key>
		<string>160</string>
		<key>row_height</key>
		<string>12</string>
		<key>width</key>
		<string>210</string>
	</dict>
	<key>message_gui</key>
	<dict>
		<key>alpha</key>
		<string>0.85</string>
		<key>height</key>
		<string>160</string>
		<key>row_height</key>
		<string>12</string>
		<key>width</key>
		<string>210</string>
		<key>x</key>
		<string>-250</string>
		<key>y</key>
		<string>-50</string>
	</dict>
Adjust the numbers to taste..
User avatar
Yodeebe
---- E L I T E ----
---- E L I T E ----
Posts: 261
Joined: Mon Oct 13, 2008 7:32 pm
Location: Namab

Re: moving the onscreen messages to the side

Post by Yodeebe »

Aww, brilliant.
Thanks very much.
it looks so simple once you know how.
Image
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: moving the onscreen messages to the side

Post by CommonSenseOTB »

Good job, Pluisje! Now others can refer to this viewtopic for the XML version of that piece of code. :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
SandJ
---- E L I T E ----
---- E L I T E ----
Posts: 1048
Joined: Fri Nov 26, 2010 9:08 pm
Location: Help! I'm stranded down here on Earth!

Re: moving the onscreen messages to the side

Post by SandJ »

Any chance of an Idiot's Guide?

I am using whatever HUD comes with the game and have tried to work out what I should edit so I can move messages from my line of sight but cannot work out what to edit.
Flying a Cobra Mk I Cobbie 3 with nothing but Explorers Club.OXP and a beam laser 4 proper lasers for company :D
Dropbox referral link 2GB of free space online + 500 Mb for the referral: good for securing work-in-progress.
User avatar
Yodeebe
---- E L I T E ----
---- E L I T E ----
Posts: 261
Joined: Mon Oct 13, 2008 7:32 pm
Location: Namab

Re: moving the onscreen messages to the side

Post by Yodeebe »

I'm an idiot, so I'll guide you if you like? :D

1st, choose a hud.

http://wiki.alioth.net/index.php/Category:HUDs_OXPs
Image
User avatar
SandJ
---- E L I T E ----
---- E L I T E ----
Posts: 1048
Joined: Fri Nov 26, 2010 9:08 pm
Location: Help! I'm stranded down here on Earth!

Re: moving the onscreen messages to the side

Post by SandJ »

Yodeebe wrote:
I tried a couple of those and got to the Console HUD which puts the messages on the left ... so that has fixed the problem, without me changing any .plist files.

Hurrah for idiots!
Flying a Cobra Mk I Cobbie 3 with nothing but Explorers Club.OXP and a beam laser 4 proper lasers for company :D
Dropbox referral link 2GB of free space online + 500 Mb for the referral: good for securing work-in-progress.
User avatar
Yodeebe
---- E L I T E ----
---- E L I T E ----
Posts: 261
Joined: Mon Oct 13, 2008 7:32 pm
Location: Namab

Re: moving the onscreen messages to the side

Post by Yodeebe »

Capt. Beatnik's 'CB Hud' is also very nice, & has messages off to the side too, if you prefer the black/transparent background type thing.

http://www.box.net/shared/y1q8yegurud6lr5v9bd7
Image
Post Reply