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
Kp
7e263323bc
Simplify boss invulnerability lookup
2015-06-07 16:21:37 +00:00
Kp
ea2c2df250
Update open-coded tests for segment_none
2015-05-28 03:08:39 +00:00
Kp
b5eae4c809
Split create_smart_children
2015-05-09 17:38:58 +00:00
Kp
8d849b2b39
Wrap laser level in class
...
Move enum laser_level_t to weapon.h for the new class.
2015-04-26 20:15:56 +00:00
Kp
f15ec9c86a
Use enum for AIM constants
2015-04-26 20:15:51 +00:00
Kp
3eb8f4813e
Pass vcobjptr_t to apply_damage_to_controlcen
2015-04-22 02:44:30 +00:00
Kp
b88c232f9f
Use powerup_type_t for *_weapon_to_powerup
2015-04-19 04:18:53 +00:00
Kp
adbefd39c4
Minimize unnecessary fields passed to check_effect_blowup
2015-04-19 04:18:52 +00:00
Kp
c338862ad6
Reduce gauges.h includes
2015-04-19 04:18:51 +00:00
Kp
516b8b2397
Reduce collide.h includes
2015-04-19 04:18:51 +00:00