Kp
98c9374a12
Simplify powerup_grab_cheat_all path
...
Movement handling has an ugly hack that tries to grab powerups near the
console player, but it reuses general collision handling and fails to
check whether the player is alive.
Add a liveness check. Place the check so that it happens once, before
the objects are scanned, rather than being needlessly repeated for every
object.
Refactor the collision code to let the movement hack skip the parts it
does not need.
Reported-by: ryusei117 <https://github.com/dxx-rebirth/dxx-rebirth/issues/302#issuecomment-275816259 >
2017-02-04 23:10:29 +00:00
Chris Taylor
4cc801f42f
Remove calls to window_close(Game_wind) when game finished or over
...
Replace calls to window_close(Game_wind) with returning window_event_result::close to game handler. Applies to when DoEndGame() is called, DoGameOver() is called, aborting in the kmatrix screen (multiplayer game) during AdvanceLevel() and playing one demo frame causes playback to stop in GameProcessFrame(). Closing a window within its handler is problematic - it can result in an unstable state.
2017-01-08 21:08:50 +08:00
zico
ffb68756e3
Changed handling of scrape_player_on_wall(), preventing it to occur multiple times per frame.
2016-12-02 13:37:08 +01:00
Kp
ee1003f29f
Move conditionally compiled code into namespace dsx
2016-08-25 04:05:32 +00:00
Kp
3677e7036e
Pass object &to collide_player_and_powerup
2016-04-23 17:59:47 +00:00
Kp
7ea89fda9f
Pass object_base &to bump_one_object
2016-04-23 17:59:47 +00:00
Kp
0c299248d4
Pass object &to apply_damage_to_player
2016-04-06 03:34:14 +00:00
Kp
e283a22709
Use enum class for check_volatile_wall
2016-01-29 04:05:47 +00:00
Kp
bc488a8f57
Improve check_volatile_wall
2016-01-29 04:05:47 +00:00
Kp
e549f3451e
Use inline namespace dsx for object.h
2015-12-05 22:57:25 +00:00
Kp
cfc35e819d
Use inline namespace dcx for common/maths
2015-12-05 22:57:24 +00:00
Kp
bb41075adb
Add preprocessor guards around types that vary by game
2015-11-26 02:56:55 +00:00
Kp
ad8b4230df
Move fwdsegment.h -> fwd-segment.h for consistency
2015-10-10 03:44:14 +00:00
Kp
2196008178
Move fwdobject.h -> fwd-object.h for consistency
2015-10-10 03:44:14 +00:00
Kp
946048c54b
Move valptridx subtypes to individual fwd headers
2015-08-22 20:43:04 +00:00
Kp
15fb75c1c7
Fix check_header_includes build
2015-07-25 23:10:45 +00:00
Kp
6792c1bc4b
Enable -Wunused-parameter
2015-04-26 20:15:56 +00:00
Kp
3eb8f4813e
Pass vcobjptr_t to apply_damage_to_controlcen
2015-04-22 02:44:30 +00:00
Kp
adbefd39c4
Minimize unnecessary fields passed to check_effect_blowup
2015-04-19 04:18:52 +00:00
Kp
516b8b2397
Reduce collide.h includes
2015-04-19 04:18:51 +00:00
Kp
d63be88eb0
Propagate use of vsegptridx_t
2014-11-23 04:58:45 +00:00
Kp
317fffe5da
Move #endif to cover functions that need trigger
2014-11-17 04:02:26 +00:00
Kp
53aa70cecb
Use vsegptridx_t
2014-10-28 03:08:51 +00:00
Kp
8aeeb3da0e
Pass bump_one_object vms_vector by const &
2014-10-26 21:44:38 +00:00
Kp
012435f5c4
Pass collide_*_and_* arg by &
...
Use const& where possible. Some are non-const due to the recent FVI
hack that resets the collision point late.
2014-10-26 21:36:40 +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
eef8bb3365
Pass collide_two_objects vms_vector arg by &
2014-10-10 02:30:13 +00:00
Kp
bcb26678e2
Remove unused hitpt on check_volatile_wall
2014-10-10 02:29:47 +00:00
Kp
b95759aecc
Propagate use of objptridx
2014-08-23 23:53:56 +00:00
Kp
66cb80c343
Propagate use of objptridx
2014-08-17 20:31:18 +00:00
Kp
125d9257be
Use special type names for segment/object numbers
2014-08-13 02:57:12 +00:00
Kp
da1bd2fd08
Precompute collision tables
2014-06-24 03:40:31 +00:00
zico
ad7cb106bc
Changed custom D1X license to GPLv3
2014-06-01 19:55:23 +02:00
Kp
a2427f58b5
Use special type to reduce pointer/index conversions
2014-01-12 19:32:12 +00:00
Kp
3a889b5825
Pass objptridx_t to apply_damage_to_robot
2014-01-12 00:33:14 +00:00
Kp
b17bafa29f
Pass objptridx_t to apply_damage_to_controlcen
2014-01-12 00:33:03 +00:00
Kp
9d0cc8324e
Pass objptridx_t to net_destroy_controlcen
2014-01-12 00:32:30 +00:00
Kp
a8aa9965e8
Pass objptridx_t to collide_*_and_*
2014-01-12 00:19:12 +00:00
Kp
8cffd14b8c
Pass objptridx_t to collide_two_objects
2014-01-11 23:19:44 +00:00
Kp
1c7f58b448
Pass objptridx_t to collide_object_with_wall
2014-01-11 23:07:51 +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
9de54cfa74
Switch to C++ linkage
...
import fileinput
guard = 0
cxxguard = '#ifdef __cplusplus\n'
for line in fileinput.input(inplace=True):
if line == cxxguard:
guard = 1
continue
if guard:
if line == 'extern "C" {\n':
guard = 2
continue
if line == '}\n':
guard = 0
continue
if guard == 2:
assert(line == '#endif\n')
guard = 0
print cxxguard,
continue
print line,
2013-12-06 03:35:32 +00:00
Kp
d656bd4115
Move similar/main/game.c -> similar/main/game.cpp
2013-10-05 21:35:58 +00:00
Kp
c58c4e4d06
Move declarations to headers
2013-10-03 03:11:52 +00:00
Kp
4cabcb5d3d
Move */main/collide.h -> common/main/collide.h
2013-03-03 01:03:33 +00:00