Kp
c1503d0e0f
Widen scope of player_info preservation
2016-03-19 19:08:11 +00:00
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
Kp
0f30d4eb72
Use PHYSFSX_gets_line_t for Current_level_palette
2014-12-20 04:36:08 +00:00
Kp
90666ba19b
Use PHYSFSX_gets_line_t for Current_level_name
2014-12-20 04:36:07 +00:00
Kp
9916406d8f
Fix debug-build abort on matcen triggers
2014-12-14 21:02:40 +00:00
Kp
78cdb70959
Use partial_range on Triggers
2014-12-08 04:19:26 +00:00
Kp
d63be88eb0
Propagate use of vsegptridx_t
2014-11-23 04:58:45 +00:00
Kp
80f3f83577
Use range_for for Delta_lights
2014-11-23 04:36:59 +00:00
Kp
80bbc9c69c
Use range_for on Dl_indices
2014-11-23 04:36:58 +00:00
Kp
1649fc791c
Use partial_range on Flickering_lights
2014-11-23 04:36:58 +00:00
Kp
2c349136cc
Avoid slicing into segnum_t local
2014-11-20 03:00:36 +00:00
Kp
cf4d216c41
Pass check_and_fix_matrix vms_matrix by &
2014-11-04 01:30:49 +00:00
Kp
6d61198130
Pass compute_segment_center vector by &
2014-10-30 03:32:51 +00:00
Kp
53aa70cecb
Use vsegptridx_t
2014-10-28 03:08:51 +00:00
Kp
b8b81ba5fc
Move PHYSFSX_writeAngleVec to gamesave.cpp
2014-10-26 22:56:50 +00:00
Kp
bf57d03930
Move PHYSFSX_writeMatrix to gamesave.cpp
2014-10-26 22:56:50 +00:00
Kp
44084ff261
Pass PHYSFSX_readVector vector by &
2014-10-26 22:08:58 +00:00
Kp
af318b9eb2
Pass PHYSFSX_writeVector vector by const &
2014-10-26 22:08:58 +00:00
Kp
fc5b50c433
Pass med_create_new_segment arg by &
2014-10-26 22:01:13 +00:00
Kp
019b572c0e
Remove #define Segment2s Segments
2014-10-21 03:15:12 +00:00
Kp
7f648c0f5f
Wrap segment iteration idiom
2014-10-12 23:10:05 +00:00
Kp
fb641b3250
Wrap object iteration idiom
2014-10-12 23:05:46 +00:00
Kp
649704a37c
Pass med_create_segment arg as &
2014-10-02 03:02:37 +00:00
Kp
6b93309ae5
Pass vm_vec_make arg by &
2014-10-02 03:02:35 +00:00
Kp
738b56e20f
Propagate for variables in similar/main/gamesave.cpp
2014-09-26 02:42:09 +00:00
Kp
9eda412dff
Use symbolic constant wall_none
2014-09-21 23:05:14 +00:00
Kp
703f60ac3f
Fix -Wtype-limits warnings
2014-09-21 21:41:55 +00:00
Kp
56557a0443
Explicitly delete vvalptridx(valptridx&&)
2014-08-17 19:32:16 +00:00
Kp
915b78b5e1
Add vvalptridx_t for always-valid valptridx values
2014-08-13 03:19:12 +00:00
Kp
125d9257be
Use special type names for segment/object numbers
2014-08-13 02:57:12 +00:00
Kp
37f20ebfa7
Use specific num_frames test in convert_vclip
2014-07-16 03:23:49 +00:00
Kp
dd70a3f03d
Use array<> for PowerupsInMine, MaxPowerupsAllowed
2014-07-12 19:23:37 +00:00
Matt Vandermeulen
28f307eb85
Fixes #5 - Byteswap header renamed to byteutil, plus sed magic
...
[Kp: switch to #pragma for byteutil.h]
2014-07-03 02:03:08 +00:00
Kp
d6c012ce4d
Fix brown-wall robots in D1 non-editor build
...
tmap == -1 means no override, but 7b33018c
changed the comparison to be
true when given negative inputs. Since -Wsign-compare is off, this was
not caught by the compiler.
2014-06-28 15:29:25 +00:00
Kp
78143eb045
Read walls carefully
2014-06-21 23:56:27 +00:00
Kp
b3dc2a1bc0
Move D1X trigger read out of line
2014-06-21 23:56:27 +00:00
Kp
5af9e8d5b2
Use array<> for ActiveDoors
2014-06-20 02:59:53 +00:00
Kp
2e95d8c0a8
Use array<> for Walls
2014-06-20 02:59:53 +00:00
Kp
d3ecca360c
Read matcen_info structures carefully
2014-06-20 02:59:53 +00:00
Kp
be8c9d5d2d
Split out trigger_write
...
Conditional trigger_write is hard to read.
2014-06-20 02:59:53 +00:00
Kp
8cc3e2c9e9
Use array<> for Triggers
2014-06-20 02:59:53 +00:00
Kp
fa77105084
Simplify D2X trigger upgrade code
2014-06-20 02:59:53 +00:00
Kp
952fc31449
Simplify d1_matcen_info_read
2014-06-20 02:59:53 +00:00
Kp
92814475a9
Use array<> for RobotCenters
2014-06-20 02:59:52 +00:00
Kp
20164b0639
Use symbolic constants for trigger types
2014-06-08 00:05:33 +00:00
Kp
6f84624f4c
Remove write-only D1X trigger field type
2014-06-08 00:05:32 +00:00
Kp
766ed23dda
Remove broken TRIGGER_MATCEN check
...
D1X sets flags to TRIGGER_MATCEN, not type.
2014-06-08 00:05:32 +00:00
Kp
ebfb559fe1
Add dummy parameter version to D2 matcen_info_read
2014-06-08 00:05:32 +00:00
zico
ad7cb106bc
Changed custom D1X license to GPLv3
2014-06-01 19:55:23 +02:00
Kp
9b46761650
Move RobotCenters initialization out of #if guard
2014-01-25 17:21:57 +00:00
Kp
a2427f58b5
Use special type to reduce pointer/index conversions
2014-01-12 19:32:12 +00:00