- something on player is now a pointer as well

This commit is contained in:
Christoph Oelckers 2020-10-17 11:10:12 +02:00
parent 72329eb01b
commit 6f4a0c94e8
4 changed files with 11 additions and 11 deletions

View file

@ -2516,8 +2516,8 @@ static void greenslime(int i)
} }
ps[p].actors_killed++; ps[p].actors_killed++;
t[0] = -3; t[0] = -3;
if (ps[p].somethingonplayer == i) if (ps[p].somethingonplayer == &hittype[i])
ps[p].somethingonplayer = -1; ps[p].somethingonplayer = nullptr;
deletesprite(i); deletesprite(i);
return; return;
} }
@ -2584,9 +2584,9 @@ static void greenslime(int i)
else if (s->xvel < 64 && x < 768) else if (s->xvel < 64 && x < 768)
{ {
if (ps[p].somethingonplayer == -1) if (ps[p].somethingonplayer == nullptr)
{ {
ps[p].somethingonplayer = i; ps[p].somethingonplayer = &hittype[i];
if (t[0] == 3 || t[0] == 2) //Falling downward if (t[0] == 3 || t[0] == 2) //Falling downward
t[2] = (12 << 8); t[2] = (12 << 8);
else t[2] = -(13 << 8); //Climbing up duke else t[2] = -(13 << 8); //Climbing up duke
@ -2598,8 +2598,8 @@ static void greenslime(int i)
{ {
S_PlayActorSound(SLIM_DYING, i); S_PlayActorSound(SLIM_DYING, i);
if (ps[p].somethingonplayer == i) if (ps[p].somethingonplayer == &hittype[i])
ps[p].somethingonplayer = -1; ps[p].somethingonplayer = nullptr;
if (j == FREEZEBLAST) if (j == FREEZEBLAST)
{ {

View file

@ -602,8 +602,8 @@ void DoPlayer(bool bSet, int lVar1, int lLabelID, int lVar2, int sActor, int sPl
break; break;
case PLAYER_SOMETHINGONPLAYER: case PLAYER_SOMETHINGONPLAYER:
if (bSet) ps[iPlayer].somethingonplayer = lValue; if (bSet) ps[iPlayer].somethingonplayer = ScriptIndexToActor(lValue);
else SetGameVarID((int)lVar2, ps[iPlayer].somethingonplayer, sActor, sPlayer); else SetGameVarID((int)lVar2, ActorToScriptIndex(ps[iPlayer].somethingonplayer), sActor, sPlayer);
break; break;
case PLAYER_ON_CRANE: case PLAYER_ON_CRANE:

View file

@ -149,7 +149,7 @@ void resetplayerstats(int snum)
p->poszv = 0; p->poszv = 0;
p->fric.x = 0; p->fric.x = 0;
p->fric.y = 0; p->fric.y = 0;
p->somethingonplayer =-1; p->somethingonplayer =nullptr;
p->angle.spin = bamlook(0); p->angle.spin = bamlook(0);
p->on_crane = nullptr; p->on_crane = nullptr;

View file

@ -203,12 +203,12 @@ struct player_struct
short jumping_counter, airleft, knee_incs, access_incs; short jumping_counter, airleft, knee_incs, access_incs;
short ftq, access_wallnum, access_spritenum; short ftq, access_wallnum, access_spritenum;
short got_access, weapon_ang, firstaid_amount; short got_access, weapon_ang, firstaid_amount;
short somethingonplayer, i, one_parallax_sectnum; short i, one_parallax_sectnum;
short over_shoulder_on, fist_incs; short over_shoulder_on, fist_incs;
short cheat_phase; short cheat_phase;
short dummyplayersprite, extra_extra8, quick_kick, last_quick_kick; short dummyplayersprite, extra_extra8, quick_kick, last_quick_kick;
short heat_amount, timebeforeexit, customexitsound; short heat_amount, timebeforeexit, customexitsound;
DDukeActor* actorsqu, *wackedbyactor, *on_crane, *holoduke_on;//, *somethingonplayer; DDukeActor* actorsqu, *wackedbyactor, *on_crane, *holoduke_on, *somethingonplayer;
short weaprecs[256], weapreccnt; short weaprecs[256], weapreccnt;
unsigned int interface_toggle_flag; unsigned int interface_toggle_flag;