Kp
f3d31a6d27
Use enum class for Difficulty_level_type
2022-07-16 15:26:12 +00:00
Kp
a70188e7a5
Move various static functions into anonymous namespace
2022-07-09 13:39:29 +00:00
Kp
9cdf9152bc
Always check return value of PHYSFSX_getRealPath
...
The contents of the output buffer are undefined if PHYSFSX_getRealPath
fails, so mark the function as [[nodiscard]] and modify all callers to
check that the function succeeded.
2022-03-19 22:55:58 +00:00
Kp
f51755c2e6
Use enum class for MBTN_* constants
2022-02-27 14:23:53 +00:00
Kp
9464bdf2e4
Use enumerated_array for indexing player input controls
2022-02-27 14:23:53 +00:00
Kp
43bdfac56a
Store copy_sensitivity values as std::integral_constant
...
Lists of these objects are unrolled by a template parameter pack
regardless of whether they are type compatible, so keeping the types
compatible does not improve code size. Store more precise types in the
structure, and avoid needing to store the constant values into a
structure at runtime.
2022-02-27 14:23:53 +00:00
Kp
8be306efa7
Use enum class for cockpit_mode_t
2022-02-12 18:57:12 +00:00
Kp
b0103a1950
Allow non-developers to start on any level
2021-11-01 03:37:20 +00:00
Kp
3d878ce04d
Expand macro Last_level
2021-11-01 03:37:19 +00:00
Kp
57780e0450
Move window_is_visible,window_set_visible to be window methods
...
Shrink w_visible to uint8_t. Move it to pack better.
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
21c530a3e2
Use enumerated_array for difficulty-level-specific arrays
2021-09-19 10:53:48 +00:00
Kp
4e75f8a933
Pass canvas to scores_view_menu
2021-09-19 10:53:48 +00:00
Kp
8d67bcddb0
Record parent canvas in newmenu
...
Use it to avoid resetting to the screen canvas when preparing the
layout.
2021-09-12 16:20:52 +00:00
Kp
bb29e6fca8
Propagate canvas through more layers
2021-09-12 16:20:52 +00:00
Kp
df6777c632
Expand game_init_render_buffers inline
...
It is a single function, to add 2 arguments. Using a wrapper obfuscates
the logic.
2021-09-12 16:20:52 +00:00
Kp
7b12aac1bb
Transpose returned values for enumerate() of non-tuple
...
Match the order used for tuple.
2021-06-28 03:37:50 +00:00
Kp
4c34875c84
Remove unused subfunction_handler
...
Previous commits eliminated all uses of it. Remove the unused stubs.
2021-06-28 03:37:50 +00:00
Kp
0e9e88da87
Make file browser Windows drive selection menu inherit from newmenu
2021-06-28 03:37:50 +00:00
Kp
5f4e8da3b9
Move sandbox menu subfunction handling to event_handler
2021-06-28 03:37:50 +00:00
Kp
56ad2266da
Move netgame menu subfunction handling to event_handler
2021-06-28 03:37:50 +00:00
Kp
52f9e29e82
Move gameplay menu subfunction handling to event_handler
2021-06-28 03:37:50 +00:00
Kp
71f05d987a
Move sound menu subfunction handling to event_handler
2021-06-28 03:37:50 +00:00
Kp
431a2f99f1
Move graphics configuration menu subfunction handling to event_handler
2021-06-28 03:37:50 +00:00
Kp
3f8ef01dc7
Move hud configuration menu subfunction handling to event_handler
2021-06-28 03:37:49 +00:00
Kp
464e4e99fb
Move hud style configuration menu subfunction handling to event_handler
2021-06-28 03:37:49 +00:00
Kp
d8860549c4
Move reticle configuration menu subfunction handling to event_handler
2021-06-28 03:37:49 +00:00
Kp
8fc9778e5e
Move input configuration menu subfunction handling to event_handler
2021-06-28 03:37:49 +00:00
Kp
8a3cd4c614
Move joystick configuration menu subfunction handling to event_handler
2021-06-28 03:37:49 +00:00
Kp
f5e837d70b
Move mouse configuration menu subfunction handling to event_handler
2021-06-28 03:37:49 +00:00
Kp
c3a35fd952
Move keyboard configuration menu subfunction handling to event_handler
2021-06-28 03:37:49 +00:00
Kp
f3d47c2b3c
Move options_menu subfunction handling to event_handler
2021-06-28 03:37:49 +00:00
Kp
54456faf2a
Move main_menu subfunction handling to event_handler
2021-06-28 03:37:49 +00:00
Kp
6cf6c62550
Convert some uses of nm_messagebox_str to run_blocking_newmenu
...
The latter more clearly shows that the code flow will not proceed past
this point while the menu is open. This conversion sets the stage for
later changes to make these menus asynchronous.
2021-06-28 03:37:49 +00:00
Kp
93a7e34caf
Move newmenu_item slider storage of saved_text out of line
...
When other newmenu_item private members also move, this will make
newmenu_item smaller.
2021-06-28 03:37:49 +00:00
Kp
1936b771e1
Construct nm_item_input in place
2021-06-28 03:37:49 +00:00
Kp
821e68527d
Remove nm_set_item_input overload for char[]
...
Require use of std::array. There is no need to support both overloads.
2021-06-28 03:37:49 +00:00
Kp
2a504ee03e
Construct nm_item_menu in place
2021-06-28 03:37:49 +00:00
Kp
b5460a0a48
Construct nm_item_text in place
2021-06-28 03:37:49 +00:00
Kp
6666928824
Fix Windows build of menu.cpp
...
Commit 6ad87cf78ab3 removed support for char[] as an input to
nm_item_input and fixed all sites that used it in the cross-platform
build. The Windows build has one use that no other platform does, and
this use was not fixed. Fix it now.
Fixes: 6ad87cf78ab369cdc26080ac579fb2ab3f592de6 ("Remove nm_set_item_input overload for char[]")
2021-04-04 22:01:25 +00:00
Dmitry Grigoryev
09946a1d99
Fix alignment of screen resolution menu text
2021-03-05 13:03:07 +01:00
Dmitry Grigoryev
fbd05a1592
optimize include files (include what you use)
2021-02-06 21:38:50 +01:00
Dmitry Grigoryev
5bc927be5b
Fix alignment of difficulty menu text
2021-02-02 14:15:34 +01:00
Kp
11d7344625
Fix alignment of select_start_level_menu text
...
When the user opens the menu via the mouse, grd_curcanv points to a
canvas other than the top level canvas. When the user opens the menu
via the keyboard, grd_curcanv points to the top level canvas. For this
menu, the top level canvas must be used in order to get correct
alignment. Switch the constructor to always use the top level canvas.
Reported-by: dimag0g <https://github.com/dxx-rebirth/dxx-rebirth/issues/564 >
Fixes: e45ba0b4a9
("Make new game menu inherit from newmenu")
2021-01-25 00:45:07 +00:00
Kp
b70f569178
Use enum class for OGL_TEXFILT_* constants
2021-01-17 22:23:23 +00:00
Dmitry Grigoryev
1338ddab34
Add menu page for HUD style and cockpit view
2020-12-28 22:39:36 +01:00
Kp
e4f8d02380
Make screen_resolution_menu inherit from newmenu
2020-12-27 22:03:09 +00:00
Kp
ed2bc8e213
Use enum class for nm_type
2020-12-27 22:03:09 +00:00
Kp
e45ba0b4a9
Make new game menu inherit from newmenu
2020-12-27 22:03:09 +00:00
Kp
03512841b1
Make do_difficulty_menu menu inherit from newmenu
2020-12-27 22:03:09 +00:00