Difference between revisions of "Hud.plist"

From Elite Wiki
(legends: Add multi-function displays)
(New feature: alert_conditions selector)
Line 76: Line 76:
   
 
=== selector ===
 
=== selector ===
The selector is a hardcode name, like: drawTargetReticle:, drawScanner:, drawScannerZoomIndicator:, drawStickSensitivityIndicator:, drawCompass:, drawAegis:, drawScoopStatus:, drawSpeedBar:, drawRollBar:, drawPitchBar:, drawYawBar:, drawEnergyGauge:, drawForwardShieldBar:, drawAftShieldBar:, drawYellowSurround:, drawFuelBar:, drawCabinTempBar:, drawWeaponTempBar:, drawAltitudeBar:, drawMissileDisplay:, drawStatusLight:, drawClock:, drawWeaponsOfflineText: or drawFPSInfoCounter:
+
The selector is a hardcoded name, like: drawTargetReticle:, drawScanner:, drawScannerZoomIndicator:, drawStickSensitivityIndicator:, drawCompass:, drawAegis:, drawScoopStatus:, drawSpeedBar:, drawRollBar:, drawPitchBar:, drawYawBar:, drawEnergyGauge:, drawForwardShieldBar:, drawAftShieldBar:, drawYellowSurround:, drawFuelBar:, drawCabinTempBar:, drawWeaponTempBar:, drawAltitudeBar:, drawMissileDisplay:, drawStatusLight:, drawClock:, drawWeaponsOfflineText: or drawFPSInfoCounter:
   
 
1.79 also adds:
 
1.79 also adds:
Line 83: Line 83:
 
=== alpha ===
 
=== alpha ===
 
alpha is the transpacency of the dial ranging from 0 to 1.
 
alpha is the transpacency of the dial ranging from 0 to 1.
  +
  +
=== alert_conditions ===
  +
In Oolite 1.79 or later, this controls which alert conditions the dial appears at. It is a number from 0 to 15, formed by adding together the numbers for the individual alert conditions - 1=docked, 2=green, 4=yellow, 8=red. For example, a dial which only appeared at yellow and red alert condition would have
  +
alert_conditions = 12;
  +
  +
The default value, which reflects previous behaviour, is 15 (show at all conditions)
   
 
=== draw_surround ===
 
=== draw_surround ===

Revision as of 23:04, 4 November 2013

hud.plist and hud-small.plist are two different HUDs used by Oolite. They provide Oolite with the information necessary to display the players hud. The 'hud-small' is used on ships like the Cobra MkI and the Adder, while the 'hud.plist' is the standard default Cobra MkIII hud. The main difference lies in their width. 'hud-small' is smaller (narrower) than 'hud', to help you imagine a smaller cockpit in a smaller ship.

cloak_indicator_on_status_light

This key determines if the statuslight also should show the cloaked status.

Example:

cloak_indicator_on_status_light = yes;

crosshair_scale

Affects the size of the crosshair. (default 32.0)

Example:

crosshair_scale = 32.0;

crosshair_width

Affects the width of the crosshair. (default 1.5)

Example:

crosshair_width = 1.5;

crosshair_color

Affects the color of the crosshair. color can be a named color or any of the other Colour_specifiers. (Default is greenColor)

Example:

crosshair_color= "greenColor";

crosshairs

This entry contains a directory with crosshairs that overrides those defined in the internal crosshairs.plist

Example:

crosshairs = {
WEAPON_BEAM_LASER =
	(
		(0.25, 0.25, 1.0,		0.75, 0.0, 0.50),
		(0.25, 0.25, -1.0,		0.75, 0.0, -0.50),
		(0.25, 1.0, 0.25,		0.75, 0.50, 0.0),
		(0.25, -1.0, 0.25,		0.75, -0.50, 0.0),
		(0.25, -0.25, 1.0,		0.75, 0.0, 0.50),
		(0.25, -0.25, -1.0,		0.75, 0.0, -0.50),
		(0.25, 1.0, -0.25,		0.75, 0.50, 0.0),
		(0.25, -1.0, -0.25,		0.75, -0.50, 0.0)
	);
}

crosshair_file

(Oolite 1.77 or later) This entry names an external crosshairs plist file that defines the default crosshairs for this HUD. If this is specified at the same time as the crosshairs property, then crosshair_file takes precedence.

dials

The dials are listed here as an array of individual dials. Each dial is a separate directory. Some examples are:

{
	"equipment_required" = "EQ_SCANNER_SHOW_MISSILE_TARGET";
	selector = "drawTargetReticle:";
},
{	// scanner
	selector	= "drawScanner:";
	alpha		= 1.0;
	x		= 0;
	y		= 60;
	y_origin	= -1;
	height		= 72.0;
	width		= 288.0;
	rgb_color	= (1.0, 0.0, 0.0);
},
{    // energy bars
	"draw_surround" = yes;
	height = 48;
	selector = "drawEnergyGauge:";
	width = 80;
	x = 200;
	y = 35;
	"y_origin" = "-1";
	labelled = yes;
	n_bars = 3;
}

selector

The selector is a hardcoded name, like: drawTargetReticle:, drawScanner:, drawScannerZoomIndicator:, drawStickSensitivityIndicator:, drawCompass:, drawAegis:, drawScoopStatus:, drawSpeedBar:, drawRollBar:, drawPitchBar:, drawYawBar:, drawEnergyGauge:, drawForwardShieldBar:, drawAftShieldBar:, drawYellowSurround:, drawFuelBar:, drawCabinTempBar:, drawWeaponTempBar:, drawAltitudeBar:, drawMissileDisplay:, drawStatusLight:, drawClock:, drawWeaponsOfflineText: or drawFPSInfoCounter:

1.79 also adds: drawWaypoints:, drawPrimedEquipment:, drawASCTarget:

alpha

alpha is the transpacency of the dial ranging from 0 to 1.

alert_conditions

In Oolite 1.79 or later, this controls which alert conditions the dial appears at. It is a number from 0 to 15, formed by adding together the numbers for the individual alert conditions - 1=docked, 2=green, 4=yellow, 8=red. For example, a dial which only appeared at yellow and red alert condition would have

alert_conditions = 12;

The default value, which reflects previous behaviour, is 15 (show at all conditions)

draw_surround

A box is drawn around the dial when set to 'yes'.

equipment_required

The dials is only drawn if the required equipment is present.

height

The hight of the dial.

labeled

Adds bank numbers to the energy banks. Does nothing for other dials.

n_bars

Determines how many energy banks are drawn. Without this key, the system chops the total energy in banks with a minimum of 64 units for each bank. (more precisely: n_bars = integer(maxEnergy/64) )

rgb_color

Determines the color of some dials. Example:

rgb_color	= (1.0, 0.0, 0.0);

reticle_scale

(1.79 or later)

Determines the minimum proportion of the screen taken up by the targeting reticle in 'drawTargetReticle' and the waypoint indicator in 'drawWaypoints'. Does nothing for other dials

spacing

Determines spacing between the missile icons in the 'drawMissileDisplay'. Does nothing for other dials.

x

x is the x-position of the dial on screen.

y

y is the y-position of the dial on screen.

x_origin

x_origin = 1.0 means that the x co-ordinate is interpreted relative to the right hand side of the screen. If x_origin is set to 0 or unspecified, then x is interpreted relative to the middle of the screen. x_origin = -1.0 means that the x co-ordinate is interpreted relative to the left hand side of the screen. N.B. it is preferable to define hud elements relative to the screen borders, so that hud elements fit better on all height/width ratio screens.

y_origin

y_origin = -1.0 means that y is relative to the screen bottom. If y_origin is set to 0 or unspecified, then y is interpreted relative to the middle of the screen , and similarly for y_origin. y_origin = 1.0 means that the y co-ordinate is interpreted relative to the top of the screen.

width

The width of the dial.

legends

The legends are listed here as an array of individual legends. Each legends is a separate directory. The legends looks for example like:

legends = (
{
 	text		= "FWD";
 	x		= -264;
 	y		= 82;
 	y_origin	= -1;
 	height		= 20;
 	width		= 10;
 	alpha 		= 0.5;
 },
 {
 	image		= "myImage.png";
 	x		= -164;
 	y		= 72;
 	y_origin	= 1;
 	height		= 40;
 	width		= 40;
 	alpha 		= 0.5;
 }
)

multi_function_displays

In 1.79 or later the multi-function displays are listed here as an array. Each entry is a dictionary of parameters

multi_function_displays = (
		{
			width = 198;
			height = 132;
			x = -156;
			y = -72;
			y_origin = 1;
		},
		{
			width = 198;
			height = 132;
			x = 156;
			y = -72;
			y_origin = 1;
		}
	);

overall_alpha

The overall tranparency of the hud can be set with overall_alpha.

Example:

overall_alpha	= 0.75;

reticle_target_sensitive

This key determines if the reticle should become red when on-target.

Example:

reticle_target_sensitive = no;

comm_log_gui

Determines the location and the specifications of the comm_log_gui and contains a directory of keys.

Example:

"comm_log_gui" = {
	alpha = "0.75";
	width = 360;
	height = 100;
	x = 0;
	y = 180;
	row_height = 12;
	permanent = no;
	automatic = yes;
	background_rgba = "0.0 0.05 0.45 0.5";  // = default color
};

message_gui

Determines the location and the specifications of the message_gui and contains a directory of keys.

Example:

"message_gui" = {
	alpha = "0.75";
	width = 480;
	height = 160;
	x = 0;
	y = "-40";
	"row_height" = 16;
};