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