Pass context to spit_powerup
This commit is contained in:
parent
b61add4765
commit
801c76cbd2
|
@ -202,7 +202,7 @@ int pick_up_secondary(player_info &, secondary_weapon_index_t weapon_index, int
|
|||
namespace dsx {
|
||||
int pick_up_vulcan_ammo(player_info &player_info, uint_fast32_t ammo_count, bool change_weapon = true);
|
||||
//this function is for when the player intentionally drops a powerup
|
||||
imobjptridx_t spit_powerup(const d_vclip_array &Vclip, const object_base &spitter, unsigned id, unsigned seed);
|
||||
imobjptridx_t spit_powerup(d_level_unique_object_state &LevelUniqueObjectState, const d_level_shared_segment_state &LevelSharedSegmentState, d_level_unique_segment_state &LevelUniqueSegmentState, const d_vclip_array &Vclip, const object_base &spitter, unsigned id, unsigned seed);
|
||||
|
||||
#if defined(DXX_BUILD_DESCENT_II)
|
||||
void attempt_to_steal_item(vmobjptridx_t objp, const robot_info &, object &playerobjp);
|
||||
|
|
|
@ -3810,7 +3810,7 @@ static void multi_do_drop_weapon(fvmobjptr &vmobjptr, const playernum_t pnum, co
|
|||
remote_objnum = GET_INTEL_SHORT(buf + 2);
|
||||
ammo = GET_INTEL_SHORT(buf + 4);
|
||||
seed = GET_INTEL_INT(buf + 6);
|
||||
const auto &&objnum = spit_powerup(Vclip, vmobjptr(vcplayerptr(pnum)->objnum), powerup_id, seed);
|
||||
const auto &&objnum = spit_powerup(LevelUniqueObjectState, LevelSharedSegmentState, LevelUniqueSegmentState, Vclip, vmobjptr(vcplayerptr(pnum)->objnum), powerup_id, seed);
|
||||
if (objnum == object_none)
|
||||
return;
|
||||
objnum->ctype.powerup_info.count = ammo;
|
||||
|
@ -4461,7 +4461,7 @@ static void DropOrb ()
|
|||
|
||||
seed = d_rand();
|
||||
|
||||
const auto &&objnum = spit_powerup(Vclip, vmobjptr(ConsoleObject), POW_HOARD_ORB, seed);
|
||||
const auto &&objnum = spit_powerup(LevelUniqueObjectState, LevelSharedSegmentState, LevelUniqueSegmentState, Vclip, *ConsoleObject, POW_HOARD_ORB, seed);
|
||||
if (objnum == object_none)
|
||||
return;
|
||||
|
||||
|
@ -4502,7 +4502,7 @@ void DropFlag ()
|
|||
return;
|
||||
}
|
||||
seed = d_rand();
|
||||
const auto &&objnum = spit_powerup(Vclip, vmobjptr(ConsoleObject), get_team(Player_num) == TEAM_RED ? POW_FLAG_BLUE : POW_FLAG_RED, seed);
|
||||
const auto &&objnum = spit_powerup(LevelUniqueObjectState, LevelSharedSegmentState, LevelUniqueSegmentState, Vclip, *ConsoleObject, get_team(Player_num) == TEAM_RED ? POW_FLAG_BLUE : POW_FLAG_RED, seed);
|
||||
if (objnum == object_none)
|
||||
{
|
||||
HUD_init_message_literal(HM_MULTI, "Failed to drop flag!");
|
||||
|
@ -4547,7 +4547,7 @@ static void multi_do_drop_flag (const playernum_t pnum, const ubyte *buf)
|
|||
|
||||
const auto &&objp = vmobjptr(vcplayerptr(pnum)->objnum);
|
||||
|
||||
const imobjidx_t objnum = spit_powerup(Vclip, objp, powerup_id, seed);
|
||||
const imobjidx_t objnum = spit_powerup(LevelUniqueObjectState, LevelSharedSegmentState, LevelUniqueSegmentState, Vclip, objp, powerup_id, seed);
|
||||
if (objnum == object_none)
|
||||
return;
|
||||
|
||||
|
|
|
@ -1452,7 +1452,7 @@ void process_super_mines_frame(void)
|
|||
|
||||
//this function is for when the player intentionally drops a powerup
|
||||
//this function is based on drop_powerup()
|
||||
imobjptridx_t spit_powerup(const d_vclip_array &Vclip, const object_base &spitter, const unsigned id, const unsigned seed)
|
||||
imobjptridx_t spit_powerup(d_level_unique_object_state &LevelUniqueObjectState, const d_level_shared_segment_state &LevelSharedSegmentState, d_level_unique_segment_state &LevelUniqueSegmentState, const d_vclip_array &Vclip, const object_base &spitter, const unsigned id, const unsigned seed)
|
||||
{
|
||||
d_srand(seed);
|
||||
|
||||
|
@ -1519,7 +1519,6 @@ imobjptridx_t spit_powerup(const d_vclip_array &Vclip, const object_base &spitte
|
|||
void DropCurrentWeapon (player_info &player_info)
|
||||
{
|
||||
auto &Objects = LevelUniqueObjectState.Objects;
|
||||
auto &vmobjptr = Objects.vmptr;
|
||||
if (LevelUniqueObjectState.num_objects >= Objects.size())
|
||||
return;
|
||||
|
||||
|
@ -1571,7 +1570,7 @@ void DropCurrentWeapon (player_info &player_info)
|
|||
}
|
||||
|
||||
const auto seed = d_rand();
|
||||
const auto objnum = spit_powerup(Vclip, vmobjptr(ConsoleObject), drop_type, seed);
|
||||
const auto objnum = spit_powerup(LevelUniqueObjectState, LevelSharedSegmentState, LevelUniqueSegmentState, Vclip, *ConsoleObject, drop_type, seed);
|
||||
if (objnum == object_none)
|
||||
{
|
||||
HUD_init_message(HM_DEFAULT, "Failed to drop %s!", weapon_name);
|
||||
|
@ -1625,7 +1624,6 @@ void DropCurrentWeapon (player_info &player_info)
|
|||
void DropSecondaryWeapon (player_info &player_info)
|
||||
{
|
||||
auto &Objects = LevelUniqueObjectState.Objects;
|
||||
auto &vmobjptr = Objects.vmptr;
|
||||
int seed;
|
||||
ushort sub_ammo=0;
|
||||
|
||||
|
@ -1726,7 +1724,7 @@ void DropSecondaryWeapon (player_info &player_info)
|
|||
|
||||
seed = d_rand();
|
||||
|
||||
auto objnum = spit_powerup(Vclip, vmobjptr(ConsoleObject), weapon_drop_id, seed);
|
||||
auto objnum = spit_powerup(LevelUniqueObjectState, LevelSharedSegmentState, LevelUniqueSegmentState, Vclip, *ConsoleObject, weapon_drop_id, seed);
|
||||
|
||||
const auto weapon_name = SECONDARY_WEAPON_NAMES(Secondary_weapon);
|
||||
if (objnum == object_none)
|
||||
|
|
Loading…
Reference in a new issue