Kp
553b313099
Use vwallptr
2016-02-12 04:02:28 +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
a3ae630829
Remove default argument for basic_ptridx(index)
2016-01-09 16:38:14 +00:00
Kp
cefc79f869
Construct find_point_seg segptridx explicitly
2016-01-09 16:38:13 +00:00
Kp
2b51578ba6
Use enum class for Player_dead_state (formerly Player_is_dead)
2015-12-15 04:09:35 +00:00
Kp
26e948d5f1
Uninline namespace dsx
2015-12-13 18:00:49 +00:00
Kp
e549f3451e
Use inline namespace dsx for object.h
2015-12-05 22:57:25 +00:00
Kp
9231cfb853
Remove write-only D1 variable Boss_been_hit
2015-12-04 03:36:32 +00:00
Kp
111ac7f7f3
Fix player/marker confusion due to sorting
...
Fixes: 1d7418497e
("Condense collision table")
2015-12-03 03:26:49 +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
31d538ebe2
Use helper for robot weapon type
2015-12-03 03:26:48 +00:00
Kp
c45f93b503
Short out apply_damage_to_player friendly fire check
2015-11-27 03:56:13 +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
7d22139334
Fix vulcan ammo drop loop
...
Fixes: 6037372cdf
("Move player vulcan_ammo to object.ctype.player_info")
2015-11-14 23:42:27 +00:00
Kp
9a132977b9
Fix drop_player_eggs smart mine logic
...
The count of mines was not decremented, so a player who entered the loop
could continue to drop until (d_rand() < rthresh) became false. Halving
rthresh on each pass guaranteed that it would stop, but with the right
string of random numbers, the player could drop more mines than he had.
Remove the ==1 qualifier, so that mines can spawn whenever one will be
lost to rounding.
2015-11-12 02:57:45 +00:00
Kp
93888b4e37
Move collide_two_objects swap back to top
...
Fixes: 1d7418497e
("Condense collision table")
2015-11-09 02:33:49 +00:00
Kp
1d7418497e
Condense collision table
2015-11-08 18:55:50 +00:00
Kp
1a2e4205f6
Combine related call_object_create_egg calls
2015-11-07 21:56:00 +00:00
Kp
6b353cb9ac
Move player powerup_flags to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
8a81e25ab0
Move player laser_level to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
b788d0b563
Move player primary_weapon_flags to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
8d6949efa6
Move player killer_objnum to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
6037372cdf
Move player vulcan_ammo to object.ctype.player_info
2015-11-07 21:55:59 +00:00
Kp
e227ef1b32
Move player secondary_ammo to object.ctype.player_info
2015-11-07 21:55:58 +00:00
Kp
2e28a491f2
Move player shields to struct object
2015-11-07 21:55:58 +00:00
Kp
df5e02aed0
Use macro get_local_player_invulnerable_time for player's invulnerable_time
2015-10-30 02:52:56 +00:00
Kp
17b8b64980
Use macro get_local_player_flags for player's flags
2015-10-30 02:52:56 +00:00
Kp
3ffd207e44
Use macro get_local_player_shields for local player's shields
2015-10-30 02:52:55 +00:00
Kp
070444157e
Use type safe player flags
2015-10-30 02:52:55 +00:00
Kp
e130ea7b36
Remove unnecessary secondary_weapon_flags
2015-10-30 02:52:53 +00:00
Kp
1c84b7ab9c
Use enum class for wall_hit_process_t
2015-10-24 03:13:11 +00:00
Kp
0c303bc539
Use ?: for drop_player_eggs flag
2015-10-24 03:13:11 +00:00
Kp
533f1cb3bb
Qualify references to primary weapons
2015-10-18 21:01:18 +00:00
Kp
4585faa461
Cache reference to secondary_ammo
2015-10-10 03:44:14 +00:00
Kp
36c52f7437
Reduce pointer->int->pointer conversions for thief
2015-10-10 03:44:14 +00:00
Kp
111fc56b00
Return objptridx from maybe_drop_primary_weapon_egg
2015-10-03 17:17:50 +00:00
Kp
9df40a86cb
Use uint8 for secondary ammo counts
...
Maximum non-cheating is 40 missiles, which fits in a signed 8 bit value.
Maximum cheating is 200 missiles, which fits in an unsigned 8 bit value.
2015-10-03 17:17:49 +00:00
Kp
39bf7c2206
Simplify apply_damage_to_controlcen time calculation
2015-09-26 21:17:13 +00:00
Kp
1cdd4ac2ce
Pass object & to [gs]et_*_id
2015-09-15 02:48:04 +00:00
Kp
bdbd56c024
Use C++ <cinclude> style
2015-09-09 03:27:52 +00:00
Kp
947145a194
Simplify player-got-hit sound check
2015-08-17 02:44:56 +00:00
Kp
17b1943c5e
Mark various per-file structures as static
2015-08-12 03:11:46 +00:00
Kp
f15116f2cb
Simplify multiplayer sound handling
2015-08-05 02:59:02 +00:00
Kp
bda7fef3a0
Use get_local_player to compute reference to local player
2015-07-25 23:10:46 +00:00
Kp
8bbcf497b7
Use valptr for collide.cpp
2015-07-12 01:04:19 +00:00
Kp
4a742e3fc4
Parenthesize static_assert expression
...
When static_assert is a macro, it must have two arguments as seen by the
preprocessor. Add an identity mapping to the native case to enforce
this, and fix up all the sites that break with the new rule.
2015-07-09 03:12:45 +00:00
Kp
7b1e774cb8
Hack around buggy clang constant warning
...
clang whines that static_assert(A && B) uses && with a constant operand,
but this is necessary and correct, because static_assert only takes
compile-time constant expressions. However, !!A && !!B does not warn.
Switch to !!A && !!B to silence the clang whining.
similar/main/collide.cpp:2566:63: warning: use of logical '&&' with constant operand [-Wconstant-logical-operand]
static_assert(collision_result_t<OBJ_WALL, OBJ_ROBOT>::value && collision_result_t<OBJ_ROBOT, OBJ_WALL>::value, "OBJ_WALL" " " "OBJ_ROBOT");
2015-06-13 22:42:19 +00:00