mirror of
https://github.com/ZDoom/Raze.git
synced 2025-02-20 18:42:26 +00:00
- u-> in panel.cpp
This commit is contained in:
parent
d84c4b4f20
commit
b606d01ca8
1 changed files with 41 additions and 46 deletions
|
@ -221,7 +221,7 @@ void ArmorCalc(int damage_amt, int *armor_damage, int *player_damage)
|
|||
|
||||
void PlayerUpdateHealth(PLAYERp pp, short value)
|
||||
{
|
||||
USERp u = pp->Actor()->u();
|
||||
DSWActor* plActor = pp->actor;
|
||||
short x,y;
|
||||
|
||||
if (Prediction)
|
||||
|
@ -256,7 +256,7 @@ void PlayerUpdateHealth(PLAYERp pp, short value)
|
|||
}
|
||||
|
||||
// TAKE SOME DAMAGE
|
||||
u->LastDamage = -value;
|
||||
plActor->user.LastDamage = -value;
|
||||
|
||||
// adjust for armor
|
||||
if (pp->Armor && !NoArmor)
|
||||
|
@ -267,7 +267,7 @@ void PlayerUpdateHealth(PLAYERp pp, short value)
|
|||
value = -player_damage;
|
||||
}
|
||||
|
||||
u->Health += value;
|
||||
plActor->user.Health += value;
|
||||
|
||||
if (value < 0)
|
||||
{
|
||||
|
@ -275,7 +275,7 @@ void PlayerUpdateHealth(PLAYERp pp, short value)
|
|||
|
||||
choosesnd = RandomRange(MAX_PAIN);
|
||||
|
||||
if (u->Health > 50)
|
||||
if (plActor->user.Health > 50)
|
||||
{
|
||||
PlayerSound(PlayerPainVocs[choosesnd],v3df_dontpan|v3df_doppler|v3df_follow,pp);
|
||||
}
|
||||
|
@ -298,19 +298,19 @@ void PlayerUpdateHealth(PLAYERp pp, short value)
|
|||
SetFadeAmt(pp,-20,112);
|
||||
}
|
||||
}
|
||||
if (u->Health <= 100)
|
||||
if (plActor->user.Health <= 100)
|
||||
pp->MaxHealth = 100; // Reset max health if sank below 100
|
||||
}
|
||||
else
|
||||
{
|
||||
// ADD SOME HEALTH
|
||||
if (value > 1000)
|
||||
u->Health += (value-1000);
|
||||
plActor->user.Health += (value-1000);
|
||||
else
|
||||
{
|
||||
if (u->Health < pp->MaxHealth)
|
||||
if (plActor->user.Health < pp->MaxHealth)
|
||||
{
|
||||
u->Health+=value;
|
||||
plActor->user.Health+=value;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -319,11 +319,11 @@ void PlayerUpdateHealth(PLAYERp pp, short value)
|
|||
value -= 1000; // Strip out high value
|
||||
}
|
||||
|
||||
if (u->Health < 0)
|
||||
u->Health = 0;
|
||||
if (plActor->user.Health < 0)
|
||||
plActor->user.Health = 0;
|
||||
|
||||
if (u->Health > pp->MaxHealth)
|
||||
u->Health = pp->MaxHealth;
|
||||
if (plActor->user.Health > pp->MaxHealth)
|
||||
plActor->user.Health = pp->MaxHealth;
|
||||
}
|
||||
|
||||
void PlayerUpdateAmmo(PLAYERp pp, short UpdateWeaponNum, short value)
|
||||
|
@ -366,13 +366,13 @@ void PlayerUpdateAmmo(PLAYERp pp, short UpdateWeaponNum, short value)
|
|||
|
||||
void PlayerUpdateWeapon(PLAYERp pp, short WeaponNum)
|
||||
{
|
||||
USERp u = pp->Actor()->u();
|
||||
DSWActor* plActor = pp->actor;
|
||||
|
||||
// weapon Change
|
||||
if (Prediction)
|
||||
return;
|
||||
|
||||
u->WeaponNum = int8_t(WeaponNum);
|
||||
plActor->user.WeaponNum = int8_t(WeaponNum);
|
||||
}
|
||||
|
||||
void PlayerUpdateKills(PLAYERp pp, short value)
|
||||
|
@ -432,8 +432,7 @@ void PlayerUpdateArmor(PLAYERp pp, short value)
|
|||
int WeaponOperate(PLAYERp pp)
|
||||
{
|
||||
short weapon;
|
||||
USERp u = pp->Actor()->u();
|
||||
|
||||
DSWActor* plActor = pp->actor;
|
||||
|
||||
InventoryKeys(pp);
|
||||
|
||||
|
@ -494,8 +493,8 @@ int WeaponOperate(PLAYERp pp)
|
|||
{
|
||||
case WPN_FIST:
|
||||
//case WPN_SWORD:
|
||||
if (u->WeaponNum == WPN_FIST
|
||||
|| u->WeaponNum == WPN_SWORD)
|
||||
if (plActor->user.WeaponNum == WPN_FIST
|
||||
|| plActor->user.WeaponNum == WPN_SWORD)
|
||||
{
|
||||
// toggle
|
||||
if (pp->WpnFirstType == WPN_FIST)
|
||||
|
@ -518,7 +517,7 @@ int WeaponOperate(PLAYERp pp)
|
|||
InitWeaponStar(pp);
|
||||
break;
|
||||
case WPN_UZI:
|
||||
if (u->WeaponNum == WPN_UZI)
|
||||
if (plActor->user.WeaponNum == WPN_UZI)
|
||||
{
|
||||
if (TEST(pp->Flags, PF_TWO_UZI))
|
||||
{
|
||||
|
@ -533,7 +532,7 @@ int WeaponOperate(PLAYERp pp)
|
|||
InitWeaponUzi(pp);
|
||||
break;
|
||||
case WPN_MICRO:
|
||||
if (u->WeaponNum == WPN_MICRO)
|
||||
if (plActor->user.WeaponNum == WPN_MICRO)
|
||||
{
|
||||
pp->WpnRocketType++;
|
||||
PlaySound(DIGI_ROCKET_UP, pp, v3df_follow);
|
||||
|
@ -549,7 +548,7 @@ int WeaponOperate(PLAYERp pp)
|
|||
InitWeaponMicro(pp);
|
||||
break;
|
||||
case WPN_SHOTGUN:
|
||||
if (u->WeaponNum == WPN_SHOTGUN)
|
||||
if (plActor->user.WeaponNum == WPN_SHOTGUN)
|
||||
{
|
||||
pp->WpnShotgunType++;
|
||||
if (pp->WpnShotgunType > 1)
|
||||
|
@ -562,7 +561,7 @@ int WeaponOperate(PLAYERp pp)
|
|||
if (!SW_SHAREWARE)
|
||||
{
|
||||
#if 0
|
||||
if (u->WeaponNum == WPN_RAIL)
|
||||
if (plActor->user.WeaponNum == WPN_RAIL)
|
||||
{
|
||||
pp->WpnRailType++;
|
||||
if (pp->WpnRailType > 1)
|
||||
|
@ -581,9 +580,9 @@ int WeaponOperate(PLAYERp pp)
|
|||
case WPN_HOTHEAD:
|
||||
if (!SW_SHAREWARE)
|
||||
{
|
||||
if (u->WeaponNum == WPN_HOTHEAD
|
||||
|| u->WeaponNum == WPN_RING
|
||||
|| u->WeaponNum == WPN_NAPALM)
|
||||
if (plActor->user.WeaponNum == WPN_HOTHEAD
|
||||
|| plActor->user.WeaponNum == WPN_RING
|
||||
|| plActor->user.WeaponNum == WPN_NAPALM)
|
||||
{
|
||||
pp->WpnFlameType++;
|
||||
if (pp->WpnFlameType > 2)
|
||||
|
@ -650,32 +649,28 @@ int WeaponOperate(PLAYERp pp)
|
|||
|
||||
bool WeaponOK(PLAYERp pp)
|
||||
{
|
||||
USERp u;
|
||||
short min_ammo, WeaponNum, FindWeaponNum;
|
||||
static const uint8_t wpn_order[] = {2,3,4,5,6,7,8,9,1,0};
|
||||
unsigned wpn_ndx=0;
|
||||
|
||||
if (!pp->Actor())
|
||||
return(false);
|
||||
DSWActor* plActor = pp->actor;
|
||||
|
||||
if (!pp->Actor()->hasU())
|
||||
if (!plActor || !plActor->hasU())
|
||||
return(false);
|
||||
|
||||
u = pp->Actor()->u();
|
||||
|
||||
// sword
|
||||
if (DamageData[u->WeaponNum].max_ammo == -1)
|
||||
if (DamageData[plActor->user.WeaponNum].max_ammo == -1)
|
||||
return true;
|
||||
|
||||
WeaponNum = u->WeaponNum;
|
||||
FindWeaponNum = u->WeaponNum;
|
||||
WeaponNum = plActor->user.WeaponNum;
|
||||
FindWeaponNum = plActor->user.WeaponNum;
|
||||
|
||||
min_ammo = DamageData[WeaponNum].min_ammo;
|
||||
|
||||
// if ran out of ammo switch to something else
|
||||
if (pp->WpnAmmo[WeaponNum] < min_ammo)
|
||||
{
|
||||
if (u->WeaponNum == WPN_UZI) pp->WpnUziType = 2; // Set it for retract
|
||||
if (plActor->user.WeaponNum == WPN_UZI) pp->WpnUziType = 2; // Set it for retract
|
||||
|
||||
// Still got a nuke, it's ok.
|
||||
if (WeaponNum == WPN_MICRO && pp->WpnRocketNuke)
|
||||
|
@ -683,8 +678,8 @@ bool WeaponOK(PLAYERp pp)
|
|||
//pp->WpnRocketType = 2; // Set it to Nuke
|
||||
if (!pp->NukeInitialized) pp->TestNukeInit = true;
|
||||
|
||||
u->WeaponNum = WPN_MICRO;
|
||||
(*DamageData[u->WeaponNum].Init)(pp);
|
||||
plActor->user.WeaponNum = WPN_MICRO;
|
||||
(*DamageData[plActor->user.WeaponNum].Init)(pp);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -710,15 +705,15 @@ bool WeaponOK(PLAYERp pp)
|
|||
FindWeaponNum = wpn_order[wpn_ndx];
|
||||
}
|
||||
|
||||
u->WeaponNum = int8_t(FindWeaponNum);
|
||||
plActor->user.WeaponNum = int8_t(FindWeaponNum);
|
||||
|
||||
if (u->WeaponNum == WPN_HOTHEAD)
|
||||
if (plActor->user.WeaponNum == WPN_HOTHEAD)
|
||||
{
|
||||
pp->WeaponType = WPN_HOTHEAD;
|
||||
pp->WpnFlameType = 0;
|
||||
}
|
||||
|
||||
(*DamageData[u->WeaponNum].Init)(pp);
|
||||
(*DamageData[plActor->user.WeaponNum].Init)(pp);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -3765,10 +3760,10 @@ void SpawnOnFire(PLAYERp pp)
|
|||
|
||||
void pOnFire(PANEL_SPRITEp psp)
|
||||
{
|
||||
auto actor = psp->PlayerP->Actor();
|
||||
auto u = actor->u();
|
||||
DSWActor* plActor = psp->PlayerP->actor;
|
||||
|
||||
// Kill immediately - in case of death/water
|
||||
if (u->flameActor == nullptr && u->Flags2 & SPR2_FLAMEDIE)
|
||||
if (plActor->user.flameActor == nullptr && plActor->user.Flags2 & SPR2_FLAMEDIE)
|
||||
{
|
||||
pKillSprite(psp);
|
||||
return;
|
||||
|
@ -3776,7 +3771,7 @@ void pOnFire(PANEL_SPRITEp psp)
|
|||
|
||||
psp->backupy();
|
||||
|
||||
if (u->flameActor == nullptr)
|
||||
if (plActor->user.flameActor == nullptr)
|
||||
{
|
||||
// take flames down and kill them
|
||||
psp->y += 1;
|
||||
|
@ -6382,7 +6377,7 @@ void pWeaponBob(PANEL_SPRITEp psp, short condition)
|
|||
bool DrawBeforeView = false;
|
||||
void pDisplaySprites(PLAYERp pp, double smoothratio)
|
||||
{
|
||||
USERp u = pp->Actor()->u();
|
||||
DSWActor* plActor = pp->actor;
|
||||
PANEL_SPRITEp next=nullptr;
|
||||
short shade, picnum, overlay_shade = 0;
|
||||
double x, y;
|
||||
|
@ -6608,7 +6603,7 @@ void pDisplaySprites(PLAYERp pp, double smoothratio)
|
|||
case 4081:
|
||||
case 2220:
|
||||
case 2221:
|
||||
pal = u->spal;
|
||||
pal = plActor->user.spal;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue