45 Commits
Author SHA1 Message Date
Mike Nelson 811b41252f Make showing 2D radar icons a toggle-able option (#7409)
* Make showing 2D radar icons a toggle-able option

* better options
2026-05-05 07:39:03 -04:00
Mike Nelson cf57df37d3 config rendering methods for orb and standard radar gauges (#6579) 2025-03-04 13:31:56 -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 69c8957500 several improvements to DRADIS blips
1. fix a bug where blips expired immediately every frame; they now track their expiration by object
3. store object numbers rather than object pointers
3. clamp both the high bound and the low bound of alpha values
2024-05-02 01:33:31 -04:00
Goober5000 76359c649f remove some obsolete commented code 2024-05-02 01:32:17 -04:00
Goober5000 855331bcd6 change sweep_percent field to sweep_angle to be more accurate 2024-05-02 01:31:27 -04:00
Goober5000 fa6d64ae7e fix sweep_duration and disambiguate overall frametime
Convert `sweep_duration` from seconds to milliseconds to work correctly with the timestamp system.  Also clarify use of `game_get_overall_frametime()`, especially with `ba.getFrametimeOverall()`; and add `ba.getSecondsOverall()` to do what `ba.getFrametimeOverall()` allegedly did.
2024-05-02 00:01:47 -04:00
Goober5000 def75287eb convert radar timestamps to new system
Also convert true/false variables to boolean.
2023-11-28 00:09:25 -05:00
mjn-mixael 1f311adf13 hud init and better variable name 2022-11-15 20:20:20 -06:00
mjn-mixael 2e42f9f215 hud-force-sensor-static sexp 2022-11-15 10:44:30 -06:00
Joshua Glatt 144d484c85 Replace rand() calls with a Random class (#3332) 2021-05-04 18:26:06 -07:00
asarium 2ded9aa35d Format changes with clang-format 2018-07-16 10:21:52 +02:00
asarium ad54f588bb Use strongly typed handles for sound handles
This is similar to the other changes I already posted. Here the sound
instance handles are converted to their own handle type which will make
it easier to use the sound API.
2018-07-16 10:21:52 +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 8f06e338a4 Add typesafe handle types and use it in game sound system
This adds a new class which allows to create type safe resource handle
types. At the moment, the engine uses ints pretty much everywhere for
providing handles to resources created by the specific subsystems. Since
all ints are the same to the C/C++ typesystem it is perfectly legal to
pass a sound handle to the graphics API as a buffer handle which will
obviously cause issues.

This adds a new type called "ID" which is a wrapper class for a generic
handle but with added type safety. An instance of this class cannot be
passed to a function expecting another type of handle which provided
compile-time type safety for these APIs.

As an initial test I converted the game sound handles to this new type.
I already found a bug in the mainhall system thanks to this new type.
The mainhall used the game sound handles as sound instance handles which
probably meant that that specific code never really worked right. I
removed the code since there was no better alternative for fixing it.
2018-04-22 16:22:45 +02:00
MageKing17 344502c436 Merge pull request #1495 from asarium/feature/betterSoundSets
Add support for multiple sounds in one game sound entry
2017-11-04 06:53:10 -07:00
TRBlount f7b7aaead3 Use std::abs() 2017-10-31 15:21:54 -06:00
TRBlount 80dcefa0fc Add comment specifying functionality 2017-10-31 13:31:43 -06:00
TRBlount 27a70d545d Update using time since last sweep. 2017-10-31 13:13:59 -06:00
TRBlount e4614f01ba Fix DRADIS blip alpha 2017-10-30 16:07:54 -06:00
asarium 0522566790 Replace direct usages of Snds vector with a function call
This will make it easier to validate the used handles and is generally
better since it doesn't require a global sounds vector.
2017-10-09 15:02:29 +02:00
asarium 4c1ed2f66a Move graphics matrix handling out of OpenGL code
All transformations are now handled by shaders so there is nothing
special going on in the graphics API specific code anymore. Since model
uniform buffers require access to these matrices I moved the matrix
handling out of the graphics API code.
2017-09-05 12:36:32 +02:00
asarium 485a5989c8 Restore color icon behavior in DRADIS HUD gauge
The DRADIS has two icon types, one where the color is scaled with the
IFF color and once which isn't. Due to a regression, both icons were
previously scaled with the IFF color which made the icons look bad. This
fixes that.
2017-03-04 13:12:03 +01:00
SamuelCho a481999a24 OpenGL Core support. Introduction of material based draw system. Rewrote geometry batcher. 2016-08-17 00:13:19 -07: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
asarium 16be3b7cc5 Add support for TrueType fonts
This allows to use standard TrueType Fonts for text rendering in FSO. It uses the NanoVG library which provides the ability of drawing 2D shapes. This library is used for most 2D operations now and can also be used directly by using the PathRenderer class.
2016-08-02 10:57:28 +02:00
asarium 1bcd5400d3 Move build system to CMake 2016-07-22 12:07:19 +02:00
Echelon9 00bfe37cb4 Simplify duplicative radar/ includes. 2015-06-22 20:24:31 +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
The_E 9284264885 Patch to add MSVC2015 support. Also fixes a few warnings its compiler threw.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@11292 387891d4-d844-0410-90c0-e4c51a9137d3
2015-03-29 11:05:02 +10:00
Echelon9 fc1b587cb6 Address clang warning: declaration shadows a field of 'HudGaugeRadarDradis' [-Wshadow]
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10897 387891d4-d844-0410-90c0-e4c51a9137d3
2014-07-14 19:02:31 +10:00
Echelon9 4033465143 Fix Coverity reports of Uninitialized scalar variable with the vertex struct. Should vertex ever be converted to a class from a struct, these memsets as well as the pre-existing ones will need to be removed in favour of a proper constructor of the then vertex class.
git-svn-id: svn://svn.icculus.org/fs2open/trunk/fs2_open@10732 387891d4-d844-0410-90c0-e4c51a9137d3
2014-06-02 18:29:59 +10:00
The_E ca5dd281bd Compiler warning removal: Variable initialized but not used 2012-11-04 08:30:20 +00:00
Swifty 002f143725 Added RTIF settings for DRADIS. 2012-10-15 02:42:10 +00:00
Swifty 0a4f6b332d Added "$Radar Color Image 2D:" to ships.tbl. Adds full color radar image blips on top of IFF-colored image blips. 2012-09-10 04:22:07 +00:00
Echelon9 a8ee61c0fa Fix LLVM warning: Declaration shadows a field of 'HudGaugeRadarDradis' 2012-09-06 16:51:06 +00:00
Echelon9 791146c9ac GCC warnings: first pass of warning: variable is set but not used 2012-06-12 15:32:47 +00:00
Echelon9 e20a418c94 PVS-Studio fix: The 'false' value is implicitly casted to the integer type. 2012-05-28 13:35:39 +00:00
Echelon9 35e26fb068 Diaspora code: Fix for Mantis 840 - Sounds for DRADIS, patch by m_m 2012-02-28 14:19:34 +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 876289a4b2 From ni1s: -Wreorder warnings clean up for GCC output. 2011-10-19 07:36:21 +00:00
Swifty 5283c36d34 Let's try this again without breaking the orb radar: Optimized BSG radar and cockpit displays. Fixed cockpit models not switching when changing ships. 2011-08-04 11:01:28 +00:00
The_E 4a488dd7f0 Reverting 7411 due to it breaking the standard 3D radar. 2011-08-02 13:02:34 +00:00
Swifty 043d56b3f7 For Diaspora: Optimized BSG radar rendering and cockpit displays. Fixed cockpit models not switching when changing ships. 2011-08-02 10:49:51 +00:00
Zacam 09fad95070 Antipodes 7 Merge: HUD Overhaul, by Swifty. 2010-12-12 20:34:15 +00:00