Kp
8be306efa7
Use enum class for cockpit_mode_t
2022-02-12 18:57:12 +00:00
Kp
4fe9f10e0c
Minimize saved weapon box texture
...
Only save the piece that will actually be shown, rather than the entire
decoded image.
2022-01-09 15:25:42 +00:00
Kp
78d4a36bb4
Explicitly require support for C++11 constructor inheritance
...
Parts of the code already used the C++11 syntax, so compilers without it
were already unsupported. Expand the remaining uses to the standard
syntax.
2022-01-09 15:25:42 +00:00
Kp
d2478d0708
Require support for C++17 attribute [[fallthrough]]
2022-01-09 15:25:42 +00:00
Kp
8ddfbd17e0
Use enum class for show_kill_list_mode
2021-11-01 03:37:19 +00:00
Kp
d22632ac48
Use enum class for msgsend_state
2021-11-01 03:37:19 +00:00
Kp
3cca690728
Assign weakly-typed symbolic names to ogl_ubitmapm_cs special cases
2021-11-01 03:37:18 +00:00
Kp
961aae074a
Remove unused ogl_ubitmapm_cs argument scale
...
Every caller passes `F1_0`. Remove the argument, and propagate its
results through the function.
2021-11-01 03:37:18 +00:00
Kp
50d2b14aed
Move WinBoxOverlay+deccpt into a common structure
...
cockpit_decode_alpha::deccpt has static scope and is retained to support
the data in WinBoxOverlay. Change WinBoxOverlay into a structure that
stores deccpt (and rename it to the more descriptive
`decoded_full_cockpit_image`) to keep the pieces together.
2021-11-01 03:37:18 +00:00
AlumiuN
7a90b1461d
Fix rendering of "classic reboot" crosshair
2021-10-12 15:20:27 +13:00
Kp
aba5fce3a9
Use enum class for gr fade_level
2021-09-19 10:53:48 +00:00
Kp
bb29e6fca8
Propagate canvas through more layers
2021-09-12 16:20:52 +00:00
Kp
8623ce3c6a
Pass canvas to ogl_draw_vertex_reticle
2021-09-12 16:20:52 +00:00
Kp
21241471c6
Return string width/height from gr_get_string_size
...
Use structured bindings to capture the values on return, so that they
can be declared as `const` if they are immutable after initial
computation.
2021-09-12 16:20:52 +00:00
Kp
2fef4cddec
Pass canvas to do_cockpit_window_view
2021-09-12 16:20:52 +00:00
Kp
bd6612a86b
Pass canvas to render_gauges
2021-09-12 16:20:52 +00:00
Kp
98f2578293
Pass Game_mode as a parameter to gauges functions
...
Avoid reloading it from the global.
2021-09-12 16:20:52 +00:00
Kp
211f4ea274
Use window_rendered_data constructor to initialize time
2021-09-12 16:20:52 +00:00
Kp
2afe2f428f
Remove write-only member window_rendered_data::viewer
2021-09-12 16:20:52 +00:00
Kp
8eabce8f27
Disallow direct construction of grs_canvas
...
Require use of grs_main_canvas or grs_subcanvas instead.
2021-09-04 12:17:14 +00:00
Kp
e1aac6949a
Replace __attribute_warn_unused_result with C++17 [[nodiscard]]
...
This eliminates a configure test, and may help readers understand the
annotation more readily.
2021-06-28 03:37:51 +00:00
Kp
0c2f95e2cd
Remove write-only member window_rendered_data::rear_view
2021-06-28 03:37:50 +00:00
Dmitry Grigoryev
fbd05a1592
optimize include files (include what you use)
2021-02-06 21:38:50 +01:00
Kp
6c63e11caa
Use enumerated_array for Secondary_weapon_to_weapon_info
2021-01-25 00:45:07 +00:00
Kp
b20fa0d77d
Use enumerated_array for Primary_weapon_to_weapon_info
2021-01-25 00:45:07 +00:00
Kp
77acae6510
Use enum class for weapon_box_user
2021-01-17 22:23:23 +00:00
Kp
423e513a4a
Move overlap_dirty to gauge_inset_window
2021-01-17 22:23:23 +00:00
Kp
977684ba29
Move static_time to gauge_inset_window
2021-01-17 22:23:23 +00:00
Kp
977714c93f
Move weapon_box_user to gauge_inset_window
2021-01-17 22:23:23 +00:00
Kp
b4ba47f7bc
Move weapon_box_fade_values to gauge_inset_window
2021-01-17 22:23:23 +00:00
Kp
8bc06dc700
Move weapon_box_states to gauge_inset_window
2021-01-17 22:23:23 +00:00
Kp
d40a587628
Move old_weapon into gauge_inset_window
2021-01-17 22:23:23 +00:00
Kp
7b99654379
Use enum class for weapon_box_states
2021-01-17 22:23:23 +00:00
Kp
baa2823953
Pass player_info to which_bomb
...
Previously, rendering the preferred bomb type could also change it if
the active type was exhausted. This is undesirable, since it depends on
the user to have a HUD mode which causes the bomb type to render.
Switch to only change the active type if the user tries to drop a bomb
while the active type is unavailable. Some call sites already switch
bomb types automatically on depletion. Those sites will still do so.
2021-01-17 22:23:22 +00:00
Kp
9be9f7ae64
Pass grs_font& to show_time
2020-12-27 22:03:09 +00:00
Kp
c1d6150015
Pass grs_font& to gr_set_curfont
2020-12-27 22:03:09 +00:00
Kp
ffb653c0b8
Pass control_info & to various functions
...
Switch from a direct global reference to passing control_info& as a
parameter.
2020-10-12 03:28:26 +00:00
Kp
96d108b7c9
Merge commit 'fix_gr_menu_crash' into master
2020-09-02 02:16:47 +00:00
Arne de Bruijn
5b56ed1970
Ensure cached cockpit textures are valid
...
Check if the cockpit window textures are still valid when reusing the
previous cockpit data in cockpit_decode_alpha.
This fixes a crash when leaving the graphics options menu while in
the game with cockpit visible, since that calls
ogl_smash_texture_list_internal which invalidates all textures.
2020-08-28 14:58:37 +02:00
Kp
8e81726ac5
Use enum class for laser_level
...
Remove stored_laser_level, which existed primarily to enforce type
separate. `enum class` can do that without the need for a separate
class type.
2020-08-24 01:31:28 +00:00
Kp
038c6aef4d
Move d_level_unique_object_state to a separate header
...
This is required to untangle the cross-inclusion of object.h and
morph.h.
2020-08-10 03:45:14 +00:00
Kp
102cb5572f
Exchange order of gauge_hud_type, gauge_inset_window_view
...
This generates better code by raising the computation of one array
level outside certain conditionals.
2020-08-10 03:45:13 +00:00
Kp
637efae03a
Use enum class for gauges window indexing
2020-08-10 03:45:13 +00:00
Kp
0789298192
Hide HUD key graphics in competitive games
...
The keys are always enabled, so there is no need to show them here.
Non-fullscreen users already dedicate space to the key graphic, so
nothing can be saved by adding a special case for those viewing modes.
2020-08-01 18:29:01 +00:00
Kp
bb6bf76b0f
Centralize computing height of some fullscreen gauges
...
Gauges aligned to the left side of the screen try to move up in
multiplayer, and move farther in large multiplayer games. However, the
logic for this was inconsistent, and could draw shields and afterburner
state on the same line. Fix this by computing the starting point once,
and passing it down to the functions that need it.
Reported-by: snytek <https://github.com/dxx-rebirth/dxx-rebirth/issues/521 >
2020-07-16 02:31:04 +00:00
Kp
34a5d3797d
Use enum class for gr_blend
2020-07-16 02:31:04 +00:00
Kp
954a235d13
Discard decoded cockpit buffer when no longer needed
2020-05-27 03:07:17 +00:00
Kp
53761500f1
Qualify uses of std::array
2020-05-02 21:18:42 +00:00
Kp
9cee93abb1
Require support for C++14 std::exchange
2020-05-02 21:18:42 +00:00
Kp
df19889f61
Prefer NSDMI over simple default constructors
...
This protects against mistakes if more constructors are added, and makes
the code easier to read.
2020-04-26 17:26:23 +00:00