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
bb29e6fca8
Propagate canvas through more layers
2021-09-12 16:20:52 +00:00
Kp
4b60205b2f
Propagate up show_boxed_message RenderFlag
...
It is always constant. Explicitly propagate its effects into callers,
then remove the argument.
2021-09-12 16:20:52 +00:00
Kp
7f51fa3ac5
Use enum class for VR StereoFormat
2021-09-12 16:20:52 +00:00
Kp
007ac68569
Reduce size of pause_window::msg
...
1024 is excessive. 128 leaves 25 bytes unused on Trainee (the longest
difficulty string, tied with Hotshot) at time 0:00:00. A player who
reached double-digit hours for both time on level and time in game would
need 2 bytes more. A player who rescued 100 hostages would need another
2 bytes.
2021-09-12 16:20:52 +00:00
Kp
233f31893b
Only prepare pause time if it will be shown
...
Demo playback does not show time data, so there is no need to format it
when it will be hidden.
2021-09-12 16:20:52 +00:00
Kp
c58d26a791
Use trgnum_t more consistently
2021-09-04 12:17:14 +00:00
Kp
2a5562e671
Fix clang -Wformat warning in segment selection dialog
...
clang warns because %hu was used to format a value that is `unsigned`.
Change the format accordingly.
2021-08-26 03:13:46 +00:00
Kp
40c22d0663
Move render_frame helper inline
...
Most call sites had the correct lifetime already, and those that did not
can easily gain it with an extra block scope.
2021-08-26 03:13:45 +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
4aef667ac6
Move wimp_menu subfunction handling to event_handler
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
b5460a0a48
Construct nm_item_text in place
2021-06-28 03:37:49 +00:00
Kp
3d14dbacde
Remove digi_reset
...
It was only available in debug builds, and did nothing when called.
2021-06-28 03:37:49 +00:00
Kp
1ebb738434
Fix break for !DXX_USE_EDITOR
...
Fixes: ddb9e8e774
("Add in-game editor menu to update Cursegp")
2021-04-07 01:45:58 +00:00
Kp
ddb9e8e774
Add in-game editor menu to update Cursegp
2021-04-04 22:01:25 +00:00
Kp
18c39192f6
Reduce use of global structures in cheat functions
2021-04-04 22:01:25 +00:00
Dave Milici
23bbe7dde8
Offset HUD screen rects for out-of-screen stereo parallax on HUD overlays.
...
Used 1x VR_eye_offset to track image shift adjustments via OGL frustum planes
instead of 2x VR_eye_offset used in Descent 1.5 image shift adjustments.
Without any HUD rect offset, HUD overlays would appear to match the zero-parallax
view plane instead of appearing in an out-of-screen parallax view plane.
2021-03-17 18:01:03 -07:00
Dave Milici
f51e7b86b9
Reorganize & consolidate stereo vars per PR suggestions.
2021-03-15 11:32:10 -07:00
Dave Milici
4d9e656809
Enumerate stereo formats for better logic insulation.
2021-03-14 09:25:38 -07:00
Dave Milici
509da82ee8
Add -gl_stereoview option for selecting stereo viewport modes.
2021-03-12 10:07:45 -08:00
Dave Milici
8c8b7419b6
Improved conditionals for stereo vs non-stereo modes.
...
Hot-key handling for cycling thru stereo modes & parallax adjustments.
Simplified stereo adjustments for left/right eye separation & offsets.
Not quite compatible yet with Bob Akka stereo method from Descent 1.5.
Function key assignments different (F5..F8) due to pre-empted hot-keys.
ALT+SHIFT+F5: decrease eye separation (VR_eye_width)
ALT+SHIFT+F6: increase eye separation (VR_eye_width)
SHIFT+F5: decrease image shift (VR_eye_offset)
SHIFT+F6: increase image shift (VR_eye_offset)
ALT|SHIFT+F7: reset eye separation + image shift
ALT|SHIFT+F8: cycle thru half-width + half-height formats
Note for compiling dxx-rebirth snapshot on MacOSX:
export CXXFLAGS=-Wno-uninitialized
scons macos_add_frameworks=False
2021-03-11 12:32:01 -08:00
Dmitry Grigoryev
fbd05a1592
optimize include files (include what you use)
2021-02-06 21:38:50 +01:00
Kp
2196f6add5
Use enumerated_array for Secondary_ammo_max
2021-01-25 00:45:07 +00:00
Kp
9abf81c77a
Factor out logic for toggling between base/super weapons
2021-01-25 00:45:07 +00:00
Kp
f1cfbaa982
Use enum class for cockpit_3d_view
2021-01-25 00:45:07 +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
c7680621a8
Switch mine type if only alternate mine is available
...
v0.58.1 did this, but the functionality was accidentally removed in
859b399d20
. Restore it.
Fixes: 859b399d20
("Use mask for Secondary_last_was_super")
2021-01-17 22:23:22 +00:00
Kp
306b5ddebe
Simplify levelwarp_menu handling of EVENT_WINDOW_CLOSE
2020-12-27 22:03:09 +00:00
Kp
1b58b82e81
Convert debug briefing menu to inherit from newmenu
2020-12-27 22:03:09 +00:00
Kp
533f7752f4
Make wimp_menu inherit from newmenu
2020-12-26 21:17:29 +00:00
Kp
be6c52b27e
Make levelwarp_menu inherit from newmenu
2020-12-26 21:17:29 +00:00
Kp
fc63029833
Move more symbols into namespaces
2020-12-26 21:17:29 +00:00
Kp
479884288c
Always delegate to window_create for send_creation_events
2020-12-20 20:39:07 +00:00
Kp
9f8fbb1a77
Remove newdemo_strip_frames
...
The sole user is based on newdemo_do2, which is being retired. This
feature was only available in developer builds.
2020-12-20 20:39:07 +00:00
Kp
200952c3d9
Add type-specific tag wrappers for newmenu calls
...
Make the compiler check that title, subtitle, and filename are passed in
the right places.
2020-12-19 16:13:26 +00:00
Kp
d309c141e7
Switch non-format uses of nm_messagebox to nm_messagebox_str
2020-10-22 02:26:16 +00:00
Kp
ae657007fe
Remove send_creation_events parameter
...
It is always nullptr.
2020-10-22 02:26:16 +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
b3c3066a38
Fix no-joystick build
...
When joystick support is not present, `event_joystick_get_button` is not
declared in joy.h.
Fixes: c24864b180
("make menus controllable with joystick")
2020-09-11 03:08:02 +00:00
Kp
7de81a7293
Move Afterburner_charge to dsx
2020-09-11 03:08:02 +00:00
Kp
0f2c1cdd45
Make game window inherit from dcx::window
2020-08-28 00:18:45 +00:00
Kp
dc77c1a5ce
Make pause window inherit from dcx::window
2020-08-28 00:18:45 +00: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
5245b1c4a3
Rename object::control_type to control_source
...
gcc and clang disagree about how to disambiguate when an identifier is
both a typename and a member. Avoid the disagreement by renaming the
member.
Reported-by: Kreeblah <https://github.com/dxx-rebirth/dxx-rebirth/issues/532 >
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
9e2543ecbf
Use enum class for object control_type
2020-08-06 03:47:56 +00:00
Kp
ec6a78c481
Use enum class for marker index types
2020-07-22 03:11:18 +00:00