Pass context to drop_stolen_items
This commit is contained in:
parent
60c5fc5dc4
commit
29d6072f60
|
@ -13,9 +13,8 @@
|
|||
#pragma once
|
||||
|
||||
#include "maths.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
#include "fwd-object.h"
|
||||
#include "fwd-vclip.h"
|
||||
|
||||
#ifdef dsx
|
||||
namespace dsx {
|
||||
|
@ -23,7 +22,7 @@ namespace dsx {
|
|||
static inline void detect_escort_goal_accomplished(const vmobjptridx_t &)
|
||||
{
|
||||
}
|
||||
static inline void drop_stolen_items (const vcobjptr_t &) {}
|
||||
static inline void drop_stolen_items (fvmsegptridx &, d_level_unique_object_state &, const d_vclip_array &, const object_base &) {}
|
||||
#elif defined(DXX_BUILD_DESCENT_II)
|
||||
#define GUIDEBOT_NAME_LEN 9
|
||||
struct netgame_info;
|
||||
|
@ -35,7 +34,7 @@ void set_escort_special_goal(d_unique_buddy_state &BuddyState, int key);
|
|||
void recreate_thief(uint8_t thief_id);
|
||||
void init_buddy_for_level(void);
|
||||
void invalidate_escort_goal(d_unique_buddy_state &);
|
||||
void drop_stolen_items (vcobjptr_t);
|
||||
void drop_stolen_items (fvmsegptridx &vmsegptridx, d_level_unique_object_state &LevelUniqueObjectState, const d_vclip_array &Vclip, const object_base &);
|
||||
unsigned check_warn_local_player_can_control_guidebot(fvcobjptr &vcobjptr, const d_unique_buddy_state &, const netgame_info &Netgame);
|
||||
|
||||
enum escort_goal_t : uint8_t
|
||||
|
@ -70,5 +69,3 @@ enum escort_goal_t : uint8_t
|
|||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1842,15 +1842,15 @@ void init_thief_for_level(void)
|
|||
}
|
||||
|
||||
// --------------------------------------------------------------------------------------------------------------
|
||||
void drop_stolen_items(const vcobjptr_t objp)
|
||||
void drop_stolen_items(fvmsegptridx &vmsegptridx, d_level_unique_object_state &LevelUniqueObjectState, const d_vclip_array &Vclip, const object_base &objp)
|
||||
{
|
||||
auto &ThiefUniqueState = LevelUniqueObjectState.ThiefState;
|
||||
const auto &&segp = vmsegptridx(objp->segnum);
|
||||
const auto &&segp = vmsegptridx(objp.segnum);
|
||||
range_for (auto &i, ThiefUniqueState.Stolen_items)
|
||||
{
|
||||
if (i != 255)
|
||||
{
|
||||
drop_powerup(Vclip, std::exchange(i, 255), 1, objp->mtype.phys_info.velocity, objp->pos, segp, true);
|
||||
drop_powerup(Vclip, std::exchange(i, 255), 1, objp.mtype.phys_info.velocity, objp.pos, segp, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1465,7 +1465,7 @@ void do_explosion_sequence(object &obj)
|
|||
}
|
||||
#if defined(DXX_BUILD_DESCENT_II)
|
||||
if (robot_is_thief(robptr))
|
||||
drop_stolen_items(del_obj);
|
||||
drop_stolen_items(vmsegptridx, LevelUniqueObjectState, Vclip, del_obj);
|
||||
else if (robot_is_companion(robptr))
|
||||
{
|
||||
DropBuddyMarker(del_obj);
|
||||
|
|
|
@ -959,7 +959,7 @@ int multi_explode_robot_sub(const vmobjptridx_t robot)
|
|||
multi_drop_robot_powerups(robot);
|
||||
}
|
||||
if (robot_is_thief(Robot_info[get_robot_id(robot)]))
|
||||
drop_stolen_items(robot);
|
||||
drop_stolen_items(vmsegptridx, LevelUniqueObjectState, Vclip, robot);
|
||||
|
||||
if (Robot_info[get_robot_id(robot)].boss_flag) {
|
||||
if (!BossUniqueState.Boss_dying)
|
||||
|
|
Loading…
Reference in a new issue