Commit graph

11331 commits

Author SHA1 Message Date
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 4aef667ac6 Move wimp_menu subfunction handling to event_handler 2021-06-28 03:37:49 +00:00
Kp 53cd92727e Move marker_delete_are_you_sure_menu select handling to event_handler 2021-06-28 03:37:49 +00:00
Kp ce8a5d4275 Pass EVENT_NEWMENU_SELECTED through full event_handler
This makes the path slightly longer now, but allows derived types to
switch away from subfunction_handler individually.
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 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 d0a8cf7769 Avoid unnecessary reallocations in D1 shareware sound decompression
lastsize was never updated from 0, so every pass would reallocate the
buffer.  Switch to a std::vector and rely on it to remember the size.
Manually tracking the size would be slightly more efficient, but this is
not a hot path and the vector approach is easier to review.
2021-06-28 03:37:48 +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
AlumiuN b918d33e1c Fix door lock/unlock triggers causing a crash when given an invalid wall location 2021-06-14 15:16:56 +12:00
AlumiuN a17129a9aa Fixed mission menu subdirectory handling 2021-06-13 20:15:26 +12: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
Robert Menes 201199ebf8
Merge c630191c29 into e226623ebe 2021-06-01 14:44:48 -04:00
Robert Menes c630191c29
Add Haiku as a built host option 2021-06-01 13:37:30 -04:00
Kp e226623ebe Fix advice in dylibbundler error path
Reported-by: Kreeblah <https://github.com/dxx-rebirth/dxx-rebirth/pull/591#issuecomment-841927157>
2021-05-18 03:00:48 +00:00
Kp e75cff028f Rework dylibbundler test
- Add support for a sequence of guard predicates for a test, rather than
  limiting to a single predicate.
- Use that support to skip the dylibbundler test when
  user_settings.macos_add_frameworks makes the test unnecessary.
- Use StaticSubprocess to avoid running dylibbundler repeatedly if
  building multiple targets for which the test is necessary.
- Capture stderr from the child process, and log it, instead of letting
  it be written directly to the stderr inherited from the caller of
  SCons.
- On failure, write to the SConf log the return code of dylibbundler,
  its stdout, and its stderr.  This may help users diagnose the problem
  if it is more complicated than the tool not being installed.
- On failure, show a more direct suggestion about how to avoid needing
  dylibbundler.
2021-05-16 23:15:14 +00:00
Kp ad4fb29920 Use super() in SConstruct to avoid repeating parent class names 2021-05-16 23:15:14 +00:00
Kp 88ff96f49e Change SConstruct classes not to inherit from object
This is not necessary in Python3, and Python2 is no longer supported.
2021-05-16 23:15:14 +00:00
Kreeblah 6b5ff851a3 Updated dylibbundler test 2021-05-16 23:15:11 +00:00
Kreeblah 5afd1d8e53 Updated dylibbundler test 2021-05-16 23:15:11 +00:00
Kreeblah ef9c9a3b29 Updated dylibbundler test 2021-05-16 23:15:11 +00:00
Kreeblah d9d1f5c0db Updated dylibbundler test 2021-05-16 23:15:11 +00:00
Kreeblah 25556fa120 Updated dylibbundler test 2021-05-16 23:15:11 +00:00
Kreeblah d82c52539c Updated dylibbundler test 2021-05-16 23:15:11 +00:00
Kreeblah 66fe76b0c2 Updated dylibbundler test 2021-05-16 23:15:11 +00:00
Kreeblah 14562e74b3 Added test for dylibbundler on macOS 2021-05-16 23:15:11 +00:00
Dave Milici 87adf05c75
Merge a9d14fc03d into 48589d0fb0 2021-05-04 10:03:00 -07:00