Kp
575bfe8a69
Use enum class for tracker_game_id
2022-09-11 17:00:44 +00:00
Kp
8f847c16bb
Use std::span for csocket_data_buffer
2022-09-11 17:00:44 +00:00
Kp
763f1d4902
Use std::span for socket_data_buffer
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
53770489d8
Use std::span for net_udp_noloss_add_queue_pkt
2022-09-11 17:00:44 +00:00
Kp
2589ba9c60
Ignore invalid MULTI_START_TRIGGER messages
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
4cf1eb328f
Use std::array for prepare_kill_name storage
2022-09-11 17:00:44 +00:00
Kp
0a8bf6bfa8
Remove redundant test in multi_do_finish_game
...
This is only called from the dispatch switch which checked the type.
There is no need to check the type again.
2022-09-11 17:00:44 +00:00
Kp
dac7b13f65
Pass optional parameters to multi_do_fire from caller
...
Remove the multi_do_fire branches that check the message type. Delegate
those checks to the caller, so that multi_do_fire can work with the
common initial sequence of the three messages.
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
0a1758f44f
Ignore excess hostages during scoring
...
Descent 2 secret levels allow a player to rescue hostages that are not
counted in `total_hostages`, so a player can exit with more hostages
saved than were in the mine. Change the scoring logic not to penalize a
player for saving these unaccounted hostages.
2022-08-22 01:24:49 +00:00
Kp
cd09a742a0
Initialize aip->CURRENT_GUN in robot setup
...
In non-memory-poison builds, the zero initialization of the new object
will suffice to cover this. In memory-poison builds, the new object
will be reset to a poison value, so the member must be given a
reasonable value here.
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
4e66bff3f6
Fix SDL-only build of game.cpp
...
Fixes: 8be306efa7
("Use enum class for cockpit_mode_t")
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
3ea0cc7053
Store Pof_addr at local scope
...
Pass it to called functions as needed.
2022-08-22 01:24:49 +00:00
Kp
6b7ba83a00
Move anim_angs into local scope, since it is copied out later
2022-08-22 01:24:49 +00:00
Kp
99577c4296
Simplify pof_read_string
...
The resulting string is discarded, so change it to skip without copying.
2022-08-22 01:24:49 +00:00
Kp
a41908dece
Move Pof_file_end to local scope
...
Rely on the extent in std::span for called code that needs to know
bounds.
2022-08-22 01:24:49 +00:00
Kp
3e13dcdf19
Use std::span to bound read_model_guns valid bytes
2022-08-22 01:24:49 +00:00
Kp
15e8ceeaa4
Use std::span to bound read_model_file valid bytes
2022-08-22 01:24:49 +00:00
Kp
42caec7e58
Use std::span for pof reading functions
2022-08-22 01:24:49 +00:00
Kp
c5c5e8ea39
Simplify pof_read_angs
...
The caller passes a length of 1, so inline that and simplify the
function.
2022-08-22 01:24:49 +00:00
Kp
69579df368
Simplify pof_read_short
...
Use the general little-endian helper.
2022-08-22 01:24:49 +00:00
Kp
87c79206e8
Simplify pof_cfread
...
All callers pass a value of 1 for one of the two length terms, so inline
that and eliminate the multiplication.
2022-08-22 01:24:49 +00:00
Kp
bfb7ed7efc
Simplify pof_read_vecs
...
All callers pass a count of 1, so inline that and eliminate the loop.
2022-08-22 01:24:49 +00:00
Tylor
6fee36638d
Feat: Pitch unlocker
2022-08-21 16:16:40 -05:00
Kp
0d045ae3da
Fix Windows net_udp build
...
Convert the RAIIsocket to a simple SOCKET before passing it to FD_SET.
Otherwise, the build fails with:
```
similar/main/net_udp.cpp: In function 'int {anonymous}::udp_general_packet_ready(dcx::{anonymous}::RAIIsocket&)':
similar/main/net_udp.cpp:969:2: error: use of deleted function 'bool dcx::{anonymous}::RAIIsocket::operator==(T) const [with T = long long unsigned int]'
969 | FD_SET(sock, &set);
| ^~~~~~
similar/main/net_udp.cpp:493:29: note: declared here
493 | template <typename T> bool operator==(T) const = delete;
| ^~~~~~~~
```
2022-08-16 03:15:04 +00:00
Kp
fb75a7900c
Pass std::span to multi_do_message
2022-07-30 17:42:59 +00:00
Kp
81ab68e0f6
Pass std::span to multi_do_player_inventory
2022-07-30 17:42:59 +00:00
Kp
31b8d98e22
Pass std::span to multi_do_kill_client
2022-07-30 17:42:59 +00:00
Kp
e76cefd846
Pass std::span to multi_do_kill_host
2022-07-30 17:42:59 +00:00
Kp
43c86b94af
Split multi_do_kill to multi_do_kill_host+multi_do_kill_client
...
The kill messages have different lengths and conditional processing
based on whether the message is MULTI_KILL_CLIENT or MULTI_KILL_HOST.
Split the two into separate functions to simplify the implementation of
each.
2022-07-30 17:42:59 +00:00
Kp
127a1f15e6
Pass std::span to multi_do_gmode_update
2022-07-30 17:42:59 +00:00
Kp
b24d61cd0a
Pass std::span to multi_do_msgsend_state
2022-07-30 17:42:59 +00:00
Kp
c5eeaa48cd
Pass std::span to multi_do_bounty
2022-07-30 17:42:59 +00:00
Kp
da138757e6
Pass std::span to multi_do_kill_goal_counts
2022-07-30 17:42:59 +00:00
Kp
79683690bd
Pass std::span to multi_do_heartbeat
2022-07-30 17:42:59 +00:00
Kp
4893196138
Pass std::span to multi_do_restore_game
2022-07-30 17:42:59 +00:00
Kp
4e42dacd23
Pass std::span to multi_do_save_game
2022-07-30 17:42:59 +00:00
Kp
96a260cea0
Pass std::span to multi_do_hostage_door_status
2022-07-30 17:42:59 +00: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