mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-16 01:11:44 +00:00
- fixed the crane.
Cannot take the special value out of the owner field. :(
This commit is contained in:
parent
721efae0d3
commit
6729859e39
2 changed files with 9 additions and 10 deletions
|
@ -715,7 +715,7 @@ void movecrane(DDukeActor *actor, int crane)
|
|||
ps[p].on_crane = nullptr;
|
||||
}
|
||||
t[0]++;
|
||||
actor->SetOwner(nullptr);
|
||||
actor->SetActiveCrane(false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -789,7 +789,7 @@ void movecrane(DDukeActor *actor, int crane)
|
|||
setsprite(ScriptIndexToActor(msy[t[4] + 2]), spri->x, spri->y, spri->z - (34 << 8));
|
||||
|
||||
auto Owner = actor->GetOwner();
|
||||
if (Owner != nullptr)
|
||||
if (Owner != nullptr || actor->IsActiveCrane())
|
||||
{
|
||||
int p = findplayer(actor, &x);
|
||||
|
||||
|
@ -804,14 +804,13 @@ void movecrane(DDukeActor *actor, int crane)
|
|||
return;
|
||||
}
|
||||
|
||||
auto a_owner = actor->GetOwner();
|
||||
if (a_owner != nullptr)
|
||||
if (Owner != nullptr)
|
||||
{
|
||||
setsprite(a_owner, spri->pos);
|
||||
setsprite(Owner, spri->pos);
|
||||
|
||||
a_owner->bposx = spri->x;
|
||||
a_owner->bposy = spri->y;
|
||||
a_owner->bposz = spri->z;
|
||||
Owner->bposx = spri->x;
|
||||
Owner->bposy = spri->y;
|
||||
Owner->bposz = spri->z;
|
||||
|
||||
spri->zvel = 0;
|
||||
}
|
||||
|
|
|
@ -77,12 +77,12 @@ struct weaponhit
|
|||
// This used the Owner field - better move this to something more safe.
|
||||
inline bool IsActiveCrane()
|
||||
{
|
||||
return palvals == -2;
|
||||
return s.owner == -2;
|
||||
}
|
||||
|
||||
inline void SetActiveCrane(bool yes)
|
||||
{
|
||||
palvals = yes ? -2 : -1;
|
||||
s.owner = yes ? -2 : -1;
|
||||
}
|
||||
|
||||
int PlayerIndex() const
|
||||
|
|
Loading…
Reference in a new issue