Commit graph

253 commits

Author SHA1 Message Date
Kp 70c4cc87ab Use forward-declaration header for weapon.h 2015-07-25 23:10:45 +00:00
Kp 61d49de324 Reduce multi_do_effect_blowup stack usage 2015-07-18 21:01:57 +00:00
Kp 8887eeb1c2 Shorten multi_do_ranking 2015-07-18 21:01:57 +00:00
Kp 73fdd59225 Require exact type for valptridx factory 2015-07-13 01:09:36 +00:00
Kp 2e85ccebad Use valptr for multi.cpp 2015-07-12 01:04:21 +00:00
Kp e54b550c59 Pass only vobjptr_t to multi_reset_player_object 2015-07-12 01:04:17 +00:00
Kp 82410f4a8c Treat death by reactor as a suicide 2015-07-05 22:06:12 +00:00
Kp 3ce967ac3d Adjust kill goal progress on suicide
Requested-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/94>
2015-07-05 22:06:12 +00:00
Kp 06b453d617 Enable D1 weapon drops 2015-07-02 02:37:55 +00:00
zico cd27af9e41 Made MULTI_POSITION and MULTI_ROBOT_POSITION use quaternion packets to increase precision of powerup drops, robot movement and their firing; Also decreased priority of the first iteration of MULTI_POSITION from 2 to 1 as the first packet does not need to be protected but just serves as a convinient excuse to flush the multi data buffer 2015-06-28 19:20:46 +02:00
Kp fc730cb6b0 Cache multi_do_light side array 2015-06-13 22:42:22 +00:00
Kp 3905f1a668 Enable -Wcast-qual 2015-06-13 22:42:21 +00:00
Kp 1dc0e24f30 Propagate swap_bytes argument for create_shortpos
In every case but one, create_shortpos was called with a constant flag
equal to words_bigendian.  The demo system called it with a constant 0.
Split create_shortpos into create_shortpos_little and
create_shortpos_native.  Use create_shortpos_native for the demo system,
and create_shortpos_little everywhere else.
2015-06-13 22:42:21 +00:00
Kp ce72014e2e Always parse WORDS_BIGENDIAN and !WORDS_BIGENDIAN 2015-06-13 22:42:21 +00:00
Kp 546f361c5f Use valptr for multi highest_valid 2015-06-13 22:42:18 +00:00
Kp 9125ae32cd Make objnum unsigned 2015-06-13 22:42:15 +00:00
Kp 75b72dc8e9 Fix hoard_resources_type -fno-inline build
Fixes: e116e894b0 ("Fix invalid free when hoard data is missing")
2015-06-11 03:06:58 +00:00
zico b09703cd3f Merge branch 'unification/master' of github.com:dxx-rebirth/dxx-rebirth into unification/master 2015-05-30 18:29:59 +02:00
zico b04282e791 Using one global yet independent timeer for homing missiles similar to d_tick instead of having one in each missile object. Also decreased HOMING_TURNING_TIME to 25 FPS base 2015-05-30 18:29:41 +02:00
Kp 3f9d110502 Reverse score order
Reported-by: Mako88 <https://github.com/dxx-rebirth/dxx-rebirth/issues/74>
2015-05-29 03:15:48 +00:00
zico 7ba3d1317b Isolated all of the homing code into time-depending condition determined by track_turn_time and added track_turn_tick to make target re-discovery dependent on the individual missile tracking instead of global d_tick_count 2015-05-28 15:22:40 +02:00
Kp 6eb724d872 Reorder flag drop
Suppress message if drop fails
2015-05-28 03:08:40 +00:00
Kp c0eb67a9f1 Use vsegptr in network messages 2015-05-28 03:08:39 +00:00
zico 74b66a7f5a Fixed regression (with kp's help) in multi_do_player_deres which made conditional check for map_objnum_local_to_remote fail for the wrong reasons 2015-05-25 11:48:05 +02:00
Kp 7e3bec43a0 Allow object_none as killer in multi_compute_kill 2015-05-23 22:38:15 +00:00
Kp d5cf0fcd6f Store hoard goal_eclip locally 2015-05-23 04:13:29 +00:00
Kp e116e894b0 Fix invalid free when hoard data is missing
If hoard data is not initialized, hoard_resources_type::reset frees
GameBitmaps[0].data, which is bogus_data instead of nullptr or a valid
pointer.

Fixes: d422e8656a ("Simplify HoardEquipped")
2015-05-23 04:13:29 +00:00
Kp 665a0de228 Fix gcc-4.6 multi build
gcc-4.6 chokes on implicitly converting objptridx_t to short; later gcc
accepts this.  Cast the objptridx_t directly to short to force gcc-4.6
to find the correct conversion operator.
2015-05-22 03:33:20 +00:00
Kp d422e8656a Simplify HoardEquipped 2015-05-22 03:33:19 +00:00
Kp dc4a344ec8 Use destructor for hoard resources 2015-05-22 03:33:19 +00:00
Kp cc2a5e9790 Use gr_free_bitmap_data for Orb_icons 2015-05-22 03:33:19 +00:00
Kp 7f403bc1af Optimize clearing player animation angles 2015-05-14 02:23:13 +00:00
Kp 9312b0b00f Remove write-only variable multi_do_guided::fun 2015-05-09 17:39:01 +00:00
Kp 1cdc43d71a Split object_create_egg 2015-05-09 17:39:01 +00:00
Kp f5b02ce6a0 Remove write-only ai_static D1 follow_path_start_seg 2015-05-09 17:39:01 +00:00
Kp 7dae02fbb4 Remove write-only ai_static D1 follow_path_end_seg 2015-05-09 17:39:00 +00:00
Kp a51a7110e8 Pass vobjptridx_t to multi_send_position 2015-05-09 17:38:59 +00:00
Kp 9386ac4a24 Pass vobjptridx_t to multi_compute_kill
The code previously trapped if killed<0 || killer<0, so use vobjptridx_t
instead of objptridx_t.
2015-05-09 17:38:58 +00:00
Kp 8d849b2b39 Wrap laser level in class
Move enum laser_level_t to weapon.h for the new class.
2015-04-26 20:15:56 +00:00
Kp e883d7c872 Use enum class for AIB constants 2015-04-26 20:15:51 +00:00
Kp b46ecbb3e9 Add netgame parameter to duplicate powerups 2015-04-19 04:18:53 +00:00
Kp 4381b81497 Pack spawn granted items in D1 2015-04-19 04:18:53 +00:00
Kp b32298df5a Rewrite powerup cap code to centralize logic 2015-04-19 04:18:53 +00:00
Kp b88c232f9f Use powerup_type_t for *_weapon_to_powerup 2015-04-19 04:18:53 +00:00
Kp adbefd39c4 Minimize unnecessary fields passed to check_effect_blowup 2015-04-19 04:18:52 +00:00
Kp c338862ad6 Reduce gauges.h includes 2015-04-19 04:18:51 +00:00
Kp aa4c5efbb9 Replace HAS_PRIMARY_FLAG(x) with HAS_x_FLAG 2015-04-19 04:18:50 +00:00
Kp 32b4b8f0bb Use enum class for level save/load 2015-04-19 04:18:49 +00:00
zico b512127328 fixed player ships not disappearing upon kill which was caused by removal of PKilledFlags and the improper undoing of hack to keep player exploding and respawning events in order 2015-04-08 14:23:55 +02:00
Kp 90fbebf8fd Convert most global arrays to array<> 2015-04-02 02:36:52 +00:00
Kp 6e96ff3e00 Fix ambiguous use of INTEL_SHORT/INTEL_INT 2015-04-02 02:36:52 +00:00
Kp f76b112304 Allow dropping laser powerups 2015-03-28 17:18:02 +00:00
Kp 598a5e42a2 Allow granting items at player spawn 2015-03-28 17:18:02 +00:00
Kp da3cb31a0e Refactor powerup allow code 2015-03-28 17:18:02 +00:00
Kp b32d1c76c9 Move powerup size reset into set_powerup_id 2015-03-28 17:18:02 +00:00
Kp ccc440df57 Optimize cloak/invuln cleanup 2015-03-28 17:18:02 +00:00
Kp 9fa052f5b1 Remove unused Multi_killed_yourself 2015-03-28 17:18:01 +00:00
Kp 5d6e2c16c6 Fix kill accounting
Fixes: c4ae4e5379 ("Pass player number to multi functions")
2015-03-24 02:35:37 +00:00
Kp 0707664ae1 Use enum for kmatrix_view result 2015-03-24 02:07:42 +00:00
zico 8d686ab23b implemented return value for kmatrix_view() so we can properly bail out of the game loop in AdvanceLevel() 2015-03-23 03:03:22 +01:00
Kp d63be36fb3 Fix bogus trap on remote_owner check
Some call sites pass a uint8_t to objnum_remote_to_local, which is
zero-extended up to an int.  The check for owner==-1 then fails, causing
the sanity check to trap to the debugger, even though the situation is
normal and harmless.  Switch the type to int8_t to ensure that the value
is not sign/zero-extended.
2015-03-22 22:48:47 +00:00
Kp 95eccebcb3 Fix parsing of MULTI_FIRE_TRACK/MULTI_FIRE_BOMB
Fixes: 04d84ae61d ("Pass shot orientation with each weapon packet")
2015-03-22 22:48:47 +00:00
Kp 91d31b1952 Wrap object signature in subtype 2015-03-22 18:49:21 +00:00
Kp c5f6a115ec Add <stdexcept> for files that throw std::runtime_error 2015-03-22 04:16:49 +00:00
Kp 2c09f9fa90 Propagate special types for distance/magnitude 2015-03-12 02:21:19 +00:00
Kp 72a01bf56c Add indirection for player color lookup 2015-03-09 03:33:07 +00:00
Kp 0f9aa2e94e Refactor multi_do_message 2015-03-09 03:33:07 +00:00
Kp 7349a90cc8 Remove unused multi_send_message_dialog 2015-03-03 04:36:16 +00:00
zico 31d1ec7be4 Merge branch 'unification/master' of github.com:dxx-rebirth/dxx-rebirth into unification/master 2015-02-22 17:31:17 +01:00
zico 600d9b8685 Removed conditions for Endlevel_sequence in Multiplayer as it is not set - except for multi data where it was rather governed by NETSTAT_ENDLEVEL 2015-02-22 17:31:06 +01:00
Kp a232bbe488 Reorder objnum_remote_to_local owner check 2015-02-22 01:29:43 +00:00
Kp 40b8bc1a06 Remove unused flag ammo
spit_powerup never sets ammo
2015-02-14 22:48:30 +00:00
Kp f17458d353 Explicitly delete valptridx inequality operators 2015-02-14 22:48:30 +00:00
Kp 93e01f71fd Remove unused Player_num from MULTI_DROP_FLAG 2015-02-14 22:48:29 +00:00
Kp 5212daa4ad Fix seismic duration sync 2015-02-14 22:48:29 +00:00
Kp 29236f8668 Use array<> for multi_player_textures 2015-02-14 22:48:29 +00:00
Kp bbb9a23697 Convert {GET,PUT}_INTEL_{SHORT,INT} to C++ casts 2015-02-14 22:48:29 +00:00
Kp 8ddab68448 Remove unused MULTI_DROP_WEAPON field player 2015-02-14 22:48:29 +00:00
Kp 7bf56a7d69 Add compile-time check on multi message sizes 2015-02-14 22:48:28 +00:00
Kp dc8b88eed4 Convert various loops to range_for 2015-02-14 22:48:27 +00:00
Kp 99a4a0ed62 Capture range_for by-value temporaries as const
Modifying a by-value temporary does not affect the underlying container,
so modifying it is almost always a bug.  Require use of a by-reference
capture when modification is desired.

sed -i -e 's/range_for\s*(\s*\(const\s\+\)\?auto\s\+\([[:alpha:]_]\)/range_for (const auto \2/g'
2015-02-05 03:03:49 +00:00
Kp 147fa18fdf Use std::sort in multi_sort_kill_list 2015-02-03 00:37:08 +00:00
Kp ff4a0ccd70 Fix RAIIdmem array usage
Some RAIIdmem instances managed a T[], but were declared to manage a T.
2015-01-28 03:42:53 +00:00
Kp fa73ca8a17 Pass gr_remap_bitmap_good arg by & 2015-01-25 05:32:45 +00:00
Kp 31450e4843 Pass iff_read_bitmap arg by & 2015-01-25 05:32:44 +00:00
Kp 922a7b7dc9 Pass grs_main_bitmap to iff_read_animbrush 2015-01-25 05:32:44 +00:00
Kp 84e3a03451 Remove unused parameters 2015-01-18 01:58:33 +00:00
Kp c6664a45a6 Add newmenu_do helper for array<newmenu_item, N> 2015-01-18 01:58:32 +00:00
Kp f8163957ef Add helper nm_item_input 2015-01-18 01:58:31 +00:00
Kp f7815810e8 Use RAIIPHYSFS_File to manage PHYSFS_File
Fixes a few leaks on error paths.
2015-01-17 18:31:42 +00:00
Kp 68d705a85a Use bool conversion to test PHYSFS_File pointer 2015-01-17 18:31:42 +00:00
Kp b6a3735f53 Add convenience d_strnicmp for literal right side 2015-01-12 00:26:03 +00:00
Kp fc30cdcc9b Use ntstring for NetworkMessageMacro name 2015-01-12 00:26:02 +00:00
Kp fbac119095 Propagate use of objptridx_t 2014-12-23 04:20:27 +00:00
Kp a622aecd58 Pass vcobjptridx_t to digi_ functions 2014-12-13 17:47:06 +00:00
Kp 9d700aab08 Make kill_matrix uint16_t, not short 2014-12-06 23:30:55 +00:00
Kp cfe0f89dae Use array<> for team_kills 2014-12-06 04:52:53 +00:00
Kp 5eddc2c197 Make bitmap bm_data const where easy 2014-12-02 03:24:38 +00:00
Kp e90549d9a8 Use range_for on Orb_icons 2014-12-02 03:23:21 +00:00
Kp 26f4aaa51b Pass gr_set_transparent arg by & 2014-11-30 22:09:21 +00:00