<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alioth.net/index.php?action=history&amp;feed=atom&amp;title=Oolite_Custom_HUD_Dials</id>
	<title>Oolite Custom HUD Dials - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alioth.net/index.php?action=history&amp;feed=atom&amp;title=Oolite_Custom_HUD_Dials"/>
	<link rel="alternate" type="text/html" href="https://wiki.alioth.net/index.php?title=Oolite_Custom_HUD_Dials&amp;action=history"/>
	<updated>2026-04-28T10:17:19Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://wiki.alioth.net/index.php?title=Oolite_Custom_HUD_Dials&amp;diff=87027&amp;oldid=prev</id>
		<title>Cholmondely: Tagged as Oolite scripting</title>
		<link rel="alternate" type="text/html" href="https://wiki.alioth.net/index.php?title=Oolite_Custom_HUD_Dials&amp;diff=87027&amp;oldid=prev"/>
		<updated>2025-08-11T15:19:39Z</updated>

		<summary type="html">&lt;p&gt;Tagged as Oolite scripting&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 15:19, 11 August 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l135&quot; &gt;Line 135:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 135:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:OXP]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:OXP]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:HUD]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:HUD]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Oolite scripting]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:JavaScript]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:JavaScript]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Cholmondely</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alioth.net/index.php?title=Oolite_Custom_HUD_Dials&amp;diff=86976&amp;oldid=prev</id>
		<title>Wildeblood: /* See Also */</title>
		<link rel="alternate" type="text/html" href="https://wiki.alioth.net/index.php?title=Oolite_Custom_HUD_Dials&amp;diff=86976&amp;oldid=prev"/>
		<updated>2025-08-08T08:08:47Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;See Also&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 08:08, 8 August 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l128&quot; &gt;Line 128:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 128:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== See Also ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== See Also ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[HUD &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Configuration&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[HUD &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Customisation Guide&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Oolite Colour Specifiers]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Oolite Colour Specifiers]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;JavaScript Reference&lt;/del&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Oolite_JavaScript_Reference:_PlayerShip#setCustomHUDDial]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;* [[File:HUDDataShipName.oxz&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:OXP]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:OXP]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:HUD]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:HUD]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:JavaScript]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:JavaScript]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wildeblood</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alioth.net/index.php?title=Oolite_Custom_HUD_Dials&amp;diff=86975&amp;oldid=prev</id>
		<title>Wildeblood: Punctuation</title>
		<link rel="alternate" type="text/html" href="https://wiki.alioth.net/index.php?title=Oolite_Custom_HUD_Dials&amp;diff=86975&amp;oldid=prev"/>
		<updated>2025-08-08T07:55:32Z</updated>

		<summary type="html">&lt;p&gt;Punctuation&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 07:55, 8 August 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;***&lt;/del&gt;Custom HUD dials&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;*** &lt;/del&gt;allow OXP developers to create dynamic HUD elements that can display information controlled by JavaScript. This is particularly useful for displaying ship-specific information, mission data, or other dynamic content without requiring players to edit their HUD configuration files.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;Custom HUD dials&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''' &lt;/ins&gt;allow OXP developers to create dynamic HUD elements that can display information controlled by JavaScript. This is particularly useful for displaying ship-specific information, mission data, or other dynamic content without requiring players to edit their HUD configuration files.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Overview ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Overview ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Wildeblood</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.alioth.net/index.php?title=Oolite_Custom_HUD_Dials&amp;diff=86974&amp;oldid=prev</id>
		<title>Wildeblood: Page created. CORRECTIONS INVITED.</title>
		<link rel="alternate" type="text/html" href="https://wiki.alioth.net/index.php?title=Oolite_Custom_HUD_Dials&amp;diff=86974&amp;oldid=prev"/>
		<updated>2025-08-08T07:53:12Z</updated>

		<summary type="html">&lt;p&gt;Page created. CORRECTIONS INVITED.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;***Custom HUD dials*** allow OXP developers to create dynamic HUD elements that can display information controlled by JavaScript. This is particularly useful for displaying ship-specific information, mission data, or other dynamic content without requiring players to edit their HUD configuration files.&lt;br /&gt;
&lt;br /&gt;
== Overview ==&lt;br /&gt;
&lt;br /&gt;
Custom dials are defined in the &amp;lt;code&amp;gt;hud.plist&amp;lt;/code&amp;gt; file using special selectors that begin with &amp;lt;code&amp;gt;drawCustom&amp;lt;/code&amp;gt;. These dials reference data sources that are populated using JavaScript via the &amp;lt;code&amp;gt;player.ship.setCustomHUDDial&amp;lt;/code&amp;gt; method.&lt;br /&gt;
&lt;br /&gt;
== Custom Dial Types ==&lt;br /&gt;
&lt;br /&gt;
There are five types of custom dials available, each expecting different types of data:&lt;br /&gt;
&lt;br /&gt;
=== drawCustomBar ===&lt;br /&gt;
&lt;br /&gt;
Displays a horizontal or vertical bar similar to the standard HUD bars (fuel, shields, etc.).&lt;br /&gt;
&lt;br /&gt;
* '''Data Source''': A number between 0 and 1&lt;br /&gt;
* '''Use Case''': Displaying percentage-based values like fuel level, shield strength, etc.&lt;br /&gt;
* '''Example''': &amp;lt;code&amp;gt;{ selector = &amp;quot;drawCustomBar:&amp;quot;; data_source = &amp;quot;customFuelLevel&amp;quot;; ... }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== drawCustomIndicator ===&lt;br /&gt;
&lt;br /&gt;
Displays an indicator that can move between two positions, similar to the pitch, roll and yaw indicators.&lt;br /&gt;
&lt;br /&gt;
* '''Data Source''': A number between -1 and 1&lt;br /&gt;
* '''Use Case''': Showing directional information or relative values&lt;br /&gt;
* '''Example''': &amp;lt;code&amp;gt;{ selector = &amp;quot;drawCustomIndicator:&amp;quot;; data_source = &amp;quot;customDirection&amp;quot;; ... }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== drawCustomLight ===&lt;br /&gt;
&lt;br /&gt;
Displays a colored light or indicator that can change color based on data.&lt;br /&gt;
&lt;br /&gt;
* '''Data Source''': Any valid color specifier (e.g., &amp;quot;greenColor&amp;quot; or [0.0,0.5,1.0,1.0])&lt;br /&gt;
* '''Use Case''': Status indicators that change color based on conditions&lt;br /&gt;
* '''Example''': &amp;lt;code&amp;gt;{ selector = &amp;quot;drawCustomLight:&amp;quot;; data_source = &amp;quot;customStatusLight&amp;quot;; ... }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== drawCustomText ===&lt;br /&gt;
&lt;br /&gt;
Displays text that can be dynamically updated.&lt;br /&gt;
&lt;br /&gt;
* '''Data Source''': A string&lt;br /&gt;
* '''Use Case''': Displaying dynamic text information like ship name, mission status, etc.&lt;br /&gt;
* '''Example''': &amp;lt;code&amp;gt;{ selector = &amp;quot;drawCustomText:&amp;quot;; data_source = &amp;quot;playerShipName&amp;quot;; ... }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== drawCustomImage ===&lt;br /&gt;
&lt;br /&gt;
Displays an image that can be dynamically changed.&lt;br /&gt;
&lt;br /&gt;
* '''Data Source''': A string, matching the filename of an image in the Images folder&lt;br /&gt;
* '''Use Case''': Displaying dynamic icons or images based on game state&lt;br /&gt;
* '''Example''': &amp;lt;code&amp;gt;{ selector = &amp;quot;drawCustomImage:&amp;quot;; data_source = &amp;quot;customStatusIcon&amp;quot;; ... }&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Note''': For drawCustomImage, width and height are optional. If set, images will be scaled to that size. If not set, images will appear at their natural size. The image will be centered on the x and y coordinates.&lt;br /&gt;
&lt;br /&gt;
== Implementation Example ==&lt;br /&gt;
&lt;br /&gt;
=== 1. HUD Configuration (hud.plist) ===&lt;br /&gt;
&lt;br /&gt;
In your HUD file, define the custom dials in the dials section:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dials = (&lt;br /&gt;
    // Other dials...&lt;br /&gt;
    &lt;br /&gt;
    // Custom dial for ship name&lt;br /&gt;
    {&lt;br /&gt;
        selector = &amp;quot;drawCustomText:&amp;quot;;&lt;br /&gt;
        data_source = &amp;quot;playerShipName&amp;quot;;&lt;br /&gt;
        x = 32;&lt;br /&gt;
        y = -40;&lt;br /&gt;
        y_origin = 1;&lt;br /&gt;
        x_origin = -1;&lt;br /&gt;
        height = 20;&lt;br /&gt;
        width = 12;&lt;br /&gt;
        color = &amp;quot;cyanColor&amp;quot;;&lt;br /&gt;
        alpha = 0.8;&lt;br /&gt;
    },&lt;br /&gt;
    &lt;br /&gt;
    // Custom dial for ship class&lt;br /&gt;
    {&lt;br /&gt;
        selector = &amp;quot;drawCustomText:&amp;quot;;&lt;br /&gt;
        data_source = &amp;quot;playerShipClass&amp;quot;;&lt;br /&gt;
        x = 38;&lt;br /&gt;
        y = -44;&lt;br /&gt;
        y_origin = 1;&lt;br /&gt;
        x_origin = -1;&lt;br /&gt;
        height = 8;&lt;br /&gt;
        width = 8;&lt;br /&gt;
        color = { red = 1.0; green = 0.0; blue = 0.5; alpha = 1.0; };&lt;br /&gt;
        alpha = 0.8;&lt;br /&gt;
    }&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. JavaScript Implementation ===&lt;br /&gt;
&lt;br /&gt;
In your world script, set the data sources:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
this.shipLaunchedFromStation = function () {&lt;br /&gt;
    var self = player.ship;&lt;br /&gt;
    self.setCustomHUDDial(&amp;quot;playerShipName&amp;quot;, self.shipUniqueName);&lt;br /&gt;
    self.setCustomHUDDial(&amp;quot;playerShipClass&amp;quot;, self.shipClassName.toUpperCase());&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example sets the ship name and class once when the player launches from a station. The values remain constant until the next time the event fires (i.e., after docking and launching again).&lt;br /&gt;
&lt;br /&gt;
== Best Practices ==&lt;br /&gt;
&lt;br /&gt;
# Use Descriptive Data Source Names: Choose clear, descriptive names for your data sources to avoid conflicts with other OXPs.&lt;br /&gt;
# Initialize Data Sources: Set initial values for your data sources in appropriate event handlers (like &amp;lt;code&amp;gt;shipLaunchedFromStation&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;startUp&amp;lt;/code&amp;gt;).&lt;br /&gt;
# Update Only When Necessary: For values that don't change frequently, update them only when needed rather than in every frame.&lt;br /&gt;
# Consider Performance: Avoid updating custom dials every frame unless absolutely necessary, as this can impact performance.&lt;br /&gt;
# Provide Fallbacks: Consider what should happen if your JavaScript fails to set the data source. You might want to include default values or error handling.&lt;br /&gt;
&lt;br /&gt;
== Common Use Cases ==&lt;br /&gt;
&lt;br /&gt;
# Ship Information: Display ship name, class, or other ship-specific details&lt;br /&gt;
# Mission Status: Show mission objectives or status messages&lt;br /&gt;
# System Information: Display current system name, government type, etc.&lt;br /&gt;
# Custom Gauges: Create specialized gauges for OXP-specific mechanics&lt;br /&gt;
# Status Indicators: Show status of OXP-specific equipment or features&lt;br /&gt;
&lt;br /&gt;
== Related Methods ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;player.ship.setCustomHUDDial(key, value)&amp;lt;/code&amp;gt;: Sets the value of a custom HUD dial&lt;br /&gt;
&amp;lt;!-- * &amp;lt;code&amp;gt;player.ship.customHUDDial(key)&amp;lt;/code&amp;gt;: Retrieves the current value of a custom HUD dial --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[HUD Configuration]]&lt;br /&gt;
* [[Oolite Colour Specifiers]]&lt;br /&gt;
* [[JavaScript Reference]]&lt;br /&gt;
&lt;br /&gt;
[[Category:OXP]]&lt;br /&gt;
[[Category:HUD]]&lt;br /&gt;
[[Category:JavaScript]]&lt;/div&gt;</summary>
		<author><name>Wildeblood</name></author>
		
	</entry>
</feed>