mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-15 17:01:28 +00:00
- two more flags for LASERLINE.
This commit is contained in:
parent
a776e5c56e
commit
3d0c794224
12 changed files with 27 additions and 29 deletions
|
@ -2582,7 +2582,7 @@ void gutsdir(DDukeActor* actor, int gtype, int n, int p)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
void handle_se00(DDukeActor* actor, int LASERLINE)
|
void handle_se00(DDukeActor* actor)
|
||||||
{
|
{
|
||||||
sectortype *sect = actor->sector();
|
sectortype *sect = actor->sector();
|
||||||
|
|
||||||
|
@ -2713,20 +2713,19 @@ void handle_se00(DDukeActor* actor, int LASERLINE)
|
||||||
DukeSectIterator itp(actor->sector());
|
DukeSectIterator itp(actor->sector());
|
||||||
while (auto act2 = itp.Next())
|
while (auto act2 = itp.Next())
|
||||||
{
|
{
|
||||||
if (act2->spr.statnum != 3 && act2->spr.statnum != 4)
|
if (act2->spr.statnum != STAT_MISC && act2->spr.statnum != STAT_PROJECTILE && !actorflag(act2, SFLAG2_NOROTATEWITHSECTOR))
|
||||||
if (LASERLINE < 0 || act2->spr.picnum != LASERLINE)
|
{
|
||||||
|
if (act2->isPlayer() && act2->GetOwner())
|
||||||
{
|
{
|
||||||
if (act2->isPlayer() && act2->GetOwner())
|
continue;
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
act2->spr.ang += (l * q);
|
|
||||||
act2->spr.ang &= 2047;
|
|
||||||
|
|
||||||
act2->spr.pos.Z += zchange;
|
|
||||||
rotatepoint(Owner->spr.pos.vec2, act2->spr.pos.vec2, (q* l), &act2->spr.pos.vec2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
act2->spr.ang += (l * q);
|
||||||
|
act2->spr.ang &= 2047;
|
||||||
|
|
||||||
|
act2->spr.pos.Z += zchange;
|
||||||
|
rotatepoint(Owner->spr.pos.vec2, act2->spr.pos.vec2, (q* l), &act2->spr.pos.vec2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -928,7 +928,7 @@ static void movetripbomb(DDukeActor *actor)
|
||||||
|
|
||||||
ChangeActorSect(actor, curSect);
|
ChangeActorSect(actor, curSect);
|
||||||
|
|
||||||
// this is a hack to work around the LASERLINE sprite's art tile offset
|
// this is a hack to work around the laser line sprite's art tile offset
|
||||||
ChangeActorSect(spawned, curSect);
|
ChangeActorSect(spawned, curSect);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3340,7 +3340,7 @@ void moveeffectors_d(void) //STATNUM 3
|
||||||
switch (act->spr.lotag)
|
switch (act->spr.lotag)
|
||||||
{
|
{
|
||||||
case SE_0_ROTATING_SECTOR:
|
case SE_0_ROTATING_SECTOR:
|
||||||
handle_se00(act, LASERLINE);
|
handle_se00(act);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SE_1_PIVOT: //Nothing for now used as the pivot
|
case SE_1_PIVOT: //Nothing for now used as the pivot
|
||||||
|
|
|
@ -547,7 +547,7 @@ int ifhitbyweapon_r(DDukeActor *actor)
|
||||||
case SEENINE:
|
case SEENINE:
|
||||||
case OOZFILTER:
|
case OOZFILTER:
|
||||||
case EXPLODINGBARREL:
|
case EXPLODINGBARREL:
|
||||||
case TRIPBOMBSPRITE:
|
case POWDERKEG:
|
||||||
case RPG2:
|
case RPG2:
|
||||||
ps[p].vel.X += actor->hitextra * bcos(actor->hitang, 2);
|
ps[p].vel.X += actor->hitextra * bcos(actor->hitang, 2);
|
||||||
ps[p].vel.Y += actor->hitextra * bsin(actor->hitang, 2);
|
ps[p].vel.Y += actor->hitextra * bsin(actor->hitang, 2);
|
||||||
|
@ -2475,7 +2475,7 @@ DETONATEB:
|
||||||
int m = 0;
|
int m = 0;
|
||||||
switch (actor->spr.picnum)
|
switch (actor->spr.picnum)
|
||||||
{
|
{
|
||||||
case TRIPBOMBSPRITE: m = gs.tripbombblastradius; break; // powder keg
|
case POWDERKEG: m = gs.tripbombblastradius; break; // powder keg
|
||||||
case HEAVYHBOMB: m = gs.pipebombblastradius; break;
|
case HEAVYHBOMB: m = gs.pipebombblastradius; break;
|
||||||
case HBOMBAMMO: m = gs.pipebombblastradius; break;
|
case HBOMBAMMO: m = gs.pipebombblastradius; break;
|
||||||
case MORTER: m = gs.morterblastradius; break;
|
case MORTER: m = gs.morterblastradius; break;
|
||||||
|
@ -2864,7 +2864,7 @@ void moveactors_r(void)
|
||||||
getglobalz(act);
|
getglobalz(act);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TRIPBOMBSPRITE:
|
case POWDERKEG:
|
||||||
if (!isRRRA() || (sectp->lotag != 1 && sectp->lotag != 160))
|
if (!isRRRA() || (sectp->lotag != 1 && sectp->lotag != 160))
|
||||||
if (act->spr.xvel)
|
if (act->spr.xvel)
|
||||||
{
|
{
|
||||||
|
@ -3289,7 +3289,7 @@ void moveeffectors_r(void) //STATNUM 3
|
||||||
switch (st)
|
switch (st)
|
||||||
{
|
{
|
||||||
case SE_0_ROTATING_SECTOR:
|
case SE_0_ROTATING_SECTOR:
|
||||||
handle_se00(act, -1);
|
handle_se00(act);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case SE_1_PIVOT: //Nothing for now used as the pivot
|
case SE_1_PIVOT: //Nothing for now used as the pivot
|
||||||
|
|
|
@ -631,7 +631,8 @@ void animatesprites_d(tspritetype* tsprite, int& spritesortcnt, int x, int y, in
|
||||||
t->pos.Z = OwnerAc->spr.pos.Z - (3 << 8);
|
t->pos.Z = OwnerAc->spr.pos.Z - (3 << 8);
|
||||||
if (gs.lasermode == 2 && ps[screenpeek].heat_on == 0)
|
if (gs.lasermode == 2 && ps[screenpeek].heat_on == 0)
|
||||||
t->yrepeat = 0;
|
t->yrepeat = 0;
|
||||||
[[fallthrough]];
|
t->shade = -127;
|
||||||
|
break;
|
||||||
case EXPLOSION2:
|
case EXPLOSION2:
|
||||||
case EXPLOSION2BOT:
|
case EXPLOSION2BOT:
|
||||||
case FREEZEBLAST:
|
case FREEZEBLAST:
|
||||||
|
|
|
@ -326,7 +326,6 @@ enum sflags_t
|
||||||
SFLAG_SE24_REMOVE = 0x20000000,
|
SFLAG_SE24_REMOVE = 0x20000000,
|
||||||
SFLAG_BLOCK_TRIPBOMB = 0x40000000,
|
SFLAG_BLOCK_TRIPBOMB = 0x40000000,
|
||||||
SFLAG_NOFALLER = 0x80000000,
|
SFLAG_NOFALLER = 0x80000000,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
using EDukeFlags1 = TFlags<sflags_t, uint32_t>;
|
using EDukeFlags1 = TFlags<sflags_t, uint32_t>;
|
||||||
|
@ -335,6 +334,8 @@ DEFINE_TFLAGS_OPERATORS(EDukeFlags1)
|
||||||
enum sflags2_t
|
enum sflags2_t
|
||||||
{
|
{
|
||||||
SFLAG2_USEACTIVATOR = 0x00000001,
|
SFLAG2_USEACTIVATOR = 0x00000001,
|
||||||
|
SFLAG2_NOROTATEWITHSECTOR = 0x00000002,
|
||||||
|
SFLAG2_SHOWWALLSPRITEONMAP = 0x00000004,
|
||||||
};
|
};
|
||||||
|
|
||||||
using EDukeFlags2 = TFlags<sflags2_t, uint32_t>;
|
using EDukeFlags2 = TFlags<sflags2_t, uint32_t>;
|
||||||
|
|
|
@ -205,7 +205,6 @@ int TILE_DRONE;
|
||||||
int TILE_MENUSCREEN;
|
int TILE_MENUSCREEN;
|
||||||
int TILE_SCREENBORDER;
|
int TILE_SCREENBORDER;
|
||||||
int TILE_VIEWBORDER;
|
int TILE_VIEWBORDER;
|
||||||
int TILE_LASERLINE;
|
|
||||||
int TILE_APLAYERTOP;
|
int TILE_APLAYERTOP;
|
||||||
int TILE_CAMCORNER;
|
int TILE_CAMCORNER;
|
||||||
int TILE_CAMLIGHT;
|
int TILE_CAMLIGHT;
|
||||||
|
|
|
@ -211,6 +211,8 @@ void initactorflags_d()
|
||||||
setflag(SFLAG_SE24_REMOVE, { BLOODPOOL, PUKE, FOOTPRINTS, FOOTPRINTS2, FOOTPRINTS3, FOOTPRINTS4, BULLETHOLE, BLOODSPLAT1, BLOODSPLAT2, BLOODSPLAT3, BLOODSPLAT4 });
|
setflag(SFLAG_SE24_REMOVE, { BLOODPOOL, PUKE, FOOTPRINTS, FOOTPRINTS2, FOOTPRINTS3, FOOTPRINTS4, BULLETHOLE, BLOODSPLAT1, BLOODSPLAT2, BLOODSPLAT3, BLOODSPLAT4 });
|
||||||
setflag(SFLAG_BLOCK_TRIPBOMB, { TRIPBOMB }); // making this a flag adds the option to let other things block placing trip bombs as well.
|
setflag(SFLAG_BLOCK_TRIPBOMB, { TRIPBOMB }); // making this a flag adds the option to let other things block placing trip bombs as well.
|
||||||
setflag(SFLAG_NOFALLER, { CRACK1, CRACK2, CRACK3, CRACK4, SPEAKER, LETTER, DUCK, TARGET, TRIPBOMB, VIEWSCREEN, VIEWSCREEN2 });
|
setflag(SFLAG_NOFALLER, { CRACK1, CRACK2, CRACK3, CRACK4, SPEAKER, LETTER, DUCK, TARGET, TRIPBOMB, VIEWSCREEN, VIEWSCREEN2 });
|
||||||
|
setflag(SFLAG2_NOROTATEWITHSECTOR, { LASERLINE });
|
||||||
|
setflag(SFLAG2_SHOWWALLSPRITEONMAP, { LASERLINE });
|
||||||
|
|
||||||
if (isWorldTour())
|
if (isWorldTour())
|
||||||
{
|
{
|
||||||
|
@ -311,7 +313,6 @@ void initactorflags_d()
|
||||||
TILE_MENUSCREEN = MENUSCREEN;
|
TILE_MENUSCREEN = MENUSCREEN;
|
||||||
TILE_SCREENBORDER = BIGHOLE;
|
TILE_SCREENBORDER = BIGHOLE;
|
||||||
TILE_VIEWBORDER = VIEWBORDER;
|
TILE_VIEWBORDER = VIEWBORDER;
|
||||||
TILE_LASERLINE = LASERLINE;
|
|
||||||
TILE_APLAYERTOP = APLAYERTOP;
|
TILE_APLAYERTOP = APLAYERTOP;
|
||||||
TILE_CAMCORNER = CAMCORNER;
|
TILE_CAMCORNER = CAMCORNER;
|
||||||
TILE_CAMLIGHT = CAMLIGHT;
|
TILE_CAMLIGHT = CAMLIGHT;
|
||||||
|
|
|
@ -235,7 +235,7 @@ void initactorflags_r()
|
||||||
setflag(SFLAG_NOFLOORFIRE, { TREE1, TREE2 });
|
setflag(SFLAG_NOFLOORFIRE, { TREE1, TREE2 });
|
||||||
setflag(SFLAG_HITRADIUS_FLAG1, { BOX, TREE1, TREE2, TIRE });
|
setflag(SFLAG_HITRADIUS_FLAG1, { BOX, TREE1, TREE2, TIRE });
|
||||||
setflag(SFLAG_HITRADIUS_FLAG2, { QUEBALL, STRIPEBALL, BOWLINGPIN, DUKELYINGDEAD });
|
setflag(SFLAG_HITRADIUS_FLAG2, { QUEBALL, STRIPEBALL, BOWLINGPIN, DUKELYINGDEAD });
|
||||||
setflag(SFLAG_CHECKSLEEP, { RUBBERCAN, EXPLODINGBARREL, WOODENHORSE, HORSEONSIDE, CANWITHSOMETHING, FIREBARREL, NUKEBARREL, NUKEBARRELDENTED, NUKEBARRELLEAKED, TRIPBOMB, EGG });
|
setflag(SFLAG_CHECKSLEEP, { RUBBERCAN, EXPLODINGBARREL, WOODENHORSE, HORSEONSIDE, CANWITHSOMETHING, FIREBARREL, NUKEBARREL, NUKEBARRELDENTED, NUKEBARRELLEAKED, EGG });
|
||||||
setflag(SFLAG_NOTELEPORT, { TRANSPORTERSTAR, TRANSPORTERBEAM, BULLETHOLE, WATERSPLASH2, BURNING, FIRE, MUD });
|
setflag(SFLAG_NOTELEPORT, { TRANSPORTERSTAR, TRANSPORTERBEAM, BULLETHOLE, WATERSPLASH2, BURNING, FIRE, MUD });
|
||||||
setflag(SFLAG_SE24_NOCARRY, { BULLETHOLE, BOLT1, BOLT1 + 1,BOLT1 + 2, BOLT1 + 3, CRANE, CRANE1, CRANE2, BARBROKE });
|
setflag(SFLAG_SE24_NOCARRY, { BULLETHOLE, BOLT1, BOLT1 + 1,BOLT1 + 2, BOLT1 + 3, CRANE, CRANE1, CRANE2, BARBROKE });
|
||||||
setflag(SFLAG_SE24_REMOVE, { BLOODPOOL, PUKE, FOOTPRINTS, FOOTPRINTS2, FOOTPRINTS3 });
|
setflag(SFLAG_SE24_REMOVE, { BLOODPOOL, PUKE, FOOTPRINTS, FOOTPRINTS2, FOOTPRINTS3 });
|
||||||
|
@ -283,7 +283,6 @@ void initactorflags_r()
|
||||||
TILE_MENUSCREEN = MENUSCREEN;
|
TILE_MENUSCREEN = MENUSCREEN;
|
||||||
TILE_SCREENBORDER = isRRRA()? 7629 : BIGHOLE;
|
TILE_SCREENBORDER = isRRRA()? 7629 : BIGHOLE;
|
||||||
TILE_VIEWBORDER = VIEWBORDER;
|
TILE_VIEWBORDER = VIEWBORDER;
|
||||||
TILE_LASERLINE = LASERLINE;
|
|
||||||
TILE_APLAYERTOP = APLAYERTOP;
|
TILE_APLAYERTOP = APLAYERTOP;
|
||||||
TILE_CAMCORNER = CAMCORNER;
|
TILE_CAMCORNER = CAMCORNER;
|
||||||
TILE_CAMLIGHT = CAMLIGHT;
|
TILE_CAMLIGHT = CAMLIGHT;
|
||||||
|
|
|
@ -64,7 +64,7 @@ void shell(DDukeActor* i, bool morecheck);
|
||||||
void glasspieces(DDukeActor* i);
|
void glasspieces(DDukeActor* i);
|
||||||
void scrap(DDukeActor* i, int SCRAP1, int SCRAP6);
|
void scrap(DDukeActor* i, int SCRAP1, int SCRAP6);
|
||||||
|
|
||||||
void handle_se00(DDukeActor* i, int LASERLINE);
|
void handle_se00(DDukeActor* i);
|
||||||
void handle_se01(DDukeActor* i);
|
void handle_se01(DDukeActor* i);
|
||||||
void handle_se14(DDukeActor* i, bool checkstat, int RPG, int JIBS6);
|
void handle_se14(DDukeActor* i, bool checkstat, int RPG, int JIBS6);
|
||||||
void handle_se30(DDukeActor* i, int JIBS6);
|
void handle_se30(DDukeActor* i, int JIBS6);
|
||||||
|
|
|
@ -444,7 +444,7 @@ bool GameInterface::DrawAutomapPlayer(int mx, int my, int cposx, int cposy, int
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CSTAT_SPRITE_ALIGNMENT_WALL:
|
case CSTAT_SPRITE_ALIGNMENT_WALL:
|
||||||
if (act->spr.picnum == TILE_LASERLINE)
|
if (actorflag(act, SFLAG2_SHOWWALLSPRITEONMAP))
|
||||||
{
|
{
|
||||||
x1 = sprx;
|
x1 = sprx;
|
||||||
y1 = spry;
|
y1 = spry;
|
||||||
|
|
|
@ -533,7 +533,6 @@ x(SHOTGUNSHELL, 1704)
|
||||||
x(RPGMUZZLEFLASH, 1714)
|
x(RPGMUZZLEFLASH, 1714)
|
||||||
x(CATLITE, 1721)
|
x(CATLITE, 1721)
|
||||||
x(HANDHOLDINGLASER, 1732)
|
x(HANDHOLDINGLASER, 1732)
|
||||||
x(TRIPBOMB, 1735)
|
|
||||||
x(LASERLINE, 1736)
|
x(LASERLINE, 1736)
|
||||||
x(HANDHOLDINGACCESS, 1737)
|
x(HANDHOLDINGACCESS, 1737)
|
||||||
x(HANDREMOTE, 1739)
|
x(HANDREMOTE, 1739)
|
||||||
|
|
|
@ -16,7 +16,6 @@ extern int TILE_DRONE;
|
||||||
extern int TILE_MENUSCREEN;
|
extern int TILE_MENUSCREEN;
|
||||||
extern int TILE_SCREENBORDER;
|
extern int TILE_SCREENBORDER;
|
||||||
extern int TILE_VIEWBORDER;
|
extern int TILE_VIEWBORDER;
|
||||||
extern int TILE_LASERLINE;
|
|
||||||
extern int TILE_APLAYERTOP;
|
extern int TILE_APLAYERTOP;
|
||||||
extern int TILE_CAMCORNER;
|
extern int TILE_CAMCORNER;
|
||||||
extern int TILE_CAMLIGHT;
|
extern int TILE_CAMLIGHT;
|
||||||
|
|
Loading…
Reference in a new issue