Pass object &to apply_damage_to_player

This commit is contained in:
Kp 2016-04-06 03:34:14 +00:00
parent 72aa4bc8fb
commit 0c299248d4
2 changed files with 11 additions and 6 deletions

View file

@ -36,7 +36,9 @@ COPYRIGHT 1993-1999 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.
#if defined(DXX_BUILD_DESCENT_I) || defined(DXX_BUILD_DESCENT_II)
void collide_two_objects(vobjptridx_t A, vobjptridx_t B, vms_vector &collision_point);
void collide_object_with_wall(vobjptridx_t A, fix hitspeed, vsegptridx_t hitseg, short hitwall, const vms_vector &hitpt);
void apply_damage_to_player(vobjptr_t player, cobjptridx_t killer, fix damage, uint8_t possibly_friendly);
namespace dsx {
void apply_damage_to_player(object &player, cobjptridx_t killer, fix damage, uint8_t possibly_friendly);
}
// Returns 1 if robot died, else 0.
int apply_damage_to_robot(vobjptridx_t robot, fix damage, objnum_t killer_objnum);

View file

@ -2050,7 +2050,9 @@ void drop_player_eggs(const vobjptridx_t playerobj)
}
}
void apply_damage_to_player(const vobjptr_t playerobj, const cobjptridx_t killer, fix damage, ubyte possibly_friendly)
namespace dsx {
void apply_damage_to_player(object &playerobj, const cobjptridx_t killer, fix damage, ubyte possibly_friendly)
{
if (Player_dead_state != player_dead_state::no)
return;
@ -2071,13 +2073,12 @@ void apply_damage_to_player(const vobjptr_t playerobj, const cobjptridx_t killer
if (get_player_id(playerobj) == Player_num) { //is this the local player?
PALETTE_FLASH_ADD(f2i(damage)*4,-f2i(damage/2),-f2i(damage/2)); //flash red
const auto shields = (playerobj->shields -= damage);
const auto shields = (playerobj.shields -= damage);
if (shields < 0)
{
get_local_plrobj().ctype.player_info.killer_objnum = killer;
playerobj->flags |= OF_SHOULD_BE_DEAD;
playerobj.ctype.player_info.killer_objnum = killer;
playerobj.flags |= OF_SHOULD_BE_DEAD;
#if defined(DXX_BUILD_DESCENT_II)
if (Buddy_objnum != object_none)
@ -2088,6 +2089,8 @@ void apply_damage_to_player(const vobjptr_t playerobj, const cobjptridx_t killer
}
}
}
static void collide_player_and_weapon(const vobjptridx_t playerobj, const vobjptridx_t weapon, vms_vector &collision_point)
{
fix damage = weapon->shields;