Kp
13e29c64f3
In debug builds, initialize newmenu_item type,text to poison values
...
This improves the chance that an unset value will abort rather than
displaying strange results. Release builds are unchanged.
2021-06-28 03:37:51 +00:00
Kp
ec4d75d44e
Switch decode_row from xrange to span to better express its operation
2021-06-28 03:37:51 +00:00
Kp
9c08b233a5
Move collision functions into namespaces
2021-06-28 03:37:51 +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
770ae0cea5
Replace __attribute_noreturn with C++11 [[noreturn]]
...
This eliminates a configure test, and may help readers understand the
annotation more readily.
2021-06-28 03:37:50 +00:00
Kp
15057af2f9
Replace __noreturn with C++11 [[noreturn]]
...
This allows non-GNU-C compilers to see the attribute.
2021-06-28 03:37:50 +00:00
Kp
704f8f662d
Allow rvalue reference as input to enumerated_iterator
2021-06-28 03:37:50 +00:00
Kp
3466a6f818
Combine partial_range template constructors
...
Add an explicit check for rvalue ranges that own their storage, and then
allow any other rvalue input.
2021-06-28 03:37:50 +00:00
Kp
028f4f8a56
Use structured bindings to access enumerated ranges
2021-06-28 03:37:50 +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
212400d140
Convert nm_messagebox_str to use messagebox_newmenu
2021-06-28 03:37:50 +00:00
Kp
9044a19d78
Fold passive_messagebox_item into passive_messagebox
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
0c2f95e2cd
Remove write-only member window_rendered_data::rear_view
2021-06-28 03:37:50 +00:00
Kp
8a9eb82d6e
Factor out choosing bounty target
2021-06-28 03:37:50 +00:00
Kp
63ac8a1f5d
Move saved_text out of imenu_specific_type
...
This significantly shrinks newmenu_item, by not embedding a saved_text
in the union that is present in every newmenu_item.
2021-06-28 03:37:49 +00:00
Kp
d0d7545ec1
Unload robot movies on exit
2021-06-28 03:37:49 +00:00
Kp
76a7361786
Close descent.hog on exit
...
Add RAII wrappers for unmounting PHYSFS paths. Use them in places that
previously handled unmounting explicitly. Also, use it for descent.hog
/ descent2.hog, which previously were left mounted indefinitely.
2021-06-28 03:37:49 +00:00
Kp
1dba8e40ec
Move PHYSFSX_addRelToSearchPath pathname to caller
...
Some callers will need access to the computed path. Change the callers
to pass in a buffer for this path, and have PHYSFSX_addRelToSearchPath
fill that buffer directly.
2021-06-28 03:37:49 +00:00
Kp
c98c412fbb
Remove template indirection around PHYSFSX_getRealPath
...
All callers use a std::array<char, PATH_MAX>, so update the definition
to use that.
2021-06-28 03:37:49 +00:00
Kp
391a539ad2
Use enum class for PHYSFSX_addRelToSearchPath append/prepend parameter
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
ef6e36f7ee
Move newmenu_item union members into named union
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
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
6e12644620
Remove write-only field digi_sound::bits
2021-06-28 03:37:49 +00:00
Kp
73c3474f8e
Reduce uses of RAIIdmem for local variables
2021-06-28 03:37:49 +00:00
Kp
ee07a45712
Simplify MALLOC invocations
...
Remove overload for C array decay, and fix up the call sites that
required it.
2021-06-28 03:37:48 +00:00
Kp
32b7899059
Remove const
qualifier from gr_init_bitmap
...
gr_init_bitmap can be passed a pointer to uninitialized memory, and
will save that pointer into the bitmap for the underlying memory to be
initialized later. In gcc-11, this triggers a warning because the
`const` qualifier leads gcc to expect that the memory will only be read
(while uninitialized) and not written.
Reported-by: TheDemonicSurfer <https://github.com/dxx-rebirth/dxx-rebirth/issues/593 >
2021-06-12 21:07:32 +00:00
Dave Milici
87adf05c75
Merge a9d14fc03d
into 48589d0fb0
2021-05-04 10:03:00 -07:00
C.W. Betts
48589d0fb0
Add App Category entries to the plists.
2021-04-30 14:43:15 -06:00
Dave Milici
ea6379de2d
Add above/below option sync blank interval for external sync doubler.
2021-04-08 14:07:35 -07:00
Kp
1843ed752c
Fix Windows build of kconfig.h
...
fbd05a1592
changed joy.h to include only fwd-event.h, but not event.h.
event.h included maths.h, which kconfig.h was relying on. Add an
inclusion of maths.h into kconfig.h to define `fix`.
Fixes: fbd05a1592
("optimize include files (include what you use)")
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
Kp
02c99b7645
Consolidate stereo dimension math
...
Remove VR_half_width, VR_half_height. Their values are directly derived
from VR_stereo, and can be computed on demand.
2021-04-04 22:01:25 +00:00
Dave Milici
6bc0e822d2
Handle HUD overlays in separate screen rects for stereo renderings.
2021-03-17 16:30:31 -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
Dave Milici
bb903a1d80
Support stereo viewport rendering in half-height & half-width formats.
...
Enable stereo mode when launched via -gl_stereo option.
GL_STEREO quad buffering may not be available unless OGL layer
supports stereo pixel format descriptors.
Half-height viewport rendering for above/below format.
Half-width viewport rendering for side/by/side formats.
HUD & cockpit elements disabled when stereo views active.
2021-03-11 12:32:01 -08:00
Dave Milici
4169183342
Initial stereo rendering test in side-by-side format.
...
OGL layer used for rendering surfaces, so using left/right viewports absent stereo quad buffers.
Using legacy Descent +/- eye offset method for left/right stereo perspective rendering passes.
2021-03-11 12:32:01 -08:00
Kp
537e9fef37
Throw if a bitmap starts outside its parents boundaries
...
Such bitmaps will, at best, fail to render due to clipping. These
should never happen, so report it with an exception if it does.
2021-02-25 03:53:49 +00:00
Kp
1ec6fdb0b5
Add back forwarding includes
...
These are not necessary for proper compilation, but are included so that
a mismatch between the forward declaration and the definition will be
diagnosed immediately.
2021-02-20 23:46:51 +00:00
Kp
6a425bb2a7
Drop unnecessary includes
2021-02-20 23:46:51 +00:00
dimag0g
6282dd25b9
Merge fbd05a1592
into 8fdc326c2a
2021-02-16 21:30:26 -08:00
C.W. Betts
8fdc326c2a
Add CFBundleIdentifier to the plists.
2021-02-07 19:58:12 -07:00