- added two new flags for later use.

This commit is contained in:
Christoph Oelckers 2022-11-23 15:20:54 +01:00
parent f43dc9d925
commit dbb7965550
7 changed files with 8 additions and 4 deletions

View file

@ -457,7 +457,7 @@ void Display()
DrawOverlays(); DrawOverlays();
if (drawtile >= 0) if (drawtile >= 0)
{ {
DrawTexture(twod, tileGetTexture(drawtile), false, 0, 0, DTA_FullscreenScale, FSMode_Fit320x200, DTA_TopLeft, true, TAG_DONE); DrawTexture(twod, tileGetTexture(drawtile), false, 0, 0, DTA_FullscreenScale, FSMode_Fit320x200, DTA_TopLeft, true, DTA_ScaleX, 2., DTA_ScaleY, 2., TAG_DONE);
} }
} }
else else

View file

@ -367,6 +367,8 @@ enum sflags2_t
SFLAG2_DIENOW = 0x00002000, SFLAG2_DIENOW = 0x00002000,
SFLAG2_TRANFERPALTOJIBS = 0x00004000, SFLAG2_TRANFERPALTOJIBS = 0x00004000,
SFLAG2_NORADIUSPUSH = 0x00008000, SFLAG2_NORADIUSPUSH = 0x00008000,
SFLAG2_FREEZEDAMAGE = 0x00010000,
SFLAG2_REFLECTIVE = 0x00020000,
}; };
using EDukeFlags2 = TFlags<sflags2_t, uint32_t>; using EDukeFlags2 = TFlags<sflags2_t, uint32_t>;

View file

@ -122,6 +122,7 @@ void initactorflags_d()
setflag(SFLAG2_DIENOW, { RADIUSEXPLOSION, KNEE }); setflag(SFLAG2_DIENOW, { RADIUSEXPLOSION, KNEE });
setflag(SFLAG2_TRANFERPALTOJIBS, { LIZTROOP }); setflag(SFLAG2_TRANFERPALTOJIBS, { LIZTROOP });
setflag(SFLAG2_NORADIUSPUSH, { TANK, ROTATEGUN, RECON }); setflag(SFLAG2_NORADIUSPUSH, { TANK, ROTATEGUN, RECON });
setflag(SFLAG2_FREEZEDAMAGE | SFLAG2_REFLECTIVE, { FREEZEBLAST });
if (isWorldTour()) if (isWorldTour())
{ {

View file

@ -179,6 +179,7 @@ void initactorflags_r()
setflag(SFLAG2_ALWAYSROTATE1, { RAT, CAMERA1 }); setflag(SFLAG2_ALWAYSROTATE1, { RAT, CAMERA1 });
setflag(SFLAG2_DIENOW, { RADIUSEXPLOSION }); setflag(SFLAG2_DIENOW, { RADIUSEXPLOSION });
setflag(SFLAG2_NORADIUSPUSH, { HULK }); setflag(SFLAG2_NORADIUSPUSH, { HULK });
setflag(SFLAG2_FREEZEDAMAGE | SFLAG2_REFLECTIVE, { FREEZEBLAST });
// Animals were not supposed to have this, but due to a coding bug the logic was unconditional for everything in the game. // Animals were not supposed to have this, but due to a coding bug the logic was unconditional for everything in the game.

View file

@ -599,7 +599,7 @@ x(FORCESPHERE, 1759)
x(SHOTSPARK1, 1764) x(SHOTSPARK1, 1764)
x(RPG, 1774) x(RPG, 1774)
x(RPG2, 1781) x(RPG2, 1781)
y(RRTILE1790, 1790) x(BOATGRENADE, 1790)
y(RRTILE1792, 1792) y(RRTILE1792, 1792)
y(RRTILE1801, 1801) y(RRTILE1801, 1801)
y(RRTILE1805, 1805) y(RRTILE1805, 1805)

View file

@ -727,7 +727,7 @@ static void shootrpg(DDukeActor *actor, int p, DVector3 pos, DAngle ang, int atw
if (!spawned) return; if (!spawned) return;
spawned->spr.extra += (krand() & 7); spawned->spr.extra += (krand() & 7);
if (atwith != FREEZEBLAST) if (!(actorflag(spawned, SFLAG2_REFLECTIVE)))
spawned->temp_actor = aimed; spawned->temp_actor = aimed;
else else
{ {

View file

@ -657,7 +657,7 @@ static void shootrpg(DDukeActor* actor, int p, DVector3 pos, DAngle ang, int atw
} }
spawned->spr.extra += (krand() & 7); spawned->spr.extra += (krand() & 7);
if (atwith != FREEZEBLAST) if (!(actorflag(spawned, SFLAG2_REFLECTIVE)))
spawned->temp_actor = aimed; spawned->temp_actor = aimed;
else else
{ {