Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Test Builds => Topic started by: Swifty on June 10, 2010, 04:48:26 pm

Title: HUD Overhaul Test Build
Post by: Swifty on June 10, 2010, 04:48:26 pm
(http://img.photobucket.com/albums/v436/Swifti/screen0019.jpg)

Based off of Rev 6354. Sample HUD data with an exhaustive list of options per gauge inside Hud_Gauges.tbl. Download (http://www.mediafire.com/?4558ja4742g53n5)

Code has been committed to svn://svn.icculus.org/fs2open/branches/swifty

A screencast (http://www.youtube.com/watch?v=cqO7_ahyS4Q) on my Youtube channel showing an overview. Just for fun.

EDIT: Make sure you guys turn on all the HUD gauges in the HUD Options Menu. I know that FSO by default sets Squad Messages and Text Warnings off; originally FSO would just display them regardless of they were off or not but my code, for better or worse, does not make any such discrimination.

More sample HUD layouts that look way better than the examples in my build package:

Standard HUD layout 4:3 resolutions (http://www.hard-light.net/forums/index.php?topic=69858.msg1380447#msg1380447)
Standard HUD layout for 16:9/10 resolutions (http://www.hard-light.net/forums/index.php?topic=69858.msg1380458#msg1380458)
The_E's custom layout for 16:9/10 resolutions (http://www.hard-light.net/forums/index.php?topic=69858.msg1380229#msg1380229)
Layout for triple head monitors (http://www.hard-light.net/forums/index.php?topic=69858.msg1382534#msg1382534)


Some basic documentation:

All HUD configurations are encapsulated with "#Gauge Config" and "#End". You can define as many different configurations as you need.

Example:
Code: [Select]
#Gauge Config
(HUD layout information goes here)
#End

You can define a HUD layout configuration for a specific ship or for the default configuration. The default configuration is the HUD layout which will be used for any ships that do not have its own layout. Ship specific gauge layouts will have "$Ship:" defined while non-specific layouts do not.

Each #Gauge Config will have a Base resolution. This resolution is the scale in which the corresponding HUD layout will be drawn regardless of the actual resolution. This is similar to how Freespace Open draws the HUD at a 640x480 or 1024x768 scale regardless of the resolution and aspect ratio. This scale is defined using the "$Base:" field.

Example:
Code: [Select]
#Gauge Config
$Base: (1440, 900)
$Gauges
(List desired gauges here)
$End Gauges
#End

You can restrict a given HUD layout to be used for specific resolutions and/or aspect ratios. The "$Required Aspect:" field will limit a HUD configuration for use for a specified aspect ratio. The "$Min:" field will set a minimum resolution. "$Max:" will set a maximum.

The following example will restrict this particular HUD gauge layout, that will be drawn in 1440x900 resolution, for use for in wide screen resolutions that are greater than 1280x719 and less than 1680x1051. Since this example does not have the "$Ship" field, it will be used for the default configuration.

Example:
Code: [Select]
#Gauge Config
$Base: (1440, 900)
$Required Aspect: Wide Screen ;Can be "Wide Screen" or "Full Screen" ATM
$Min: (1280, 719)
$Max: (1680, 1051)
$Gauges
(List desired gauges here)
$End Gauges
#End

Any desired gauges are encapsulated within $Gauges and $End Gauges. Each gauge is followed by a set of coordinates representing the desired screen position. Setting "default" instead of an ordered pair will set the HUD gauge to draw with it's original retail coordinates and scale (640x480 or 1024x768)

Example:
Code: [Select]
#Gauge Config
$Base: (1440, 900)
$Required Aspect: Wide Screen ;Can be "Wide Screen" or "Full Screen" ATM
$Min: (1280, 720)
$Max: (1680, 1050)
$Gauges
+Wingman Status:
Position: (600, 400)
+Radar:
Position: (900, 50)
+Target Monitor:
Position: (50, 850)
+Center Reticle: default
+Player Shields: default
$End Gauges
#End

Add "$Ship:" to define this gauge layout for a particular flyable ship.

Example:
Code: [Select]
#Gauge Config
$Ship: GTF Ulysses
$Base: (1440, 900)
$Required Aspect: Wide Screen ;Can be "Wide Screen" or "Full Screen" ATM
$Min: (1280, 720)
$Max: (1680, 1050)
$Gauges
+Wingman Status:
Position: (600, 400)
+Radar:
Position: (900, 50)
+Target Monitor:
Position: (50, 850)
+Center Reticle: default
$End Gauges
#End

EDIT:

To add a custom gauge, use +Custom and it's parameters

Example:
Code: [Select]
#Gauge Config
$Ship: GTF Ulysses
$Base: (1440, 900)
$Required Aspect: Wide Screen ;Can be "Wide Screen" or "Full Screen" ATM
$Min: (1280, 720)
$Max: (1680, 1050)
$Gauges
+Custom:
Position: (1300, 20)
Name: Sup
Text: This is a custom gauge
Gauge Type: ETS_GAUGE ; strings for gauges defined in sexp.cpp. Will adopt the color and activation settings of its corresponding control in HUD config.
Slew: No
Filename: netlag1
+Wingman Status:
Position: (600, 400)
+Radar:
Position: (900, 50)
+Target Monitor:
Position: (50, 850)
+Center Reticle: default
$End Gauges
#End

From sexp.cpp:
Code: [Select]
char *HUD_gauge_text[NUM_HUD_GAUGES] =
{
"LEAD_INDICATOR",
"ORIENTATION_TEE",
"HOSTILE_TRIANGLE",
"TARGET_TRIANGLE",
"MISSION_TIME",
"RETICLE_CIRCLE",
"THROTTLE_GAUGE",
"RADAR",
"TARGET_MONITOR",
"CENTER_RETICLE",
"TARGET_MONITOR_EXTRA_DATA",
"TARGET_SHIELD_ICON",
"PLAYER_SHIELD_ICON",
"ETS_GAUGE",
"AUTO_TARGET",
"AUTO_SPEED",
"WEAPONS_GAUGE",
"ESCORT_VIEW",
"DIRECTIVES_VIEW",
"THREAT_GAUGE",
"AFTERBURNER_ENERGY",
"WEAPONS_ENERGY",
"WEAPON_LINKING_GAUGE",
"TARGER_MINI_ICON",
"OFFSCREEN_INDICATOR",
"TALKING_HEAD",
"DAMAGE_GAUGE",
"MESSAGE_LINES",
"MISSILE_WARNING_ARROW",
"CMEASURE_GAUGE",
"OBJECTIVES_NOTIFY_GAUGE",
"WINGMEN_STATUS",
"OFFSCREEN RANGE",
"KILLS GAUGE",
"ATTACKING TARGET COUNT",
"TEXT FLASH",
"MESSAGE BOX",
"SUPPORT GUAGE",
"LAG GUAGE"
};

lvlshot FTW -- The E
Title: Re: HUD Overhaul Test Build
Post by: T-Man on June 10, 2010, 05:01:33 pm
Excellent, you can specify ship-specific HUDs with it too. I was considering putting up a feature request for just that. A lot of mod makers will find that useful i imagine.

Congratulations; excellent work. :) :yes:
Title: Re: HUD Overhaul Test Build
Post by: Black Wolf on June 10, 2010, 06:48:35 pm
Oh wow - this is really cool and way overdue. The implementation seems very logical and intuitive as well. Now i just need to work out how to do custom guages... Does this support them?
Title: Re: HUD Overhaul Test Build
Post by: Swifty on June 10, 2010, 06:58:26 pm
Yes, thanks for reminding me. Custom gauges are still supported and can still be affected by the hud set SEXPs. I'll post up some more documentation regarding how to use them.
Title: Re: HUD Overhaul Test Build
Post by: Galemp on June 10, 2010, 07:09:20 pm
This gets Carl's five thumbs up!

 :yes2::yes2::mad2::yes::yes::yes:
Title: Re: HUD Overhaul Test Build
Post by: Swifty on June 10, 2010, 07:36:42 pm
First post updated with info on how to use Custom Gauges.
Title: Re: HUD Overhaul Test Build
Post by: JGZinv on June 10, 2010, 08:20:29 pm
Much praise for you Swifty. We've needed this for so long.

On a lighter note.

We should no longer refer to it as a Heads Up Display, but the Swifty Tactical Display...

Er wait...that doesn't make a good acronym.
Title: Re: HUD Overhaul Test Build
Post by: The E on June 10, 2010, 10:01:55 pm
Right, here are the results of a bit of experimentation by me. This is optimized for 1440x900, just like Swifty's example tbl.

Screenies:
(http://blueplanet.fsmods.net/E/screen0207.png)
(http://blueplanet.fsmods.net/E/screen0208.png)
Please ignore the crap that's displayed on the radar. Some custom radar images are broken, seemingly.

Also, here's the custom reticle: http://blueplanet.fsmods.net/E/2_reticle1.ani
If you want to use the retail one, you'll need to adjust the reticle coordinates to the same values used in Swifty's example tbl.

tbl:

Code: [Select]
$Load Retail Configuration: No ; If set to Yes, FSO will load any missing gauges necessary to complete the FS1/FS2 retail configuration.
; If field is not present, FSO will default this to Yes.
;$Max Escort Ships:

;$Length Unit Multiplier:

;$Wireframe Targetbox:

;$Lock Wireframe Mode:

;$Reticle Style:

; The following is a widescreen example HUD. If the user does not select a resolution matching the below parameters, FSO will not use this HUD and move on to the next configuration
#Gauge Config
;$Ship: GTF Perseus
; For Per-Ship gauges
$Base: (1440, 900) ; The scale in which FSO will render these gauges in. Everything in $Gauges should be between 1 and 1440 for the X val and between 1 and 900 for the Y val
$Required Aspect: Wide Screen ; Can be "Wide Screen" or "Full Screen" ATM
$Min: (1280, 720) ; These Min and Max fields are Inclusive
$Max: (1920, 1080)
$Gauges:
; Any gauges with "default" will be loaded with default retail settings, including their scale and position (based on 640x480 or 1024x768 depending on the player's resolution)
+Kills:
Position: (800, 660)
+Damage:
Position: (700, 350)
+Directives:
Position: (10, 440)
+ETS Weapons:
Position: (450, 450)
+ETS Engines:
Position: (474, 450)
+ETS Shields:
Position: (462, 450)
+Messages:
Position: (265, 20)
+Training Messages:
Position: (265, 90)
+Talking Head:
Position: (5, 5)
+Wingman Status:
Position: (10, 380)
+Radar:
Position: (615, 730)
+Target Monitor:
Position: (10, 730)
+Center Reticle:
Position: (710, 440)
+Throttle:
Position: (500, 350)
+Threat Indicator:
Position: (837, 350)
+Text Warnings:
Position: (720, 500)
+Text Warnings:
Position: (720, 400) ; Yes, having multiple of the same gauge is possible
+Afterburner Energy: default
;Position: (575, 735)
+Weapon Energy: default
;Position: (850, 735)
+Auto Target:
Position: (800, 630)
+Auto Speed:
Position: (580, 630)
+Countermeasures:
Position: (580, 660)
+Mission Time:
Position: (930, 550)
+Player Shields:
Position: (840, 780)
+Target Shields:
Position: (470, 780)
+Escort View:
Position: (160, 730)
+Squad Message:
Position: (1000, 770)
+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Lock Indicator:
+Lead Indicator:
;+Lead Indicator: default
+Offscreen Indicator:
+Hostile Triangle: default
+Missile Triangles: default
+Target Triangle: default
+Weapons:
Position: (955, 415)
$End Gauges
#End

; Any resolutions not between 1280x720 and 1920x1080 will get a blank HUD since the bottom only will apply to any Full screen resolutions and $Load Retail Configuration is set to No

#Gauge Config
$Base: (1024, 768)
$Required Aspect: Full Screen
;$Min: (640, 480)
$Gauges:
+Messages: default
+Training Messages: default
+Support: default
+Damage: default
+Wingman Status: default
+Auto Speed:
Position: (410, 530)
+Auto Target:
Position: (560, 530)
+Countermeasures:
Position: (560, 320)
+Talking Head: default
+Directives: default
+Weapons: default
+Objective Notify: default
+Squad Message: default
+Player Shields: default
+Target Shields: default
+Escort View: default
+ETS Weapons: default
+ETS Shields: default
+ETS Engines: default
+Target Monitor:
Position: (450, 590)
+Radar:
Position: (5, 590)
; If you want different types of radar running, be my guest
;+Radar Orb:  (5, 590)
+Afterburner Energy: default
+Text Warnings: default
+Center Reticle: default
+Throttle: default
+Threat Indicator: default
+Multiplayer Messages: default
+Voice Status: default
+Ping: default
+Supernova: default
+Lock Indicator:
+Offscreen Indicator:
+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Hostile Triangle: default
+Target Triangle: default
+Missile Triangles: default
+Lead Indicator:
;+Lead Indicator: default
+Orientation Tee: default
+Weapon Energy: default
+Mission Time: default
+Kills: default
; FS1 specific gauge
;+Weapon Linking: default
; Komet's lead sight. Looks for "leadsight.ani"
'+Lead Sight: default
$End Gauges
#End
Title: Re: HUD Overhaul Test Build
Post by: Commander Zane on June 10, 2010, 10:19:08 pm
That shield code needs to be reuploaded.
Title: Re: HUD Overhaul Test Build
Post by: Quanto on June 11, 2010, 12:15:36 am
So does this mean I can create custom Gauge bitmaps and use them to replace the vanilla gauges???

Please say yes! Please say yes!
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on June 11, 2010, 12:38:18 am
pretty sure that's always been possible.  Have you seen the BtRL HUD?
Title: Re: HUD Overhaul Test Build
Post by: Quanto on June 11, 2010, 01:46:34 am
Can't say I have.
Geez, am I really this out of the loop?
Title: Re: HUD Overhaul Test Build
Post by: Galemp on June 11, 2010, 02:19:12 am
Blargh, I don't like having the HUD elements rearranged like that. I just LOVE the idea of having a widescreen resolution without stretched HUD elements though!

Swifty, can I trouble you to provide us with a set of tables with the default layout, in standard and widescreen aspect ratios? It would be much easier to tweak starting with the familiar layout...
Title: Re: HUD Overhaul Test Build
Post by: The E on June 11, 2010, 02:38:34 am
One thing that should be fixed for the Wing display is that it needs a customizable direction to expand in. At the moment, new wings after Alpha are added to the left of Alpha, which a) looks weird and b) causes the gauge to expand in the wrong direction (at least for the custom layout I posted here).

Second, the interaction between the hud_gauges.tbl and the -orbradar commandline flag needs to be fixed. At the moment, if you have -orbradar enabled, but not defined any coordinates for it, the HUD will fall back to the standard radar (albeit without telling anyone about this). If both Orbradar and standard radar have coordinates defined and -orbradar is enabled, the game will, again, fall back to the standard radar (which, at least to me, sounds like unwanted behaviour).
In other words, to get the orbradar working, you need to comment out the normal Radar gauge from the tbl, which is not that user-friendly, IMHO.
Title: Re: HUD Overhaul Test Build
Post by: The E on June 11, 2010, 08:39:04 am
Another bug:

Using this hud_gauges.tbl:

Code: [Select]
$Load Retail Configuration: No ; If set to Yes, FSO will load any missing gauges necessary to complete the FS1/FS2 retail configuration.
; If field is not present, FSO will default this to Yes.
;$Max Escort Ships:

;$Length Unit Multiplier:

;$Wireframe Targetbox:

;$Lock Wireframe Mode:

;$Reticle Style:

; The following is a widescreen example HUD. If the user does not select a resolution matching the below parameters, FSO will not use this HUD and move on to the next configuration
#Gauge Config
;$Ship: GTF Perseus
; For Per-Ship gauges
$Base: (1440, 900) ; The scale in which FSO will render these gauges in. Everything in $Gauges should be between 1 and 1440 for the X val and between 1 and 900 for the Y val
$Required Aspect: Wide Screen ; Can be "Wide Screen" or "Full Screen" ATM
$Min: (1280, 720) ; These Min and Max fields are Inclusive
$Max: (1920, 1080)
$Gauges:
; Any gauges with "default" will be loaded with default retail settings, including their scale and position (based on 640x480 or 1024x768 depending on the player's resolution)
+Kills:
Position: (800, 660)
+Damage:
Position: (646, 200)
+Directives:
Position: (10, 440)
+ETS Weapons:
Position: (450, 450)
+ETS Engines:
Position: (474, 450)
+ETS Shields:
Position: (462, 450)
+Messages:
Position: (265, 20)
+Training Messages:
Position: (265, 90)
+Talking Head:
Position: (10, 10)
+Wingman Status:
Position: (10, 380)
;+Radar:
; Position: (615, 730)
+Radar Orb:
Position: (615, 730)
+Target Monitor:
Position: (10, 730)
+Mini Target Shields:
Position: (695, 500)
+Center Reticle:
Position: (710, 440)
+Throttle:
Position: (500, 350)
+Threat Indicator:
Position: (837, 350)
+Text Warnings:
Position: (720, 500)
+Text Warnings:
Position: (720, 400) ; Yes, having multiple of the same gauge is possible
+Afterburner Energy: default
;Position: (575, 735)
+Weapon Energy: default
;Position: (850, 735)
+Auto Target:
Position: (800, 630)
+Auto Speed:
Position: (580, 630)
+Countermeasures:
Position: (580, 660)
+Mission Time:
Position: (930, 550)
+Player Shields:
Position: (840, 780)
+Target Shields:
Position: (470, 780)
+Escort View:
Position: (160, 730)
+Squad Message:
Position: (1000, 770)
+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Lock Indicator:
+Lead Indicator:
+Offscreen Indicator:
+Hostile Triangle: default
+Missile Triangles: default
+Target Triangle: default
+Weapons:
Position: (955, 415)
$End Gauges
#End

; Any resolutions not between 1280x720 and 1920x1080 will get a blank HUD since the bottom only will apply to any Full screen resolutions and $Load Retail Configuration is set to No

#Gauge Config
$Base: (1024, 768)
$Required Aspect: Full Screen
;$Min: (640, 480)
$Gauges:
+Messages: default
+Training Messages: default
+Support: default
+Damage: default
+Wingman Status: default
+Auto Speed:
Position: (410, 530)
+Auto Target:
Position: (560, 530)
+Countermeasures:
Position: (560, 320)
+Talking Head: default
+Directives: default
+Weapons: default
+Objective Notify: default
+Squad Message: default
+Player Shields: default
+Target Shields: default
+Escort View: default
+ETS Weapons: default
+ETS Shields: default
+ETS Engines: default
+Target Monitor:
Position: (450, 590)
+Radar:
Position: (5, 590)
; If you want different types of radar running, be my guest
;+Radar Orb:  (5, 590)
+Afterburner Energy: default
+Text Warnings: default
+Center Reticle: default
+Throttle: default
+Threat Indicator: default
+Multiplayer Messages: default
+Voice Status: default
+Ping: default
+Supernova: default
+Lock Indicator:
+Offscreen Indicator:
+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Hostile Triangle: default
+Target Triangle: default
+Missile Triangles: default
+Lead Indicator:
;+Lead Indicator: default
+Orientation Tee: default
+Weapon Energy: default
+Mission Time: default
+Kills: default
; FS1 specific gauge
;+Weapon Linking: default
; Komet's lead sight. Looks for "leadsight.ani"
'+Lead Sight: default
$End Gauges
#End

with retail data leads to me being unable to target anything. Debug Int3()s with:
Code: [Select]
==========================================================================
DEBUG SPEW: No debug_filter.cfg found, so only general, error, and warning
categories can be shown and no debug_filter.cfg info will be saved.
==========================================================================
FreeSpace version: 3.6.13
Passed cmdline options:
  -spec_exp 15
  -ogl_spec 20
  -spec_static 1.5
  -spec_point 1.2
  -spec_tube 1.5
  -ambient_factor 35
  -env
  -mipmap
  -missile_lighting
  -glow
  -spec
  -normal
  -3dshockwave
  -dualscanlines
  -orbradar
  -targetinfo
  -3dwarp
  -ship_choice_3d
  -weapon_choice_3d
  -warp_flash
  -no_set_gamma
  -no_glsl
  -debug_window
  -fullscreen_window
Building file index...
Found root pack 'D:\FS2\FS2OGGcutscenepack.vp' with a checksum of 0x84396e99
Found root pack 'D:\FS2\multi-mission-pack.vp' with a checksum of 0x377695e0
Found root pack 'D:\FS2\multi-voice-pack.vp' with a checksum of 0xd50e7442
Found root pack 'D:\FS2\root_fs2.vp' with a checksum of 0xce10d76c
Found root pack 'D:\FS2\smarty_fs2.vp' with a checksum of 0xddeb3b1e
Found root pack 'D:\FS2\sparky_fs2.vp' with a checksum of 0x164fe65a
Found root pack 'D:\FS2\sparky_hi_fs2.vp' with a checksum of 0xa11d56f1
Found root pack 'D:\FS2\stu_fs2.vp' with a checksum of 0xd77da83a
Found root pack 'D:\FS2\tango1_fs2.vp' with a checksum of 0x4c25221e
Found root pack 'D:\FS2\tango2_fs2.vp' with a checksum of 0x86920b82
Found root pack 'D:\FS2\tango3_fs2.vp' with a checksum of 0x705e8d71
Found root pack 'D:\FS2\warble_fs2.vp' with a checksum of 0xd85c305d
Searching root 'D:\FS2\' ... 287 files
Searching root pack 'D:\FS2\FS2OGGcutscenepack.vp' ... 10 files
Searching root pack 'D:\FS2\multi-mission-pack.vp' ... 110 files
Searching root pack 'D:\FS2\multi-voice-pack.vp' ... 307 files
Searching root pack 'D:\FS2\root_fs2.vp' ... 157 files
Searching root pack 'D:\FS2\smarty_fs2.vp' ... 10 files
Searching root pack 'D:\FS2\sparky_fs2.vp' ... 3027 files
Searching root pack 'D:\FS2\sparky_hi_fs2.vp' ... 1337 files
Searching root pack 'D:\FS2\stu_fs2.vp' ... 2355 files
Searching root pack 'D:\FS2\tango1_fs2.vp' ... 32 files
Searching root pack 'D:\FS2\tango2_fs2.vp' ... 15 files
Searching root pack 'D:\FS2\tango3_fs2.vp' ... 10 files
Searching root pack 'D:\FS2\warble_fs2.vp' ... 52 files
Found 13 roots and 7709 files.
AutoLang: Language auto-detection successful...
Setting language to English
Initializing OpenAL...
  OpenAL Vendor     : Creative Labs Inc.
  OpenAL Renderer   : Software
  OpenAL Version    : 1.1

  Found extension "ALC_EXT_EFX".

  Sample rate: 44100 (44100)
  EFX enabled: NO
  Playback device: Generic Software on Speakers (High Definition Audio Device)
  Capture device: <not available>
... OpenAL successfully initialized!
Failed to init speech
Initializing OpenGL graphics device at 1440x900 with 32-bit color...
  Initializing WGL...
  Requested WGL Video values = R: 8, G: 8, B: 8, depth: 32, double-buffer: 1
  Actual WGL Video values    = R: 8, G: 8, B: 8, depth: 32, double-buffer: 1
  OpenGL Vendor     : ATI Technologies Inc.
  OpenGL Renderer   : ATI RADEON XPRESS 1200 Series
  OpenGL Version    : 2.1.8545 Release

  Using extension "GL_EXT_fog_coord".
  Using extension "GL_ARB_multitexture".
  Using extension "GL_ARB_texture_env_add".
  Using extension "GL_ARB_texture_compression".
  Using extension "GL_EXT_texture_compression_s3tc".
  Using extension "GL_EXT_texture_filter_anisotropic".
  Using extension "GL_ARB_texture_env_combine".
  Using extension "GL_EXT_compiled_vertex_array".
  Using extension "GL_EXT_draw_range_elements".
  Using extension "GL_ARB_texture_mirrored_repeat".
  Using extension "GL_ARB_texture_non_power_of_two".
  Using extension "GL_ARB_vertex_buffer_object".
  Using extension "GL_ARB_pixel_buffer_object".
  Using extension "GL_SGIS_generate_mipmap".
  Using extension "GL_EXT_framebuffer_object".
  Using extension "GL_ARB_texture_rectangle".
  Using extension "GL_EXT_bgra".
  Using extension "GL_ARB_texture_cube_map".
  Using extension "GL_EXT_texture_lod_bias".
  Using extension "GL_ARB_point_sprite".
  Using extension "GL_ARB_shading_language_100".
  Using extension "GL_ARB_shader_objects".
  Using extension "GL_ARB_vertex_shader".
  Using extension "GL_ARB_fragment_shader".
  Unable to find extension "GL_ATI_shader_texture_lod".
  Found special extension function "wglSwapIntervalEXT".

  Max texture units: 8 (8)
  Max elements vertices: 2147483647
  Max elements indices: 16384
  Max texture size: 2048x2048
  Can use compressed textures: YES
  Texture compression available: YES
  Using trilinear texture filter.
... OpenGL init is complete!
Size of bitmap info = 760 KB
Size of bitmap extra info = 52 bytes
ANI cursorweb with size 24x24 (25.0% wasted)
GRAPHICS: Initializing default colors...
SCRIPTING: Beginning initialization sequence...
SCRIPTING: Beginning Lua initialization...
LUA: Opening LUA state...
LUA: Initializing base Lua libraries...
LUA: Beginning ADE initialization
ADE: Initializing enumeration constants...
ADE: Assigning Lua session...
SCRIPTING: Beginning main hook parse sequence....
Wokka!  Error opening file (scripting.tbl)!
TABLES: Unable to parse 'scripting.tbl'!  Error code = 5.
SCRIPTING: Inititialization complete.
SCRIPTING: Splash screen overrides checked
SCRIPTING: Splash hook has been run
SCRIPTING: Splash screen conditional hook has been run
Using high memory settings...
Wokka!  Error opening file (interface.tbl)!
WMCGUI: Unable to parse 'interface.tbl'!  Error code = 5.
Windows reported 16 joysticks, we found 0
Current soundtrack set to -1 in event_music_reset_choices
Wokka!  Error opening file (armor.tbl)!
TABLES: Unable to parse 'armor.tbl'!  Error code = 5.
ANI damage1 with size 148x25 (21.9% wasted)
ANI energy1 with size 12x41 (35.9% wasted)
ANI head1 with size 164x132 (48.4% wasted)
ANI wingman1 with size 71x53 (17.2% wasted)
ANI wingman2 with size 35x53 (17.2% wasted)
ANI wingman3 with size 14x53 (17.2% wasted)
ANI 2_radar1 with size 209x170 (33.6% wasted)
ANI targetview1 with size 137x156 (39.1% wasted)
ANI targetview2 with size 4x96 (25.0% wasted)
ANI targhit1 with size 31x21 (34.4% wasted)
ANI 2_reticle1 with size 40x24 (25.0% wasted)
ANI 2_leftarc with size 103x252 (1.6% wasted)
ANI 2_rightarc1 with size 103x252 (1.6% wasted)
ANI 2_toparc2 with size 35x24 (25.0% wasted)
ANI 2_toparc3 with size 41x29 (9.4% wasted)
ANI 2_energy2 with size 86x96 (25.0% wasted)
ANI toggle1 with size 57x20 (37.5% wasted)
ANI time1 with size 47x23 (28.1% wasted)
ANI 2_lock1 with size 56x53 (17.2% wasted)
ANI 2_lockspin with size 100x100 (21.9% wasted)
ANI 2_lead1 with size 26x26 (18.8% wasted)
ANI weapons1 with size 126x20 (37.5% wasted)
loading animated cursor "cursor"
ANI cursor with size 24x24 (25.0% wasted)
Ships.tbl is : VALID
Weapons.tbl is : VALID
cfile_init() took 347
Got event GS_EVENT_GAME_INIT (49) in state NOT A VALID STATE (0)
ANI cursor.ani with size 24x24 (25.0% wasted)
Frame  0 too long!!: frametime = 0.259 (0.259)
Got event GS_EVENT_MAIN_MENU (0) in state GS_STATE_INITIAL_PLAYER_SELECT (37)
Someone passed an extension to bm_load for file 'hammer1.pcx'
WARNING => Ship class UEF Uriel not located in Ship_info[] in player file
Wokka!  Error opening file (bp2.fc2)!
Error parsing 'bp2.fc2'
Error code = 5.
ANI 2_mainwalk.ani with size 209x477 (6.8% wasted)
ANI 2_mainflyby.ani with size 509x189 (26.2% wasted)
ANI 2_maincrane.ani with size 192x116 (9.4% wasted)
ANI 2_mainexit.ani with size 319x174 (32.0% wasted)
ANI 2_mainbarracks.ani with size 273x158 (38.3% wasted)
ANI 2_mainreadyroom.ani with size 231x145 (43.4% wasted)
ANI 2_maintechroom.ani with size 69x119 (7.0% wasted)
ANI 2_mainoptions.ani with size 337x206 (19.5% wasted)
ANI 2_maincampaign.ani with size 308x190 (25.8% wasted)
Frame  0 too long!!: frametime = 1.109 (1.109)
Frame  0 too long!!: frametime = 0.731 (0.731)
Frame  0 too long!!: frametime = 0.256 (0.256)
Got event GS_EVENT_CAMPAIGN_ROOM (54) in state GS_STATE_MAIN_MENU (1)
Wokka!  Error opening file (bp2.fc2)!
Error parsing 'bp2.fc2'
Error code = 5.
Frame  0 too long!!: frametime = 0.262 (0.262)
Got event GS_EVENT_MAIN_MENU (0) in state GS_STATE_CAMPAIGN_ROOM (42)
Frame  0 too long!!: frametime = 0.394 (0.394)
Frame  0 too long!!: frametime = 0.299 (0.299)
Got event GS_EVENT_TECH_MENU (11) in state GS_STATE_MAIN_MENU (1)
Techroom successfully initialized, now changing tab...
Loading model 'fighter01.pof'
IBX: Found a good IBX to read for 'fighter01.pof'.
IBX-DEBUG => POF checksum: 0xd17abc7a, IBX checksum: 0xdd960762 -- "fighter01.pof"
Submodel 'fighter01c-hull' is detail level 2 of 'fighter01a-hull'
Submodel 'fighter01b-hull' is detail level 1 of 'fighter01a-hull'
Submodel 'fighter01d-hull' is detail level 3 of 'fighter01a-hull'
Submodel 'thruster01c' is detail level 2 of 'thruster01a'
Submodel 'thruster01b' is detail level 1 of 'thruster01a'
Submodel 'thruster02c' is detail level 2 of 'thruster02a'
Submodel 'thruster02b' is detail level 1 of 'thruster02a'
Frame  0 too long!!: frametime = 0.772 (0.772)
Frame  0 too long!!: frametime = 0.523 (0.523)
Got event GS_EVENT_SIMULATOR_ROOM (58) in state GS_STATE_TECH_MENU (7)
Freeing all existing models...
Frame  0 too long!!: frametime = 1.701 (1.701)
Frame  0 too long!!: frametime = 0.265 (0.265)
Got event GS_EVENT_START_GAME (1) in state GS_STATE_SIMULATOR_ROOM (20)
=================== STARTING LEVEL LOAD ==================
ANI 2_Loading with size 824x43 (32.8% wasted)
ANI 2_Loading.ani with size 824x43 (32.8% wasted)
Starting model page in...
Beginning level bitmap paging...
Loading warp model
 -1
SHOCKWAVE =>  Loading default shockwave animation...
SHOCKWAVE =>  Default animation load: SUCCEEDED!!
MISSION LOAD: 'SM1-01.fs2'
Hmmm... Extension passed to mission_load...
Starting mission message count : 205
Ending mission message count : 246
Current soundtrack set to -1 in event_music_reset_choices
Loading model 'fighter2t-05.pof'
IBX: Found a good IBX to read for 'fighter2t-05.pof'.
IBX-DEBUG => POF checksum: 0x43698f32, IBX checksum: 0x43c5b09b -- "fighter2t-05.pof"
Submodel 'fighter2t-05b' is detail level 1 of 'fighter2t-05a'
Submodel 'fighter2t-05c' is detail level 2 of 'fighter2t-05a'
Submodel 'fighter2t-05d' is detail level 3 of 'fighter2t-05a'
Submodel 'thruster04b' is detail level 1 of 'thruster04a'
Submodel 'thruster04c' is detail level 2 of 'thruster04a'
Submodel 'thruster02b' is detail level 1 of 'thruster02a'
Submodel 'thruster02c' is detail level 2 of 'thruster02a'
Submodel 'thruster01b' is detail level 1 of 'thruster01a'
Submodel 'thruster01c' is detail level 2 of 'thruster01a'
Submodel 'thruster03b' is detail level 1 of 'thruster03a'
Submodel 'thruster03c' is detail level 2 of 'thruster03a'
Loading model 'freighter04.pof'
IBX: Found a good IBX to read for 'freighter04.pof'.
IBX-DEBUG => POF checksum: 0xf7f327c9, IBX checksum: 0x406785f3 -- "freighter04.pof"
Submodel 'freighter04b-hull' is detail level 1 of 'freighter04a-hull'
Submodel 'freighter04c-hull' is detail level 2 of 'freighter04a-hull'
Submodel 'freighter04d-hull' is detail level 3 of 'freighter04a-hull'
Loading model 'capital2V-01.pof'
IBX: Starting a new IBX for 'capital2V-01.pof'.
Potential problem found: Unrecognized subsystem type 'reactor', believed to be in ship capital2V-01.pof
Potential problem found: Unrecognized subsystem type 'bridge', believed to be in ship capital2V-01.pof
Potential problem found: Unrecognized subsystem type 'fighterbay01', believed to be in ship capital2V-01.pof
Potential problem found: Unrecognized subsystem type 'fighterbay02', believed to be in ship capital2V-01.pof
Submodel 'capital2v-01b' is detail level 1 of 'capital2v-01a'
Submodel 'capital2v-01c' is detail level 2 of 'capital2v-01a'
Submodel 'capital2v-01d' is detail level 3 of 'capital2v-01a'
Loading model 'fighter2v-01.pof'
IBX: Found a good IBX to read for 'fighter2v-01.pof'.
IBX-DEBUG => POF checksum: 0x171eca80, IBX checksum: 0x601b2fa4 -- "fighter2v-01.pof"
Submodel 'fightv01d' is detail level 3 of 'fightv01a'
Submodel 'fightv01c' is detail level 2 of 'fightv01a'
Submodel 'fightv01b' is detail level 1 of 'fightv01a'
Submodel 'thruster02c' is detail level 2 of 'thruster02a'
Submodel 'thruster02b' is detail level 1 of 'thruster02a'
Submodel 'thruster01c' is detail level 2 of 'thruster01a'
Submodel 'thruster01b' is detail level 1 of 'thruster01a'
Loading model 'corvette2t-01.pof'
IBX: Starting a new IBX for 'corvette2t-01.pof'.
Submodel 'tcorvettec' is detail level 2 of 'tcorvettea'
Submodel 'tcorvetteb' is detail level 1 of 'tcorvettea'
Submodel 'tcorvetted' is detail level 3 of 'tcorvettea'
Loading model 'fighter06.pof'
IBX: Found a good IBX to read for 'fighter06.pof'.
IBX-DEBUG => POF checksum: 0x6ae05668, IBX checksum: 0x231d8994 -- "fighter06.pof"
Submodel 'fighter06b' is detail level 1 of 'fighter06a'
Submodel 'fighter06c' is detail level 2 of 'fighter06a'
Submodel 'fighter06d' is detail level 3 of 'fighter06a'
Submodel 'thruster02b' is detail level 1 of 'thruster02a'
Submodel 'thruster02c' is detail level 2 of 'thruster02a'
Submodel 'thruster04b' is detail level 1 of 'thruster04a'
Submodel 'thruster04c' is detail level 2 of 'thruster04a'
Submodel 'thruster03b' is detail level 1 of 'thruster03a'
Submodel 'thruster03c' is detail level 2 of 'thruster03a'
Submodel 'thruster01b' is detail level 1 of 'thruster01a'
Submodel 'thruster01c' is detail level 2 of 'thruster01a'
Allocating space for at least 5 new ship subsystems ...  a total of 200 is now available (5 in-use).
OpenGL: Created 512x512 FBO!
=================== STARTING LEVEL DATA LOAD ==================
Loading model 'support2t-01.pof'
IBX: Found a good IBX to read for 'support2t-01.pof'.
IBX-DEBUG => POF checksum: 0xdb916bfd, IBX checksum: 0x5b8ef244 -- "support2t-01.pof"
Submodel 'bodyb' is detail level 1 of 'bodya'
Submodel 'bodyc' is detail level 2 of 'bodya'
Submodel 'bodyd' is detail level 3 of 'bodya'
Submodel 'thruster01b' is detail level 1 of 'thruster01a'
Submodel 'thruster01c' is detail level 2 of 'thruster01a'
Submodel 'thruster02b' is detail level 1 of 'thruster02a'
Submodel 'thruster02c' is detail level 2 of 'thruster02a'
Submodel 'thruster03b' is detail level 1 of 'thruster03a'
Submodel 'thruster03c' is detail level 2 of 'thruster03a'
Loading model 'support2v-01.pof'
IBX: Found a good IBX to read for 'support2v-01.pof'.
IBX-DEBUG => POF checksum: 0xb4ca2191, IBX checksum: 0x17ed4c2c -- "support2v-01.pof"
Submodel 'hercb' is detail level 1 of 'herca'
Submodel 'hercc' is detail level 2 of 'herca'
Submodel 'hercd' is detail level 3 of 'herca'
Submodel 'thruster01b' is detail level 1 of 'thruster01a'
Submodel 'thruster01c' is detail level 2 of 'thruster01a'
Allocating space for at least 186 new ship subsystems ...  a total of 400 is now available (40 in-use).
About to page in ships!
ANI shield-f06 with size 112x93 (27.3% wasted)
ANI shieldft-05 with size 112x93 (27.3% wasted)
ANI shieldfv-01 with size 112x93 (27.3% wasted)
Loading model 'hornet.pof'
IBX: Found a good IBX to read for 'hornet.pof'.
IBX-DEBUG => POF checksum: 0x57350658, IBX checksum: 0x3a5fd3e0 -- "hornet.pof"
Submodel 'realhornet-b' is detail level 1 of 'realhornet-a'
Submodel 'realhornet-c' is detail level 2 of 'realhornet-a'
Submodel 'thruster01b' is detail level 1 of 'thruster01a'
Submodel 'thruster01c' is detail level 2 of 'thruster01a'
Loading model 'rockeye.pof'
IBX: Found a good IBX to read for 'rockeye.pof'.
IBX-DEBUG => POF checksum: 0xf180b177, IBX checksum: 0xe6ba26fb -- "rockeye.pof"
Submodel 'rockeye-b' is detail level 1 of 'rockeye-a'
Submodel 'rockeye-c' is detail level 2 of 'rockeye-a'
Submodel 'thruster01b' is detail level 1 of 'thruster01a'
Submodel 'thruster01c' is detail level 2 of 'thruster01a'
Loading model 'Tempest.pof'
IBX: Found a good IBX to read for 'Tempest.pof'.
IBX-DEBUG => POF checksum: 0x99e70c37, IBX checksum: 0x9974ca7d -- "Tempest.pof"
Submodel 'realtempest-b' is detail level 1 of 'realtempest-a'
Submodel 'realtempest-c' is detail level 2 of 'realtempest-a'
Submodel 'thruster01b' is detail level 1 of 'thruster01a'
Submodel 'thruster01c' is detail level 2 of 'thruster01a'
Loading model 'NewHornet.pof'
IBX: Found a good IBX to read for 'NewHornet.pof'.
IBX-DEBUG => POF checksum: 0x0f07cd0b, IBX checksum: 0x9931d591 -- "NewHornet.pof"
Submodel 'realhornet-b' is detail level 1 of 'realhornet-a'
Submodel 'realhornet-c' is detail level 2 of 'realhornet-a'
Submodel 'thruster01b' is detail level 1 of 'thruster01a'
Submodel 'thruster01c' is detail level 2 of 'thruster01a'
Loading model 'bombardier.pof'
IBX: Found a good IBX to read for 'bombardier.pof'.
IBX-DEBUG => POF checksum: 0x99891c8b, IBX checksum: 0xb995d6e9 -- "bombardier.pof"
Submodel 'realhornet-b' is detail level 1 of 'realhornet-a'
Submodel 'realhornet-c' is detail level 2 of 'realhornet-a'
Submodel 'thruster01b' is detail level 1 of 'thruster01a'
Submodel 'thruster01c' is detail level 2 of 'thruster01a'
Loading model 'crossbow.pof'
IBX: Found a good IBX to read for 'crossbow.pof'.
IBX-DEBUG => POF checksum: 0x32caa81e, IBX checksum: 0xcfec5925 -- "crossbow.pof"
Submodel 'realcrossbow-b' is detail level 1 of 'realcrossbow-a'
Submodel 'realcrossbow-c' is detail level 2 of 'realcrossbow-a'
Submodel 'thruster01b' is detail level 1 of 'thruster01a'
Submodel 'thruster01c' is detail level 2 of 'thruster01a'
Loading model 'piranha.pof'
IBX: Found a good IBX to read for 'piranha.pof'.
IBX-DEBUG => POF checksum: 0x8075cf85, IBX checksum: 0x604d69b3 -- "piranha.pof"
Submodel 'piranhareal-b' is detail level 1 of 'piranhareal-a'
Submodel 'piranhareal-c' is detail level 2 of 'piranhareal-a'
Submodel 'thruster01b' is detail level 1 of 'thruster01a'
Submodel 'thruster01c' is detail level 2 of 'thruster01a'
Loading model 'cmeasure01.pof'
IBX: Found a good IBX to read for 'cmeasure01.pof'.
IBX-DEBUG => POF checksum: 0xe5f32533, IBX checksum: 0x0c6105fe -- "cmeasure01.pof"
Loading model 'harbinger.pof'
IBX: Found a good IBX to read for 'harbinger.pof'.
IBX-DEBUG => POF checksum: 0x7e70c4bf, IBX checksum: 0x10d315d7 -- "harbinger.pof"
Submodel 'realharbinger-b' is detail level 1 of 'realharbinger-a'
Submodel 'realharbinger-c' is detail level 2 of 'realharbinger-a'
Submodel 'thruster01b' is detail level 1 of 'thruster01a'
Submodel 'thruster01c' is detail level 2 of 'thruster01a'
Loading model 'debris01.pof'
IBX: Found a good IBX to read for 'debris01.pof'.
IBX-DEBUG => POF checksum: 0x974f214b, IBX checksum: 0x368eb490 -- "debris01.pof"
Loading model 'debris02.pof'
ANI 2_Loading.ani with size 824x43 (32.8% wasted)
IBX: Found a good IBX to read for 'debris02.pof'.
IBX-DEBUG => POF checksum: 0x8e0eed50, IBX checksum: 0x7b2a747e -- "debris02.pof"
Paging in mission messages
Stopping model page in...
ANI damage1.ani with size 148x25 (21.9% wasted)
ANI energy1.ani with size 12x41 (35.9% wasted)
ANI head1.ani with size 164x132 (48.4% wasted)
ANI wingman1.ani with size 71x53 (17.2% wasted)
ANI wingman2.ani with size 35x53 (17.2% wasted)
ANI wingman3.ani with size 14x53 (17.2% wasted)
ANI 2_radar1.ani with size 209x170 (33.6% wasted)
ANI targetview1.ani with size 137x156 (39.1% wasted)
ANI targetview2.ani with size 4x96 (25.0% wasted)
ANI targhit1.ani with size 31x21 (34.4% wasted)
ANI 2_reticle1.ani with size 40x24 (25.0% wasted)
ANI 2_leftarc.ani with size 103x252 (1.6% wasted)
ANI 2_rightarc1.ani with size 103x252 (1.6% wasted)
ANI 2_toparc2.ani with size 35x24 (25.0% wasted)
ANI 2_toparc3.ani with size 41x29 (9.4% wasted)
ANI 2_energy2.ani with size 86x96 (25.0% wasted)
ANI toggle1.ani with size 57x20 (37.5% wasted)
ANI time1.ani with size 47x23 (28.1% wasted)
ANI 2_lock1.ani with size 56x53 (17.2% wasted)
ANI 2_lockspin.ani with size 100x100 (21.9% wasted)
ANI 2_lead1.ani with size 26x26 (18.8% wasted)
ANI weapons1.ani with size 126x20 (37.5% wasted)
ANI 2_Loading.ani with size 824x43 (32.8% wasted)
ANI shield-f06.ani with size 112x93 (27.3% wasted)
ANI shieldft-05.ani with size 112x93 (27.3% wasted)
ANI shieldfv-01.ani with size 112x93 (27.3% wasted)
User bitmap 'TMP308x190+16'
User bitmap 'TMP337x206+16'
User bitmap 'TMP69x119+16'
User bitmap 'TMP231x145+16'
User bitmap 'TMP273x158+16'
User bitmap 'TMP319x174+16'
User bitmap 'TMP192x116+16'
User bitmap 'TMP509x189+16'
User bitmap 'TMP209x477+16'
User bitmap 'TMP308x190+16'
User bitmap 'TMP337x206+16'
User bitmap 'TMP69x119+16'
User bitmap 'TMP231x145+16'
User bitmap 'TMP273x158+16'
User bitmap 'TMP319x174+16'
User bitmap 'TMP192x116+16'
User bitmap 'TMP509x189+16'
User bitmap 'TMP209x477+16'
User bitmap 'TMP256x256+8'
User bitmap 'TMP256x256+8'
User bitmap 'TMP128x128+8'
Bmpman: 1376/4750 bitmap slots in use.
Ending level bitmap paging...
=================== ENDING LOAD ================
Real count = 208,  Estimated count = 425
================================================
Received post for event GS_EVENT_CMD_BRIEF during state transtition. Find Allender if you are unsure if this is bad.
Got event GS_EVENT_CMD_BRIEF (55) in state GS_STATE_START_GAME (52)
ANI cb_sm1-01_a.ani with size 440x200 (21.9% wasted)
Frame  0 too long!!: frametime = 21.698 (21.698)
Frame  0 too long!!: frametime = 0.414 (0.414)
Got event GS_EVENT_START_BRIEFING (15) in state GS_STATE_CMD_BRIEF (43)
ANI 2_BriefMap with size 918x400 (21.9% wasted)
ANI iconwing01 with size 32x28 (12.5% wasted)
ANI iconSD4 with size 56x24 (25.0% wasted)
ANI iconScalpel with size 56x24 (25.0% wasted)
ANI iconplanet with size 183x182 (28.9% wasted)
ANI FadeiconPlanet with size 183x182 (28.9% wasted)
ANI FadeiconPlanet.ani with size 183x182 (28.9% wasted)
ANI iconv-freightercw with size 123x65 (49.2% wasted)
ANI Fadeiconv-FreighterCW with size 123x65 (49.2% wasted)
ANI Fadeiconv-FreighterCW.ani with size 123x65 (49.2% wasted)
ANI icont-fightW with size 51x54 (15.6% wasted)
ANI FadeiconT-FighterW with size 51x54 (15.6% wasted)
ANI FadeiconT-FighterW.ani with size 51x54 (15.6% wasted)
Frame  0 too long!!: frametime = 0.877 (0.877)
ANI iconplanet.ani with size 183x182 (28.9% wasted)
Frame  0 too long!!: frametime = 0.687 (0.687)
Got event GS_EVENT_ENTER_GAME (2) in state GS_STATE_BRIEFING (10)
Entering game at time =  57.790
Frame  1 too long!!: frametime = 0.336 (0.336)
ANI Head-TP1b.ani with size 160x120 (6.3% wasted)
Int3(): From c:\users\swifty\software development\fs2 open\hud rewrite - no dradis or rtt\code\hud\hudtarget.cpp at line 6698

Investigation leads me to believe that there's something seriously wrong with the orbradar, as commenting it out makes the difference between the whole thing working and it crashing.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on June 11, 2010, 09:16:21 am
Well Galemp, I can only hope that the default retail layout is in the code itself for when the table isn't present.  Although it may not be optimized for non-4:3 in that case, I'm not sure how that works.
Title: Re: HUD Overhaul Test Build
Post by: The E on June 11, 2010, 12:55:29 pm
Well Galemp, I can only hope that the default retail layout is in the code itself for when the table isn't present.  Although it may not be optimized for non-4:3 in that case, I'm not sure how that works.

Yes, without the tbl, you get the standard stretched layout from before.
Title: Re: HUD Overhaul Test Build
Post by: Dragon on June 11, 2010, 01:01:07 pm
Is that possible to assign HUD ani files on a per ship basis?
I mean, being able to give, for example, a BTRL HUD gauges to Ulysses, while the rest of ships would retain standard layout?
Or have custom HUDs for Vasudans and Shivans?
Title: Re: HUD Overhaul Test Build
Post by: Galemp on June 11, 2010, 01:08:48 pm
I think that's the general idea, yes... but first we need a default hud layout table so we can manipulate it, instead of having to guess.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on June 11, 2010, 01:21:58 pm
Is that possible to assign HUD ani files on a per ship basis?
I mean, being able to give, for example, a BTRL HUD gauges to Ulysses, while the rest of ships would retain standard layout?
Or have custom HUDs for Vasudans and Shivans?
Yup, the code can handle that. It's just a matter of exposing that functionality in hud_gauges.tbl. The position field is only supported right now since I wanted to push out a test build quickly.

Quote
I think that's the general idea, yes... but first we need a default hud layout table so we can manipulate it, instead of having to guess.
You could just load up Freespace in 1024x768, take a screenshot, and count pixels ;)

I'll post an example table with the default values when I find the time.
Title: Re: HUD Overhaul Test Build
Post by: The E on June 11, 2010, 02:07:03 pm
Here's a tbl for the standard HUD:
Code: [Select]
#Gauge Config
$Base: (1024, 768)
$Required Aspect: Full Screen
;$Min: (640, 480)
$Gauges:
+Messages:
Position: (5, 5)
+Training Messages:
Position: (379, 125)
+Multiplayer Messages:
Position: (8, 240)
+Support:
Position: (459, 534)
+Damage:
Position: (440, 61)
+Wingman Status:
Position: (932, 144)
+Auto Speed:
Position: (960, 672)
+Auto Target:
Position: (960, 648)
+Countermeasures:
Position: (880, 602)
+Talking Head:
Position: (5, 56)
+Directives:
Position: (5, 278)
+Weapons:
Position: (880, 525)
+Objective Notify:
Position: (436, 184)
+Squad Message:
Position: (827, 5)
+Player Shields:
Position: (634, 670)
+Target Shields:
Position: (292, 670)
+Escort View:
Position: (865, 330)
+ETS Weapons:
Position: (880, 648)
+ETS Shields:
Position: (898, 648)
+ETS Engines:
Position: (916, 648)
+Target Monitor:
Position: (5, 590)
+Extra Target Data:
Position: (5, 552)
+Radar:
Position: (411, 590)
; If you want different types of radar running, be my guest
;+Radar Orb: 
; Position: (411, 590)
+Afterburner Energy:
Position: (274, 424)
+Text Warnings:
Position: (512, 275)
+Center Reticle:
Position: (493, 376)
+Mini Target Shields:
Position: (497, 470)
+Throttle:
Position: (347, 390)
+Threat Indicator:
Position: (386, 219)
+Voice Status:
position: (5, 165)
+Ping:
Position: (896, 5)
+Lag:
Position: (627, 529)
+Supernova:
Position: (170, 170)

+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Lead Indicator:
+Lock Indicator:
+Offscreen Indicator:
+Hostile Triangle:
Position: (512, 387)
+Target Triangle:
Position: (512, 387)
+Missile Triangles:
Position: (512, 387)
+Orientation Tee:
Position: (512, 387)
+Weapon Energy:
Position: (666, 424)
+Mission Time:
Position: (969, 716)
+Kills:
Position: (880, 624)
; FS1 specific gauge
;+Weapon Linking:
; Position: (598, 387)
; Komet's lead sight. Looks for "leadsight.ani"
;+Lead Sight: default
$End Gauges
#End

Note: This just has the "default" replaced with the coordinates the engine uses by default (Ahem). It'll still be stretchy on non 1024x768 resolutions.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on June 11, 2010, 02:35:46 pm
Is that what's used in the code itself as a default table?
Title: Re: HUD Overhaul Test Build
Post by: Swifty on June 11, 2010, 02:38:07 pm
Is that what's used in the code itself as a default table?
Yup, those are the defaults hudparse.cpp uses.
Title: Re: HUD Overhaul Test Build
Post by: The E on June 11, 2010, 03:32:57 pm
Here's the standard layout, adapted for 1440x900:

(http://blueplanet.fsmods.net/E/screen0222.png)

Code: [Select]
#Gauge Config
$Base: (1440, 900)
$Required Aspect: Wide Screen ; Can be "Wide Screen" or "Full Screen" ATM
$Min: (1280, 720) ; These Min and Max fields are Inclusive
$Max: (1920, 1080)
$Gauges:
+Messages:
Position: (7, 6)
+Training Messages:
Position: (533, 146)
+Multiplayer Messages:
Position: (11, 281)
+Support:
Position: (645, 625)
+Damage:
Position: (619, 71)
+Wingman Status:
Position: (1311, 169)
+Auto Speed:
Position: (1350, 788)
+Auto Target:
Position: (1350, 759)
+Countermeasures:
Position: (1238, 705)
+Talking Head:
Position: (7, 66)
+Directives:
Position: (7, 326)
+Weapons:
Position: (1238, 615)
+Objective Notify:
Position: (613, 216)
+Squad Message:
Position: (1163, 6)
+Escort View:
Position: (1238, 326)
+ETS Weapons:
Position: (1238, 759)
+ETS Shields:
Position: (1263, 759)
+ETS Engines:
Position: (1288, 759)
+Target Monitor:
Position: (7, 691)
+Extra Target Data:
Position: (7, 647)
+Target Shields:
Position: (503, 785)
+Radar:
Position: (617, 691)
+Player Shields:
Position: (827, 785)
; If you want different types of radar running, be my guest
;+Radar Orb: 
; Position: (615, 691)
+Afterburner Energy:
Position: (428, 439)
+Weapon Energy:
Position: (924, 439)
+Text Warnings:
Position: (720, 322)
+Center Reticle:
Position: (700, 438)
+Mini Target Shields:
Position: (705, 552)
+Throttle:
Position: (490, 317)
+Threat Indicator:
Position: (847, 317)
+Voice Status:
position: (7, 193)
+Ping:
Position: (1260, 6)
+Lag:
Position: (881, 620)
+Supernova:
Position: (239, 199)

+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Lead Indicator:
+Lock Indicator:
+Offscreen Indicator:
+Hostile Triangle:
Position: (720, 450)
+Target Triangle:
Position: (720, 450)
+Missile Triangles:
Position: (720, 450)
+Orientation Tee:
Position: (720, 450)
+Mission Time:
Position: (1363, 839)
+Kills:
Position: (1238, 731)
; FS1 specific gauge
;+Weapon Linking:
; Position: (841, 453)
; Komet's lead sight. Looks for "leadsight.ani"
;+Lead Sight: default
$End Gauges
#End
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on June 11, 2010, 03:42:48 pm
I forgot how sexy the HUD looks when it's not all ****ed up.
Title: Re: HUD Overhaul Test Build
Post by: Snail on June 11, 2010, 04:23:06 pm
The fading effect doesn't appear to be present on the grey message brackets.
Title: Re: HUD Overhaul Test Build
Post by: Galemp on June 11, 2010, 05:05:12 pm
TheE: THANK YOU.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on June 11, 2010, 05:36:03 pm
I wouldn't mind if a lot of standard configs became hardcoded defaults.
Title: Re: HUD Overhaul Test Build
Post by: Axem on June 12, 2010, 08:28:24 pm
By the approval of The_E, I come here with a request.

disable-hud and disable-hud-except-messages work a little differently ingame (and in code too I hear). You can reverse the effects of disable-hud by just going Shift-o. However with disable-hud-except-messages, that doesn't work. It basically locks your hud off.

I humbly ask for a way to lock disable-hud like except-messages does (now I know with the way except-messages works, its more unintentional, but the end result is the same).
Title: Re: HUD Overhaul Test Build
Post by: Galemp on June 13, 2010, 02:55:51 am
I wouldn't mind if a lot of standard configs became hardcoded defaults.

I agree. It would be QUITE nice if widescreen and nonstandard resolutions defaulted to these configurations without additional input from the user (e.g. installing or configuring extra tables.)
Title: Re: HUD Overhaul Test Build
Post by: sigtau on June 13, 2010, 09:10:13 am
:O

Can someone rearrange it for 1600x900?
Title: Re: HUD Overhaul Test Build
Post by: The E on June 13, 2010, 09:35:05 am
Here's an update to my previous custom layout. Note that again, you need to use  my custom reticle or adjust the reticle coordinates for the retail one ( that is, (700, 438) ). Also note that due to some bugs and missing features in Swifty's released build, the escort list won't work as planned.

Code: [Select]
#Gauge Config
$Base: (1440, 900) ; The scale in which FSO will render these gauges in. Everything in $Gauges should be between 1 and 1440 for the X val and between 1 and 900 for the Y val
$Required Aspect: Wide Screen ; Can be "Wide Screen" or "Full Screen" ATM
$Min: (1280, 720) ; These Min and Max fields are Inclusive
$Max: (1920, 1080)
$Gauges:

;Messages
+Messages:
Position: (265, 20)
+Training Messages:
Position: (265, 90)
+Multiplayer Messages:
Position: (265, 120)
+Talking Head:
Position: (10, 10)

;Comm Menu
+Squad Message:
Position: (1000, 770)

;Objectives
+Escort View:
Position: (10, 440)
+Directives:
Position: (10, 518)
+Objective Notify:
Position: (645, 660)

;Reticle
+Afterburner Energy:
Position: (428, 439)
+Throttle:
Position: (490, 317)
+Center Reticle:
Position: (710, 440)
+Threat Indicator:
Position: (847, 317)
+Weapon Energy:
Position: (924, 439)
+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Lock Indicator:
+Lead Indicator:
+Offscreen Indicator:
+Hostile Triangle:
Position: (720, 450)
+Target Triangle:
Position: (720, 450)
+Missile Triangles:
Position: (720, 450)
+Orientation Tee:
Position: (720, 450)

;Target
+Target Monitor:
Position: (10, 710)
+Extra Target Data:
Position: (10, 866)
+Target Shields:
Position: (470, 780)
+Mini Target Shields:
Position: (704, 500)

;Player Status
+Damage:
Position: (646, 200)
+Player Shields:
Position: (840, 780)
+Kills:
Position: (800, 660)

;ETS
+ETS Weapons:
Position: (386, 450)
+ETS Shields:
Position: (398, 450)
+ETS Engines:
Position: (410, 450)

;Wingmen & Support
+Wingman Status:
Position: (10, 380)
;Expansion Mode: Right
+Support:
Position: (666, 630)

;Radar & Targeting
+Radar:
Position: (615, 730)
;+Radar Orb:
; Position: (615, 730)
+Auto Target:
Position: (800, 630)
+Auto Speed:
Position: (580, 630)

;Weapons
+Countermeasures:
Position: (580, 660)
+Weapons:
Position: (955, 355)

;Warnings
+Text Warnings:
Position: (720, 500)
+Supernova:
Position: (720, 500)

;Mission Info
+Mission Time:
Position: (930, 550)

;Multiplayer
+Voice Status:
Position: (10, 160)
+Ping:
Position: (10, 180)
+Lag:
Position: (10, 200)

$End Gauges
#End

(http://blueplanet.fsmods.net/E/screen0226.png)


With these, you can uncomment the "Expansion Mode:" option for the wingman display.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on June 13, 2010, 11:09:51 am
Either that, or instead of having a bunch of hardcoded tables, we just release a separate configs pack that could exist in the root directory without being a problem, kinda like the multiplayer mission pack or the cutscenes. Or could that end up being a headache?

Also, is this table modular?
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on June 13, 2010, 11:29:18 am
I remember that the vanilla layout had the misaligned aiming reticle. Is that already fixed in the above table?
Title: Re: HUD Overhaul Test Build
Post by: The E on June 13, 2010, 11:41:45 am
That's an issue with the retail data. However, you can now create more accurate reticles. Also, since the error is exaggerated by the standard scaling, using the adapted tbls makes it less of an issue.
Title: Re: HUD Overhaul Test Build
Post by: sigtau on June 13, 2010, 05:30:32 pm
Perhaps adding these custom gauge layouts for higher-resolutions to the Media VPs (provided they never change from the normal FS2 layout) would be acceptable?
Title: Re: HUD Overhaul Test Build
Post by: Reprobator on June 16, 2010, 03:30:51 am
Hm mm I'm lost with mathematics i guess, any help would be great :
here is what i m trying to do :
Having the HUD centered in the center screen in a triplehead resolution (3840*1024 in my case)wich is basically 3* 1280*1024
i've worked with the default position given in the topic for the default hud so i started with that :
3840/1024= 3.75 (ratio between my x resolution and the default one)
Now i ve multiply all x position in the hud_gauge.tbl by the value, but it's not centered at all, i guess my method is really wrong.

to be clear here is what i m looking to do :  [ ] [X] [ ]
(where brackets are screens and x the hud)




anyway here is my hud_gague tbl

Code: [Select]
#Gauge Config
$Base: (3840, 1024)
$Required Aspect: Wide Screen
;$Min: (3840, 1024)
$Gauges:
+Messages:
Position: (19, 5)
+Training Messages:
Position: (1422, 125)
+Multiplayer Messages:
Position: (30, 240)
+Support:
Position: (1688, 534)
+Damage:
Position: (1650, 61)
+Wingman Status:
Position: (3495, 144)
+Auto Speed:
Position: (3600, 672)
+Auto Target:
Position: (3600, 648)
+Countermeasures:
Position: (3300, 602)
+Talking Head:
Position: (19, 56)
+Directives:
Position: (19, 278)
+Weapons:
Position: (3300, 525)
+Objective Notify:
Position: (1635, 184)
+Squad Message:
Position: (3102, 5)
+Player Shields:
Position: (2378, 670)
+Target Shields:
Position: (1095, 670)
+Escort View:
Position: (3244, 330)
+ETS Weapons:
Position: (3300, 648)
+ETS Shields:
Position: (3709, 648)
+ETS Engines:
Position: (344, 648)
+Target Monitor:
Position: (19, 590)
+Extra Target Data:
Position: (19, 552)
+Radar:
Position: (1541, 590)
; If you want different types of radar running, be my guest
;+Radar Orb:  
; Position: (1541, 590)
+Afterburner Energy:
Position: (1027, 424)
+Text Warnings:
Position: (1920, 275)
+Center Reticle:
Position: (1849, 376)
+Mini Target Shields:
Position: (1864, 470)
+Throttle:
Position: (1301, 390)
+Threat Indicator:
Position: (1447, 219)
+Voice Status:
position: (19, 165)
+Ping:
Position: (3360, 5)
+Lag:
Position: (2352, 529)
+Supernova:
Position: (637, 170)

+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Lead Indicator:
+Lock Indicator:
+Offscreen Indicator:
+Hostile Triangle:
Position: (1920, 387)
+Target Triangle:
Position: (1920, 387)
+Missile Triangles:
Position: (1920, 387)
+Orientation Tee:
Position: (1920, 387)
+Weapon Energy:
Position: (2497, 424)
+Mission Time:
Position: (3634, 716)
+Kills:
Position: (3300, 624)
; FS1 specific gauge
;+Weapon Linking:
; Position: (598, 387)
; Komet's lead sight. Looks for "leadsight.ani"
;+Lead Sight: default
$End Gauges
#End

About the reticles and the rest of the table, adding a value ( i know it was commented as not necessary) does not affect its position, i've try many value and it doesn't move, and it's not centered at all.

ah and hurrah for swifty that was the last annoying thing when playing triplehead with fs2open (now it just lack the main hall non stretch support to be full support! )

Title: Re: HUD Overhaul Test Build
Post by: chief1983 on June 16, 2010, 10:10:20 am
If it's a (left, top) positioning system, I would just add 1280 to the left value for each location.  That should move them all from the left monitor to the middle one.
Title: Re: HUD Overhaul Test Build
Post by: Reprobator on June 17, 2010, 06:36:12 am
so i've done it (+1280 on x axis)

here is the table :

Code: [Select]
#Gauge Config
$Base: (3840, 1024)
$Required Aspect: Wide Screen
;$Min: (3840, 1024)
$Gauges:
+Messages:
Position: (1285, 5)
+Training Messages:
Position: (1659, 125)
+Multiplayer Messages:
Position: (1288, 240)
+Support:
Position: (1739, 534)
+Damage:
Position: (1720, 61)
+Wingman Status:
Position: (2212, 144)
+Auto Speed:
Position: (2240, 672)
+Auto Target:
Position: (2240, 648)
+Countermeasures:
Position: (2160, 602)
+Talking Head:
Position: (1285, 56)
+Directives:
Position: (1285, 278)
+Weapons:
Position: (2160, 525)
+Objective Notify:
Position: (1716, 184)
+Squad Message:
Position: (2107, 5)
+Player Shields:
Position: (1914, 670)
+Target Shields:
Position: (1572, 670)
+Escort View:
Position: (2145, 330)
+ETS Weapons:
Position: (2160, 648)
+ETS Shields:
Position: (2178, 648)
+ETS Engines:
Position: (2196, 648)
+Target Monitor:
Position: (1285, 590)
+Extra Target Data:
Position: (1285, 552)
+Radar:
Position: (1691, 590)
; If you want different types of radar running, be my guest
;+Radar Orb: 
; Position: (1691, 590)
+Afterburner Energy:
Position: (1554, 424)
+Text Warnings:
Position: (1792, 275)
+Center Reticle:
Position: (1773, 376)
+Mini Target Shields:
Position: (1777, 470)
+Throttle:
Position: (1627, 390)
+Threat Indicator:
Position: (1666, 219)
+Voice Status:
position: (1285, 165)
+Ping:
Position: (2176, 5)
+Lag:
Position: (1907, 529)
+Supernova:
Position: (1450, 170)

+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Lead Indicator:
+Lock Indicator:
+Offscreen Indicator:
+Hostile Triangle:
Position: (1792, 387)
+Target Triangle:
Position: (1792, 387)
+Missile Triangles:
Position: (1792, 387)
+Orientation Tee:
Position: (1792, 387)
+Weapon Energy:
Position: (1946, 424)
+Mission Time:
Position: (2249, 716)
+Kills:
Position: (2160, 624)
; FS1 specific gauge
;+Weapon Linking:
; Position: (598, 387)
; Komet's lead sight. Looks for "leadsight.ani"
;+Lead Sight: default
$End Gauges
#End


And here is the result :
(http://tof.canardpc.com/preview2/9d28c1f3-f44d-410f-9f37-04ac84d62417.jpg) (http://tof.canardpc.com/view/9d28c1f3-f44d-410f-9f37-04ac84d62417.jpg)

Title: Re: HUD Overhaul Test Build
Post by: FreeSpaceFreak on June 17, 2010, 12:04:39 pm
Well, by the looks of it only those big white gauges are off, Reprobator, the rest is fine. Is that "Center Reticle" in the table?
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on June 17, 2010, 12:16:04 pm
It's actually squished towards the center of his middle monitor too it seems.  Did you start with the base numbers for 1024x768?
Title: Re: HUD Overhaul Test Build
Post by: Reprobator on June 17, 2010, 02:01:33 pm
so yes it's quite offcenter actually I've taken another screenshot with a laser shoot to show that better :

(http://tof.canardpc.com/preview/cd0e056f-6422-4455-8a3e-8f5a94083cb4.jpg) (http://tof.canardpc.com/view/cd0e056f-6422-4455-8a3e-8f5a94083cb4.jpg)

And yes I've start with the 1024*768 resolution as a base (as i don't have the 1280*1024 default value, i should find a way to mathematical convert it to 1280*1024
For the reticule I've set it manually to 1920,512  (3840/2 to get the x center of the screens and 1024/2 to get the y center)
But it have no effect, the reticule doesn't seems to want to move.
Title: Re: HUD Overhaul Test Build
Post by: The E on June 17, 2010, 02:20:00 pm
Errm. You need to center the reticle not at the exact screen center, but at Width/2 - (Reticle Width)/2 for the x coordinate, and Screen Height/2 - Reticle Height/2 for the y Coordinate.

The retail reticle is 40 pixels wide and 24 Pixels high, that needs to be accounted for.

That means, for a 3840x1024 display, the coordinates would be (1900, 500). The coordinates in the tbl you posted here seem waaaay off.

Also, while looking over my "retail layout" tbl, I see a bit of a mistake on my part. I'll post a new tbl soon.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on June 17, 2010, 02:43:58 pm
If you start at a 3*1024x768 resolution, it should scale up to your 3*1280x1024 resolution nicely shouldn't it?  I thought the whole point was that you shouldn't need to do the math.  Get one table with the right aspect ratio and it should scale to yours fine.
Title: Re: HUD Overhaul Test Build
Post by: Reprobator on June 17, 2010, 02:57:25 pm
yup, the e : you were right for the reticle it's well aligned now! it looks already better!

chief 1983 : no, it does not stretch up, the hud is not using the whole center screen (he"s up and left centered in fact)
So if i want to fix this i have to find the formula to convert 1024*768 to 1280*1024 scale and then add 1280 to the x things
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on June 17, 2010, 03:00:57 pm
I mean you used numbers designed for a 1024x768 base and then set them to a 1280x1024 base.  Of course it's going to be up and to the left.  If you specify the base though as a 1024x768 base, and then give it a max res of a 1280x1024 base, it should scale up fine.
Title: Re: HUD Overhaul Test Build
Post by: The E on June 17, 2010, 03:02:43 pm
Corrected "default" tbl:
Code: [Select]
#Gauge Config
$Base: (1024, 768)
$Required Aspect: Full Screen ; Can be "Wide Screen" or "Full Screen" ATM
$Gauges:

;Messages
+Messages:
Position: (5, 5)
+Training Messages:
Position: (379, 125)
+Multiplayer Messages:
Position: (8, 240)
+Talking Head:
Position: (5, 56)

;Comm Menu
+Squad Message:
Position: (827, 5)

;Objectives
+Escort View:
Position: (865, 330)
+Directives:
Position: (5, 278)
+Objective Notify:
Position: (436, 184)

;Reticle
+Afterburner Energy:
Position: (274, 424)
+Throttle:
Position: (346, 269)
+Center Reticle:
Position: (493, 376)
+Threat Indicator:
Position: (574, 269)
+Weapon Energy:
Position: (666, 424)
+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Lock Indicator:
+Lead Indicator:
+Offscreen Indicator:
+Hostile Triangle:
Position: (512, 387)
+Target Triangle:
Position: (512, 387)
+Missile Triangles:
Position: (512, 387)
+Orientation Tee:
Position: (512, 387)

;Target
+Target Monitor:
Position: (5, 590)
+Extra Target Data:
Position: (5, 552)
+Target Shields:
Position: (292, 670)
+Mini Target Shields:
Position: (497, 470)

;Player Status
+Damage:
Position: (440, 61)
+Player Shields:
Position: (634, 670)
+Kills:
Position: (880, 624)

;ETS
+ETS Weapons:
Position: (880, 648)
+ETS Shields:
Position: (898, 648)
+ETS Engines:
Position: (916, 648)

;Wingmen & Support
+Wingman Status:
Position: (932, 144)
+Support:
Position: (459, 534)

;Radar & Targeting
+Radar:
Position: (411, 590)
;+Radar Orb:
; Position: (411, 590)
+Auto Target:
Position: (960, 648)
+Auto Speed:
Position: (960, 672)

;Weapons
+Countermeasures:
Position: (880, 602)
+Weapons:
Position: (880, 525)

;Warnings
+Text Warnings:
Position: (512, 275)
+Supernova:
Position: (170, 170)

;Mission Info
+Mission Time:
Position: (969, 716)

;Multiplayer
+Voice Status:
Position: (8, 255)
+Ping:
Position: (896, 5)
+Lag:
Position: (627, 529)

$End Gauges
#End

To transform this into 3840x1024, with the hud centered on the middle screen, multiply all x values by 1.25, and add 1280. To get the y values, just multiply them by 1.33, rounding as appropriate.
Title: Re: HUD Overhaul Test Build
Post by: Reprobator on June 17, 2010, 03:16:21 pm
Ok, thanks you really much, i'm preparing to heat my calculator :D
Title: Re: HUD Overhaul Test Build
Post by: Swifty on June 17, 2010, 03:34:15 pm
Huh, the new HUD code seems to handle Triple Head/Eyefinity better than I thought. :D
Title: Re: HUD Overhaul Test Build
Post by: Reprobator on June 17, 2010, 04:03:58 pm
It totally support it now :
So here is the code for triplehead 4/3 based screen support hud (resolution of 3840*1024)  :

Code: [Select]
#Gauge Config
$Base: (3840, 1024)
$Required Aspect: Wide Screen
;$Min: (3840, 1024)
$Gauges:

;Messages
+Messages:
Position: (1286, 5)
+Training Messages:
Position: (1754, 166)
+Multiplayer Messages:
Position: (1290, 319)
+Talking Head:
Position: (1286, 74)

;Comm Menu
+Squad Message:
Position: (2314, 5)

;Objectives
+Escort View:
Position: (2361, 439)
+Directives:
Position: (1286, 370)
+Objective Notify:
Position: (1825, 245)

;Reticle
+Afterburner Energy:
Position: (1622, 564)
+Throttle:
Position: (1712, 358)
+Center Reticle:
Position: (1900, 500)
+Threat Indicator:
Position: (1997, 358)
+Weapon Energy:
Position: (2112, 564)
+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Lock Indicator:
+Lead Indicator:
+Offscreen Indicator:
+Hostile Triangle:
Position: (1920, 515)
+Target Triangle:
Position: (1920, 515)
+Missile Triangles:
Position: (1920, 515)
+Orientation Tee:
Position: (1920, 515)

;Target
+Target Monitor:
Position: (1286, 785)
+Extra Target Data:
Position: (1286, 734)
+Target Shields:
Position: (1645, 891)
+Mini Target Shields:
Position: (1901, 625)

;Player Status
+Damage:
Position: (1830, 81)
+Player Shields:
Position: (2072, 891)
+Kills:
Position: (2380, 830)

;ETS
+ETS Weapons:
Position: (2380, 862)
+ETS Shields:
Position: (2402, 862)
+ETS Engines:
Position: (2425, 862)

;Wingmen & Support
+Wingman Status:
Position: (2445, 192)
+Support:
Position: (1854, 710)

;Radar & Targeting
+Radar:
Position: (1794, 785)
;+Radar Orb:
; Position: (1794, 785)
+Auto Target:
Position: (2480, 862)
+Auto Speed:
Position: (2480, 894)

;Weapons
+Countermeasures:
Position: (2380, 801)
+Weapons:
Position: (2380, 698)

;Warnings
+Text Warnings:
Position: (1920, 366)
+Supernova:
Position: (1492, 226)

;Mission Info
+Mission Time:
Position: (2491, 952)

;Multiplayer
+Voice Status:
Position: (1290, 339)
+Ping:
Position: (2400, 5)
+Lag:
Position: (2064, 704)

$End Gauges
#End
screen :
(http://tof.canardpc.com/preview/9e4e50d6-6554-4235-b583-0b43b5d0d1c3.jpg) (http://tof.canardpc.com/view/9e4e50d6-6554-4235-b583-0b43b5d0d1c3.jpg)
(http://tof.canardpc.com/preview/357af64f-b83f-4f4a-9aa1-ee3d14e49f3a.jpg) (http://tof.canardpc.com/view/357af64f-b83f-4f4a-9aa1-ee3d14e49f3a.jpg)

For 3*16/10  screens, it still have to be done yet anyway .

Yes! you make my day!
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on June 17, 2010, 04:10:17 pm
This might be the best graphical enhancement since GLSL.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on June 17, 2010, 04:43:24 pm
That is simply breathtaking. Thanks for testing this with your Triple Head, Reprobator. :yes:
Title: Re: HUD Overhaul Test Build
Post by: Reprobator on June 17, 2010, 04:49:42 pm
Oh no p)roblem i've played during two years with the stretched hud, so when i saw your post....  :cool:
Now the last thing before we get the 5 star on 5 on the widescreengaming forum is to change the way the main hall behave (ie is not stretched like the old hud was)

And if someone provide me the formula to make a 3*16/10 (1680*1050) hud i'll give you the table that correspond to it (unfortunatly i won t be able to try it)
Title: Re: HUD Overhaul Test Build
Post by: The E on June 17, 2010, 04:54:33 pm
I posted a widescreen retail layout somewhere upthread. Adapting it to a multimonitor setup should be relatively straightforward.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on June 17, 2010, 05:00:22 pm
I'm kinda curious, what does Freespace look like when playing with a HUD stretched across three monitors? Can you share with us, Reprobator? :D

EDIT: I updated the first post with links to some of the TBLs posted in the thread.
Title: Re: HUD Overhaul Test Build
Post by: Reprobator on June 17, 2010, 05:08:52 pm
1) that's kinda ugly and you need time to pass through that
2) more important : the reticle is so large that you can"t shoot anything with precision when using primary...
3) have to turn off the hud before taking screenshot if not, many will post and trolls about triplehead  :nervous:
 
And as picture speaks better than words here is what it looked like :

(http://tof.canardpc.com/preview/bc50ed7f-7411-480d-bd45-440ae01278b9.jpg) (http://tof.canardpc.com/view/bc50ed7f-7411-480d-bd45-440ae01278b9.jpg)


next step is a dome display for me (i ll can take off my track :D ) and iz3d support :p
Title: Re: HUD Overhaul Test Build
Post by: Galemp on June 17, 2010, 05:11:33 pm
The fading effect doesn't appear to be present on the grey message brackets.

This, and another: how are we supposed to customize the actual ANI files used? Suppose I wanted the FS1-style HUD in the Ulysses, Herc Mk 1, Loki, Zeus, Medusa, and Ursa; how would I specify the ANIs to use?
Title: Re: HUD Overhaul Test Build
Post by: Swifty on June 17, 2010, 05:15:30 pm
We'll eventually have fields for filenames among other options. It's all work in progress.

And ugh at the old Triple Head HUD rendering. :wtf: I'm glad the new HUD code fixes multimonitor HUD rendering. Navigating the interface must be still a pain though. :(
Title: Re: HUD Overhaul Test Build
Post by: Reprobator on June 17, 2010, 05:21:28 pm
hmmm that's ok , but if it could be rendered on the central monitor it would be perfect for sure (i mean for the main hall)
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on June 17, 2010, 07:14:59 pm
Swifty, as a quick fix, would it be easy to add a config to specify what portion of the screen to fill with the interface?  Then 16x9 or 16x10 configs could just put it in the middle and not stretch it full width, and especially this 3*4x3 setup :)
Title: Re: HUD Overhaul Test Build
Post by: Galemp on June 18, 2010, 12:06:55 am
This isn't working properly for FSPort, that is, it's loading the FS2 arcs for the HUD. What should I change?

[attachment deleted by admin]
Title: Re: HUD Overhaul Test Build
Post by: Swifty on June 18, 2010, 12:45:47 am
Replace

;$Reticle Style:

with

$Reticle Style: FS1
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on June 18, 2010, 10:26:22 am
I'm quite excited for this fix, if only to address HUD stretching.

Will this new feature find its way into 3.6.12 RC Final, whenever that is going to get released?
Title: Re: HUD Overhaul Test Build
Post by: Fury on June 18, 2010, 11:23:08 am
Nope. This'll be likely in 3.7.0 along with new pilot file code and audio code.
Title: Re: HUD Overhaul Test Build
Post by: Dragon on June 18, 2010, 04:09:40 pm
I wonder when 3.7.0 would be around.
New Pilot code may be something that could take long.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on June 18, 2010, 05:26:48 pm
Well it won't hit trunk immediately, if it looks like it was a lot of issues we'll hold off.  Lord knows we have enough stuff ready to test out already, plus we want to refactor the libraries setup.
Title: Re: HUD Overhaul Test Build
Post by: Galemp on June 19, 2010, 01:02:09 am
Replace

;$Reticle Style:

with

$Reticle Style: FS1

This makes the HUD not show up at all.
Title: Re: HUD Overhaul Test Build
Post by: Aardwolf on June 19, 2010, 08:08:55 pm
This seems kind of odd to me... why create one set of component coordinates for each res, rather than using relative positions to specify where things go? That seems like it's really the way it ought to be done (IMHO).
Title: Re: HUD Overhaul Test Build
Post by: The E on June 19, 2010, 08:34:10 pm
You do know that this isn't in trunk yet? It's not finished yet.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on June 19, 2010, 09:26:42 pm
This seems kind of odd to me... why create one set of component coordinates for each res, rather than using relative positions to specify where things go? That seems like it's really the way it ought to be done (IMHO).
In order to use relative positions effectively, you need definitive dimensions for all gauges to be able to place them relative to their centers, top-left, bottom-left, top-right, or bottom-right corners relative to whatever anchors on-screen (the corners or center).

Since FSO doesn't have definitive width and height data for all gauges (Directives, escort, weapons, messaging, etc), I figured the more effective way would be to just to give people more control over the HUD scaling when deciding top-left position.

And really, this isn't odd. Along with relative positioning, a lot of games these days define interface data for three key resolutions (480p, 720p, 1080p) and interpolate for resolutions in between.
Title: Re: HUD Overhaul Test Build
Post by: MetalDestroyer on June 20, 2010, 07:28:29 am
It needs some rotation & transformation features. :)
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on June 20, 2010, 11:08:36 am
Isn't the interface rendered in a resolution independent of your game's resolution anyway?

If that's the case, then it makes sense for everything to be positioned absolutely according to 1600x900 or whatever. After all, I don't think you'd want shrinking/expanding HUD elements depending on what resolution you're using. I for one wouldn't care for extremely tiny gauges in higher resolutions.
Title: Re: HUD Overhaul Test Build info
Post by: JIM on August 01, 2010, 04:33:21 am
please where i put the file Hud_Gauges.tbl??? and what i do after?? please help  :confused: :confused:
Title: Re: HUD Overhaul Test Build
Post by: The E on August 01, 2010, 04:38:24 am
I'm sorry to say this, but if you don't know what to do with it, I would have to recommend you steer clear of this for now. This is an experimental build for an unfinished feature, and not, at this time, intended for heavy use.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on August 12, 2010, 02:57:45 pm
Swifty, got a report from the field

Quote
[14:49]  <swashmebuckle> so the game appears to be using all the same low res gauges it was using before (damage, wingmen, weapons, energy1, objective, targetview, time etc.) even though there are high res 2_ versions present in SVN.  It's a lot more obvious now too without the stretching
[14:50]  <swashmebuckle> (I just confirmed all the ANIs in the debug log)

(http://a.imageshack.us/img375/5891/nostretchwronganis.png)

This has apparently been an issue with the old HUD code, and we hoped this might fix it.
Title: Re: HUD Overhaul Test Build
Post by: The E on August 12, 2010, 02:59:30 pm
Necessary for retail compatibility. Should be fixable once Swifty or someone else writes the necessary bits to parse in the hud_gauges.tbl options.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on August 12, 2010, 03:54:00 pm
Doesn't retail have the high res data there?  Would it break retail somehow to just start using them?  Or have total conversions provided only the low res filenames?
Title: Re: HUD Overhaul Test Build
Post by: The E on August 12, 2010, 04:03:27 pm
Yes, retail has the necessary artwork. No, it's not used (As in, the original HUD code doesn't load them, ever). Ask :V: why, but my personal guess is that they realized in testing that these hi-res art pieces are too big for 1024x768. Enabling their use is trivial, but as I said, requires more customization options in the new hud_gauges.tbl (which are trivial to add, btw).
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on August 12, 2010, 04:06:47 pm
K eagerly looking forward to that :)

Also, the arabesh text over the center HUD elements.  I'm not sure what that even is, but it's using your widescreen hud config table, any idea why that would end up there?
Title: Re: HUD Overhaul Test Build
Post by: The E on August 12, 2010, 04:13:38 pm
Judging by the position, that should be the primary energy bar? Without knowing the filenames, I can't tell you much more, sorry.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on August 12, 2010, 04:25:09 pm
Yeah apparently it's the one that wraps around that element normally.  Looks like that was an issue before this and I just hadn't noticed it either.  I started using our new HUD elements and the new HUD code at about the same time so I wasn't aware there were any of these existing issues.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on August 13, 2010, 02:21:49 am
Yes, retail has the necessary artwork. No, it's not used (As in, the original HUD code doesn't load them, ever). Ask :V: why, but my personal guess is that they realized in testing that these hi-res art pieces are too big for 1024x768. Enabling their use is trivial, but as I said, requires more customization options in the new hud_gauges.tbl (which are trivial to add, btw).
Yup. Plus, as I explained to chief over IRC, the unused hi-res artwork can't seem to decide what size font it's optimized for. The hi-res directives bitmaps assume the font used is 15 pixels height. The hi-res escort bitmaps assume a 19 pixel font height. Hi-res comm menu is supposed to be used with 17 pixel high fonts. I mean, make up your minds! :\

So, the unused hi-res HUD artwork need some work before they can be used. That's probably something for FSU to deal with for some hypothetical hi-res MediaVP HUD project.

This'll all come to fruition once I open up all sorts of definable options for each individual HUD gauge. However, you're still stuck with a 9 pixel tall font (font01.vf) unless you willing to experiment to find a bigger font that won't smedge up the menu interface. To truly have a hi-res HUD without the mentioned side-effects, I need to complete a feature that will allow the HUD to use a *.vf font file separate from the menu interface. Hopefully soon.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on August 15, 2010, 12:51:01 am
I've been busy the past couple days. Committed a **** load of bug fixes and tweaks along with a massive addition of gauge configuration options to hud_gauges.tbl. For those looking to assign different bitmaps per flyable ship class or tweak the dimensions of your HUD graphics, this is the build you've been waiting for.

Check the updated original post of this thread for the download package. Inside are the new executables and a sample working table (Based off on The_E's standard layouts for both widescreen and fullscreen) with all the configurable fields commented out.
Title: Re: HUD Overhaul Test Build
Post by: Fury on August 15, 2010, 02:02:13 am
Looks great with -fov 0.45 :)

(http://img807.imageshack.us/img807/97/screen0003.th.png) (http://img807.imageshack.us/i/screen0003.png/) (http://img710.imageshack.us/img710/8400/screen0004.th.png) (http://img710.imageshack.us/i/screen0004.png/)
Title: Re: HUD Overhaul Test Build
Post by: Echelon9 on August 15, 2010, 02:59:53 am
Compiles fine on Mac and looks great.
Title: Re: HUD Overhaul Test Build
Post by: BlackDove on August 15, 2010, 06:02:37 am
I found something strange with the HUD.

When you scan something, anything, the scanning lines go below the information box (using the tables TheE posted on the second page, and the old build, will try the new one now).

EDIT: Ah yes, fixed in the new build. Cheerio.
Title: Re: HUD Overhaul Test Build
Post by: castor on August 15, 2010, 06:27:28 am
Nice! Now just waiting for someone to come up with a 'FSO hud design tool'.
Title: Re: HUD Overhaul Test Build
Post by: Tomo on August 15, 2010, 06:32:23 am
Nice! Now just waiting for someone to come up with a 'FSO hud design tool'.
That has to wait until this patch goes to Trunk, as Swifty is still adding, fixing and changing features.

Trying to build an editor for a moving target format is a sure-fire way to go crazy.
Title: Re: HUD Overhaul Test Build
Post by: Commander Zane on August 15, 2010, 06:35:44 am
Looks like the radar range doesn't show in those screens.
But nonetheless, damn would that make widescreen look so much better, stretching-be-gone.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on August 15, 2010, 10:53:10 am
Zane, that's true.

Go go gadget radar range!

Hmm, still nothing.
Title: Re: HUD Overhaul Test Build
Post by: Galemp on August 15, 2010, 02:29:57 pm
This is all very cool but it's still not working with FSPort. Turning on $Reticle Style: FS1 gives me no HUD at all, and replacing the HUD element filenames with their FS1 counterparts (such as replacing 2_leftarc with 2_leftarc_fs1) gives me a horrible mess.

Any chance you could whip up a sample configuration for us?
Title: Re: HUD Overhaul Test Build
Post by: Swifty on August 16, 2010, 12:54:12 am
There's a bug when parsing the hud_gauge.tbl file which prevents the parser from parsing any of the configuration entries after reading $Reticle Style. It's been fixed and I uploaded a new build with that fixed. Check the first post for the usual link.

Keep in mind that the packaged hud_gauge.tbl assumes that the HUD bitmaps being used are the FS2 retail bitmaps and are positioned accordingly. So, even though the threat indicator will use the correct FS1 bitmaps and have the dumbfire and missile lock blinkers in the right place, they're going to be positioned in the same FS2 place right of the reticle. You're also going to have to un-comment the Weapon Linking gauge entry in the file and I'm not too sure if it's positioned correctly either.

Good luck incorporating this for FSPort. If you need help finding out the hardcoded values present in the code for the FS1 defaults, I can help doing that and adopt them for widescreen. That is, if The_E can't do it. :)
Title: Re: HUD Overhaul Test Build
Post by: Galemp on August 17, 2010, 01:26:57 am
That would be useful, thanks. :)
Title: Re: HUD Overhaul Test Build
Post by: Fury on August 20, 2010, 08:44:44 am
Can we please have support to reverse message direction so that newest message is first and oldest message last. Thanks.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on August 20, 2010, 09:31:11 am
If you miss a message, then you want people to have to read bottom to top?
Title: Re: HUD Overhaul Test Build
Post by: Fury on August 20, 2010, 10:14:59 am
Yes, because having newest message on top would reduce changes for the message to be missed in the first place. But that goes only for custom HUD (wip) layouts like this one.

(http://img826.imageshack.us/img826/5237/screen0016.th.png) (http://img826.imageshack.us/i/screen0016.png/)
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on August 20, 2010, 10:20:58 am
I don't care how close to the center of the screen it is, I'm not going to read it if I'm trying to shoot something.  Battle dialog simply has to take a back seat to the action if it's not VA'd.  I may pause it, but I'll still want to read top to bottom then.
Title: Re: HUD Overhaul Test Build
Post by: Fury on August 20, 2010, 10:24:43 am
That is your choice to do so. I still want option to have it reversed.
Title: Re: HUD Overhaul Test Build
Post by: swashmebuckle on August 20, 2010, 04:54:09 pm
Really enjoying working on custom HUDs with this stuff--awesome work.  I'd like to use the high res target viewer (2_targetviewx), but the game persists in using the standard res anis.  I remember hearing something about the appropriate text sizes being unavailable for some of these elements, but would it be possible to just continue using the smaller text?  I only ask because it seems that all the information for working out the proper text offsets is present, it's just the Monitor Filename and Integrity Bar Filename lines themselves that appear to be locked out...Might be completely wrong here, apologies if so.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on August 20, 2010, 04:58:49 pm
Yeah, that's definitely a bug. Got a similar report from Ace as well. Thanks for reporting it.
Title: Re: HUD Overhaul Test Build
Post by: Dragon on August 23, 2010, 11:26:15 am
Is that possible to add support for adjusting top arc of the HUD?
There is a blank ANI file for it in retail files, so it's invisible on default HUD, but some mods used it and made custom interface art for it (TVWP comes to mind).
Title: Re: HUD Overhaul Test Build
Post by: swashmebuckle on August 23, 2010, 11:01:21 pm
Just to add to my earlier comment, the wingman anis and the weapons5 ani (bottom of the weapons gauge) seem to be similarly locked out, and I'm finding that most of the parameters for the latter don't seem to do anything yet either.  I love that you can change the header in the escort list--is this planned for the other gauges as well?  Also it would be awesome if the font size was controlled in the table--most of the stock high res anis look a little silly with the small text.  Great stuff.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on August 24, 2010, 01:03:35 am
Just to add to my earlier comment, the wingman anis and the weapons5 ani (bottom of the weapons gauge) seem to be similarly locked out, and I'm finding that most of the parameters for the latter don't seem to do anything yet either.  I love that you can change the header in the escort list--is this planned for the other gauges as well?  Also it would be awesome if the font size was controlled in the table--most of the stock high res anis look a little silly with the small text.  Great stuff.
Your concerns have been noted. Yes, I'll get around to changing the header text for the other gauges.

As for font size, that's something out of my control. Font sizes are fixed in the engine. As I explained earlier in this thread, I plan to implement the ability for the HUD to choose and use a font separate from the menu interface as a work around.
Title: Re: HUD Overhaul Test Build
Post by: swashmebuckle on August 24, 2010, 01:49:58 am
Ah sorry, I somehow missed that bit of info--sounds great.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on August 26, 2010, 05:07:24 am
New build posted in the original post. Synced with the most recent trunk revision, 6385. Some minor bug fixes.

- Radar range appears now.
- The targetbox bitmaps no longer ignore filenames.
- Wingmen dots fixed for the Wingman Status gauge.
- The fields of the weapons list gauge should work now.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on August 27, 2010, 07:26:47 am
Another new build. Another bug fix. Radar that's been specified in the tbl will no longer force standard radar despite the orb radar launcher flag being enabled.

Oh, and I added the capability for HUD-specific, ship-specific, and gauge-specific fonts. :D

Documentation in the sample hud_gauges.tbl along with an example fonts.tbl.

PDBs are now included as they should have been many releases before. Thanks goes to the chief for reminding me.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on August 27, 2010, 08:06:36 am
Wouldn't have noticed without The E trying to help Dragon.
Title: Re: HUD Overhaul Test Build
Post by: Dragon on August 27, 2010, 03:38:11 pm
I indeed done plenty of testing on that and found some bugs (they should now be fixed).
Title: Re: HUD Overhaul Test Build
Post by: Aardwolf on August 28, 2010, 11:11:02 pm
A general question (in response to seeing mention of ship/gauge/HUD-specific stuff)...

How much support (if any) for doing stuff like... creating a HUD specific for one ship class, which copies all the properties of another HUD, but changes one aspect of it (without requiring the mod developer to basically copy-paste the entire thing)? Also, for stuff like defining positions relative to other stuff?

And will scripting be able to control HUD components, without having to fully recreate the HUD? I remember a while ago (and maybe to this day) it was rather frustrating that if you overrode the $On HUD Draw: scripting hook, you had to completely re-implement all of the parts of the HUD you didn't want to get rid of... Meaning getting rid of 1 gauge via scripting was as bad as adding dozens of gauges.
Title: Re: HUD Overhaul Test Build
Post by: Dragon on August 31, 2010, 01:11:39 pm
Ship specific HUD is exactly the reason why I tested this build and it does indeed work.
(http://a.imageshack.us/img826/9649/screen1518.th.png) (http://img826.imageshack.us/i/screen1518.png/)
That thing written over the grid is the model number and "official" name of fighter it's installed on.
Title: Re: HUD Overhaul Test Build
Post by: Commander Zane on August 31, 2010, 02:00:50 pm
I wonder why that wasn't on the Lao Tze.
Title: Re: HUD Overhaul Test Build
Post by: The E on August 31, 2010, 02:04:40 pm
Because this is a highly experimental feature that isn't in trunk?
Title: Re: HUD Overhaul Test Build
Post by: Commander Zane on August 31, 2010, 02:08:28 pm
No, but it originally had a cockpit when it was the MiG.
Title: Re: HUD Overhaul Test Build
Post by: General Battuta on August 31, 2010, 02:09:42 pm
No, but it originally had a cockpit when it was the MiG.

I'm sure the cockpit is still there, just enable show ship.

It may have been resized however.
Title: Re: HUD Overhaul Test Build
Post by: swashmebuckle on August 31, 2010, 05:28:27 pm
Been working on refining the HUD with the latest build, and the new font support is freaking sweet.  Though the wingman anis still seem to be locked out, the target viewer now is working great with the high res artwork.  When I tried to use the "Integrity Bar Foreground Clip Height: 88" option though, I get a crash on startup where it says the game is looking for an INT (even though it is using an integer), so I've had to leave that commented out.  I also sometimes see a problem with the extra target data gauge where "waypoint" and "time to 01:30" are overlaid on top of each other rather than showing up as "time to waypoint 01:25" or however it's supposed to read.  Anyway, the awesomeness of this feature cannot be overstated.
Title: Re: HUD Overhaul Test Build
Post by: Nuke on August 31, 2010, 06:23:09 pm
A general question (in response to seeing mention of ship/gauge/HUD-specific stuff)...

How much support (if any) for doing stuff like... creating a HUD specific for one ship class, which copies all the properties of another HUD, but changes one aspect of it (without requiring the mod developer to basically copy-paste the entire thing)? Also, for stuff like defining positions relative to other stuff?

And will scripting be able to control HUD components, without having to fully recreate the HUD? I remember a while ago (and maybe to this day) it was rather frustrating that if you overrode the $On HUD Draw: scripting hook, you had to completely re-implement all of the parts of the HUD you didn't want to get rid of... Meaning getting rid of 1 gauge via scripting was as bad as adding dozens of gauges.

i wouldnt mind having hooks for some gauges, like radar and anything else that can be recreated with scripting fairly easily, like weapon info and different styles of lead indicators. these hooks might want variables like where its supposed to go, what size its supposed to be. of course that sounds somewhat complicated.

it might be easier just to disable certain gauges on certain ships, and place a scripted gauge in the resulting hole, crude but somewhat effective (and made somewhat easier if your first suggestion is implemented). it would help though if you could find out some info about the gauge you are replacing through scripting, like its position/size/color and other parameters. the script doesnt need to know what configuration your using, just what parameters are currently in use. and if you could disable and enable the gauge from the script as well (make it one of the parameters), then the scripter really doesnt need to concern themselves with the hud table at all.

also a small fiy, my attempt to render a hud to polygons in the cockpit model with scripting have hit a brick wall. seems i cant tell the hud to render at an arbitrary time, and if i recreate everything in scripting, i cant seem to draw anything transparent to the dynamic texture, so even if i could render the hud, the bitmap would be opaque and completely block your view. so li be keeping an eye on this, waiting for scrpting features to pop up.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on August 31, 2010, 07:26:52 pm
Scripting features involving the new HUD specification are planned. The plan would be to perhaps have the Custom gauge HUD object type have a Script: field which a user can define a Lua function or source file that will provide additional logic for a more dynamic user-defined gauge with access to the HudGauge class methods so the script writer won't have to worry about the various transformations that FS2 does (TrackIR, afterburner shakes, screen position)

In any case, would it really bother anyone if we change the behavior of On HUD Draw to not disable the HUD? If someone really wants to completely replace the HUD with this new HUD spec, they can just set Load Retail Configuration to No in hud_gauges.tbl and not define any gauges.

Been working on refining the HUD with the latest build, and the new font support is freaking sweet.  Though the wingman anis still seem to be locked out, the target viewer now is working great with the high res artwork.  When I tried to use the "Integrity Bar Foreground Clip Height: 88" option though, I get a crash on startup where it says the game is looking for an INT (even though it is using an integer), so I've had to leave that commented out.  I also sometimes see a problem with the extra target data gauge where "waypoint" and "time to 01:30" are overlaid on top of each other rather than showing up as "time to waypoint 01:25" or however it's supposed to read.  Anyway, the awesomeness of this feature cannot be overstated.
Uploaded a new build in the OP with all the stuff you reported fixed. Thanks for reporting them.

As for the Extra Target Data gauge, I forgot to properly initialize the offsets that handle "Time to waypoint". There's an extra field that I forgot to add for it before but it's now there. I've updated the sample hud_gauges.tbl with the extra field.

Title: Re: HUD Overhaul Test Build
Post by: The E on August 31, 2010, 07:29:40 pm
In any case, would it really bother anyone if we change the behavior of On HUD Draw to not disable the HUD? If someone really wants to completely replace the HUD with this new HUD spec, they can just set Load Retail Configuration to No in hud_gauges.tbl and not define any gauges.

Yes. The ability to completely override the entire HUD through scripting should still be present. What should be added would be a "Override HUD gauge type" option, as well as the "integrated scripting" thing you proposed.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on August 31, 2010, 07:49:59 pm
So, should we create a new hook then? Something called With HUD Draw?

Custom gauges already have a "Gauge Type" field. If you want to hypothetically replace the weapons gauge, you'd define a Custom gauge in hud_gauges.tbl with Gauge Type: WEAPONS_GAUGE and Script: hud_new_weapons.lua or something like that.

That's the best I can think of a scripting interface that plays nice with the new HUD spec.
Title: Re: HUD Overhaul Test Build
Post by: Commander Zane on August 31, 2010, 09:37:20 pm
No, but it originally had a cockpit when it was the MiG.

I'm sure the cockpit is still there, just enable show ship.

It may have been resized however.
By WiH default; it doesn't come up with show ship. It's named invisible so it has to be renamed for it to appear, like the Uriel and Durga.
Title: Re: HUD Overhaul Test Build
Post by: Nuke on August 31, 2010, 11:29:26 pm
Scripting features involving the new HUD specification are planned. The plan would be to perhaps have the Custom gauge HUD object type have a Script: field which a user can define a Lua function or source file that will provide additional logic for a more dynamic user-defined gauge with access to the HudGauge class methods so the script writer won't have to worry about the various transformations that FS2 does (TrackIR, afterburner shakes, screen position)

In any case, would it really bother anyone if we change the behavior of On HUD Draw to not disable the HUD? If someone really wants to completely replace the HUD with this new HUD spec, they can just set Load Retail Configuration to No in hud_gauges.tbl and not define any gauges.

i kinda think it should still use the existing overrides and toggles. one way to toggle the hud is to use hu.HUDDrawn, this allows you to turn the hud on and off say, if youre using a camera view. unfortunately it doesnt give you control over when the hud is rendered, and i assume it runs immediately after scene render. the other is with the +override: tag in the scripting.tbl. i think if the existing features remain functional that should be satisfactory, and should allow for complete hud replacement.

So, should we create a new hook then? Something called With HUD Draw?

Custom gauges already have a "Gauge Type" field. If you want to hypothetically replace the weapons gauge, you'd define a Custom gauge in hud_gauges.tbl with Gauge Type: WEAPONS_GAUGE and Script: hud_new_weapons.lua or something like that.

That's the best I can think of a scripting interface that plays nice with the new HUD spec.

id make available an array of hud gauges available to scripting (much how ships or weapons would work).  you could iterate through gauges, or pull one up by name, and each one would have all the relevant parameters associated with that gauge, size, position, etc, including the ability to turn it on or off, render it, and so on. this could be used in the embedded script, or in your usual scripting files. it would be the most convenient and familiar way to go about it.
Title: Re: HUD Overhaul Test Build
Post by: Aardwolf on September 01, 2010, 05:25:01 pm
Possibly something that comes up before the normal HUD draw code is called, which gives the Lua scripting a chance to modify how that will be done (disable specific gauges, change positions, etc.)
Title: Re: HUD Overhaul Test Build
Post by: Nuke on September 01, 2010, 08:53:25 pm
ideally pre draw and post draw hooks, say i wanted to set a render target and unset post draw.  of course it still dont fix the transparency issue i had.
Title: Re: HUD Overhaul Test Build
Post by: swashmebuckle on September 01, 2010, 09:03:12 pm
Sweet, the Target viewer/extra target info are now working great, and wingman1-3 have been unlocked.  I still can't use the wingman "Dot Filename" line, and there are collisions between the lowest dots (in their retail positions) and the wing name text--will there be an option to control the wing name's Y-position based on the number of dots present?  And would it be possible to now enable more than 6 dots per wing?  It'd be great for SWC if we could do full squadrons of 12 Tie Fighters, etc.

Damn, other than that and the lines to rename gauge headers, I can't think of anything else I might need.  Impressive...most impressive :)
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on September 01, 2010, 09:11:09 pm
Bigger wings I think might be limited by more than just the HUD, but I'm not sure about that.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on September 01, 2010, 11:28:09 pm
Bigger wings I think might be limited by more than just the HUD, but I'm not sure about that.
It's limited by MAX_SHIPS_PER_WING. It's used by the code everywhere from mission management, AI, FRED, and of course, the HUD. God knows what will happen if you arbitarily changed that value. It's not something we can willy nilly cap off.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on September 03, 2010, 01:17:05 pm
So, bout how close are we now?  Need to get something into Antipodes soon.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on September 03, 2010, 01:34:41 pm
I guess all I have to do now is write in support to replace the headers of the gauges and I think I'm done. Unless people have more bugs to report.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on September 03, 2010, 11:30:30 pm
I still can't use the wingman "Dot Filename" line, and there are collisions between the lowest dots (in their retail positions) and the wing name text--will there be an option to control the wing name's Y-position based on the number of dots present?
BTW, swashmebuckle, can you give me a screenshot in 1024x768 res of the wingmen gauge with wings of 6? I'd like to do some pixel counting to make sure the retail defaults are correct. :P
Title: Re: HUD Overhaul Test Build
Post by: swashmebuckle on September 04, 2010, 01:07:28 am
ja check PMs.  They do look kinda cramped if that's what you're referring to
Title: Re: HUD Overhaul Test Build
Post by: rscaper1070 on September 18, 2010, 05:34:05 am
All this screen space is blowing my mind, great work. I did notice that there isn't a "Launch" or "Evaded" indicator when a missile is fired at me though.
Title: Re: HUD Overhaul Test Build
Post by: swashmebuckle on September 22, 2010, 01:01:58 am
Hey Swifty, I've been testing with chief's mac build at r6481 and the wingman dots are up and running for me.  I'm now trying to integrate some new fonts in, and having some difficulty with vertical spacing.  Basically, my replacement 9pt font seems to be a little taller than what can be cleanly supported atm and I am getting collisions in the messages window and the objectives gauge.  I got around this problem with my replacement for the smaller font01 by putting in an extra blank pixel of height under each character in the font file, but there seems to be a set line spacing value that the 9 point font is just too large for.  With even larger fonts it starts to clip the bottoms of the characters off.  If the line spacing and how many lines appear at once in the messages could be controlled in the table that would enable me to use the bigger font for all of the gauges (though training messages seems a little odd too--no assignable image or text spacing so far?).

That and the documentation for how to implement the wing name spacing and custom headers are all I can think of for how to improve the HUD.  It's really looking fantastic: Huge props :yes:
Title: Re: HUD Overhaul Test Build
Post by: Scooby_Doo on September 22, 2010, 04:40:14 am
Quickly skimming through this thread... are you referring to the existing cockpit hud by moving it around the screen?  (i.e. not the render to texture one being proposed?)
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on September 22, 2010, 08:36:51 am
Have you been under a rock lately?  :)

If you're asking what this entire thread is about, it's about revamping the retail ship HUD to be much, much, much more flexible, including things like full repositioning of gauges, full custom gauge support, and fixing non-4:3 stretching issues.  I don't know how else to take your question if that's not what you meant, it doesn't seem like it's in the context of a recent reply.  In fact, this code is just about ready for Antipodes testing, either preceded or followed by taylor's go_faster code likely.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on September 22, 2010, 10:47:19 am
Hey Swifty, I've been testing with chief's mac build at r6481 and the wingman dots are up and running for me.  I'm now trying to integrate some new fonts in, and having some difficulty with vertical spacing.  Basically, my replacement 9pt font seems to be a little taller than what can be cleanly supported atm and I am getting collisions in the messages window and the objectives gauge.  I got around this problem with my replacement for the smaller font01 by putting in an extra blank pixel of height under each character in the font file, but there seems to be a set line spacing value that the 9 point font is just too large for.  With even larger fonts it starts to clip the bottoms of the characters off.  If the line spacing and how many lines appear at once in the messages could be controlled in the table that would enable me to use the bigger font for all of the gauges (though training messages seems a little odd too--no assignable image or text spacing so far?).

That and the documentation for how to implement the wing name spacing and custom headers are all I can think of for how to improve the HUD.  It's really looking fantastic: Huge props :yes:
It doesn't matter how big your font is. The engine will always use the individual gauge's "Entry Height" value. You have to change the line spacing for each and every gauge to account for your new font. Look for an option called "Entry Height" in some of the gauge fields.

EDIT: I guess I don't have "entry height" for all of the gauges. Especially Training Messages.
Title: Re: HUD Overhaul Test Build
Post by: swashmebuckle on September 22, 2010, 02:23:11 pm
Ah, my bad--I figured out how to use the Y value controls for the objectives gauge, but yeah, Entry Height: isn't doing anything for the messages gauge.
Title: Re: HUD Overhaul Test Build
Post by: Scooby_Doo on September 22, 2010, 03:41:32 pm
Have you been under a rock lately?  :)

If you're asking what this entire thread is about, it's about revamping the retail ship HUD to be much, much, much more flexible, including things like full repositioning of gauges, full custom gauge support, and fixing non-4:3 stretching issues.  I don't know how else to take your question if that's not what you meant, it doesn't seem like it's in the context of a recent reply.  In fact, this code is just about ready for Antipodes testing, either preceded or followed by taylor's go_faster code likely.

Sorry, I was half asleep trying to read though it.  Very cool now you'll be able to modify the helmet hud however you like. (I was original referring to render hud to texture for cockpit models)
Title: Re: HUD Overhaul Test Build
Post by: hurleybird on September 28, 2010, 05:39:24 pm
edit: photobucket is scaling my screenshot to a wayyy lower res...

(http://i229.photobucket.com/albums/ee255/JGraw/surrondhudproblem.jpg)

I went ahead and created a hud for 16:10 triple monitor configs. (might also work for 16:9, haven't tested). I'm running 3x 1920*1200, for a 5760*1200 display. Problem is, when I fire my primary weapons, the bolts seem to be firing a bit left of the reticule. Checked my table, and it appears the reticle is right in the middle of the screen, so I'm not sure what is wrong.

Edit: Fixed center reticle, code below is now usable. Thanks The E!

Code: [Select]
#Gauge Config
$Base: (5760, 1200)
$Required Aspect: Wide Screen ; Can be "Wide Screen" or "Full Screen" ATM
$Min: (4320, 900);
$Max: (7680, 1600) ; These Min and Max fields are Inclusive
$Gauges:
+Messages:
Position: (1930, 8)
+Training Messages:
Position: (2651, 195)
+Multiplayer Messages:
Position: (1935, 375)
+Support:
Position: (2805, 833)
+Damage:
Position: (2769, 95)
+Wingman Status:
Position: (3718, 225)
+Auto Speed:
Position: (3771, 1051)
+Auto Target:
Position: (3771, 1012)
+Countermeasures:
Position: (3618, 940)
+Talking Head:
Position: (1930, 88)
+Directives:
Position: (1930, 435)
+Weapons:
Position: (3618, 820)
+Objective Notify:
Position: (2761, 288)
+Squad Message:
Position: (3515, 8)
+Escort View:
Position: (3618, 435)
+ETS Weapons:
Position: (3618, 1012)
+ETS Shields:
Position: (3652, 1012)
+ETS Engines:
Position: (3686, 1012)
+Target Monitor:
Position: (1930, 921)
+Extra Target Data:
Position: (1930, 863)
+Target Shields:
Position: (2610, 1047)
+Radar:
Position: (2766, 921)
+Player Shields:
Position: (3054, 1047)
; If you want different types of radar running, be my guest
;+Radar Orb:  
; Position: (2763, 921)
+Afterburner Energy:
Position: (2507, 585)
+Weapon Energy:
Position: (3187, 585)
+Text Warnings:
Position: (2907, 429)
+Center Reticle:
Position: (2860, 584)
+Mini Target Shields:
Position: (2887, 736)
+Throttle:
Position: (2592, 423)
+Threat Indicator:
Position: (3082, 423)
+Voice Status:
position: (1930, 257)
+Ping:
Position: (3648, 8)
+Lag:
Position: (3128, 827)
+Supernova:
Position: (2248, 265)

+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Lead Indicator:
+Lock Indicator:
+Offscreen Indicator:
+Hostile Triangle:
Position: (2907, 600)
+Target Triangle:
Position: (2907, 600)
+Missile Triangles:
Position: (2907, 600)
+Orientation Tee:
Position: (2907, 600)
+Mission Time:
Position: (2907, 1119)
+Kills:
Position: (3618, 975)
; FS1 specific gauge
;+Weapon Linking:
; Position: (3073, 604)
; Komet's lead sight. Looks for "leadsight.ani"
;+Lead Sight: default
$End Gauges
#End
Title: Re: HUD Overhaul Test Build
Post by: The E on September 28, 2010, 05:43:32 pm
The problem is that the reticle x coordinate is exactly on the center. It needs to be on (Screenwidth - Reticlewidth)/2 instead.
Since the retail reticle is 40 pixels wide, you should place it at 2860, not 2880.
Title: Re: HUD Overhaul Test Build
Post by: hurleybird on September 28, 2010, 06:05:46 pm
Ah, got it. Is there a list somewhere of how wide/tall all of these elements are so that I don't misplace the rest (even though they probably don't matter so much unlike the center reticle)

Title: Re: HUD Overhaul Test Build
Post by: The E on September 28, 2010, 06:07:32 pm
No, unfortunately
Title: Re: HUD Overhaul Test Build
Post by: hurleybird on September 28, 2010, 07:59:58 pm
Well, playing around with this build got me thinking on a couple different angles.

1. Creating native huds for larger resolutions makes all of the elements tiny. It's probably best to create a table entry at a lower resolution than native so that it scales up the elements in size somewhat. For example, instead of making the default resolution for my 16:10 eyefinity hud 5760x1200, I perhaps should have used 4320x900, or 5040x1050. On the other hand, someone at 7680x1600 might want to use my 5760x1200 hud (so that the elements aren't too far blown up)

2. A much more elegant solution would be to have all of the basic positioning and and scaling in the source code rather than in a table file. Instead of an absolute postional value, the hud elements should be based on a reference to either the center of the screen or one of it's sides. Common eyefinity/surround resolutions can be detected and compensated in the source code. It also shouldn't take too much extra too detect and compensate for bezel correction (which most surround users will be using) by looking for 'near' eyefinity-type resolutions with slightly extnded horizontal resolution (say, within 512px). For example, the program would see 6016x1200 as 5760x1200 with a bezel correction of 128px per side and move the side elements closer to the center.

The table method is certainly welcome, and aside from bezel correction it should be easy enough to load the table with all of the common resolutions people use. The issue I see is that any mod that decides to rearrange the hud elements will have to create a large amount of table entries. And if that mod wants to create custom huds on a per-ship basis then that's going to be a lot of table editing to cover all of the different aspects/resolutions. An automated system where they only need to create one template and the engine intuitively scales the template to any resolution would be better.
Title: Re: HUD Overhaul Test Build
Post by: The E on September 29, 2010, 12:51:41 am
Actually, realistically speaking, they should only have to create two entries, one for 4:3 and one for widescreen resolutions. Triplehead configs like yours are the exception, believe it or not.
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on September 29, 2010, 01:31:34 am
Actually, realistically speaking, they should only have to create two entries, one for 4:3 and one for widescreen resolutions. Triplehead configs like yours are the exception, believe it or not.

Widescreen as in 16:9 or 16:10?
Title: Re: HUD Overhaul Test Build
Post by: The E on September 29, 2010, 01:37:57 am
Yes.
Title: Re: HUD Overhaul Test Build
Post by: hurleybird on September 29, 2010, 02:57:24 am
Triplehead configs like yours are the exception, believe it or not.

 :D

Yeah, there *is* that. With the lowering costs of monitors and the march towards graphics cards with three display outputs, there will be more and more of us, but we'll always be in the minority. I can see more FS2 players using triple head than average, just as more FS2 players use TrackIR than average. 5:4 is still going to stretched 4:3 (albiet not extremely noticable like 4:3 vs. 16:9), as is 16:9 vs. 16:10.

Now, obviously the new system for HUDs is a million times better than what we had before, but it would still be nice to have a more intuitive approach to how things are handled. Another thing to keep in mind is that people with triple head setups tend to actively seek out games that handle ultra-wide resolutions well. Again, I'm perfectly happy (and thankful!) with the new system, but a relative hud would just be that much better.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on September 29, 2010, 09:36:06 am
Well, I don't see a reason not to include configs for these additional setups, whether it be 3x 16:10 or 3x 10:16, or 3 wide with another one on top of the middle one, etc.  But someone has to create the tables is all.  Once that's done just about any mod that uses the MediaVPs could probably have them available.  I'm not sure how to make it much more intuitive the way the engine is set up right now.
Title: Re: HUD Overhaul Test Build
Post by: Nuke on September 29, 2010, 12:32:07 pm
me personally im happy with a single 1080p screen and my trackir. 3 or more screens would be awesome, but nowhere within my budget. also, while it may give you a huge natural field of view in the horizontal, you still have a very narrow vertical view angle. you could pair it with the trackir but i think it would be too disorientating. i kinda wish instead that each monitor would have its own camera space, so that you can put the monitors in any position in real space and have them correspond to similar positions in simulated space. this would make it better for example if you had screens of various native resolutions. you could arrange them any way you see fit and you would just have to model the configuration in the table. would also solve the bezel management issues. doesnt sound very likely (any time in the near future) though.

it also seems to me that while game graphics have kind of stagnated in the past few years in terms of the speed at which they improve. monitor resolutions are going up. maybe we should consider the possibility that we need additional art sets for the hud (and interface) to accommodate less archaic resolutions. when you start picking up 1024x768 screens at garage sales for 5 bucks, its a sign that any screens at that native resolution is obsolete junk. :D

you could stretch the hud graphics, but you can only make them so big before you get ugly scaling artifacts. since the scaling difference between 640x480 (is that resolution even supported on modern operating systems?) and 1024x768 is 1.6x in the horizontal, which means we need something in the 1600 wide ballpark, and since many monitors above 1024 (aside from the 1280x1024 era that seemed to last forever) seem to be widescreen resolutions, i think a set in the 1680 x 1050 resolution would be a good point to create an image set for. it would scale up to other 16:9/10 resolutions pretty well. i wouldnt mind having a set in the 1080p standard, but that might be asking too much. pretty soon you would end up with art sets for every resolution.

i wouldnt mind the game being completely agnostic to the size of the images it would use on the hud. it would find the one that closest matches the required size and then scale it automatically. then make it so aspect ratio, not screen resolution, determines the layout data to use. images can always be scaled to whatever multiple of the aspect ratio is in use.

another thing i think we should consider is to not invalidate someone's hud tables if they are trying to make the game work with their video hardware. you can do this either by considering every possible screen resolution known to man, and include it in the tables (youd still get issues with people running multiple screens). something where hud layout by aspect ratio would come in handy. the other way to make an edit-friendly hud table for setting resolutions that the table distributed with the freespace upgrade doesnt include.
Title: Re: HUD Overhaul Test Build
Post by: The E on September 29, 2010, 12:37:44 pm
maybe we should consider the possibility that we need additional art sets for the hud (and interface) to accommodate less archaic resolutions.

This. A thousand times this.
Title: Re: HUD Overhaul Test Build
Post by: Nuke on September 29, 2010, 01:13:38 pm
another thing i forgot to mention that i didnt want to stick in another post edit. something that may have been addressed before. the possibility to use non-ani graphics for the hud and shield icons. i noticed that most hud graphics have been limited to 16 color ani files. i wouldnt mind seeing those replaced by eff/dds graphics. that is of course if it hasnt been done yet. i havent really been keeping up with that stuff, but it would greatly improve the quality of the hud graphics if it were possible. ani is not manditory in most of the game and i would like you guys to take the format out back and shoot it. indexed color is so 90s.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on September 29, 2010, 01:35:57 pm
another thing i forgot to mention that i didnt want to stick in another post edit. something that may have been addressed before. the possibility to use non-ani graphics for the hud and shield icons. i noticed that most hud graphics have been limited to 16 color ani files. i wouldnt mind seeing those replaced by eff/dds graphics. that is of course if it hasnt been done yet. i havent really been keeping up with that stuff, but it would greatly improve the quality of the hud graphics if it were possible. ani is not manditory in most of the game and i would like you guys to take the format out back and shoot it. indexed color is so 90s.
I've done some testing with this actually. The engine is perfectly suited to use EFF/DDS in place of ANI. You have to make sure that the color palette is in grayscale if you want to make it look right with the color blending.
Title: Re: HUD Overhaul Test Build
Post by: Nuke on September 29, 2010, 01:56:02 pm
another thing i forgot to mention that i didnt want to stick in another post edit. something that may have been addressed before. the possibility to use non-ani graphics for the hud and shield icons. i noticed that most hud graphics have been limited to 16 color ani files. i wouldnt mind seeing those replaced by eff/dds graphics. that is of course if it hasnt been done yet. i havent really been keeping up with that stuff, but it would greatly improve the quality of the hud graphics if it were possible. ani is not manditory in most of the game and i would like you guys to take the format out back and shoot it. indexed color is so 90s.
I've done some testing with this actually. The engine is perfectly suited to use EFF/DDS in place of ANI. You have to make sure that the color palette is in grayscale if you want to make it look right with the color blending.

would that be along the lines of the dds formats like 8l or 88al or palletized (a)rgb at 4/8 bpp? those formats would certainly match the need for a single channel image. though i think it would be better to use the full range of values. some images (shield icons for example) only allow the use of the first 16 colors in an indexed color table, using anything else never worked any of the times i tested it (it also had me swearing over the creation of many a shield icon back in the day). i certainly wouldnt mind being able to have alpha information in the hud graphics, or use full color hud graphics. i just think that graphics that are always visible should have a little bit more emphasis on quality, which depends mostly on the artist (who wouldnt mind being able to use an argb8888 format). multiplicative blending seems to look ok when used with color graphics.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on September 29, 2010, 01:59:42 pm
Err, I guess I worded that wrong. No, just use your typical 32-bit full color DDS format but just make sure it's a grayish looking color. :P
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on September 29, 2010, 02:04:38 pm
Wouldn't you just convert to grayscale and back to color then?
Title: Re: HUD Overhaul Test Build
Post by: Swifty on September 29, 2010, 02:05:56 pm
Pretty much. :P
Title: Re: HUD Overhaul Test Build
Post by: Nuke on September 29, 2010, 02:07:57 pm
and back to the issue with shield icons, could you use effs for those, but expand the color range to the full 0-255 instead of 0-15?
Title: Re: HUD Overhaul Test Build
Post by: Swifty on September 29, 2010, 02:10:54 pm
and back to the issue with shield icons, could you use effs for those, but expand the color range to the full 0-255 instead of 0-15?
I don't see anything with the HUD shield code stopping you from doing that, so try it out.
Title: Re: HUD Overhaul Test Build
Post by: FUBAR-BDHR on September 29, 2010, 02:50:48 pm
Isn't there an issue with using non power of 2 dds files? If I recall most of the hud stuff are not power of 2.
Title: Re: HUD Overhaul Test Build
Post by: Swifty on September 29, 2010, 02:55:34 pm
Yes, that's also an issue. It depends on if your video card supports GL_ARB_texture_non_power_of_two which has been in OpenGL since 1.4.
Title: Re: HUD Overhaul Test Build
Post by: Nuke on September 29, 2010, 04:27:17 pm
even though dxt1/5's only real requirement is that they be multiples of four. of course if the engine still wants powers of two, then it is ample reason to have good scaling code, since a power of two image is all you can guarantee.

and back to the issue with shield icons, could you use effs for those, but expand the color range to the full 0-255 instead of 0-15?
I don't see anything with the HUD shield code stopping you from doing that, so try it out.

i went ahead and make a rather rushed sheild icon, i went with a full color dxt1 eff and set its scale to 128^2 (hopefully the engine dont care much about the resolution not being typical of a hud icon). ingame the icon is not visible.
Title: Re: HUD Overhaul Test Build
Post by: taylor on September 29, 2010, 05:04:58 pm
even though dxt1/5's only real requirement is that they be multiples of four. of course if the engine still wants powers of two, then it is ample reason to have good scaling code, since a power of two image is all you can guarantee.
It's a video card requirement, not really an engine one, in general.  If the video card allows for NPOT then they will be used as-is, if not then they will be made POT.  That doesn't really work for DXT compressed images though, since they would have to decoded in software, re-sized, have mipmaps recreated, and then be re-compressed.  It's much less trouble to simply not support them. :)

NPOT textures were available at one time for interface graphics through the ARB_texture_rectangle extension.  However I believe that somebody (don't actually remember who without looking it up) couldn't figure that out with some sort of radar graphics or something and subsequently disabled the functionality of the extension in order to get things working for them.
Title: Re: HUD Overhaul Test Build
Post by: rscaper1070 on October 12, 2010, 02:12:48 pm
I'm having difficulty specifying a HUD layout for the GenericCP.pof. I was thinking that I would specify the ships that I use the pof for but it doesn't seem to make a difference what ship is listed the layout comes up anyway on top of the layout for the other ship. I must be missing something. Is the feature for different layouts for different ships not implemented yet or am I screwing up the table?

(http://thumbnails25.imagebam.com/10185/79751b101846767.jpg) (http://www.imagebam.com/image/79751b101846767)


(http://thumbnails27.imagebam.com/10186/569df9101856133.jpg) (http://www.imagebam.com/image/569df9101856133)


Code: [Select]
$Load Retail Configuration: No        ; If set to Yes, FSO will load any missing gauges necessary to complete the FS1/FS2 retail configuration.
                                    ; If field is not present, FSO will default this to Yes.

;$Font: 3                        ; index is based on the order of fonts specified in fonts.tbl. Starts from 0 which should be font1.vf...

;$Max Escort Ships:

;$Length Unit Multiplier:

;$Wireframe Targetbox:

;$Lock Wireframe Mode:

;$Reticle Style:

; The following is a widescreen example HUD.
; If the user does not select a resolution matching the below parameters, FSO will not use this HUD and will move on to the next configuration.

#Gauge Config
    ;$Ship: GTF Ulysses
        ;$Font: 3
    $Base: (1440, 900)                    
    $Required Aspect: Wide Screen         ; Can be "Wide Screen" or "Full Screen" ATM
    $Min: (1280, 720)                    ; These Min and Max fields are Inclusive
    $Max: (1920, 1080)    
    $Gauges:        
        +Messages:
            Position: (7, 6)
            ;Font: 3
        +Training Messages:
            Position: (533, 146)
            ;Font: 3
        +Multiplayer Messages:
            Position: (11, 281)
            ;Font: 3
        +Support:
            Position: (645, 625)
            ;Font: 3
            ;Slew: no
            ;Filename: support1
            ;Header Offsets: (3, 2)
            ;Text Y-offset: 12
            ;Dock Status X-offset: 6
            ;Dock Time X-offset: 65
        +Damage:
            Position: (619, 71)
            ;Font: 3
            ;Slew: no
            ;Top Background Filename: damage1
            ;Entry Background Filename: damage2
            ;Bottom Background Filename: damage3
            ;Header Offsets: (3, 2)
            ;Hull Integrity Offsets: (4, 15)
            ;Hull Integrity Value X-offset: 142
            ;Top Background Height: 25
            ;Subsystem Entry Height: 9
            ;Subsystem List Start Offsets: (4, 27)
            ;Subsystem Entry Value X-offset: 142
        +Wingman Status:
            Position: (1311, 169)
            ;Font: 3
            ;Slew: no
            ;Left Background Filename: wingman1
            ;Entry Background Filename: wingman2
            ;Right Background Filename: wingman3
            ;Dot Filename: wingman4
            ;Header Offsets: (2, 2)
            ;Left Background Width: 71
            ;Entry Width: 35
            ;Single Wing Offsets: (28, 15)
            ;Multiple Wing Start Offsets: (46, 15)
            ;Dot Offsets: (11, 0) (4, 8) (18, 8) (11, 16) (0, 16) (22, 16)
            ;Grow Mode: Left
        +Auto Speed:
            Position: (1350, 788)
            ;Font: 3
            ;Slew: no
            ;Filename: toggle1
            ;Auto Offsets: (13, 2)
            ;Speed Offsets: (10, 10)
        +Auto Target:
            Position: (1350, 759)
            ;Font: 3
            ;Slew: no
            ;Filename: toggle1
            ;Auto Offsets: (13, 2)
            ;Target Offsets: (7, 10)
        +Countermeasures:
            Position: (1238, 705)
            ;Font: 3
            ;Slew: no
            ;Filename: countermeasure1
            ;Text Offsets: (36, 4)
            ;Value Offsets: (9, 4)
        +Talking Head:
            Position: (7, 66)
            ;Font: 3
            ;Filename: head1
            ;Header Offsets: (2, 2)
            ;Animation Offsets: (2, 10)
            ;Animation Background Size: (160, 120)
        +Directives:
            Position: (7, 326)
            ;Font: 3
            ;Slew: no
            ;Top Background Filename: directives1
            ;Entry Background Filename: directives2
            ;Bottom Background Filename: directives 3
            ;Header Offsets: (2, 2)
            ;Top Background Height: 12
            ;List Start Offsets: (3, 13)
            ;Entry Height: 9
            
        ;My most hated gauge (Swifty)
        +Weapons:
            Position: (1238, 615)
            ;Font: 3
            ;Slew: no
            ;Primary List Top Background Filename: weapons1
                ;Alt Ballistic Filename: weapons1_b
            ;Primary List Middle Background Filename: weapons2
                ;Alt Ballistic Filename: weapons2_b
            ;Primary List Bottom Background Filename: weapons6
                ;Alt Ballistic Filename: weapons2_b
            ;Secondary List Top Background Filename:  weapons3
                ;Alt Ballistic Filename: weapons3_b
            ;Secondary List Entry Background Filename: weapons4
                ;Alt Ballistic Filename: weapons4_b
            ;Secondary List Bottom Bakground Filename: weapons5
                ;Alt Ballistic Filename: weapons5_b
            ;Header Offsets: (21, 2)
                ;Alt Ballistic Offsets: (-10, 2)
            ;Top Primary Background X-offset: 12
                ;Alt Ballistic X-offset: -12
            ;Text X-offset: 0
                ;Alt Ballistic X-offset: -12
            ;Top Primary Frame Height: 20
            ;Top Secondary Frame Height: 12
            ;Primary List Start Y-offset: 12
            ;Secondary List Start Y-offset: 4
            ;Primary Weapon Ammo X-offset: 28
            ;Primary Weapon Link X-offset: 33
            ;Primary Weapon Name X-offset: 39
            ;Secondary Weapon Ammo X-offset: 28
            ;Secondary Weapon Unlinked X-offset: 33
            ;Secondary Weapon Linked X-offset: 28
            ;Secondary Weapon Name X-offset: 39
            ;Secondary Weapon Reload X-offset: 118
            ;Primary Weapon Entry Height: 12
            ;Secondary Weapon Entry Height: 9
        +Objective Notify:
            Position: (613, 216)
            ;Font: 3
            ;Slew: no
            ;Filename: objective1
            ;Objective Text Y-offset: 2
            ;Objective Value Y-offset: 11
            ;Subspace Text Y-offset: 2
            ;Subspace Value Y-offset: 10
            ;Red Alert Text Y-offset: 2
            ;Red Alert Value Y-offset: 10
        +Squad Message:
            Position: (1163, 6)
            ;Font: 3
            ;Slew: no
            ;Top Background Filename: message1
            ;Entry Background Filename: message2
            ;Bottom Background Filename: message3
            ;Header Offsets: (2, 1)
            ;List Start Offsets: (4, 13)
            ;Top Background Height: 12
            ;Entry Height: 10
            ;Command X-offset: 17
            ;Page Up Offsets: (110, 5)
            ;Page Down Offsets: (110, 115)
        +Escort View:
            Position: (1238, 326)
            ;Font: 3
            ;Slew: no
            ;Top Background Filename: escort1
            ;Entry Background Filename: escort2
            ;Bottom Background Filename: escort3
            ;Entry Height: 11
            ;Header Text: monitoring
            ;Header Offsets: (3, 2)
            ;List Start Offsets: (0, 13)
            ;Hull X-offset: (116, 0)
            ;Name X-offset: (4, 0)
            ;Status X-offset: (-11, 0)
        +ETS Weapons:
            Position: (1238, 759)
            ;Font: 3
            ;Slew: no
            ;Filename: energy1
            ;Foreground Clip Height: 41
            ;Letter Offsets: (2, 42)
            ;Top Offsets: (0, 0)
            ;Bottom Offsets: (0, 50)
        +ETS Shields:
            Position: (1263, 759)
            ;Font: 3
            ;Slew: no
            ;Filename: energy1
            ;Foreground Clip Height: 41
            ;Letter Offsets: (2, 42)
            ;Top Offsets: (0, 0)
            ;Bottom Offsets: (0, 50)
        +ETS Engines:
            Position: (1288, 759)
            ;Font: 3
            ;Slew: no
            ;Filename: energy1
            ;Foreground Clip Height: 41
            ;Letter Offsets: (2, 42)
            ;Top Offsets: (0, 0)
            ;Bottom Offsets: (0, 50)
        +Target Monitor:
            Position: (7, 691)
            ;Font: 3
            ;Monitor Filename: targetview1
            ;Integrity Bar Filename: targetview2
            ;Viewport Offsets: (3, 39)
            ;Viewport Size: (131, 112)
            ;Integrity Bar Offsets: (133, 52)
            ;Integrity Bar Foreground Clip Height: 88
            ;Status Offsets: (107, 53)
            ;Name Offsets: (8, -3)
            ;Class Offsets: (8, 7)
            ;Distance Offsets: (8. 18)
            ;Speed Offsets: (85, 18)
            ;Hull Offsets: (134, 42)
            ;Cargo Contents Offsets: (8, 30)
            ;Cargo Scan Start Offsets: (2, 45)
            ;Cargo Scan Size: (130, 109)
        +Extra Target Data:
            Position: (7, 647)
            ;Font: 3
            ;Slew: no
            ;Filename: targetview3
            ;Bracket Offsets: (0, 3)
            ;Dock Offsets: (7, 18)
            ;Order Offsets: (7, 0)
            ;Time Offsets: (8, 9)
        +Target Shields:
            Position: (503, 785)
            ;Font: 3
            ;Slew: no
        +Radar:
            Position: (617, 691)
            ;Font: 3
            ;Filename: 2_radar1
            ;Infinity Distance Offsets: (185, 150)
            ;Long Distanace Offsets: (181, 150)
            ;Short Distance Offsets: (184, 150)
        +Player Shields:
            Position: (827, 785)
            ;Font: 3
            ;Slew: No
        ; If you want different types of radar running, be my guest
        ;+Radar Orb:  
            ;Position: (615, 691)
            ;Font: 3
            ;Filename: 2_radar1
            ;Infinity Distance Offsets: (185, 150)
            ;Long Distanace Offsets: (181, 150)
            ;Short Distance Offsets: (184, 150)
        +Afterburner Energy:
            Position: (428, 439)
            ;Font: 3
            ;Slew: yes
            ;Filename: 2_energy2
            ;Foreground Clip Height: 96
        +Weapon Energy:
            Position: (924, 439)
            ;Font: 3
            ;Slew: yes
            ;Filename: 2_energy2
            ;Foreground Clip Height: 96
            ;Text Offsets: (43, 85)
        +Text Warnings:
            Position: (720, 322)
            ;Font: 3
            ;Slew: yes
        +Center Reticle:
            Position: (700, 438)
            ;Font: 3
            ;Filename: 2_reticle1
        +Mini Target Shields:
            Position: (705, 552)
            ;Font: 3
            ;Slew: yes
            ;Filename: targhit1
            ;3 Digit Hull Offsets: (5, 7)
            ;2 Digit Hull Offsets: (9, 7)
            ;1 Digit Hull Offsets: (14, 7)
        +Throttle:
            Position: (490, 317)
            ;Font: 3
            ;Slew: yes
            ;Filename: 2_leftarc
            ;Foreground Clip Bottom Y-offset: 222
            ;Foreground Clip Width: 78
            ;Foreground Clip Height: 80
            ;Afterburner Clip Height: 27
            ;Show Background: no
            ;Max Speed Label Offsets: (31, 137)
            ;Min Speed Label Offsets: (57, 216)
            ;Orbit Center Offsets: (166, 118)
            ;Orbit Radius: 166
        +Threat Indicator:
            Position: (847, 317)
            ;Font: 3
            ;Slew: yes
            ;Arc Filename: 2_rightarc1
            ;Dumbfire Filename: 2_toparc2
            ;Lock Filename: 2_toparc3
            ;Dumbfire Offsets: (66, 124)
            ;Lock Offsets: (57, 150)
        +Voice Status:
            Position: (7, 193)
            ;Font: 3
            ;Slew: no
        +Ping:
            Position: (1260, 6)
            ;Font: 3
            ;Slew: no
        +Lag:
            Position: (881, 620)
            ;Font: 3
            ;Slew: no
            ;Filename: netlag1
        +Supernova:
            Position: (239, 199)
            ;Font: 3
            ;Slew: no
        +Target Brackets:             ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
            ;Font: 3
            ;Dot Filename: attacker
        +Lead Indicator:
            ;Font: 3
            ;Filename: 2_lead1
            ;Center Offsets: (13, 13)
        +Lock Indicator:
            ;Font: 3
            ;Lock Filename: 2_lock1
            ;Locked Filename: 2_lockspin
            ;Lock Center Offsets: (28, 25)
            ;Locked Center Offsets: (50, 52)
        +Offscreen Indicator:
        +Hostile Triangle:
            Position: (720, 450)
            ;Font: 3
            ;Slew: yes
            ;Radius: 166
            ;Triangle Base: 9.5
            ;Triangle Height: 11.0
        +Target Triangle:
            Position: (720, 450)
            ;Font: 3
            ;Slew: yes
            ;Radius: 166
            ;Triangle Base: 9.5
            ;Triangle Height: 11.0
        +Missile Triangles:
            Position: (720, 450)
            ;Font: 3
            ;Slew: yes
            ;Radius: 166
            ;Triangle Base: 9.5
            ;Triangle Height: 11.0
        +Orientation Tee:
            Position: (720, 450)
            ;Font: 3
            ;Slew: yes
            ;Radius: 166
        +Mission Time:
            Position: (1363, 839)
            ;Font: 3
            ;Slew: no
            ;Filename: time1
            ;Text Offsets: (4, 4)
            ;Value Offsets: (26, 12)
        +Kills:
            Position: (1238, 731)
            ;Font: 3
            ;Slew: no
            ;Filename: kills1
            ;Text Offsets: (6, 4)
            ;Value Offsets: (74, 4)
        ; FS1 specific gauge
        ;+Weapon Linking:
            ;Position: (841, 453)
            ;Font: 3
            ;Slew: yes
            ;Arc Filename: 2_rightarc1_fs1
            ;Single Primary Filename: 2_rightarc2_fs1
            ;Double Primary Filename: 2_rightarc3_fs1
            ;Single Secondary Filename: 2_rightarc4_fs1
            ;Double Secondary Filename: 2_rightarc5_fs1
            ;Triple Secondary Filename 2_rightarc6_fs1
            ;Single Primary Offsets: (52, 18)
            ;Double Primary Offsets: (52, 18)
            ;Single Secondary Offsets: (28, 55)
            ;Double Secondary Offsets: (28, 55)
            ;Triple Secondary Offsets: (28, 55)
        
        ; Komet's lead sight. Looks for "leadsight.ani"
        ;+Lead Sight: (700, 438)
            ;Font: 3
            ;Filename: leadsight
        
        ; Custom gauge syntax
        ;+Custom:
            ;Position:
            ;Font: 3
            ;Name:
            ;Text:
            ;Gauge Type:
            ; (Possible values for Gauge Type include LEAD_INDICATOR, ORIENTATION_TEE, HOSTILE_TRIANGLE, TARGET_TRIANGLE, MISSION_TIME, RETICLE_CIRCLE, THROTTLE_GAUGE,
            ; RADAR, TARGET_MONITOR, CENTER_RETICLE, TARGET_MONITOR_EXTRA_DATA, TARGET_SHIELD_ICON, PLAYER_SHIELD_ICON, ETS_GAUGE, AUTO_TARGET, AUTO_SPEED,
            ; WEAPONS_GAUGE, ESCORT_VIEW, DIRECTIVES_VIEW, THREAT_GAUGE, AFTERBURNER_ENERGY, WEAPONS_ENERGY, WEAPON_LINKING_GAUGE, TARGER_MINI_ICON,
            ; OFFSCREEN_INDICATOR, TALKING_HEAD, DAMAGE_GAUGE, MESSAGE_LINES, MISSILE_WARNING_ARROW, CMEASURE_GAUGE, OBJECTIVES_NOTIFY_GAUGE, WINGMEN_STATUS,
            ; OFFSCREEN RANGE, KILLS GAUGE", ATTACKING TARGET COUNT, TEXT FLASH, MESSAGE BOX, SUPPORT GUAGE, LAG GUAGE) the last five aren't typos.
            ; Slew:
            ; Filename:
    $End Gauges
#End


#Gauge Config
    ;$Ship: GTF Myrmidon
        ;$Font: 3
    $Base: (1440, 900)                    
    $Required Aspect: Wide Screen         ; Can be "Wide Screen" or "Full Screen" ATM
    $Min: (1280, 720)                    ; These Min and Max fields are Inclusive
    $Max: (1920, 1080)    
    $Gauges:        
        +Messages:
            Position: (7, 6)
            ;Font: 3
        +Training Messages:
            Position: (533, 146)
            ;Font: 3
        +Multiplayer Messages:
            Position: (11, 281)
            ;Font: 3
        +Support:
            Position: (665, 590)
            ;Font: 3
            ;Slew: no
            ;Filename: support1
            ;Header Offsets: (3, 2)
            ;Text Y-offset: 12
            ;Dock Status X-offset: 6
            ;Dock Time X-offset: 65
        +Damage:
            Position: (619, 71)
            ;Font: 3
            ;Slew: no
            ;Top Background Filename: damage1
            ;Entry Background Filename: damage2
            ;Bottom Background Filename: damage3
            ;Header Offsets: (3, 2)
            ;Hull Integrity Offsets: (4, 15)
            ;Hull Integrity Value X-offset: 142
            ;Top Background Height: 25
            ;Subsystem Entry Height: 9
            ;Subsystem List Start Offsets: (4, 27)
            ;Subsystem Entry Value X-offset: 142
        +Wingman Status:
            Position: (632, 835)
            ;Font: 3
            ;Slew: no
            ;Left Background Filename: wingman1
            ;Entry Background Filename: wingman2
            ;Right Background Filename: wingman3
            ;Dot Filename: wingman4
            ;Header Offsets: (2, 2)
            ;Left Background Width: 71
            ;Entry Width: 35
            ;Single Wing Offsets: (28, 15)
            ;Multiple Wing Start Offsets: (46, 15)
            ;Dot Offsets: (11, 0) (4, 8) (18, 8) (11, 16) (0, 16) (22, 16)
            ;Grow Mode: Left
        +Auto Speed:
            Position: (605, 590)
            ;Font: 3
            ;Slew: no
            ;Filename: toggle1
            ;Auto Offsets: (13, 2)
            ;Speed Offsets: (10, 10)
        +Auto Target:
            Position: (775, 590)
            ;Font: 3
            ;Slew: no
            ;Filename: toggle1
            ;Auto Offsets: (13, 2)
            ;Target Offsets: (7, 10)
        +Countermeasures:
            Position: (630, 570)
            ;Font: 3
            ;Slew: no
            ;Filename: countermeasure1
            ;Text Offsets: (36, 4)
            ;Value Offsets: (9, 4)
        +Talking Head:
            Position: (7, 66)
            ;Font: 3
            ;Filename: head1
            ;Header Offsets: (2, 2)
            ;Animation Offsets: (2, 10)
            ;Animation Background Size: (160, 120)
        +Directives:
            Position: (1055, 800)
            ;Font: 3
            ;Slew: no
            ;Top Background Filename: directives1
            ;Entry Background Filename: directives2
            ;Bottom Background Filename: directives 3
            ;Header Offsets: (2, 2)
            ;Top Background Height: 12
            ;List Start Offsets: (3, 13)
            ;Entry Height: 9
            
        ;My most hated gauge (Swifty)
        +Weapons:
            Position: (870, 825)
            ;Font: 3
            ;Slew: no
            ;Primary List Top Background Filename: weapons1
                ;Alt Ballistic Filename: weapons1_b
            ;Primary List Middle Background Filename: weapons2
                ;Alt Ballistic Filename: weapons2_b
            ;Primary List Bottom Background Filename: weapons6
                ;Alt Ballistic Filename: weapons2_b
            ;Secondary List Top Background Filename:  weapons3
                ;Alt Ballistic Filename: weapons3_b
            ;Secondary List Entry Background Filename: weapons4
                ;Alt Ballistic Filename: weapons4_b
            ;Secondary List Bottom Bakground Filename: weapons5
                ;Alt Ballistic Filename: weapons5_b
            ;Header Offsets: (21, 2)
                ;Alt Ballistic Offsets: (-10, 2)
            ;Top Primary Background X-offset: 12
                ;Alt Ballistic X-offset: -12
            ;Text X-offset: 0
                ;Alt Ballistic X-offset: -12
            ;Top Primary Frame Height: 20
            ;Top Secondary Frame Height: 12
            ;Primary List Start Y-offset: 12
            ;Secondary List Start Y-offset: 4
            ;Primary Weapon Ammo X-offset: 28
            ;Primary Weapon Link X-offset: 33
            ;Primary Weapon Name X-offset: 39
            ;Secondary Weapon Ammo X-offset: 28
            ;Secondary Weapon Unlinked X-offset: 33
            ;Secondary Weapon Linked X-offset: 28
            ;Secondary Weapon Name X-offset: 39
            ;Secondary Weapon Reload X-offset: 118
            ;Primary Weapon Entry Height: 12
            ;Secondary Weapon Entry Height: 9
        +Objective Notify:
            Position: (613, 216)
            ;Font: 3
            ;Slew: no
            ;Filename: objective1
            ;Objective Text Y-offset: 2
            ;Objective Value Y-offset: 11
            ;Subspace Text Y-offset: 2
            ;Subspace Value Y-offset: 10
            ;Red Alert Text Y-offset: 2
            ;Red Alert Value Y-offset: 10
        +Squad Message:
            Position: (1163, 6)
            ;Font: 3
            ;Slew: no
            ;Top Background Filename: message1
            ;Entry Background Filename: message2
            ;Bottom Background Filename: message3
            ;Header Offsets: (2, 1)
            ;List Start Offsets: (4, 13)
            ;Top Background Height: 12
            ;Entry Height: 10
            ;Command X-offset: 17
            ;Page Up Offsets: (110, 5)
            ;Page Down Offsets: (110, 115)
        +Escort View:
            Position: (430, 815)
            ;Font: 3
            ;Slew: no
            ;Top Background Filename: escort1
            ;Entry Background Filename: escort2
            ;Bottom Background Filename: escort3
            ;Entry Height: 11
            ;Header Text: monitoring
            ;Header Offsets: (3, 2)
            ;List Start Offsets: (0, 13)
            ;Hull X-offset: (116, 0)
            ;Name X-offset: (4, 0)
            ;Status X-offset: (-11, 0)
        +ETS Weapons:
            Position: (955, 725)
            ;Font: 3
            ;Slew: no
            ;Filename: energy1
            ;Foreground Clip Height: 41
            ;Letter Offsets: (2, 42)
            ;Top Offsets: (0, 0)
            ;Bottom Offsets: (0, 50)
        +ETS Shields:
            Position: (967, 725)
            ;Font: 3
            ;Slew: no
            ;Filename: energy1
            ;Foreground Clip Height: 41
            ;Letter Offsets: (2, 42)
            ;Top Offsets: (0, 0)
            ;Bottom Offsets: (0, 50)
        +ETS Engines:
            Position: (979, 725)
            ;Font: 3
            ;Slew: no
            ;Filename: energy1
            ;Foreground Clip Height: 41
            ;Letter Offsets: (2, 42)
            ;Top Offsets: (0, 0)
            ;Bottom Offsets: (0, 50)
        +Target Monitor:
            Position: (250, 740)
            ;Font: 3
            ;Monitor Filename: targetview1
            ;Integrity Bar Filename: targetview2
            ;Viewport Offsets: (3, 39)
            ;Viewport Size: (131, 112)
            ;Integrity Bar Offsets: (133, 52)
            ;Integrity Bar Foreground Clip Height: 88
            ;Status Offsets: (107, 53)
            ;Name Offsets: (8, -3)
            ;Class Offsets: (8, 7)
            ;Distance Offsets: (8. 18)
            ;Speed Offsets: (85, 18)
            ;Hull Offsets: (134, 42)
            ;Cargo Contents Offsets: (8, 30)
            ;Cargo Scan Start Offsets: (2, 45)
            ;Cargo Scan Size: (130, 109)
        +Extra Target Data:
            Position: (100, 835)
            ;Font: 3
            ;Slew: no
            ;Filename: targetview3
            ;Bracket Offsets: (0, 3)
            ;Dock Offsets: (7, 18)
            ;Order Offsets: (7, 0)
            ;Time Offsets: (8, 9)
        +Target Shields:
            Position: (493, 720)
            ;Font: 3
            ;Slew: no
        +Radar:
            Position: (617, 660)
            ;Font: 3
            ;Filename: 2_radar1
            ;Infinity Distance Offsets: (185, 150)
            ;Long Distanace Offsets: (181, 150)
            ;Short Distance Offsets: (184, 150)
        +Player Shields:
            Position: (847, 720)
            ;Font: 3
            ;Slew: No
        ; If you want different types of radar running, be my guest
        ;+Radar Orb:  
            ;Position: (615, 660)
            ;Font: 3
            ;Filename: 2_radar1
            ;Infinity Distance Offsets: (185, 150)
            ;Long Distanace Offsets: (181, 150)
            ;Short Distance Offsets: (184, 150)
        +Afterburner Energy:
            Position: (428, 439)
            ;Font: 3
            ;Slew: yes
            ;Filename: 2_energy2
            ;Foreground Clip Height: 96
        +Weapon Energy:
            Position: (924, 439)
            ;Font: 3
            ;Slew: yes
            ;Filename: 2_energy2
            ;Foreground Clip Height: 96
            ;Text Offsets: (43, 85)
        +Text Warnings:
            Position: (720, 322)
            ;Font: 3
            ;Slew: yes
        +Center Reticle:
            Position: (700, 438)
            ;Font: 3
            ;Filename: 2_reticle1
        +Mini Target Shields:
            Position: (705, 560)
            ;Font: 3
            ;Slew: yes
            ;Filename: targhit1
            ;3 Digit Hull Offsets: (5, 7)
            ;2 Digit Hull Offsets: (9, 7)
            ;1 Digit Hull Offsets: (14, 7)
        +Throttle:
            Position: (490, 317)
            ;Font: 3
            ;Slew: yes
            ;Filename: 2_leftarc
            ;Foreground Clip Bottom Y-offset: 222
            ;Foreground Clip Width: 78
            ;Foreground Clip Height: 80
            ;Afterburner Clip Height: 27
            ;Show Background: no
            ;Max Speed Label Offsets: (31, 137)
            ;Min Speed Label Offsets: (57, 216)
            ;Orbit Center Offsets: (166, 118)
            ;Orbit Radius: 166
        +Threat Indicator:
            Position: (847, 317)
            ;Font: 3
            ;Slew: yes
            ;Arc Filename: 2_rightarc1
            ;Dumbfire Filename: 2_toparc2
            ;Lock Filename: 2_toparc3
            ;Dumbfire Offsets: (66, 124)
            ;Lock Offsets: (57, 150)
        +Voice Status:
            Position: (7, 193)
            ;Font: 3
            ;Slew: no
        +Ping:
            Position: (1260, 6)
            ;Font: 3
            ;Slew: no
        +Lag:
            Position: (881, 620)
            ;Font: 3
            ;Slew: no
            ;Filename: netlag1
        +Supernova:
            Position: (239, 199)
            ;Font: 3
            ;Slew: no
        +Target Brackets:             ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
            ;Font: 3
            ;Dot Filename: attacker
        +Lead Indicator:
            ;Font: 3
            ;Filename: 2_lead1
            ;Center Offsets: (13, 13)
        +Lock Indicator:
            ;Font: 3
            ;Lock Filename: 2_lock1
            ;Locked Filename: 2_lockspin
            ;Lock Center Offsets: (28, 25)
            ;Locked Center Offsets: (50, 52)
        +Offscreen Indicator:
        +Hostile Triangle:
            Position: (720, 450)
            ;Font: 3
            ;Slew: yes
            ;Radius: 166
            ;Triangle Base: 9.5
            ;Triangle Height: 11.0
        +Target Triangle:
            Position: (720, 450)
            ;Font: 3
            ;Slew: yes
            ;Radius: 166
            ;Triangle Base: 9.5
            ;Triangle Height: 11.0
        +Missile Triangles:
            Position: (720, 450)
            ;Font: 3
            ;Slew: yes
            ;Radius: 166
            ;Triangle Base: 9.5
            ;Triangle Height: 11.0
        +Orientation Tee:
            Position: (720, 450)
            ;Font: 3
            ;Slew: yes
            ;Radius: 166
        +Mission Time:
            Position: (450, 750)
            ;Font: 3
            ;Slew: no
            ;Filename: time1
            ;Text Offsets: (4, 4)
            ;Value Offsets: (26, 12)
        +Kills:
            Position: (750, 570)
            ;Font: 3
            ;Slew: no
            ;Filename: kills1
            ;Text Offsets: (6, 4)
            ;Value Offsets: (74, 4)
        ; FS1 specific gauge
        ;+Weapon Linking:
            ;Position: (841, 453)
            ;Font: 3
            ;Slew: yes
            ;Arc Filename: 2_rightarc1_fs1
            ;Single Primary Filename: 2_rightarc2_fs1
            ;Double Primary Filename: 2_rightarc3_fs1
            ;Single Secondary Filename: 2_rightarc4_fs1
            ;Double Secondary Filename: 2_rightarc5_fs1
            ;Triple Secondary Filename 2_rightarc6_fs1
            ;Single Primary Offsets: (52, 18)
            ;Double Primary Offsets: (52, 18)
            ;Single Secondary Offsets: (28, 55)
            ;Double Secondary Offsets: (28, 55)
            ;Triple Secondary Offsets: (28, 55)
        
        ; Komet's lead sight. Looks for "leadsight.ani"
        ;+Lead Sight: (700, 438)
            ;Font: 3
            ;Filename: leadsight
        
        ; Custom gauge syntax
        ;+Custom:
            ;Position:
            ;Font: 3
            ;Name:
            ;Text:
            ;Gauge Type:
            ; (Possible values for Gauge Type include LEAD_INDICATOR, ORIENTATION_TEE, HOSTILE_TRIANGLE, TARGET_TRIANGLE, MISSION_TIME, RETICLE_CIRCLE, THROTTLE_GAUGE,
            ; RADAR, TARGET_MONITOR, CENTER_RETICLE, TARGET_MONITOR_EXTRA_DATA, TARGET_SHIELD_ICON, PLAYER_SHIELD_ICON, ETS_GAUGE, AUTO_TARGET, AUTO_SPEED,
            ; WEAPONS_GAUGE, ESCORT_VIEW, DIRECTIVES_VIEW, THREAT_GAUGE, AFTERBURNER_ENERGY, WEAPONS_ENERGY, WEAPON_LINKING_GAUGE, TARGER_MINI_ICON,
            ; OFFSCREEN_INDICATOR, TALKING_HEAD, DAMAGE_GAUGE, MESSAGE_LINES, MISSILE_WARNING_ARROW, CMEASURE_GAUGE, OBJECTIVES_NOTIFY_GAUGE, WINGMEN_STATUS,
            ; OFFSCREEN RANGE, KILLS GAUGE", ATTACKING TARGET COUNT, TEXT FLASH, MESSAGE BOX, SUPPORT GUAGE, LAG GUAGE) the last five aren't typos.
            ; Slew:
            ; Filename:
    $End Gauges
#End

; Any wide screen resolutions not between 1280x720 and 1920x1080 will get a blank HUD since the bottom config will only apply to any Full Screen resolutions

#Gauge Config
    $Base: (1024, 768)                    
    $Required Aspect: Full Screen        
    ;$Min: (640, 480)
    $Gauges:        
        +Messages:
            Position: (5, 5)
        +Training Messages:
            Position: (379, 125)
        +Multiplayer Messages:
            Position: (8, 240)
        +Support:
            Position: (459, 534)
        +Damage:
            Position: (440, 61)
        +Wingman Status:
            Position: (932, 144)
        +Auto Speed:
            Position: (960, 672)
        +Auto Target:
            Position: (960, 648)
        +Countermeasures:
            Position: (880, 602)
        +Talking Head:
            Position: (5, 56)
        +Directives:
            Position: (5, 278)
        +Weapons:
            Position: (880, 525)
        +Objective Notify:
            Position: (436, 184)
        +Squad Message:
            Position: (827, 5)
        +Player Shields:
            Position: (634, 670)
        +Target Shields:
            Position: (292,    670)
        +Escort View:
            Position: (865, 330)
        +ETS Weapons:
            Position: (880, 648)
        +ETS Shields:
            Position: (898, 648)
        +ETS Engines:
            Position: (916, 648)
        +Target Monitor:
            Position: (5, 590)
        +Extra Target Data:
            Position: (5, 552)
        +Radar:
            Position: (411, 590)        
        +Afterburner Energy:
            Position: (274, 424)
        +Text Warnings:
            Position: (512, 275)
        +Center Reticle:
            Position: (493, 376)
        +Mini Target Shields:
            Position: (497, 470)
        +Throttle:
            Position: (347, 390)
        +Threat Indicator:
            Position: (386, 219)
        +Voice Status:
            position: (5, 165)
        +Ping:
            Position: (896, 5)
        +Lag:
            Position: (627, 529)
        +Supernova:
            Position: (170, 170)
        +Target Brackets:             ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
        +Lead Indicator:
        +Lock Indicator:
        +Offscreen Indicator:
        +Hostile Triangle:
            Position: (512, 387)
        +Target Triangle:
            Position: (512, 387)
        +Missile Triangles:
            Position: (512, 387)
        +Orientation Tee:
            Position: (512, 387)
        +Weapon Energy:
            Position: (666, 424)
        +Mission Time:
            Position: (969, 716)
        +Kills:
            Position: (880, 624)
    $End Gauges
#End

Edit: Also, does adding slew get the HUD items to jump around during afterburn?

Edit2: It's all about the semi-colon isn't it?
Title: Re: HUD Overhaul Test Build
Post by: Tomo on October 16, 2010, 07:04:46 am
Yes, it is all about the semi-colon.

You've commented out the bit that says which ship each setup is for.
- The semi-colon tells FSO to ignore the rest of the line.
Title: Re: HUD Overhaul Test Build
Post by: Dragon on October 18, 2010, 05:25:49 pm
OK, now that Antipodes 6 is done, can we get a new custom HUD build?
Chief should propably also think about updating his primary cycling build.  :)
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on October 18, 2010, 05:33:22 pm
Jeez man, he's running around like a chicken with its head cut off trying to get his branch synced to trunk right now :)
Title: Re: HUD Overhaul Test Build
Post by: Swifty on October 19, 2010, 03:11:39 am
New build synced with the current trunk is up, ya filthy animals. Includes taylor's optimizations.
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on October 22, 2010, 05:14:13 pm
I noticed that there isn't a real 16:9 sample table to use. There's a 16:10, but I'm worried that the engine will render it to 16:10 before stretching it to 16:9. Is that the case? If so, I'll try to make a table specifically for 16:9 and post it up when I get that done. (I'll probably be basing it off The_E's 16:10 layout if anything).
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on October 22, 2010, 05:36:25 pm
Go for it.  Feel free to post it in the Antipodes 7 release thread too, this one is now no longer needed really.  But stretching between those two similar ratios shouldn't be too apparent compared to 4:3 stretched to 16:9.  Might not be worth it.
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on October 22, 2010, 06:23:53 pm
This is the *actual* 16:9 setup using 1440x810 as the base resolution. All I did was multiply the Y coordinates by 0.9 using The_E's 16:10's layout as a base, so really, all the work should still be credited to him.

I also took the liberty to move the guns and burner energy down a fair bit and also further from the center so that they look closer to the retail appearance. That is the only change I made.

Code: [Select]
#Gauge Config
$Base: (1440, 810)
$Required Aspect: Wide Screen ; Can be "Wide Screen" or "Full Screen" ATM
$Min: (1280, 720) ; These Min and Max fields are Inclusive
$Max: (1920, 1080)
$Gauges:
+Messages:
Position: (7, 5)
+Training Messages:
Position: (533, 131)
+Multiplayer Messages:
Position: (11, 253)
+Support:
Position: (645, 563)
+Damage:
Position: (619, 64)
+Wingman Status:
Position: (1311, 152)
+Auto Speed:
Position: (1350, 709)
+Auto Target:
Position: (1350, 683)
+Countermeasures:
Position: (1238, 635)
+Talking Head:
Position: (7, 59)
+Directives:
Position: (7, 293)
+Weapons:
Position: (1238, 554)
+Objective Notify:
Position: (613, 194)
+Squad Message:
Position: (1163, 5)
+Escort View:
Position: (1238, 293)
+ETS Weapons:
Position: (1238, 683)
+ETS Shields:
Position: (1263, 683)
+ETS Engines:
Position: (1288, 683)
+Target Monitor:
Position: (7, 622)
+Extra Target Data:
Position: (7, 582)
+Target Shields:
Position: (503, 707)
+Radar:
Position: (617, 622)
+Player Shields:
Position: (827, 707)
; If you want different types of radar running, be my guest
;+Radar Orb: 
; Position: (615, 622)
+Afterburner Energy:
Position: (422, 430)
+Weapon Energy:
Position: (930, 430)
+Text Warnings:
Position: (720, 290)
+Center Reticle:
Position: (700, 394)
+Mini Target Shields:
Position: (705, 497)
+Throttle:
Position: (490, 285)
+Threat Indicator:
Position: (847, 285)
+Voice Status:
position: (7, 174)
+Ping:
Position: (1260, 5)
+Lag:
Position: (881, 558)
+Supernova:
Position: (239, 179)

+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and Offscreen Indicator don't need a "Position:" field.
+Lead Indicator:
+Lock Indicator:
+Offscreen Indicator:
+Hostile Triangle:
Position: (720, 405)
+Target Triangle:
Position: (720, 405)
+Missile Triangles:
Position: (720, 405)
+Orientation Tee:
Position: (720, 405)
+Mission Time:
Position: (1363, 755)
+Kills:
Position: (1238, 658)
; FS1 specific gauge
;+Weapon Linking:
; Position: (841, 408)
; Komet's lead sight. Looks for "leadsight.ani"
;+Lead Sight: default
$End Gauges
#End


[attachment deleted by admin]
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on October 22, 2010, 07:27:30 pm
That still seems stretched to me.  Sure it's being applied?  Also, might as well bump the max res to a higher 16:9.  There's setups out there with much higher resolutions.
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on October 22, 2010, 07:36:30 pm
That's not stretched anymore. 1448x810 is 16:9. If you bump up the res, things will get smaller (and need to be re-adjusted for positioning) but the "stretching" or lack thereof will be the exact same.

Edit: Er, if you meant bumping up the max res (which is currently 1920x1080), that should be easy to do user-side. I merely left it as-is from before because I didn't think many people would be playing at above 1080p.

Update:

Okay, so I got bored and decided to tweak the 16:9 HUD to resemble the Vanilla HUD much more closely. Screenshot is attached, so you be the judge on whether you want to use it.

Code: [Select]
#Gauge Config
$Base: (1440, 810)
$Required Aspect: Wide Screen ; Can be "Wide Screen" or "Full Screen" ATM
$Min: (1280, 720) ; These Min and Max fields are Inclusive
$Max: (1920, 1080)
$Gauges:
+Messages:
Position: (7, 5)
+Training Messages:
Position: (587, 131)
+Multiplayer Messages:
Position: (11, 253)
+Support:
Position: (667, 563)
+Damage:
Position: (648, 64)
+Wingman Status:
Position: (1346, 152)
+Auto Speed:
Position: (1374, 709)
+Auto Target:
Position: (1374, 683)
+Countermeasures:
Position: (1294, 635)
+Talking Head:
Position: (7, 59)
+Directives:
Position: (7, 293)
+Weapons:
Position: (1294, 554)
+Objective Notify:
Position: (644, 194)
+Squad Message:
Position: (1241, 5)
+Escort View:
Position: (1279, 293)
+ETS Weapons:
Position: (1294, 683)
+ETS Shields:
Position: (1312, 683)
+ETS Engines:
Position: (1330, 683)
+Target Monitor:
Position: (7, 622)
+Extra Target Data:
Position: (7, 582)
+Target Shields:
Position: (473, 702)
+Radar:
Position: (617, 622)
+Player Shields:
Position: (857, 702)
; If you want different types of radar running, be my guest
;+Radar Orb: 
; Position: (615, 622)
+Afterburner Energy:
Position: (422, 430)
+Weapon Energy:
Position: (930, 430)
+Text Warnings:
Position: (720, 290)
+Center Reticle:
Position: (700, 394)
+Mini Target Shields:
Position: (705, 497)
+Throttle:
Position: (490, 285)
+Threat Indicator:
Position: (847, 285)
+Voice Status:
position: (7, 174)
+Ping:
Position: (1260, 5)
+Lag:
Position: (881, 558)
+Supernova:
Position: (239, 179)

+Target Brackets: ; Target Brackets, Lock Indicator, Lead Indicator, and

Offscreen Indicator don't need a "Position:" field.
+Lead Indicator:
+Lock Indicator:
+Offscreen Indicator:
+Hostile Triangle:
Position: (720, 405)
+Target Triangle:
Position: (720, 405)
+Missile Triangles:
Position: (720, 405)
+Orientation Tee:
Position: (720, 405)
+Mission Time:
Position: (1383, 755)
+Kills:
Position: (1294, 658)
; FS1 specific gauge
;+Weapon Linking:
; Position: (841, 408)
; Komet's lead sight. Looks for "leadsight.ani"
;+Lead Sight: default
$End Gauges
#End

Update2: I fixed some centering problems I found with hull integrity, rearm timer, training messages, and objective notifications.

[attachment deleted by admin]
Title: Re: HUD Overhaul Test Build
Post by: Galemp on October 22, 2010, 10:07:17 pm
/me still wants someone to write tables for FSPort.
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on October 22, 2010, 10:14:07 pm
/me still wants someone to write tables for FSPort.

This.

Actually, I will do a 16:9 table if someone can give me the 4:3 defaults table in 1024x768, or whatever the defaults are drawn on.
Title: Re: HUD Overhaul Test Build
Post by: rscaper1070 on October 22, 2010, 10:30:12 pm
Are you are talking about it looking all messed up in FSport like this?

(http://thumbnails18.imagebam.com/10341/e8ee49103408373.jpg) (http://www.imagebam.com/image/e8ee49103408373)

I was able to fix it by giving the fsport-mediavps folder it's own hud_gauges.tbl.

(http://thumbnails19.imagebam.com/10341/d974ed103408040.jpg) (http://www.imagebam.com/image/d974ed103408040)



Title: Re: HUD Overhaul Test Build
Post by: Kolgena on October 22, 2010, 10:36:53 pm
Right, but as far as I know, nobody has made retail layouts for FSPort in aspect ratios other than 4:3. Your table, while workable, would look pretty terrible if someone wasn't using visible cockpits.

(Also, is anything going to be done about those god-awful asteroid bitmaps?)

Edit: On closer inspection, I realized that you're not actually using FSPort HUD assets. Whoops.
Title: Re: HUD Overhaul Test Build
Post by: rscaper1070 on October 22, 2010, 10:44:02 pm
Well I just used the sample wide screen table that Swifty provided and changed the positions. My point was that if you drop the table in the fsport folder it will look right.  :)
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on October 22, 2010, 10:46:13 pm
Right, but then you'll get the FS2 HUD, which is decidedly different from the FS1 HUD. I mean, that's way better than omgwtf scrambled fugliness, but I personally would like to see an FSPort HUD table.

The fact that FSPort only has two ETS gauges at the start does raise the question for what exactly happens in subspace missions using mediavps_3612, (like derelict, for example). Do they come together like they should, or do they leave a gaping hole like the screenshots above?
Title: Re: HUD Overhaul Test Build
Post by: Zacam on October 23, 2010, 12:07:34 pm
Actually, either of The_E's 1440x900 display settings, will scale to 1280x1024 just fine. A few elements (such as talking head and dialogue) might need a teensy shuffle, but that's it.
(Also, on the above, you might be tempted to change the line "$Base: (1440, 900)" ... don't. Then it will look anything but okay because that is what it will scale itself to)

Testing the desired resolutions with the layouts already available is a good idea.
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on October 23, 2010, 12:46:22 pm
Actually, either of The_E's 1440x900 display settings, will scale to 1280x1024 just fine. A few elements (such as talking head and dialogue) might need a teensy shuffle, but that's it.
(Also, on the above, you might be tempted to change the line "$Base: (1440, 900)" ... don't. Then it will look anything but okay because that is what it will scale itself to)

Testing the desired resolutions with the layouts already available is a good idea.

16:10 stretched to 5:4 will have extremely noticeable vertical distortion. In fact, all HUD elements will be taller by a factor of 1.28, which isn't good looking in the slightest. I personally wouldn't recommend doing that. Give me some time and I'll try to make a workable 1280x1024 HUD. I won't be able to test it though, since my gfx card doesn't support 5:4 resolutions without hacking the registry.
Title: Re: HUD Overhaul Test Build
Post by: Zacam on October 23, 2010, 01:40:33 pm
Here is an idea. TRY IT FIRST.

As for "stretching" there isn't any. It just adapts the positioning from 16:9 to 5:4, it doesn't actually "distort" any of the graphics used to fit within the specified spaces, just offsets the coordinates given to determine placement.

Again, trying it out first is probably a good idea. I've run my own layout through:
16:9
1280x720
1366x768
1920x1080

8:5
1280x800
1440x900
1680x1050

5:4
1280x1024 <-- On this one, messages still take place above the head.ani and the Comms menu isn't over as left as I would like.

Code: (overhaul-hdg.tbm) [Select]
#Gauge Config
$Base: (1440, 900)
$Required Aspect: Wide Screen
$Min: (1280, 720)
$Max: (1920, 1080)
$Gauges:

;Messages
+Messages:
Position: (183, 5)
+Training Messages:
Position: (265, 90)
+Talking Head:
Position: (10, 5)

;Comm Menu
+Squad Message:
Position: (1020, 5)

;Objectives
+Escort View:
Position: (1263, 325)
+Directives:
Position: (10, 145)
+Objective Notify:
Position: (640, 225)

;Reticle
+Center Reticle:
Position: (700, 438)
+Threat Indicator:
Position: (847, 317)
+Target Brackets:
+Lead Indicator:
+Lock Indicator:
+Offscreen Indicator:
+Hostile Triangle:
Position: (720, 450)
+Missile Triangles:
Position: (720, 450)
+Target Triangle:
Position: (720, 450)
+Orientation Tee:
Position: (720, 450)

;Slider Elements
+Throttle:
Position: (490, 317)
+Afterburner Energy:
Position: (428, 470)
+Weapon Energy:
Position: (925, 470)

;Target
+Target Monitor:
Position: (10, 707)
+Extra Target Data:
Position: (10, 656)
+Target Shields:
Position: (505, 785)
+Mini Target Shields:
Position: (704, 559)

;Player Status
+Damage:
Position: (645, 70)
+Player Shields:
Position: (825, 785)
+Kills:
Position: (1240, 742)

;ETS
+ETS Weapons:
Position: (1240, 772)
+ETS Engines:
Position: (1265, 772)
+ETS Shields:
Position: (1291, 772)

;Wingmen & Support
+Wingman Status:
Position: (1327, 170)
+Support:
Position: (670, 625)

;Radar & Targeting
+Radar:
Position: (615, 695)
;+Radar Orb:
; Position: (615, 695)
+Auto Target:
Position: (1355, 772)
+Auto Speed:
Position: (1355, 802)

;Weapons
+Weapons:
Position: (1240, 615)
+Countermeasures:
Position: (1350, 742)

;Warnings
+Text Warnings:
Position: (720, 500)
+Text Warnings:
Position: (720, 400)
+Supernova:
Position: (240, 180)

;Mission Info
+Mission Time:
Position: (1365, 840)

;Multiplayer
+Multiplayer Messages:
Position: (11, 253)
+Voice Status:
Position: (7, 174)
+Ping:
Position: (1260, 5)
+Lag:
Position: (881, 558)

$End Gauges
#End

As I tend to run Debug builds almost exclusively, a few things are moved ever so slightly from "retail". The Comms Menu is a little left so that it will clear the VRAM usage section. The Mission Directives is elevated to go below FPS and above the -show_mem_usage output. Wessages are to the right of the head.ani spot.
Centered around the Reticle (or aligned with the center of it) is the damage indicator, Objective notification, mini-enemy shield icon, radar and Support ship notifier. ETS, Auto Speed/Target, mission timer and the like are all nicely grouped together.

I'm also trying to determine, for the purposes of the MediaVPs, if the elements should be "spread out" to their respective (per-resolution) locations (like ETS/etc on the bottom right corner, target data on the bottom left) , or constraining it to maintaining the same aspect in terms of related distance from each other towards the center of the screen instead.
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on October 23, 2010, 01:49:24 pm
Whoa there, chill. I wouldn't be saying that there is distortion unless there actually was. I'll give you screenshots between your 1440x900 config and my 1440x810 config to prove that yours draws to 16:10 first before stretching it to fit 16:9 and that mine doesn't. I'm using the regular build though, not the debug.

On another note, I've made an excel calculator that will calculate positions for any screen resolution. It looks at HUD elements as either Left, Center, or Right, and puts Left/Right elements against the edges, and (attempts to) center the Center elements. As of now, the default 1024x768 table The_E posted on page 2 has wrong coords for Throttle and Threat gauge, so my calculator similarly makes mistakes there.

Um:
An Error Has Occurred!
The upload folder is full. Please try a smaller file and/or contact an administrator.

That happened, so I went back and made the file sizes smaller. The table files are as-is from the previous few posts, with the head ani moved over 50 pixels just to show that the tables are actually kicking in. The second one is 16:10. Notice that there is definite stretching happening, most noticeable from the shape of the radar.

[attachment deleted by admin]
Title: Re: HUD Overhaul Test Build
Post by: Zacam on October 23, 2010, 02:10:16 pm
And aside from the Messages/Talking Head, the crucial bits, the center reticle and the alignment of the displayed elements to it, is still pretty well spot on.

Though, interestingly enough....well, I'll post my own screen shots.
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on October 23, 2010, 02:13:56 pm
My point is only that stretching will exist, so that it may be useful to have a calculator to help you figure out a 0-stretch HUD_guages.tbl for any resolution out there.

Said calculator is already done. I just need the *actual* (x,y) for Throttle and Threat Indicator, since the ones I have are wrong. I'd make up values that look right, but I wish to stay as true as possible to vanilla (and I'm OCD). (Assuming the table The_E posted a long time back is the real vanilla table. If he got as close as possible by eyeballing, then I might as well do the same).
Title: Re: HUD Overhaul Test Build
Post by: sigtau on October 23, 2010, 02:32:36 pm
No one's going to make a 1600x900, amirite?
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on October 23, 2010, 02:43:38 pm
No one's going to make a 1600x900, amirite?

I will give you one as soon as I get the coords I need (mentioned above).

(Also, do you really want interface elements that small? You'll have trouble reading in-game dialogue)

Another option I have is to screw 1024x768 as a base, and instead use my adapted 1440x810 version as the base. I'll instead use a 4-corners + center shuffling system so that you won't get such vertically spread out/scattered elements when using taller aspect ratios. I won't be doing both though, since I'm lazy and stuff like that. Thoughts?
Title: Re: HUD Overhaul Test Build
Post by: Zacam on October 23, 2010, 02:49:44 pm
Same (approximate) timing, same elements displayed, same tbm, different resolutions.

(http://img507.imageshack.us/img507/1451/1280x720hud.th.png) (http://img507.imageshack.us/i/1280x720hud.png/)
16:9 Aspect (http://img507.imageshack.us/img507/1451/1280x720hud.png)


(http://img507.imageshack.us/img507/6568/1280x800hud.th.png) (http://img507.imageshack.us/i/1280x800hud.png/)
16:10 Aspect (http://img507.imageshack.us/img507/6568/1280x800hud.png)

What's the issue again??

Granted, both of those are taken at LESS than the "$Base: (1440, 900)" but here's the neat part....the same holds true at the aspects at resolutions higher than the specified base as well.
I screen capped 1920x1080 and 1680x1050 and resized them down to match, and they matched.
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on October 23, 2010, 03:16:58 pm
I've got a pretty good (artist's) eye, and I can tell you straight up that your 16:9 one is stretched. Compare the two Ulysses, or the angles in the center reticle, or your orb radar, or Command's head, or anything else on the HUD that's shown.

It's incredibly minor, but it's there.

Also, when you resized them, you should have noticed that the HUD elements didn't overlap. (If they did, it means while resizing, you also changed the aspect ratio of one of your two comparison images, which, obviously, would mean that the HUD elements would definitely overlap.)


In other news, the 1440x810 calculator is done, and I'd like people to do some testing with it. Unfortunately, I am illiterate in coding, so it doesn't spit out a ready-to-use tbl. You'll need to find a template earlier in this thread and copy in the values the calculator gives you, making sure to set $base to the same resolution you entered into the calc. The only thing you need to do in the calculator is to enter your desired HUD overlay render resolution. I made it in Excel 2007, btw, so if you can't open that, I guess you're out of luck :(

[attachment deleted by admin]
Title: Re: HUD Overhaul Test Build
Post by: rscaper1070 on October 23, 2010, 06:58:53 pm
Open Office can open that calculator.
Title: Re: HUD Overhaul Test Build
Post by: Zacam on October 23, 2010, 08:04:44 pm
That should come in handy for anyone looking to make HUD layouts.

The E's 1024x768 is actually really damn accurate to Retail with the exception of the center reticle being down a few pixels.

In an effort to prevent the moderate to mild amount of skewing that seems to exist for some, I've resolved to making a series of TBM's for the MediaVPs where every HUD resolution is specifically laid out. This comprises of 6 *-hdg.tbm files and does not count the 1024x768 or 640x480 that will be in mv_core-hdg.tbm.

So far, I have: 3-2_Aspect, 4-3_Aspect, 5-3_Aspect, 5-4_Aspect, 8-5_Aspect and 16-9_Aspect comprising of 25 resolutions. I hope this will be sufficient and that there won't be any missed resolutions. (List was derived from: Available launcher resolutions and this Wiki image: http://en.wikipedia.org/wiki/File:Vector_Video_Standards2.svg plus a few extras)

That being said, as the single monitor resolutions get larger, should elements be anchored to their respective corners, or to a respective position to the center reticle?

And would people like the layout _slightly_ modified in order to be also usable with Debug Builds so that the mem_usage and VRAM elements don't obscure anything?
Title: Re: HUD Overhaul Test Build
Post by: Kolgena on October 23, 2010, 08:26:36 pm
Nice one. That's a lot of work to make all those tables.

I'd say that they should be anchored to their respective corners, but that would be completely up to user preference. The things are pretty easily customizable after all.

(forgot to mention, the calculator is designed to anchor things to the corners, so if that's not quite what you're looking for, then you'll need to do some modifications after the fact)
Title: Re: HUD Overhaul Test Build
Post by: The E on October 24, 2010, 04:59:39 am
Thread locked. Further discussion in the Antipodes 7 thread, please.
Title: Re: HUD Overhaul Test Build
Post by: chief1983 on October 24, 2010, 08:13:23 am
Since this is locked, can someone make sure that calculator makes it to the other thread?  I'm in a hurry and on my way out the door for the day.
Title: Re: HUD Overhaul Test Build
Post by: The E on October 24, 2010, 08:24:49 am
Will do.