- use texture names for special player sprites,

This commit is contained in:
Christoph Oelckers 2022-12-30 18:57:09 +01:00
parent bfc8862071
commit 745275dc24
3 changed files with 36 additions and 33 deletions

View file

@ -82,7 +82,7 @@ void animatesprites_d(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
{
if (t->lotag == SE_27_DEMO_CAM && ud.recstat == 1)
{
t->picnum = 11 + ((PlayClock >> 3) & 1);
t->setspritetexture(TexMan.CheckForTexture("DEMOCAM", ETextureType::Any));
t->cstat |= CSTAT_SPRITE_YCENTER;
}
else
@ -147,24 +147,23 @@ void animatesprites_d(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
newtspr->shade = t->shade;
newtspr->cstat = 0;
const char* texname = nullptr;
switch (ps[p].curr_weapon)
{
case PISTOL_WEAPON: newtspr->picnum = DTILE_FIRSTGUNSPRITE; break;
case SHOTGUN_WEAPON: newtspr->picnum = DTILE_SHOTGUNSPRITE; break;
case CHAINGUN_WEAPON: newtspr->picnum = DTILE_CHAINGUNSPRITE; break;
case RPG_WEAPON: newtspr->picnum = DTILE_RPGSPRITE; break;
case HANDREMOTE_WEAPON:
case HANDBOMB_WEAPON: newtspr->picnum = DTILE_HEAVYHBOMB; break;
case TRIPBOMB_WEAPON: newtspr->picnum = DTILE_TRIPBOMBSPRITE; break;
case GROW_WEAPON: newtspr->picnum = DTILE_GROWSPRITEICON; break;
case SHRINKER_WEAPON: newtspr->picnum = DTILE_SHRINKERSPRITE; break;
case FREEZE_WEAPON: newtspr->picnum = DTILE_FREEZESPRITE; break;
case FLAMETHROWER_WEAPON: //Twentieth Anniversary World Tour
if (isWorldTour())
newtspr->picnum = DTILE_FLAMETHROWERSPRITE;
break;
case DEVISTATOR_WEAPON: newtspr->picnum = DTILE_DEVISTATORSPRITE; break;
case PISTOL_WEAPON: texname = "FIRSTGUNSPRITE"; break;
case SHOTGUN_WEAPON: texname = "SHOTGUNSPRITE"; break;
case CHAINGUN_WEAPON: texname = "CHAINGUNSPRITE"; break;
case RPG_WEAPON: texname = "RPGSPRITE"; break;
case HANDREMOTE_WEAPON:
case HANDBOMB_WEAPON: texname = "HEAVYHBOMB"; break;
case TRIPBOMB_WEAPON: texname = "TRIPBOMBSPRITE"; break;
case GROW_WEAPON: texname = "GROWSPRITEICON"; break;
case SHRINKER_WEAPON: texname = "SHRINKERSPRITE"; break;
case FREEZE_WEAPON: texname = "FREEZESPRITE"; break;
case FLAMETHROWER_WEAPON:texname = "FLAMETHROWERSPRITE"; break;
case DEVISTATOR_WEAPON: texname = "DEVISTATORSPRITE"; break;
}
t->setspritetexture(TexMan.CheckForTexture(texname, ETextureType::Any));
if (h->GetOwner()) newtspr->pos.Z = ps[p].GetActor()->getOffsetZ() - 12;
else newtspr->pos.Z = h->spr.pos.Z - 51;

View file

@ -75,11 +75,12 @@ void animatesprites_r(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
{
if (t->lotag == SE_27_DEMO_CAM && ud.recstat == 1)
{
t->picnum = 11 + ((PlayClock >> 3) & 1);
t->setspritetexture(TexMan.CheckForTexture("DEMOCAM", ETextureType::Any));
t->cstat |= CSTAT_SPRITE_YCENTER;
}
else
t->scale = DVector2(0, 0);
break;
}
if (t->statnum == STAT_TEMP) continue;
@ -145,22 +146,24 @@ void animatesprites_r(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
newtspr->shade = t->shade;
newtspr->cstat = 0;
const char* texname = nullptr;
switch (ps[p].curr_weapon)
{
case PISTOL_WEAPON: newtspr->picnum = RTILE_FIRSTGUNSPRITE; break;
case SHOTGUN_WEAPON: newtspr->picnum = RTILE_SHOTGUNSPRITE; break;
case RIFLEGUN_WEAPON: newtspr->picnum = RTILE_RIFLEGUNSPRITE; break;
case CROSSBOW_WEAPON: newtspr->picnum = RTILE_CROSSBOWSPRITE; break;
case CHICKEN_WEAPON: newtspr->picnum = RTILE_CROSSBOWSPRITE; break;
case PISTOL_WEAPON: texname = "FIRSTGUNSPRITE"; break;
case SHOTGUN_WEAPON: texname = "SHOTGUNSPRITE"; break;
case RIFLEGUN_WEAPON: texname = "RIFLEGUNSPRITE"; break;
case CROSSBOW_WEAPON: texname = "CROSSBOWSPRITE"; break;
case CHICKEN_WEAPON: texname = "CROSSBOWSPRITE"; break;
case THROWINGDYNAMITE_WEAPON:
case DYNAMITE_WEAPON: newtspr->picnum = RTILE_DYNAMITE; break;
case POWDERKEG_WEAPON: newtspr->picnum = RTILE_POWDERKEG; break;
case BOWLING_WEAPON: newtspr->picnum = RTILE_BOWLINGBALLSPRITE; break;
case THROWSAW_WEAPON: newtspr->picnum = RTILE_RIPSAWSPRITE; break;
case BUZZSAW_WEAPON: newtspr->picnum = RTILE_RIPSAWSPRITE; break;
case ALIENBLASTER_WEAPON: newtspr->picnum = RTILE_ALIENBLASTERSPRITE; break;
case TIT_WEAPON: newtspr->picnum = RTILE_TITSPRITE; break;
case DYNAMITE_WEAPON: texname = "DYNAMITE"; break;
case POWDERKEG_WEAPON: texname = "POWDERKEG"; break;
case BOWLING_WEAPON: texname = "BOWLINGBALLSPRITE"; break;
case THROWSAW_WEAPON: texname = "RIPSAWSPRITE"; break;
case BUZZSAW_WEAPON: texname = "RIPSAWSPRITE"; break;
case ALIENBLASTER_WEAPON: texname = "ALIENBLASTERSPRITE"; break;
case TIT_WEAPON: texname = "TITSPRITE"; break;
}
t->setspritetexture(TexMan.CheckForTexture(texname, ETextureType::Any));
if (h->GetOwner()) newtspr->pos.Z = ps[p].GetActor()->getOffsetZ() - 12;
else newtspr->pos.Z = h->spr.pos.Z - 51;
@ -201,14 +204,14 @@ void animatesprites_r(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
if (ps[p].OnMotorcycle && p == screenpeek)
{
t->picnum = RTILE_PLAYERONBIKEBACK;
t->setspritetexture(TexMan.CheckForTexture("PLAYERONBIKEBACK", ETextureType::Any));
t->scale = DVector2(0.28125, 0.28125);
drawshadows(tsprites, t, h);
continue;
}
else if (ps[p].OnMotorcycle)
{
t->picnum = RTILE_PLAYERONBIKE;
t->setspritetexture(TexMan.CheckForTexture("PLAYERONBIKE", ETextureType::Any));
applyRotation2(h, t, viewang);
t->scale = DVector2(0.28125, 0.28125);
drawshadows(tsprites, t, h);
@ -216,14 +219,14 @@ void animatesprites_r(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
}
else if (ps[p].OnBoat && p == screenpeek)
{
t->picnum = RTILE_PLAYERONBOATBACK;
t->setspritetexture(TexMan.CheckForTexture("PLAYERONBOATBACK", ETextureType::Any));
t->scale = DVector2(0.5, 0.5);
drawshadows(tsprites, t, h);
continue;
}
else if (ps[p].OnBoat)
{
t->picnum = RTILE_PLAYERONBOAT;
t->setspritetexture(TexMan.CheckForTexture("PLAYERONBOAT", ETextureType::Any));
k = angletorotation2(h->spr.Angles.Yaw, viewang);
applyRotation2(h, t, viewang);
t->scale = DVector2(0.5, 0.5);

View file

@ -1,3 +1,4 @@
x(DEMOCAM1, 11)
x(ARROW, 20)
x(FIRSTGUNSPRITE, 21)
x(CHAINGUNSPRITE, 22)