mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-11-11 07:11:39 +00:00
Remove reference pointing to vm.pPlayer because it seems incompatible with the new dispatch method
git-svn-id: https://svn.eduke32.com/eduke32@7376 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
23e53c17fc
commit
8b7d099cbd
1 changed files with 72 additions and 73 deletions
|
@ -1296,7 +1296,6 @@ GAMEEXEC_STATIC void VM_Execute(native_t const poop)
|
|||
#endif
|
||||
native_t tw = *insptr;
|
||||
// set up "p" in between tw and g_errorLineNum to avoid read after write penalty
|
||||
auto &p = *(vm.pPlayer);
|
||||
g_errorLineNum = tw >> 12;
|
||||
g_tw = tw &= VM_INSTMASK;
|
||||
|
||||
|
@ -2920,8 +2919,8 @@ badindex:
|
|||
#undef CHECK2
|
||||
|
||||
vInstruction(CON_IFCANSEETARGET):
|
||||
tw = cansee(vm.pSprite->x, vm.pSprite->y, vm.pSprite->z - ((krand() & 41) << 8), vm.pSprite->sectnum, p.pos.x, p.pos.y,
|
||||
p.pos.z /*-((krand()&41)<<8)*/, sprite[p.i].sectnum);
|
||||
tw = cansee(vm.pSprite->x, vm.pSprite->y, vm.pSprite->z - ((krand() & 41) << 8), vm.pSprite->sectnum, vm.pPlayer->pos.x, vm.pPlayer->pos.y,
|
||||
vm.pPlayer->pos.z /*-((krand()&41)<<8)*/, sprite[vm.pPlayer->i].sectnum);
|
||||
VM_CONDITIONAL(tw);
|
||||
if (tw)
|
||||
vm.pActor->timetosleep = SLEEPTIME;
|
||||
|
@ -3064,15 +3063,15 @@ badindex:
|
|||
|
||||
vInstruction(CON_IFCANSEE):
|
||||
{
|
||||
auto pSprite = (uspritetype *)&sprite[p.i];
|
||||
auto pSprite = (uspritetype *)&sprite[vm.pPlayer->i];
|
||||
|
||||
// select sprite for monster to target
|
||||
// if holoduke is on, let them target holoduke first.
|
||||
//
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (p.holoduke_on >= 0)
|
||||
if (vm.pPlayer->holoduke_on >= 0)
|
||||
{
|
||||
pSprite = (uspritetype *)&sprite[p.holoduke_on];
|
||||
pSprite = (uspritetype *)&sprite[vm.pPlayer->holoduke_on];
|
||||
tw = cansee(vm.pSprite->x, vm.pSprite->y, vm.pSprite->z - (krand() & (ZOFFSET5 - 1)), vm.pSprite->sectnum, pSprite->x, pSprite->y,
|
||||
pSprite->z, pSprite->sectnum);
|
||||
|
||||
|
@ -3080,7 +3079,7 @@ badindex:
|
|||
{
|
||||
// they can't see player's holoduke
|
||||
// check for player...
|
||||
pSprite = (uspritetype *)&sprite[p.i];
|
||||
pSprite = (uspritetype *)&sprite[vm.pPlayer->i];
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -3156,16 +3155,16 @@ badindex:
|
|||
if (*insptr == 0)
|
||||
{
|
||||
int j = 0;
|
||||
for (; j < p.weapreccnt; ++j)
|
||||
if (p.weaprecs[j] == vm.pSprite->picnum)
|
||||
for (; j < vm.pPlayer->weapreccnt; ++j)
|
||||
if (vm.pPlayer->weaprecs[j] == vm.pSprite->picnum)
|
||||
break;
|
||||
|
||||
VM_CONDITIONAL(j < p.weapreccnt && vm.pSprite->owner == vm.spriteNum);
|
||||
VM_CONDITIONAL(j < vm.pPlayer->weapreccnt && vm.pSprite->owner == vm.spriteNum);
|
||||
dispatch(tw);
|
||||
}
|
||||
else if (p.weapreccnt < MAX_WEAPONS)
|
||||
else if (vm.pPlayer->weapreccnt < MAX_WEAPONS)
|
||||
{
|
||||
p.weaprecs[p.weapreccnt++] = vm.pSprite->picnum;
|
||||
vm.pPlayer->weaprecs[vm.pPlayer->weapreccnt++] = vm.pSprite->picnum;
|
||||
VM_CONDITIONAL(vm.pSprite->owner == vm.spriteNum);
|
||||
dispatch(tw);
|
||||
}
|
||||
|
@ -3211,8 +3210,8 @@ badindex:
|
|||
if (g_player[otherp].ps->quick_kick == 0)
|
||||
g_player[otherp].ps->quick_kick = 14;
|
||||
}
|
||||
else if (vm.pSprite->picnum != APLAYER && p.quick_kick == 0)
|
||||
p.quick_kick = 14;
|
||||
else if (vm.pSprite->picnum != APLAYER && vm.pPlayer->quick_kick == 0)
|
||||
vm.pPlayer->quick_kick = 14;
|
||||
dispatch(tw);
|
||||
|
||||
vInstruction(CON_SIZETO):
|
||||
|
@ -3321,7 +3320,7 @@ badindex:
|
|||
|
||||
vInstruction(CON_TIP):
|
||||
insptr++;
|
||||
p.tipincs = GAMETICSPERSEC;
|
||||
vm.pPlayer->tipincs = GAMETICSPERSEC;
|
||||
dispatch(tw);
|
||||
|
||||
vInstruction(CON_FALL):
|
||||
|
@ -3337,7 +3336,7 @@ badindex:
|
|||
int const weaponNum = *insptr++;
|
||||
int const addAmount = *insptr++;
|
||||
|
||||
VM_AddAmmo(&p, weaponNum, addAmount);
|
||||
VM_AddAmmo(vm.pPlayer, weaponNum, addAmount);
|
||||
|
||||
dispatch(tw);
|
||||
}
|
||||
|
@ -3364,7 +3363,7 @@ badindex:
|
|||
|
||||
vInstruction(CON_ADDKILLS):
|
||||
insptr++;
|
||||
P_AddKills(&p, *insptr++);
|
||||
P_AddKills(vm.pPlayer, *insptr++);
|
||||
vm.pActor->stayput = -1;
|
||||
dispatch(tw);
|
||||
|
||||
|
@ -3432,8 +3431,8 @@ badindex:
|
|||
vInstruction(CON_ENDOFGAME):
|
||||
vInstruction(CON_ENDOFLEVEL):
|
||||
insptr++;
|
||||
p.timebeforeexit = *insptr++;
|
||||
p.customexitsound = -1;
|
||||
vm.pPlayer->timebeforeexit = *insptr++;
|
||||
vm.pPlayer->customexitsound = -1;
|
||||
ud.eog = 1;
|
||||
dispatch(tw);
|
||||
|
||||
|
@ -3441,23 +3440,23 @@ badindex:
|
|||
insptr++;
|
||||
|
||||
{
|
||||
if (p.newowner >= 0)
|
||||
G_ClearCameraView(&p);
|
||||
if (vm.pPlayer->newowner >= 0)
|
||||
G_ClearCameraView(vm.pPlayer);
|
||||
|
||||
int newHealth = sprite[p.i].extra;
|
||||
int newHealth = sprite[vm.pPlayer->i].extra;
|
||||
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if (vm.pSprite->picnum == ATOMICHEALTH)
|
||||
{
|
||||
if (newHealth > 0)
|
||||
newHealth += *insptr;
|
||||
if (newHealth > (p.max_player_health << 1))
|
||||
newHealth = (p.max_player_health << 1);
|
||||
if (newHealth > (vm.pPlayer->max_player_health << 1))
|
||||
newHealth = (vm.pPlayer->max_player_health << 1);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
if (newHealth > p.max_player_health && *insptr > 0)
|
||||
if (newHealth > vm.pPlayer->max_player_health && *insptr > 0)
|
||||
{
|
||||
insptr++;
|
||||
dispatch(tw);
|
||||
|
@ -3466,8 +3465,8 @@ badindex:
|
|||
{
|
||||
if (newHealth > 0)
|
||||
newHealth += *insptr;
|
||||
if (newHealth > p.max_player_health && *insptr > 0)
|
||||
newHealth = p.max_player_health;
|
||||
if (newHealth > vm.pPlayer->max_player_health && *insptr > 0)
|
||||
newHealth = vm.pPlayer->max_player_health;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3479,13 +3478,13 @@ badindex:
|
|||
if (*insptr > 0)
|
||||
{
|
||||
#ifndef EDUKE32_STANDALONE
|
||||
if ((newHealth - *insptr) < (p.max_player_health >> 2) && newHealth >= (p.max_player_health >> 2))
|
||||
A_PlaySound(DUKE_GOTHEALTHATLOW, p.i);
|
||||
if ((newHealth - *insptr) < (vm.pPlayer->max_player_health >> 2) && newHealth >= (vm.pPlayer->max_player_health >> 2))
|
||||
A_PlaySound(DUKE_GOTHEALTHATLOW, vm.pPlayer->i);
|
||||
#endif
|
||||
p.last_extra = newHealth;
|
||||
vm.pPlayer->last_extra = newHealth;
|
||||
}
|
||||
|
||||
sprite[p.i].extra = newHealth;
|
||||
sprite[vm.pPlayer->i].extra = newHealth;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3507,7 +3506,7 @@ badindex:
|
|||
insptr++;
|
||||
{
|
||||
int const weaponNum = Gv_GetVarX(*insptr++);
|
||||
VM_AddWeapon(&p, weaponNum, Gv_GetVarX(*insptr++));
|
||||
VM_AddWeapon(vm.pPlayer, weaponNum, Gv_GetVarX(*insptr++));
|
||||
dispatch(tw);
|
||||
}
|
||||
|
||||
|
@ -4320,10 +4319,10 @@ badindex:
|
|||
dispatch(tw);
|
||||
}
|
||||
|
||||
tw = p.palette;
|
||||
tw = vm.pPlayer->palette;
|
||||
I_ClearAllInput();
|
||||
Anim_Play(apStrings[nQuote]);
|
||||
P_SetGamePalette(&p, tw, 2 + 16);
|
||||
P_SetGamePalette(vm.pPlayer, tw, 2 + 16);
|
||||
dispatch(tw);
|
||||
}
|
||||
|
||||
|
@ -5050,7 +5049,7 @@ badindex:
|
|||
vInstruction(CON_ADDINVENTORY):
|
||||
insptr += 2;
|
||||
|
||||
VM_AddInventory(&p, insptr[-1], *insptr);
|
||||
VM_AddInventory(vm.pPlayer, insptr[-1], *insptr);
|
||||
|
||||
insptr++;
|
||||
dispatch(tw);
|
||||
|
@ -5068,35 +5067,35 @@ badindex:
|
|||
{
|
||||
int const moveFlags = *(++insptr);
|
||||
int nResult = 0;
|
||||
int const playerXVel = sprite[p.i].xvel;
|
||||
int const playerXVel = sprite[vm.pPlayer->i].xvel;
|
||||
int const syncBits = g_player[vm.playerNum].inputBits->bits;
|
||||
|
||||
if (((moveFlags & pducking) && p.on_ground && TEST_SYNC_KEY(syncBits, SK_CROUCH))
|
||||
|| ((moveFlags & pfalling) && p.jumping_counter == 0 && !p.on_ground && p.vel.z > 2048)
|
||||
|| ((moveFlags & pjumping) && p.jumping_counter > 348)
|
||||
if (((moveFlags & pducking) && vm.pPlayer->on_ground && TEST_SYNC_KEY(syncBits, SK_CROUCH))
|
||||
|| ((moveFlags & pfalling) && vm.pPlayer->jumping_counter == 0 && !vm.pPlayer->on_ground && vm.pPlayer->vel.z > 2048)
|
||||
|| ((moveFlags & pjumping) && vm.pPlayer->jumping_counter > 348)
|
||||
|| ((moveFlags & pstanding) && playerXVel >= 0 && playerXVel < 8)
|
||||
|| ((moveFlags & pwalking) && playerXVel >= 8 && !TEST_SYNC_KEY(syncBits, SK_RUN))
|
||||
|| ((moveFlags & prunning) && playerXVel >= 8 && TEST_SYNC_KEY(syncBits, SK_RUN))
|
||||
|| ((moveFlags & phigher) && p.pos.z < (vm.pSprite->z - (48 << 8)))
|
||||
|| ((moveFlags & phigher) && vm.pPlayer->pos.z < (vm.pSprite->z - (48 << 8)))
|
||||
|| ((moveFlags & pwalkingback) && playerXVel <= -8 && !TEST_SYNC_KEY(syncBits, SK_RUN))
|
||||
|| ((moveFlags & prunningback) && playerXVel <= -8 && TEST_SYNC_KEY(syncBits, SK_RUN))
|
||||
|| ((moveFlags & pkicking)
|
||||
&& (p.quick_kick > 0
|
||||
|| (PWEAPON(vm.playerNum, p.curr_weapon, WorksLike) == KNEE_WEAPON && p.kickback_pic > 0)))
|
||||
|| ((moveFlags & pshrunk) && sprite[p.i].xrepeat < 32)
|
||||
|| ((moveFlags & pjetpack) && p.jetpack_on)
|
||||
|| ((moveFlags & ponsteroids) && p.inv_amount[GET_STEROIDS] > 0 && p.inv_amount[GET_STEROIDS] < 400)
|
||||
|| ((moveFlags & ponground) && p.on_ground)
|
||||
|| ((moveFlags & palive) && sprite[p.i].xrepeat > 32 && sprite[p.i].extra > 0 && p.timebeforeexit == 0)
|
||||
|| ((moveFlags & pdead) && sprite[p.i].extra <= 0))
|
||||
&& (vm.pPlayer->quick_kick > 0
|
||||
|| (PWEAPON(vm.playerNum, vm.pPlayer->curr_weapon, WorksLike) == KNEE_WEAPON && vm.pPlayer->kickback_pic > 0)))
|
||||
|| ((moveFlags & pshrunk) && sprite[vm.pPlayer->i].xrepeat < 32)
|
||||
|| ((moveFlags & pjetpack) && vm.pPlayer->jetpack_on)
|
||||
|| ((moveFlags & ponsteroids) && vm.pPlayer->inv_amount[GET_STEROIDS] > 0 && vm.pPlayer->inv_amount[GET_STEROIDS] < 400)
|
||||
|| ((moveFlags & ponground) && vm.pPlayer->on_ground)
|
||||
|| ((moveFlags & palive) && sprite[vm.pPlayer->i].xrepeat > 32 && sprite[vm.pPlayer->i].extra > 0 && vm.pPlayer->timebeforeexit == 0)
|
||||
|| ((moveFlags & pdead) && sprite[vm.pPlayer->i].extra <= 0))
|
||||
nResult = 1;
|
||||
else if ((moveFlags & pfacing))
|
||||
{
|
||||
nResult
|
||||
= (vm.pSprite->picnum == APLAYER && (g_netServer || ud.multimode > 1))
|
||||
? G_GetAngleDelta(fix16_to_int(g_player[otherp].ps->q16ang),
|
||||
getangle(p.pos.x - g_player[otherp].ps->pos.x, p.pos.y - g_player[otherp].ps->pos.y))
|
||||
: G_GetAngleDelta(fix16_to_int(p.q16ang), getangle(vm.pSprite->x - p.pos.x, vm.pSprite->y - p.pos.y));
|
||||
getangle(vm.pPlayer->pos.x - g_player[otherp].ps->pos.x, vm.pPlayer->pos.y - g_player[otherp].ps->pos.y))
|
||||
: G_GetAngleDelta(fix16_to_int(vm.pPlayer->q16ang), getangle(vm.pSprite->x - vm.pPlayer->pos.x, vm.pSprite->y - vm.pPlayer->pos.y));
|
||||
|
||||
nResult = (nResult > -128 && nResult < 128);
|
||||
}
|
||||
|
@ -5113,13 +5112,13 @@ badindex:
|
|||
|
||||
vInstruction(CON_WACKPLAYER):
|
||||
insptr++;
|
||||
P_ForceAngle(&p);
|
||||
P_ForceAngle(vm.pPlayer);
|
||||
dispatch(tw);
|
||||
|
||||
vInstruction(CON_FLASH):
|
||||
insptr++;
|
||||
sprite[vm.spriteNum].shade = -127;
|
||||
p.visibility = -127;
|
||||
vm.pPlayer->visibility = -127;
|
||||
dispatch(tw);
|
||||
|
||||
vInstruction(CON_SAVEMAPSTATE):
|
||||
|
@ -5207,7 +5206,7 @@ badindex:
|
|||
{
|
||||
palette_t const pal = { uint8_t(insptr[1]), uint8_t(insptr[2]), uint8_t(insptr[3]), uint8_t(insptr[0]) };
|
||||
insptr += 4;
|
||||
P_PalFrom(&p, pal.f, pal.r, pal.g, pal.b);
|
||||
P_PalFrom(vm.pPlayer, pal.f, pal.r, pal.g, pal.b);
|
||||
}
|
||||
dispatch(tw);
|
||||
|
||||
|
@ -5649,7 +5648,7 @@ badindex:
|
|||
|
||||
vInstruction(CON_LOCKPLAYER):
|
||||
insptr++;
|
||||
p.transporter_hold = Gv_GetVarX(*insptr++);
|
||||
vm.pPlayer->transporter_hold = Gv_GetVarX(*insptr++);
|
||||
dispatch(tw);
|
||||
|
||||
vInstruction(CON_CHECKAVAILWEAPON):
|
||||
|
@ -5674,7 +5673,7 @@ badindex:
|
|||
|
||||
vInstruction(CON_GETPLAYERANGLE):
|
||||
insptr++;
|
||||
Gv_SetVarX(*insptr++, fix16_to_int(p.q16ang));
|
||||
Gv_SetVarX(*insptr++, fix16_to_int(vm.pPlayer->q16ang));
|
||||
dispatch(tw);
|
||||
|
||||
vInstruction(CON_GETACTORANGLE):
|
||||
|
@ -5684,7 +5683,7 @@ badindex:
|
|||
|
||||
vInstruction(CON_SETPLAYERANGLE):
|
||||
insptr++;
|
||||
p.q16ang = fix16_from_int(Gv_GetVarX(*insptr++) & 2047);
|
||||
vm.pPlayer->q16ang = fix16_from_int(Gv_GetVarX(*insptr++) & 2047);
|
||||
dispatch(tw);
|
||||
|
||||
vInstruction(CON_SETACTORANGLE):
|
||||
|
@ -6101,7 +6100,7 @@ badindex:
|
|||
CON_ERRPRINTF("invalid weapon %d\n", (int)tw);
|
||||
dispatch(tw);
|
||||
}
|
||||
Gv_SetVarX(*insptr++, p.max_ammo_amount[tw]);
|
||||
Gv_SetVarX(*insptr++, vm.pPlayer->max_ammo_amount[tw]);
|
||||
dispatch(tw);
|
||||
|
||||
vInstruction(CON_SMAXAMMO):
|
||||
|
@ -6112,7 +6111,7 @@ badindex:
|
|||
CON_ERRPRINTF("invalid weapon %d\n", (int)tw);
|
||||
dispatch(tw);
|
||||
}
|
||||
p.max_ammo_amount[tw] = Gv_GetVarX(*insptr++);
|
||||
vm.pPlayer->max_ammo_amount[tw] = Gv_GetVarX(*insptr++);
|
||||
dispatch(tw);
|
||||
|
||||
|
||||
|
@ -6246,7 +6245,7 @@ badindex:
|
|||
|
||||
vInstruction(CON_SETGAMEPALETTE):
|
||||
insptr++;
|
||||
P_SetGamePalette(&p, Gv_GetVarX(*(insptr++)), 2 + 16);
|
||||
P_SetGamePalette(vm.pPlayer, Gv_GetVarX(*(insptr++)), 2 + 16);
|
||||
dispatch(tw);
|
||||
|
||||
vInstruction(CON_GETTEXTURECEILING):
|
||||
|
@ -6256,7 +6255,7 @@ badindex:
|
|||
|
||||
vInstruction(CON_IFPHEALTHL):
|
||||
insptr++;
|
||||
VM_CONDITIONAL(sprite[p.i].extra < *insptr);
|
||||
VM_CONDITIONAL(sprite[vm.pPlayer->i].extra < *insptr);
|
||||
dispatch(tw);
|
||||
|
||||
vInstruction(CON_IFPINVENTORY):
|
||||
|
@ -6271,14 +6270,14 @@ badindex:
|
|||
case GET_HEATS:
|
||||
case GET_FIRSTAID:
|
||||
case GET_BOOTS:
|
||||
case GET_JETPACK: tw = (p.inv_amount[insptr[-1]] != *insptr); break;
|
||||
case GET_JETPACK: tw = (vm.pPlayer->inv_amount[insptr[-1]] != *insptr); break;
|
||||
|
||||
case GET_ACCESS:
|
||||
switch (vm.pSprite->pal)
|
||||
{
|
||||
case 0: tw = (p.got_access & 1); break;
|
||||
case 21: tw = (p.got_access & 2); break;
|
||||
case 23: tw = (p.got_access & 4); break;
|
||||
case 0: tw = (vm.pPlayer->got_access & 1); break;
|
||||
case 21: tw = (vm.pPlayer->got_access & 2); break;
|
||||
case 23: tw = (vm.pPlayer->got_access & 4); break;
|
||||
}
|
||||
break;
|
||||
default: tw = 0; CON_ERRPRINTF("invalid inventory item %d\n", (int32_t) * (insptr - 1));
|
||||
|
@ -6290,9 +6289,9 @@ badindex:
|
|||
|
||||
vInstruction(CON_PSTOMP):
|
||||
insptr++;
|
||||
if (p.knee_incs == 0 && sprite[p.i].xrepeat >= 40)
|
||||
if (cansee(vm.pSprite->x, vm.pSprite->y, vm.pSprite->z - ZOFFSET6, vm.pSprite->sectnum, p.pos.x, p.pos.y,
|
||||
p.pos.z + ZOFFSET2, sprite[p.i].sectnum))
|
||||
if (vm.pPlayer->knee_incs == 0 && sprite[vm.pPlayer->i].xrepeat >= 40)
|
||||
if (cansee(vm.pSprite->x, vm.pSprite->y, vm.pSprite->z - ZOFFSET6, vm.pSprite->sectnum, vm.pPlayer->pos.x, vm.pPlayer->pos.y,
|
||||
vm.pPlayer->pos.z + ZOFFSET2, sprite[vm.pPlayer->i].sectnum))
|
||||
{
|
||||
int numPlayers = g_mostConcurrentPlayers - 1;
|
||||
|
||||
|
@ -6304,11 +6303,11 @@ badindex:
|
|||
|
||||
if (numPlayers == -1)
|
||||
{
|
||||
if (p.weapon_pos == 0)
|
||||
p.weapon_pos = -1;
|
||||
if (vm.pPlayer->weapon_pos == 0)
|
||||
vm.pPlayer->weapon_pos = -1;
|
||||
|
||||
p.actorsqu = vm.spriteNum;
|
||||
p.knee_incs = 1;
|
||||
vm.pPlayer->actorsqu = vm.spriteNum;
|
||||
vm.pPlayer->knee_incs = 1;
|
||||
}
|
||||
}
|
||||
dispatch(tw);
|
||||
|
@ -6351,7 +6350,7 @@ badindex:
|
|||
dispatch(tw);
|
||||
}
|
||||
|
||||
P_DoQuote(*(insptr++) | MAXQUOTES, &p);
|
||||
P_DoQuote(*(insptr++) | MAXQUOTES, vm.pPlayer);
|
||||
dispatch(tw);
|
||||
|
||||
vInstruction(CON_USERQUOTE):
|
||||
|
@ -6416,7 +6415,7 @@ badindex:
|
|||
|
||||
vInstruction(CON_IFANGDIFFL):
|
||||
insptr++;
|
||||
tw = klabs(G_GetAngleDelta(fix16_to_int(p.q16ang), vm.pSprite->ang));
|
||||
tw = klabs(G_GetAngleDelta(fix16_to_int(vm.pPlayer->q16ang), vm.pSprite->ang));
|
||||
VM_CONDITIONAL(tw <= *insptr);
|
||||
dispatch(tw);
|
||||
|
||||
|
|
Loading…
Reference in a new issue