- parse - part 5.

This commit is contained in:
Christoph Oelckers 2020-10-23 20:21:09 +02:00
parent 7438b57f23
commit aa3d1fdcad

View file

@ -2591,13 +2591,13 @@ int ParseState::parse(void)
} }
else if( aGameVars[*insptr].dwFlags & GAMEVAR_FLAG_PERACTOR) else if( aGameVars[*insptr].dwFlags & GAMEVAR_FLAG_PERACTOR)
{ {
DPrintf(DMSG_NOTIFY, " (Per Actor. Actor=%d)",g_i); DPrintf(DMSG_NOTIFY, " (Per Actor. Actor=%d)",g_ac->GetIndex());
} }
else else
{ {
DPrintf(DMSG_NOTIFY, " (Global)"); DPrintf(DMSG_NOTIFY, " (Global)");
} }
DPrintf(DMSG_NOTIFY, " =%d", GetGameVarID(*insptr, g_i, g_p)); DPrintf(DMSG_NOTIFY, " =%d", GetGameVarID(*insptr, g_ac, g_p));
insptr++; insptr++;
break; break;
} }
@ -2605,7 +2605,7 @@ int ParseState::parse(void)
{ int i; { int i;
insptr++; insptr++;
i=*(insptr++); // ID of def i=*(insptr++); // ID of def
SetGameVarID(i, *insptr, g_i, g_p ); SetGameVarID(i, *insptr, g_ac->GetIndex(), g_p );
insptr++; insptr++;
break; break;
} }
@ -2613,7 +2613,7 @@ int ParseState::parse(void)
{ int i; { int i;
insptr++; insptr++;
i=*(insptr++); // ID of def i=*(insptr++); // ID of def
SetGameVarID(i, GetGameVarID(*insptr, g_i, g_p), g_i, g_p ); SetGameVarID(i, GetGameVarID(*insptr, g_ac, g_p), g_ac->GetIndex(), g_p );
// aGameVars[i].lValue = aGameVars[*insptr].lValue; // aGameVars[i].lValue = aGameVars[*insptr].lValue;
insptr++; insptr++;
break; break;
@ -2622,9 +2622,9 @@ int ParseState::parse(void)
{ int i; { int i;
insptr++; insptr++;
i=*(insptr++); // ID of def i=*(insptr++); // ID of def
//sprintf(g_szBuf,"AddVar %d to Var ID=%d, g_i=%d, g_p=%d\n",*insptr, i, g_i, g_p); //sprintf(g_szBuf,"AddVar %d to Var ID=%d, g_ac->GetIndex()=%d, g_p=%d\n",*insptr, i, g_ac, g_p);
//AddLog(g_szBuf); //AddLog(g_szBuf);
SetGameVarID(i, GetGameVarID(i, g_i, g_p) + *insptr, g_i, g_p ); SetGameVarID(i, GetGameVarID(i, g_ac, g_p) + *insptr, g_ac->GetIndex(), g_p );
insptr++; insptr++;
break; break;
} }
@ -2633,7 +2633,7 @@ int ParseState::parse(void)
{ int i; { int i;
insptr++; insptr++;
i=*(insptr++); // ID of def i=*(insptr++); // ID of def
SetGameVarID(i, GetGameVarID(i, g_i, g_p) + GetGameVarID(*insptr, g_i, g_p), g_i, g_p ); SetGameVarID(i, GetGameVarID(i, g_ac, g_p) + GetGameVarID(*insptr, g_ac, g_p), g_ac->GetIndex(), g_p );
insptr++; insptr++;
break; break;
} }
@ -2643,7 +2643,7 @@ int ParseState::parse(void)
insptr++; insptr++;
i=*(insptr++); // ID of def i=*(insptr++); // ID of def
j=0; j=0;
if(GetGameVarID(i, g_i, g_p) == GetGameVarID(*(insptr), g_i, g_p) ) if(GetGameVarID(i, g_ac, g_p) == GetGameVarID(*(insptr), g_ac, g_p) )
{ {
j=1; j=1;
} }
@ -2656,7 +2656,7 @@ int ParseState::parse(void)
insptr++; insptr++;
i=*(insptr++); // ID of def i=*(insptr++); // ID of def
j=0; j=0;
if(GetGameVarID(i, g_i, g_p) > GetGameVarID(*(insptr), g_i, g_p) ) if(GetGameVarID(i, g_ac, g_p) > GetGameVarID(*(insptr), g_ac, g_p) )
{ {
j=1; j=1;
} }
@ -2669,7 +2669,7 @@ int ParseState::parse(void)
insptr++; insptr++;
i=*(insptr++); // ID of def i=*(insptr++); // ID of def
j=0; j=0;
if(GetGameVarID(i, g_i, g_p) < GetGameVarID(*(insptr), g_i, g_p) ) if(GetGameVarID(i, g_ac, g_p) < GetGameVarID(*(insptr), g_ac, g_p) )
{ {
j=1; j=1;
} }
@ -2682,7 +2682,7 @@ int ParseState::parse(void)
insptr++; insptr++;
i=*(insptr++); // ID of def i=*(insptr++); // ID of def
j=0; j=0;
if(GetGameVarID(i, g_i, g_p) == *insptr) if(GetGameVarID(i, g_ac, g_p) == *insptr)
{ {
j=1; j=1;
} }
@ -2695,7 +2695,7 @@ int ParseState::parse(void)
insptr++; insptr++;
i=*(insptr++); // ID of def i=*(insptr++); // ID of def
j=0; j=0;
if(GetGameVarID(i, g_i, g_p) > *insptr) if(GetGameVarID(i, g_ac, g_p) > *insptr)
{ {
j=1; j=1;
} }
@ -2708,7 +2708,7 @@ int ParseState::parse(void)
insptr++; insptr++;
i=*(insptr++); // ID of def i=*(insptr++); // ID of def
j=0; j=0;
if(GetGameVarID(i, g_i, g_p) < *insptr) if(GetGameVarID(i, g_ac, g_p) < *insptr)
{ {
j=1; j=1;
} }
@ -2717,7 +2717,7 @@ int ParseState::parse(void)
} }
case concmd_ifphealthl: case concmd_ifphealthl:
insptr++; insptr++;
parseifelse( sprite[ps[g_p].i].extra < *insptr); parseifelse( ps[g_p].GetActor()->s.extra < *insptr);
break; break;
case concmd_ifpinventory: case concmd_ifpinventory:
@ -2768,13 +2768,13 @@ int ParseState::parse(void)
} }
case concmd_pstomp: case concmd_pstomp:
insptr++; insptr++;
if( ps[g_p].knee_incs == 0 && sprite[ps[g_p].i].xrepeat >= (isRR()? 9: 40) ) if( ps[g_p].knee_incs == 0 && ps[g_p].GetActor()->s.xrepeat >= (isRR()? 9: 40) )
if( cansee(g_sp->x,g_sp->y,g_sp->z-(4<<8),g_sp->sectnum,ps[g_p].posx,ps[g_p].posy,ps[g_p].posz+(16<<8),sprite[ps[g_p].i].sectnum) ) if( cansee(g_sp->x,g_sp->y,g_sp->z-(4<<8),g_sp->sectnum,ps[g_p].posx,ps[g_p].posy,ps[g_p].posz+(16<<8),ps[g_p].GetActor()->s.sectnum) )
{ {
ps[g_p].knee_incs = 1; ps[g_p].knee_incs = 1;
if(ps[g_p].weapon_pos == 0) if(ps[g_p].weapon_pos == 0)
ps[g_p].weapon_pos = -1; ps[g_p].weapon_pos = -1;
ps[g_p].actorsqu = &hittype[g_i]; ps[g_p].actorsqu = g_ac;
} }
break; break;
case concmd_ifawayfromwall: case concmd_ifawayfromwall:
@ -2813,7 +2813,7 @@ int ParseState::parse(void)
parseifelse( fi.floorspace(g_sp->sectnum)); parseifelse( fi.floorspace(g_sp->sectnum));
break; break;
case concmd_ifnotmoving: case concmd_ifnotmoving:
parseifelse( (hittype[g_i].movflag&49152) > 16384 ); parseifelse( (g_ac->movflag&kHitTypeMask) > kHitSprite );
break; break;
case concmd_respawnhitag: case concmd_respawnhitag:
insptr++; insptr++;
@ -2831,7 +2831,7 @@ int ParseState::parse(void)
break; break;
case concmd_ifnosounds: case concmd_ifnosounds:
parseifelse(!S_CheckAnyActorSoundPlaying(g_i) ); parseifelse(!S_CheckAnyActorSoundPlaying(g_ac->GetIndex()) );
break; break;
case concmd_ifplaybackon: //Twentieth Anniversary World Tour case concmd_ifplaybackon: //Twentieth Anniversary World Tour