Kp
01c07156bd
Remove special case for 0 argument HUD_init_message
...
Fix the one remaining site that was redirected by this. Remove the
redirection macro, so that the literal and variadic forms can have
differing types for their string field.
2022-10-02 19:51:36 +00:00
Kp
aaac0e69fa
Use std::span for piggy_new_pigfile argument pigname
2022-10-02 19:51:35 +00:00
Kp
eca189e8aa
Use enum class for SoundOffset
...
Change piggy_register_sound to take the sound offset as a parameter,
rather than assuming the caller will set SoundOffset accordingly.
Remove a spurious sound reset in piggy_register_bitmap. Based on the
duplicated comment, this was probably incorrectly copied from
piggy_register_sound, where it made sense, into piggy_register_bitmap,
where it does not.
2022-10-02 19:51:35 +00:00
Kp
14bf2dc59a
Pass std::span to piggy_register_bitmap
2022-10-02 19:51:35 +00:00
Kp
f0d118ed42
Use std::span for PHYSFSX_fgets
2022-10-02 19:51:35 +00:00
Kp
e3faab0899
Use alias template per_player_array for arrays that are MAX_PLAYERS long
...
This removes the need to repeat MAX_PLAYERS in every usage, and prepares
for a future change to use enumerated_array instead of std::array.
2022-09-24 17:47:53 +00:00
Kp
9d238eedf8
Pass std::span to callsign_t::copy
2022-09-24 17:47:53 +00:00
Kp
81b77d2f28
Pass std::span to create_bfs_list
2022-09-24 17:47:53 +00:00
Kp
294a78a1aa
Pass std::span to powerup_basic_str
2022-09-24 17:47:53 +00:00
Kp
6d0a5f5783
Pass std::span to location_value_wrapper::prepare_buffer
2022-09-24 17:47:53 +00:00
Kp
56a68f3c63
Pass std::span to con_force_puts
2022-09-24 17:47:53 +00:00
Kp
a76f5d9248
Use std::array for location_wrapper::scratch_buffer
2022-09-24 17:47:52 +00:00
Kp
ae5e5c699a
Use std::array for console_buffer::line
2022-09-24 17:47:52 +00:00
Kp
b1da47a34b
Compare d1 extra pig in place
...
Instead of creating a copy, modifying the copy, and comparing to it, use
std::span to pass down the maximum allowed length for comparison.
2022-09-24 17:47:52 +00:00
Kp
ad7057be87
Add hack for case mismatch in Vertigo robot movies
...
PhysFS 3 is case-sensitive for movie filename lookup. The consequence
of this was first reported in [1]. In [2], @icculus stated this was a
bug in PhysFS 3 that would be fixed in PhysFS 3.0.2. However, [3] and
[4] assert that the fix was never included. The existence of [5] seems
to support this. The original problem was reported in 2019. As of
2022, user @AlumiuN, running PhysFS 3.0.2, is affected. Therefore, this
commit adds code to detect the relevant robot movies and adjust the case
in the Rebirth code.
[1]: https://github.com/dxx-rebirth/dxx-rebirth/issues/379
[2]: https://github.com/dxx-rebirth/dxx-rebirth/issues/379#issuecomment-389400528
[3]: https://github.com/dxx-rebirth/dxx-rebirth/issues/379#issuecomment-462083489
[4]: https://github.com/dxx-rebirth/dxx-rebirth/issues/379#issuecomment-477790175
[5]: https://github.com/dxx-rebirth/dxx-rebirth/issues/644
2022-09-24 17:47:52 +00:00
Kp
a79ed84112
Use std::span in location_wrapper
2022-09-24 17:47:52 +00:00
Kp
2ecad00e90
Pass std::span to load_palette
2022-09-24 17:47:52 +00:00
Kp
805d71de6b
Move Shareware_level_names,Registered_level_names to dumpmine.cpp
...
They are only used in this file, so move them there and make them
static.
2022-09-24 17:47:52 +00:00
Kp
17a0452001
Use std::span for nm_item_input
2022-09-24 17:47:51 +00:00
Kp
e0300e1e30
Pass std::span to dispatch_table::send_data
2022-09-24 17:47:51 +00:00
Kp
b8ed30235c
Remove Multi_is_guided
; handle setup directly
...
`Multi_is_guided` is only enabled in one place. One code path set up
Guided_missile[] for the local player, and a different path handled
network players. Remove `Multi_is_guided` and rearrange such that a
single site handles both local and network players.
2022-09-24 17:47:51 +00:00
Kp
232c648024
Add Windows version resource for Windows build
2022-09-11 17:00:45 +00:00
Kp
11a400ab8f
Move upid sizes to constexpr variable
2022-09-11 17:00:45 +00:00
Kp
575bfe8a69
Use enum class for tracker_game_id
2022-09-11 17:00:44 +00:00
Kp
eb8a7d8186
Use std::span for multi::send_data_direct
2022-09-11 17:00:44 +00:00
Kp
0512ea8d65
Use enum class for upid
2022-09-11 17:00:44 +00:00
Kp
d32fc7acab
Use enum class for kick_player_reason
2022-09-11 17:00:44 +00:00
Kp
366b048879
Merge commit 'refs/pull/657/head' into master
2022-08-23 02:13:01 +00:00
Kp
44cf8b83be
Advise gcc to inline morph_data::operator new
...
This is only used in the file where it is defined, so it can be inlined
even though the definition is not in a header. Enabling inlining
encourages gcc to see that the `operator new`/`operator delete` calls
are not mismatched.
2022-08-22 01:24:49 +00:00
Kp
c64a584bfd
Use enum class for robot_gun_number
...
Validate gun numbers on loading object data. Factor out and normalize
the logic for advancing to a robot's next gun.
2022-08-22 01:24:49 +00:00
Kp
1fb55eebc2
Use enum class for robot_animation_state
2022-08-22 01:24:49 +00:00
Kp
26ab08d55f
Add stub definitions of enum vertnum_t,wallnum_t
...
Given this code:
```
enum class X : unsigned;
X a{1};
```
gdb has an unfortunate behavior of reporting "incomplete type" and
refusing to show the underlying value of `a`, even when `a` is in scope.
Adding `enum class X : unsigned {}` fixes this and allows gdb to show
the value.
2022-08-22 01:24:49 +00:00
Tylor
6fee36638d
Feat: Pitch unlocker
2022-08-21 16:16:40 -05:00
Kp
55bbc5f599
Pass std::span to multi_do_create_robot_powerups
2022-07-30 17:42:59 +00:00
Kp
4ce39a399e
Pass std::span to multi_do_boss_create_robot
2022-07-30 17:42:59 +00:00
Kp
c575283c5e
Pass std::span to multi_do_boss_stop_gate
2022-07-30 17:42:59 +00:00
Kp
b820098103
Pass std::span to multi_do_boss_start_gate
2022-07-30 17:42:59 +00:00
Kp
2b4dd444ca
Pass std::span to multi_do_boss_cloak
2022-07-30 17:42:59 +00:00
Kp
6ab2068a82
Pass std::span to multi_do_boss_teleport
2022-07-30 17:42:59 +00:00
Kp
202e3309a7
Pass std::span to multi_recv_escort_goal
2022-07-30 17:42:59 +00:00
Kp
980b3080ce
Pass std::span to multi_do_robot_fire
2022-07-30 17:42:59 +00:00
Kp
fa0f7cef11
Pass std::span to multi_do_release_robot
2022-07-30 17:42:59 +00:00
Kp
d4b047bb02
Pass std::span to multi_do_robot_position
2022-07-30 17:42:59 +00:00
Kp
0036b91084
Pass std::span to multi_do_claim_robot
2022-07-30 17:42:59 +00:00
Kp
49f608010a
Pass std::span to multi_do_robot_explode
2022-07-30 17:42:59 +00:00
Kp
e1269dca35
Pass std::span to multi_do_create_robot
2022-07-30 17:42:59 +00:00
Kp
dc674eafe8
Replace various uses of std::enable_if with C++20 requires()
...
Compiler error messages are generally better when reporting a misuse
that fails a requires() versus reporting a misuse that fails a
std::enable_if. In some cases, this also makes the code clearer, and
avoids the need for dummy template parameters as a place to invoke
std::enable_if.
2022-07-30 17:42:59 +00:00
Kp
58061b5f45
Use C++20 std::span for morph_data
2022-07-30 17:42:59 +00:00
Kp
d9d2bac092
Use enum class for apply_damage_to_player::possibly_friendly
...
Also, remove a redundant invulnerability check in one caller.
apply_damage_to_player already tests for invulnerability and returns if
appropriate.
2022-07-23 20:58:10 +00:00
Kp
a44f80fd64
Flatten call chain to net_udp_send_data
2022-07-23 20:58:10 +00:00