Commit graph

195 commits

Author SHA1 Message Date
Kp f208a8490f Move do_cloaking_wall_frame demo test up 2016-11-12 18:10:09 +00:00
Kp aae5279bfd Initialize Stuck_objects for D1 2016-10-15 00:53:22 +00:00
Kp 038a6e3261 Pass player powerup_flags to wall_hit_process 2016-10-02 00:34:46 +00:00
Kp 6a3ded191f Move EDITOR to dxxsconf.h; rename to DXX_USE_EDITOR
Rename symbol EDITOR to DXX_USE_EDITOR to show that it is a DXX
symbol, not one inherited from a library.  Move it to dxxsconf.h to
shorten the command line.

This is a mostly automated transform, but the changes to SConstruct were
manual.

git grep -wl EDITOR -- '*.h' '*.cpp' | xargs sed -i -e 's/^\s*#ifdef \(EDITOR\)\>/#if DXX_USE_\1/' -e 's/\s*#\(el\)\?if \(.*\)defined(\(EDITOR\))/#\1if \2DXX_USE_\3/' -e 's/^\s*#ifndef \(EDITOR\)\>/#if !DXX_USE_\1/'
2016-09-11 18:49:16 +00:00
Kp ee1003f29f Move conditionally compiled code into namespace dsx 2016-08-25 04:05:32 +00:00
Kp e446965511 Remove unnecessary wall number check in kill_stuck_objects
Callers are expected to filter out invalid numbers.  Even if they do
not, the only use of the number is to match entries in Stuck_objects.
An invalid match could cause a call to vobjptr() with an invalid index,
but that would be diagnosed by the valptridx checking, so no invalid
memory access will occur.
2016-07-21 01:43:22 +00:00
Kp 278c10dec0 Move flush_fcd_cache calls up from kill_stuck_objects
Many callers of kill_stuck_objects call it twice, once for each of two
walls.  Move the flush_fcd_cache up to occur only once, rather than once
per wall.
2016-07-21 01:43:21 +00:00
Kp 82e6ab130b Remove kill_stuck_objects() in wall_illusion_off
Objects cannot become stuck in illusionary walls, so there is nothing to
kill.
2016-07-21 01:43:21 +00:00
Kp 24f59cc9d0 Add stub flush_fcd_cache for D1 2016-07-21 01:43:21 +00:00
Kp b1bdf4aa53 Unify D1/D2 remove_obsolete_stuck_objects
After fixing the bogus lifeleft assignment, the D2 version is equivalent
to a more thorough version of the D1 version.  Delete the D1 version and
use the D2 version for both games.
2016-07-21 01:43:21 +00:00
Kp 7d926f0741 Remove bogus remove_obsolete_stuck_objects lifeleft change
This assignment looks bogus.  If the signature saved when the object
became stuck is different from the signature of the object currently
using that slot, then remove_obsolete_stuck_objects kills the object
using that slot.  Signatures are defined to change when the object slot
is freed and reused.  Therefore, this statement kills the new object
that took the slot of the obsolete object.  This new object may be
important, such as a spawned robot or a weapon.
2016-07-21 01:43:21 +00:00
Kp f29630bd4a Propagate MAX_STUCK_OBJECTS 2016-07-21 01:43:21 +00:00
Kp a98e97505e Fix -Wshadow warnings in do_door_close 2016-05-21 17:24:50 +00:00
Kp 30230a8137 Pass object &to blast_nearby_glass 2016-04-23 17:59:47 +00:00
Kp a18a483114 Pass object &to bng_process_segment 2016-04-23 17:59:47 +00:00
Kp 5dae1e9080 Use range_for for kill_stuck_objects 2016-04-05 01:10:18 +00:00
Kp cc18ad2b68 Fix some -Wshadow warnings 2016-02-12 04:02:28 +00:00
Kp 553b313099 Use vwallptr 2016-02-12 04:02:28 +00:00
Kp 08248331a9 Unify do_door_close 2016-02-06 22:12:55 +00:00
Kp 0101f98905 Use wallnum_t in more places 2016-02-06 22:12:54 +00:00
Kp bb5d1bb7e5 Use valptridx array type for Walls 2016-02-06 22:12:54 +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 4770d3a35e Factor out wall_illusion_* common logic 2016-01-09 16:38:10 +00:00
Kp 5ba5910e7a Use symbolic side_none for testing find_connect_side result 2016-01-03 20:21:35 +00:00
Kp d479819931 Use absolute_sibling to reduce global references for ptridx 2015-12-22 04:18:51 +00:00
Kp db9fb0ed42 Move more symbols into namespace dcx/dsx 2015-12-22 04:18:50 +00:00
Kp 1adf34403e Compile out unused wclip_write
Unused since 547193c591 ("Compile out unused bm_write_all") disabled caller bm_write_all.
2015-12-04 03:36:31 +00:00
Kp 708dc0a7e1 Use vobjptr/vcobjptr for more Objects[] access 2015-12-03 03:26:49 +00:00
Kp b683b4cc68 Scope weapon type 2015-12-03 03:26:49 +00:00
Kp dad504cfef Fix some -Wshadow warnings 2015-11-26 02:56:54 +00:00
Kp 6b353cb9ac Move player powerup_flags to object.ctype.player_info 2015-11-07 21:55:59 +00:00
Kp 070444157e Use type safe player flags 2015-10-30 02:52:55 +00:00
Kp 2ac6c0e72b Factor out red/gold/blue key messages 2015-10-24 03:13:11 +00:00
Kp 1c84b7ab9c Use enum class for wall_hit_process_t 2015-10-24 03:13:11 +00:00
Kp be62f446f1 Use range_for for clear_stuck_objects 2015-09-15 02:48:03 +00:00
Kp 3b2d6f42ab Use range_for for add_stuck_object 2015-07-21 02:57:27 +00:00
Kp 644c80e632 Pass vsegptr to add_stuck_object 2015-07-21 02:57:27 +00:00
Kp cf678a23ac Pass vcsegptridx/vcsegptr to find_point_seg 2015-07-18 21:01:55 +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 e16f6bd267 Use valptr for wall.cpp 2015-07-12 01:04:21 +00:00
Kp c10e580453 Optimize check_poke
Callers care only for zero vs. non-zero.  Return (sidemask & (1 <<
side)) to skip the test and reload to constant 1.
2015-07-12 01:04:17 +00:00
Kp 8e5bf66b5f Optimize is_door_free
Skip finding the connecting side if the first side is blocked.
2015-07-12 01:04:17 +00:00
Kp f7c6462631 Pass vcobjptr_t to check_poke 2015-07-12 01:04:17 +00:00
Kp 1b6999ff4d Switch get_seg_masks from vcsegptridx_t to vcsegptr_t
The index component is not needed.
2015-07-12 01:04:17 +00:00
Kp c72a3a9b11 Make Stuck_objects static 2015-06-13 22:42:21 +00:00
Kp b6a9b2a853 Pass vsegptridx to wall_toggle 2015-05-28 03:08:40 +00:00
Kp c0eb67a9f1 Use vsegptr in network messages 2015-05-28 03:08:39 +00:00
Kp adbefd39c4 Minimize unnecessary fields passed to check_effect_blowup 2015-04-19 04:18:52 +00:00
Kp b0ec49f8e5 Remove unused file+line from get_seg_masks 2015-04-02 02:36:56 +00:00
Kp aa75a398d9 Move Wall_names to dumpmine.cpp 2015-04-02 02:36:56 +00:00
Kp 90fbebf8fd Convert most global arrays to array<> 2015-04-02 02:36:52 +00:00
Kp 66a70fd373 Prepare for global arrays to be array<> 2015-04-02 02:36:52 +00:00
Kp 7840885473 Fix clang -Wparentheses-equality warnings 2015-03-22 18:49:21 +00:00
Kp 011689f038 Move test for opening doors back down
Locked doors, including the exit door, were permanently impassable in
Descent 1 because the door has state WALL_DOOR_OPENING even after it has
flags WALL_DOOR_OPENED.

Fixes: fd01d4c673 ("Reorder wall_is_doorway to favor likely results")
Reported by: zicodxx @ https://github.com/dxx-rebirth/dxx-rebirth/issues/40
2015-02-15 17:24:55 +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 fd01d4c673 Reorder wall_is_doorway to favor likely results 2015-01-12 00:26:03 +00:00
Kp 44d5ae69c6 Pack wall 2015-01-12 00:26:02 +00:00
Kp 754c5342f9 Move wall declarations to fwdwall.h 2014-12-22 04:35:48 +00:00
Kp 2c349136cc Avoid slicing into segnum_t local 2014-11-20 03:00:36 +00:00
Kp 8a89eff0bb Pass compute_center_point_on_side vector by & 2014-10-30 03:32:27 +00:00
Kp 53aa70cecb Use vsegptridx_t 2014-10-28 03:08:51 +00:00
Kp 9a32e151ff Pass check_effect_blowup vms_vector arg by & 2014-10-26 21:36:35 +00:00
Kp 9dea4b4d88 Pass sound vms_vector arg by & 2014-10-26 21:33:50 +00:00
Kp a79bb365f9 Pass get_seg_masks arg by & 2014-10-26 21:28:38 +00:00
Kp a32547af16 Pass position-related vms_vector arg by & 2014-10-22 02:46:03 +00:00
Kp 4c4eff5a6d Fix Win32 build breaks caused by wrong sized std::size_t 2014-10-19 21:04:16 +00:00
Kp 1fff2db9a8 Pass vm_vec_dist_quick arg by & 2014-10-01 02:28:41 +00:00
Kp 00b59c3058 Pass vm_vec_dot arguments by & 2014-09-28 21:11:48 +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 02e2e77ee6 Tighten processing of WALL_IS_DOORWAY flags 2014-09-06 22:26:11 +00:00
Kp d312248d45 Return int_fast32_t from find_connect_side 2014-09-06 04:06:18 +00:00
Kp b95759aecc Propagate use of objptridx 2014-08-23 23:53:56 +00:00
Kp 125d9257be Use special type names for segment/object numbers 2014-08-13 02:57:12 +00:00
Kp bb66bbbff7 Remove always-true tests 2014-07-16 03:23:14 +00:00
Kp 78143eb045 Read walls carefully 2014-06-21 23:56:27 +00:00
Kp 993f778e61 Write active_door carefully 2014-06-20 02:59:53 +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 176525cf71 Read cloaking_wall structures carefully 2014-06-20 02:59:53 +00:00
Kp 0ef949ab9e Use array<> for CloakingWalls 2014-06-20 02:59:53 +00:00
Kp d510438fd4 Use array<> for WallAnims 2014-06-15 03:35:21 +00:00
Kp bd35eb7469 Use array<> for wclip arrays 2014-06-14 23:13:38 +00:00
Kp 41dc39c64c Remove unused v19_door 2014-06-08 00:05:33 +00:00
zico ad7cb106bc Changed custom D1X license to GPLv3 2014-06-01 19:55:23 +02:00
Kp 7af7f60ffb Pass objptridx_t to add_stuck_object 2014-01-11 22:47:38 +00:00
Kp 9a5d0f6f09 Use symbolic values for segment/object first/none 2014-01-06 04:17:55 +00:00
Kp 094dfbf3d4 Reduce header inclusions 2013-12-31 03:22:03 +00:00
Kp 0aba1b9d76 Use correct SWAP for wall segnum 2013-12-28 22:02:54 +00:00
Kp 958100d676 Use visited_segment_bitarray_t for blast_nearby_glass 2013-12-22 05:33:18 +00:00
zico 5f005baa3b Added MULTI_EFFECT_BLOWUP to remotely blast switches connected to triggers, ensuring sync and preventing misguided (i.e. delayed) player fire accidentially make puzzles or game progress impossible 2013-12-19 13:48:33 +01:00
Kp 75c229c6bf Normalize con_printf newline usage 2013-12-07 21:13:37 +00:00
Kp 68732756e8 Make Wall_names const 2013-11-28 00:27:43 +00:00
Kp 2714679284 Mark private functions static 2013-11-02 04:23:55 +00:00
Kp 6224fb3cef Move similar/main/wall.c -> similar/main/wall.cpp 2012-11-11 22:12:51 +00:00
Renamed from similar/main/wall.c (Browse further)