Kp
fbc184500d
Use explicitly defaulted operator== for vms_vector
2022-10-09 23:15:19 +00:00
Kp
017e786139
Use explicitly defaulted font_scale_proportion::operator==
2022-10-09 23:15:19 +00:00
Kp
c638a1f237
Make valptridx comparison operators constexpr
2022-10-09 23:15:19 +00:00
Kp
32e819a9e7
Remove unnecessary explicit definition of WALL_IS_DOORWAY_result_t::operator!=
2022-10-09 23:15:19 +00:00
Kp
beb4cde9cb
Remove definition of segment_object_range_t<T>::iterator::operator!=
2022-10-09 23:15:19 +00:00
Kp
49fccd64ad
Use explicitly defaulted callsign_t::operator==
2022-10-09 23:15:19 +00:00
Kp
5d412f3c19
Remove unnecessary explicit definition of enumerated_iterator::operator!=
2022-10-09 23:15:19 +00:00
Kp
1a42696a2b
Remove unnecessary explicit definition of valptridx<T>::ptridx::operator!=
2022-10-09 23:15:19 +00:00
Kp
a4fe31c972
Remove unnecessary explicit definition of valptridx<T>::idx::operator!=
2022-10-09 23:15:19 +00:00
Kp
f40b7ba315
Use explicitly defaulted rgb_t::operator==
2022-10-09 23:15:19 +00:00
Kp
dd1aed76c5
Remove unnecessary explicit definition of null_sentinel_iterator::operator!=
2022-10-09 23:15:19 +00:00
Kp
d443151f84
Remove unnecessary explicit definition of ntstring::operator!=
2022-10-09 23:15:19 +00:00
Kp
4279e56948
Remove unnecessary explicit definition of screen_mode::operator!=
2022-10-09 23:15:19 +00:00
Kp
0b62b62619
Remove unnecessary explicit definition of tmap_drawer_type::operator!=
2022-10-09 23:15:19 +00:00
Kp
c1a8a3b8e3
Explicitly default xrange_iterator::operator==
...
Replace operator!= with an implicitly defaulted definition, which will
use the new explicitly defaulted operator==.
2022-10-09 23:15:19 +00:00
Kp
f5258f95b1
Simplify partial_range check_range_index_type_vs_provided_index_type
2022-10-02 19:51:36 +00:00
Kp
3379078f04
Pass std::span to PHYSFSX_puts
2022-10-02 19:51:36 +00:00
Kp
e0123dead5
Remove special case for 0 argument PHYSFSX_printf
...
Fix the remaining sites that were redirected by this. Remove the
redirection macro.
2022-10-02 19:51:36 +00:00
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
98b7679732
Remove obsolete MacOS C source files
...
These are not referenced in SConstruct. messagebox.c uses C linkage for
symbols that would be referenced from a C++ file, so this has likely
been broken since the common code moved to C++.
2022-10-02 19:51:36 +00:00
Kp
f3d4dff941
Use enum class for clipping_code
...
Adjust code_window_point to use the same masks as clipping_code.
Previously, it had top and bottom swapped. However, since its output
was only ever compared for equality to 0, this transposition should not
affect the observable behavior.
2022-10-02 19:51:35 +00:00
Kp
6c32eb3970
Remove unused return value of g3_add_delta_vec
2022-10-02 19:51:35 +00:00
Kp
1808b6badd
Use enum class for projection_flag
2022-10-02 19:51:35 +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
1bda6f4792
Remove dead declaration of g3_check_codes
2022-10-02 19:51:35 +00:00
Kp
ad8f970bf6
Pass g3s_point & to free_temp_point
...
Only one point is freed at a time, so pass by reference.
2022-10-02 19:51:35 +00:00
Kp
a8c4aee5f0
Fix compilation of valptridx unit tests
...
Newer gcc has become more effective at propagating values and now proves
that certain tests will always throw. This proof triggers a
compile-time error, which is desirable in the main program, but not in
the unit test. Add an indirection to hide the value from the compiler
so that it is forced to emit runtime code, which can then throw and
catch as intended.
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
8fe9b8322d
Check return value of PHYSFSX_fgets
2022-10-02 19:51:35 +00:00
Kp
a55579bb8f
Flatten net_udp call chain for ntstring::copy_out
2022-10-02 19:51:35 +00:00
Kp
98916ca6b7
Remove obsolete ntstring methods
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
53d81e78de
Fix SDL2 double-free on failure to load music
...
Fixes: 0142c02edd
("Use Mix_LoadMUSType_RW for named files, too")
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
8811836e2e
Make cstring_tie inherit from array
...
Switch to `using` the `begin` method instead of defining a wrapper.
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
1b170fe880
Pass std::span to print_exit_message
2022-09-24 17:47:53 +00:00
Kp
ea5d0136dc
Pass std::span to msgbox_warning
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
23315ebec2
Fix SDL-only g3_draw_sphere overflow test
...
PF_OVERFLOW is part of p3_flags, not p3_codes. Testing p3_codes meant
that the disk would be drawn when CC_OFF_RIGHT was unset. This seems
unlikely to be what was intended, so fix the mismatch by switching to
use p3_flags instead of switching the symbolic constant.
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
00c428b4fc
Use compiler std::endian instead of union-based punning
2022-09-24 17:47:52 +00:00
Kp
f175a4508b
Pass std::span to ogl_extensions is_ext_supported
...
This avoids the need to recompute the string's length later.
2022-09-24 17:47:52 +00:00