zico
901a554e96
New powerup management code: Addeed functions and packet type to keep track of original and current level inventory as well as player and thief inventories. Calling maybe_drop_net_powerup() for all ammo based weapons except Concussion missiles. Limiting maybe_drop_net_powerup() to only spawn items missing from initial level inventory. Added function to let host respawn items that were lost for whatever reason. Expanded maybe_drop_net_powerup() and child functions to be able to drop item based on a random player. Changed back maybe_drop_secondary_weapon_egg() to its original behavior, dropping 3 of each type max.
2016-02-25 14:11:08 +01:00
Kp
553b313099
Use vwallptr
2016-02-12 04:02:28 +00:00
Kp
2fd6a425b0
Remove highest_valid
2016-02-12 04:02:28 +00:00
Kp
b57f08c798
Use partial_const_range
2016-02-12 04:02:28 +00:00
Kp
bb5d1bb7e5
Use valptridx array type for Walls
2016-02-06 22:12:54 +00:00
Kp
74dfa29d31
Convert most Trigger references to valptridx
2016-02-06 22:12:54 +00:00
Kp
4f0cbcffa9
Use valptridx array type for Triggers
2016-02-06 22:12:53 +00:00
Kp
86709f547b
Fix capitalization of PHYSFS_File
...
Per comment in physfs.h, the spelling PHYSFS_file is deprecated.
Replace all instances with PHYSFS_File.
2016-01-09 16:38:14 +00:00
Kp
a3ae630829
Remove default argument for basic_ptridx(index)
2016-01-09 16:38:14 +00:00
Kp
96898bab0a
Block direct changes to Highest_segment_index
...
Route updates through helper functions.
2016-01-09 16:38:12 +00:00
Kp
2bd538f353
Sort delta light indices
2015-12-22 04:18:52 +00:00
Kp
e8c34be843
Use v*ptr* factories with highest_valid
2015-12-22 04:18:51 +00:00
Kp
d479819931
Use absolute_sibling to reduce global references for ptridx
2015-12-22 04:18:51 +00:00
Kp
3d246427e1
Poison objects on level load
...
Objects are overwritten without using obj_allocate, so the normal poison
path is not triggered. Poison objects explicitly to trap uninitialized
data from a previous level.
This also fixes an unreported issue where player shields always reset to
100 on entering a new level. The game is supposed to raise shields to
100 if the player was lower on exiting the level. However, it is not
supposed to reduce shields to 100 if the player had a higher value on
exiting the level.
This also fixes a demo consistency issue reported by zicodxx <https://github.com/dxx-rebirth/dxx-rebirth/issues/168 >.
Fixes: 2e28a491f2
("Move player shields to struct object")
2015-12-10 03:25:37 +00:00
Kp
b683b4cc68
Scope weapon type
2015-12-03 03:26:49 +00:00
Kp
0c75aecc45
Check most uses of object id
2015-11-27 03:56:13 +00:00
Kp
9f26e2211e
Warn on invalid object ID access
2015-11-26 02:56:56 +00:00
Kp
ddf1ded74c
Simplify add_missions_to_list
2015-10-11 22:21:00 +00:00
Kp
c4a8432081
Remove WORDS_NEED_ALIGNMENT memcpy src cast to const uint8_t*
...
The cast provokes a warning on systems that require alignment, so remove
it. memcpy takes const void* input, so the cast is unnecessary.
Reported-by: MattWatt <https://github.com/dxx-rebirth/dxx-rebirth/issues/119 >
2015-09-13 21:02:19 +00:00
Kp
655e7b6f72
Optimize clearing ConsoleObject anim_angles
2015-08-14 03:02:04 +00:00
Kp
bc7c469ab2
Use array<> for more globals
2015-08-12 03:11:46 +00:00
Kp
f00725f740
Use forward-declaration header for player.h
2015-07-25 23:10:45 +00:00
Kp
fa8dcc9113
Explicitly delete basic_ptridx(pointer_type); require array
...
Require the array argument for basic_ptridx, which is supplied
automatically when the factory is used.
2015-07-13 01:09:37 +00:00
Kp
adfc3bb5f9
Use valptr for gamesave.cpp
2015-07-12 01:04:20 +00:00
Kp
fdd2356eac
Use segptridx for Cursegp, Markedsegp
2015-07-12 01:04:18 +00:00
Kp
06b453d617
Enable D1 weapon drops
2015-07-02 02:37:55 +00:00
Kp
3c748c2418
Use valptr for gamesave highest_valid
2015-06-13 22:42:17 +00:00
Kp
c53b734abb
Compute slide segments early
...
Store slide flag in segment to save one byte per segment.
2015-05-17 20:37:59 +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
e883d7c872
Use enum class for AIB constants
2015-04-26 20:15:51 +00:00
Kp
b32298df5a
Rewrite powerup cap code to centralize logic
2015-04-19 04:18:53 +00:00
Kp
b32d1c76c9
Move powerup size reset into set_powerup_id
2015-03-28 17:18:02 +00:00
Kp
91d31b1952
Wrap object signature in subtype
2015-03-22 18:49:21 +00:00
Kp
7bf49fe551
Fix clang -Wmissing-braces warnings
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
e440bc1b17
Move init_exploding_walls to level load
2015-02-28 19:36:01 +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
9ebcb6e9b1
Use range_for in gamesave.cpp
2015-01-22 03:34:20 +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
fa10e51999
Add helper nm_item_text
2015-01-18 01:58:31 +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
c993c5d039
Fix truncation of D1 level names
2015-01-15 04:30:04 +00:00
Kp
b6a3735f53
Add convenience d_strnicmp for literal right side
2015-01-12 00:26:03 +00:00
Kp
ff493fcfce
Inline vm_vec_make
2015-01-12 00:26:02 +00:00
Kp
fbac119095
Propagate use of objptridx_t
2014-12-23 04:20:27 +00:00
Kp
626f2a6dbc
Reset Current_level_name where needed
2014-12-22 04:35:47 +00:00
Kp
2766114959
Make PHYSFSX_gets_line_t::line_t be array<>
2014-12-20 04:36:10 +00:00