Commit Graph
53 Commits
Author SHA1 Message Date
Goober5000 70c4010389 add wing display names (#7429)
* add wing display names

Adds display name capability for wings, matching the pattern and infrastructure of display names for ships.  As in #7234, wing display names take precedence over ship display names, if both are provided; because if ship display names took precedence, a ship would have the same display name in every wave.

All the relevant display locations are handled, including the HUD, escort list, message box, and mission log.  Lua API support is provided as well.

Adds full support for both FRED and QtFRED, including the always-save-display-names setting.

Addresses #7189 and the last request from #1730.

* add help text from #7234
2026-05-20 15:16:08 -04:00
wookieejedi df445fa8a6 Wingmen and Squad Message QoL Updates (#6682)
* Wingmen and Squad Message QoL Updates

This PR adds a few assorted HUD updates/quality of life enhancements. FotG will be using these, though they relatively general and are likely useful to most other mods, too.

1) Adds a 'Ship Name Max Width:' to the Squad Message Gauge (following the same logic as the Escort Gauge). The Escort Gauge will truncate display names of ships if they are too long, that way all the text fits in the gauge without spilling over. It would also be very useful to do this with the Squad Message Gauge, as long display names can overflow out of the gauge's boundaries currently.

2) Adds `Wingname Align Mode:` to the Wingmen Gauge, which allows modders to set how the wingnames are aligned. Currently they are centered on the calculated x-position, though this PR also adds right and left justification options (which is useful especially if displaying the full wing names).

All options are tested and work as expected.

* appease clang

* whitespace

* more safety and error checking

* and extra error helpfulness

* use safer str copy
2025-04-16 22:47:14 -04:00
wookieejedi 0964ee5e23 Fix wingmen custom dot for starting ships (#6677) 2025-04-10 21:14:10 -04:00
wookieejedi a88d34151b Fix wingmen custom dot for ship changes (#6676) 2025-04-09 20:47:59 -04:00
Mike Nelson 60777154be Hud config upgrades (#6581)
* base working version

* localization and minor tweaks

* add retail UI controls

* Add way to hide gauges from Config view

* convert hud config from index matching to id matching

* clang
2025-03-22 22:47:38 -04:00
wookieejedi d9f93d1ca9 Update conditional check for wingmen dots (#6617) 2025-03-05 21:00:45 -05:00
Mike Nelson 44d3ea9353 Fix small non-config oversights (#6616) 2025-03-05 13:13:02 -05:00
Mike Nelson 7a5f4b1d80 HUD Config Rendering Methods PR 6/7 (#6578)
* config rendering methods for wingman status and training msg gauges

* table define example wing names
2025-03-03 21:56:57 -05:00
Mike Nelson 5b736b1ddc Hud config framework (#6495)
* Add scaling for vfnts and scale multipler to gr_string

* nullptr

* Add scaling to a couple other string operations

* Add scaling features to additional bitmap drawing methods

* Implement framework for rendering hud gauges in config mode

* fix merge error

* address feedback
2025-02-03 07:01:47 -05:00
Goober5000 08b24dba62 use range-based for 2024-12-24 15:52:50 -05:00
Goober5000 d73eaf08ca add set-squadron-wings, part 3
Move a lot of the logic into hudwingmanstatus, and preserve the wing information that is common from one display to the next.
2024-12-24 15:52:50 -05:00
Goober5000 123d68d94d add set-squadron-wings, part 2
Refresh the ship position and HUD status for the new wings.
2024-12-24 15:52:50 -05:00
Goober5000 7af523bdf3 convert ignore and used to bool 2024-12-24 15:52:50 -05:00
Asteroth bc09f0672b better hud gauge load safety 2023-07-07 01:20:11 -04:00
Goober5000 46293ad0fe add should-be-dead checks for all ship iterations
When iterating through `Ship_obj_list`, check the `Should_be_dead` flag before using the object.  This fixes #4990 and adds defense-in-depth checks to guard against similar errors elsewhere.

I considered moving the `Ship_obj_list` removal from `obj_delete` to `ship_cleanup`, but decided it would be prudent to avoid fundamental changes to lifecycle management.
2022-12-23 00:51:31 -05:00
wookieejedi dfa1de5470 Add Per-Ship Class Wingmen Status Dot (#3711)
* Add Per-Ship Class Wingmen Status Dot

This PR adds a ship info value `$Wingmen Gauge Dot Override:`, which  allows modders to set wingmen status dots on a per-ship class basis. If no animation is specified then the default dot animation specified in the HUD table wingmen gauge is used.

Both EatThePath and Darius stated this feature would be useful, and it will also be useful for FotG.

Tested and works as expected, including on winged ships present at mission start and delayed winged ships.
2021-10-09 19:00:16 -04:00
wookieejedi 870666dfa3 Add New Options to Wingmen Gauge (#3703)
* Add New Options to Wingmen Gauge

This PR adds two new options for modders to use in the HUD table for the wingmen gauge:
1) `Use Full Wing Names:` which draws the full wing name and does not alter the capitalization.
2) `Use Expanded Colors:` which use red, yellow, or green color to designate wingmen health (green 1.0 to > 2/3, yellow 2/3 to > 1/3, and red <= 1/3.

Also adds the bright red option to dead wingmen, which seems like it was missing before(?).

Tested and everything works as expected.

* correct string copy length

* fix out of scope case variable
2021-10-09 17:38:03 +09:00
Goober5000 562522e098 match wing names and aliases on the status gauge
If a wing has a hash symbol, it needs to match the squadron status gauge for the equivalent name without the hash.  This could happen for in-mission jumps or cases where a wing leaves and comes back.

Also remove an obsolete function.
2021-09-05 14:12:08 -04:00
Goober5000 f3bca4384f additional case functions and checks
This refactors the tolower/toupper code to use standards-conformant logic, and also adds some helpful utility functions.  Regular tolower/toupper must be supplied a value that can be represented as `unsigned char`, but the std:: functions are a bit more robust.
2021-02-18 04:23:08 -05:00
asarium bd3632d1bf Enable remaining misc- checks and fix detected issues 2018-04-25 11:57:55 +02:00
asarium eeed22b91a Enable misc-unused-parameters
clang-tidy was used for fixing the warnings. It is not clear if this is
actually an improvement so this may still be disabled later.
2018-04-25 11:57:55 +02:00
asarium 0b4ca71eba Enable modernize-deprecated-headers 2018-04-25 11:12:41 +02:00
Fabian Woltermann 770fce8de5 Bitset flags -- take 2 (#775)
This introduces a new mechanism for handling bit flags. Instead of using an int (or two, or three) to write bits into, this uses the std::bitset in a wrapper class that accepts an enum class as input. This means that certain classes of errors we've had a few of in the engine, where a coder used the wrong set of flags or checked them against the wrong variable (SF_STEALTH vs SIF_STEALTH, for example) can now be detected at a compiler level rather than not at all.
2016-08-12 16:13:50 -07:00
Yarn366 5144dba6b4 Added "Fixed Header Position:" to wingman gauge 2015-11-23 18:22:37 -05:00
Echelon9 47af1ff851 Simplify duplicative hud/ includes. 2015-06-22 20:24:30 +10:00
Echelon9 c5493bb480 Scripted sort and uniq on (internal) project includes. Improves search time and as a by product removed a number of duplicative includes. 2015-06-22 20:24:30 +10:00
Goober5000 a04e83ab01 red-alert will now work with ships that appear at some point subsequent to mission start
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10267 387891d4-d844-0410-90c0-e4c51a9137d3
2014-01-14 20:24:45 +10:00
Echelon9 d753954bcb Fix Coverity CIDs 1107320, 1107321, 1107322, 1107323 - Copy paste coding corrected
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10243 387891d4-d844-0410-90c0-e4c51a9137d3
2013-12-22 19:05:15 +10:00
The_E 4bcc9f1716 From AMS: Fix for Mantis 2293: Destroyed/departed AI showing up as present in wingmen display.
git-svn-id: svn://svn.icculus.org/fs2open/trunk@9535 387891d4-d844-0410-90c0-e4c51a9137d3
2013-03-18 20:24:45 +10:00
Swifty 087d9c04db Added additional parameters for the Wingman Status gauge. 2012-09-10 06:35:33 +00:00
Swifty dd1c4a436c Fixed Mantis 2413. hud-set-color changes to the HUD will no longer reset when pausing or entering options menu. Introduced Color entry fields for hud_gauges.tbl. 2012-02-06 10:01:01 +00:00
Swifty 3affb86b52 Removed configOverride from HudGauge class since we don't even use it. 2012-02-05 03:41:31 +00:00
Zacam 09fad95070 Antipodes 7 Merge: HUD Overhaul, by Swifty. 2010-12-12 20:34:15 +00:00
portej05 719825f80d The big CVS comment removal. This chops approx. 3.5mb off a full checkout.
I've tested this through compiling and through hand checking. 
Normalises line endings in ALL files to \n.
2009-06-20 08:08:20 +00:00
Goober5000 1e4447111a fix bug found by RedDwarf which would overflow the array if (e.g.) Alpha wing ever had six ships 2009-06-03 03:59:50 +00:00
Goober5000 4d5a477f71 übercommit of custom IFF stuff :) 2006-01-13 03:31:20 +00:00
Goober5000 50752e3e42 multiple ship docking implemented for initially docked ships
--Goober5000
2005-10-29 22:09:31 +00:00
taylor d3481714d0 remove NO_NETWORK 2005-10-10 17:21:11 +00:00
Goober5000 2a307d099a CVS header tweaks
--Goober5000
2005-07-22 10:18:41 +00:00
Goober5000 52f136f9ad remove PreProcDefine #includes in FS2
--Goober5000
2005-07-13 03:15:53 +00:00
Goober5000 6c17ef09ab clarified max hull/shield strength names and added ship guardian thresholds
--Goober5000
2005-03-27 12:28:35 +00:00
taylor 91e9fb4433 more NO_NETWORK/INF_BUILD goodness for Windows, takes care of a few warnings too 2005-03-02 21:24:48 +00:00
taylor 694fbd606a merge with Linux/OSX tree - p0131 2005-01-31 10:34:40 +00:00
Goober5000 0c48b587a1 allow different wing names than ABGDEZ
--Goober5000
2004-12-14 14:46:13 +00:00
taylor 7ff8c0bd04 some fixes for position problems on the HUD in non-standard resolutions
few compiler warning fixes
2004-11-27 10:48:03 +00:00
Kazan 864e1b5922 remove MCD complete 2004-07-26 20:47:56 +00:00
Kazan 428b3dcbc9 MCD - define _MCD_CHECK to use memory tracking 2004-07-12 16:33:09 +00:00
Goober5000 7ef2ab2e39 Uber pass at reducing #includes
--Goober5000
2004-03-05 09:02:13 +00:00
Goober5000 458634292a implemented the custom hitpoints mod
--Goober5000
2003-04-29 01:03:24 +00:00
penguin 7d3f9305df Use text strings for wingmen names instead of ANI 2002-08-06 04:39:26 +00:00