mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-15 08:52:00 +00:00
- manual sprite flag replacements in Duke.
This commit is contained in:
parent
8e0b9f7ce6
commit
8f0f0e8816
11 changed files with 44 additions and 44 deletions
|
@ -419,7 +419,7 @@ int32_t spriteheightofsptr(uspriteptr_t spr, int32_t *height, int32_t alsotileyo
|
|||
if (height != NULL)
|
||||
*height = hei;
|
||||
|
||||
if (spr->cstat&128)
|
||||
if (spr->cstat & CSTAT_SPRITE_YCENTER)
|
||||
zofs = hei>>1;
|
||||
|
||||
// NOTE: a positive per-tile yoffset translates the sprite into the
|
||||
|
|
|
@ -1252,7 +1252,7 @@ static int32_t polymost_md3draw(md3model_t *m, tspriteptr_t tspr)
|
|||
// tinting
|
||||
pc[0] = pc[1] = pc[2] = ((float)numshades - min(max((globalshade * hw_shadescale) + m->shadeoff, 0.f), (float)numshades)) / (float)numshades;
|
||||
|
||||
pc[3] = (tspr->cstat & CSTAT_SPRITE_TRANSLUCENT) ? glblend[tspr->blend].def[!!(tspr->cstat&512)].alpha : 1.0f;
|
||||
pc[3] = (tspr->cstat & CSTAT_SPRITE_TRANSLUCENT) ? glblend[tspr->blend].def[!!(tspr->cstat & CSTAT_SPRITE_TRANS_FLIP)].alpha : 1.0f;
|
||||
pc[3] *= 1.0f - sext->alpha;
|
||||
|
||||
SetRenderStyleFromBlend(!!(tspr->cstat & CSTAT_SPRITE_TRANSLUCENT), tspr->blend, !!(tspr->cstat & CSTAT_SPRITE_TRANS_FLIP));
|
||||
|
|
|
@ -1877,7 +1877,7 @@ void polymost_scansector(int32_t sectnum)
|
|||
while (auto act = it.Next())
|
||||
{
|
||||
auto spr = &act->s();
|
||||
if ((spr->cstat & 0x8000) || spr->xrepeat == 0 || spr->yrepeat == 0)
|
||||
if ((spr->cstat & CSTAT_SPRITE_INVISIBLE) || spr->xrepeat == 0 || spr->yrepeat == 0)
|
||||
continue;
|
||||
|
||||
vec2_t const s = { spr->x-globalposx, spr->y-globalposy };
|
||||
|
@ -1886,7 +1886,7 @@ void polymost_scansector(int32_t sectnum)
|
|||
(hw_models && tile2model[spr->picnum].modelid>=0) ||
|
||||
((s.x * gcosang) + (s.y * gsinang) > 0))
|
||||
{
|
||||
if ((spr->cstat&(64+48))!=(64+16) ||
|
||||
if ((spr->cstat&(CSTAT_SPRITE_ONE_SIDE | CSTAT_SPRITE_ALIGNMENT_MASK))!=(CSTAT_SPRITE_ONE_SIDE | CSTAT_SPRITE_ALIGNMENT_WALL) ||
|
||||
(r_voxels && tiletovox[spr->picnum] >= 0 && voxmodels[tiletovox[spr->picnum]]) ||
|
||||
(r_voxels && gi->Voxelize(spr->picnum) > -1) ||
|
||||
DMulScale(bcos(spr->ang), -s.x, bsin(spr->ang), -s.y, 6) > 0)
|
||||
|
|
|
@ -3374,7 +3374,7 @@ void handle_se06_r(DDukeActor *actor)
|
|||
ns = EGS(s->sector(), s->x, s->y, s->sector()->ceilingz + 119428, 3677, -8, 16, 16, 0, 0, 0, actor, 5);
|
||||
if (ns)
|
||||
{
|
||||
ns->s->cstat = 514;
|
||||
ns->s->cstat = CSTAT_SPRITE_TRANS_FLIP | CSTAT_SPRITE_TRANSLUCENT;
|
||||
ns->s->pal = 7;
|
||||
ns->s->xrepeat = 80;
|
||||
ns->s->yrepeat = 255;
|
||||
|
|
|
@ -931,9 +931,9 @@ void animatesprites_r(tspritetype* tsprite, int& spritesortcnt, int x, int y, in
|
|||
t->picnum = s->picnum + (h->temp_data[0] & 1);
|
||||
[[fallthrough]];
|
||||
case SHOTGUNSHELL:
|
||||
t->cstat |= 12;
|
||||
t->cstat |= CSTAT_SPRITE_XFLIP | CSTAT_SPRITE_YFLIP;
|
||||
if (h->temp_data[0] > 1) t->cstat &= ~CSTAT_SPRITE_XFLIP;
|
||||
if (h->temp_data[0] > 2) t->cstat &= ~12;
|
||||
if (h->temp_data[0] > 2) t->cstat &= ~CSTAT_SPRITE_XFLIP | CSTAT_SPRITE_YFLIP;
|
||||
break;
|
||||
case FRAMEEFFECT1:
|
||||
if (Owner && Owner->statnum < MAXSTATUS)
|
||||
|
@ -954,7 +954,7 @@ void animatesprites_r(tspritetype* tsprite, int& spritesortcnt, int x, int y, in
|
|||
t->pal = Owner->pal;
|
||||
t->shade = Owner->shade;
|
||||
t->ang = Owner->ang;
|
||||
t->cstat = 2 | Owner->cstat;
|
||||
t->cstat = CSTAT_SPRITE_TRANSLUCENT | Owner->cstat;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -205,7 +205,7 @@ static void shootflamethrowerflame(DDukeActor* actor, int p, int sx, int sy, int
|
|||
spawned->s->y = sy + bsin(sa + 112) / 448;
|
||||
spawned->s->z = sz - 256;
|
||||
spawned->s->setsector(s->sector());
|
||||
spawned->s->cstat = 0x80;
|
||||
spawned->s->cstat = CSTAT_SPRITE_YCENTER;
|
||||
spawned->s->ang = sa;
|
||||
spawned->s->xrepeat = 2;
|
||||
spawned->s->yrepeat = 2;
|
||||
|
@ -982,7 +982,7 @@ static void shootgrowspark(DDukeActor* actor, int p, int sx, int sy, int sz, int
|
|||
if (!spark) return;
|
||||
|
||||
spark->s->pal = 2;
|
||||
spark->s->cstat |= 130;
|
||||
spark->s->cstat |= CSTAT_SPRITE_YCENTER | CSTAT_SPRITE_TRANSLUCENT;
|
||||
spark->s->xrepeat = spark->s->yrepeat = 1;
|
||||
|
||||
if (hit.hitWall == nullptr && hit.actor() == nullptr && hit.hitSector != nullptr)
|
||||
|
@ -2790,7 +2790,7 @@ void processinput_d(int snum)
|
|||
|
||||
if (clz.type == kHitSprite)
|
||||
{
|
||||
if ((clz.actor()->s->cstat & 33) == 33)
|
||||
if ((clz.actor()->s->cstat & (CSTAT_SPRITE_ALIGNMENT_FLOOR | CSTAT_SPRITE_BLOCK)) == (CSTAT_SPRITE_ALIGNMENT_FLOOR | CSTAT_SPRITE_BLOCK))
|
||||
{
|
||||
psectlotag = 0;
|
||||
p->footprintcount = 0;
|
||||
|
|
|
@ -2360,7 +2360,7 @@ static void underwater(int snum, ESyncBits actions, int fz, int cz)
|
|||
j->s->xrepeat = 3;
|
||||
j->s->yrepeat = 2;
|
||||
j->s->z = p->pos.z + (8 << 8);
|
||||
j->s->cstat = 514;
|
||||
j->s->cstat = CSTAT_SPRITE_TRANS_FLIP | CSTAT_SPRITE_TRANSLUCENT;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3463,7 +3463,7 @@ void processinput_r(int snum)
|
|||
|
||||
if (clz.type == kHitSprite)
|
||||
{
|
||||
if ((clz.actor()->s->cstat & 33) == 33)
|
||||
if ((clz.actor()->s->cstat & (CSTAT_SPRITE_ALIGNMENT_FLOOR| CSTAT_SPRITE_BLOCK)) == (CSTAT_SPRITE_ALIGNMENT_FLOOR | CSTAT_SPRITE_BLOCK))
|
||||
{
|
||||
psectlotag = 0;
|
||||
p->footprintcount = 0;
|
||||
|
|
|
@ -691,7 +691,7 @@ void checkhitwall_d(DDukeActor* spr, walltype* wal, int x, int y, int z, int atw
|
|||
}
|
||||
if (spawned)
|
||||
{
|
||||
spawned->s->cstat |= 18 + 128;
|
||||
spawned->s->cstat |= CSTAT_SPRITE_TRANSLUCENT | CSTAT_SPRITE_ALIGNMENT_WALL | CSTAT_SPRITE_YCENTER;
|
||||
auto delta = wal->delta();
|
||||
spawned->s->ang = getangle(-delta.x, -delta.y) - 512;
|
||||
|
||||
|
@ -1255,7 +1255,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj)
|
|||
|
||||
case TOILET:
|
||||
s->picnum = TOILETBROKE;
|
||||
s->cstat |= (krand() & 1) << 2;
|
||||
if (krand() & 1) s->cstat |= CSTAT_SPRITE_XFLIP;
|
||||
s->cstat &= ~CSTAT_SPRITE_BLOCK_ALL;
|
||||
spawn(targ, TOILETWATER);
|
||||
S_PlayActorSound(GLASS_BREAKING, targ);
|
||||
|
@ -1263,7 +1263,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj)
|
|||
|
||||
case STALL:
|
||||
s->picnum = STALLBROKE;
|
||||
s->cstat |= (krand() & 1) << 2;
|
||||
if (krand() & 1) s->cstat |= CSTAT_SPRITE_XFLIP;
|
||||
s->cstat &= ~CSTAT_SPRITE_BLOCK_ALL;
|
||||
spawn(targ, TOILETWATER);
|
||||
S_PlayActorSound(GLASS_HEAVYBREAK, targ);
|
||||
|
|
|
@ -2281,7 +2281,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj)
|
|||
}
|
||||
case TOILET:
|
||||
s->picnum = TOILETBROKE;
|
||||
s->cstat |= (krand() & 1) << 2;
|
||||
if(krand() & 1) s->cstat |= CSTAT_SPRITE_XFLIP;
|
||||
s->cstat &= ~CSTAT_SPRITE_BLOCK_ALL;
|
||||
spawn(targ, TOILETWATER);
|
||||
S_PlayActorSound(GLASS_BREAKING, targ);
|
||||
|
@ -2289,7 +2289,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj)
|
|||
|
||||
case STALL:
|
||||
s->picnum = STALLBROKE;
|
||||
s->cstat |= (krand() & 1) << 2;
|
||||
if (krand() & 1) s->cstat |= CSTAT_SPRITE_XFLIP;
|
||||
s->cstat &= ~CSTAT_SPRITE_BLOCK_ALL;
|
||||
spawn(targ, TOILETWATER);
|
||||
S_PlayActorSound(GLASS_HEAVYBREAK, targ);
|
||||
|
|
|
@ -240,7 +240,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
sp->xrepeat = 32;
|
||||
|
||||
if (gs.lasermode == 1)
|
||||
sp->cstat = CSTAT_SPRITE_ALIGNMENT_WALL + 2;
|
||||
sp->cstat = CSTAT_SPRITE_ALIGNMENT_WALL | CSTAT_SPRITE_TRANSLUCENT;
|
||||
else if (gs.lasermode == 0 || gs.lasermode == 2)
|
||||
sp->cstat = CSTAT_SPRITE_ALIGNMENT_WALL;
|
||||
else
|
||||
|
@ -297,7 +297,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
if (spj->picnum == TIRE)
|
||||
sp->shade = 127;
|
||||
}
|
||||
sp->cstat |= 32;
|
||||
sp->cstat |= CSTAT_SPRITE_ALIGNMENT_FLOOR;
|
||||
if (sp->picnum == LAVAPOOL) // Twentieth Anniversary World Tour
|
||||
{
|
||||
int fz = getflorzofslopeptr(sp->sector(), sp->x, sp->y);
|
||||
|
@ -317,7 +317,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
case BLOODSPLAT2:
|
||||
case BLOODSPLAT3:
|
||||
case BLOODSPLAT4:
|
||||
sp->cstat |= 16;
|
||||
sp->cstat |= CSTAT_SPRITE_ALIGNMENT_WALL;
|
||||
sp->xrepeat = 7 + (krand() & 7);
|
||||
sp->yrepeat = 7 + (krand() & 7);
|
||||
sp->z -= (16 << 8);
|
||||
|
@ -460,8 +460,8 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
case MASKWALL14:
|
||||
case MASKWALL15:
|
||||
{
|
||||
int j = sp->cstat & 60;
|
||||
sp->cstat = j | 1;
|
||||
auto j = sp->cstat & (CSTAT_SPRITE_ALIGNMENT_MASK | CSTAT_SPRITE_XFLIP | CSTAT_SPRITE_YFLIP);
|
||||
sp->cstat = j | CSTAT_SPRITE_BLOCK;
|
||||
ChangeActorStat(act, 0);
|
||||
break;
|
||||
}
|
||||
|
@ -498,7 +498,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
|
||||
if (sp->picnum == QUEBALL || sp->picnum == STRIPEBALL)
|
||||
{
|
||||
sp->cstat = 256;
|
||||
sp->cstat = CSTAT_SPRITE_BLOCK_HITSCAN;
|
||||
sp->clipdist = 8;
|
||||
}
|
||||
else
|
||||
|
@ -654,7 +654,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
sp->x += krand() % 256 - 128;
|
||||
sp->y += krand() % 256 - 128;
|
||||
sp->z -= krand() % 10240;
|
||||
sp->cstat |= 0x80;
|
||||
sp->cstat |= CSTAT_SPRITE_YCENTER;
|
||||
}
|
||||
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
|
@ -926,7 +926,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
break;
|
||||
|
||||
case DOORSHOCK:
|
||||
sp->cstat |= 1 + 256;
|
||||
sp->cstat |= CSTAT_SPRITE_BLOCK_ALL;
|
||||
sp->shade = -12;
|
||||
ChangeActorStat(act, 6);
|
||||
break;
|
||||
|
@ -951,7 +951,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
|
||||
sp->yrepeat = j;
|
||||
sp->xrepeat = 25 - (j >> 1);
|
||||
sp->cstat |= (krand() & 4);
|
||||
if (krand() & 4) sp->cstat |= CSTAT_SPRITE_XFLIP;
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -1011,7 +1011,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
sp->z -= (32 << 8);
|
||||
sp->zvel = -1024;
|
||||
ssp(act, CLIPMASK0);
|
||||
sp->cstat = krand() & 4;
|
||||
if (krand() & 4) sp->cstat |= CSTAT_SPRITE_XFLIP;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1078,7 +1078,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
|
||||
case BOUNCEMINE:
|
||||
act->SetOwner(act);
|
||||
sp->cstat |= 1 + 256; //Make it hitable
|
||||
sp->cstat |= CSTAT_SPRITE_BLOCK_ALL; //Make it hitable
|
||||
sp->xrepeat = sp->yrepeat = 24;
|
||||
sp->shade = -127;
|
||||
sp->extra = gs.impact_damage << 2;
|
||||
|
@ -1114,7 +1114,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
if (spj)
|
||||
{
|
||||
sp->ang = spj->ang;
|
||||
sp->cstat = CSTAT_SPRITE_ALIGNMENT_WALL + 128 + 2;
|
||||
sp->cstat = CSTAT_SPRITE_ALIGNMENT_WALL | CSTAT_SPRITE_YCENTER | CSTAT_SPRITE_TRANSLUCENT;
|
||||
sp->xrepeat = sp->yrepeat = 1;
|
||||
sp->xvel = -8;
|
||||
ssp(act, CLIPMASK0);
|
||||
|
@ -1139,7 +1139,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
sp->cstat = CSTAT_SPRITE_INVISIBLE;
|
||||
sp->xrepeat = sp->yrepeat = 0;
|
||||
}
|
||||
else sp->cstat = 1 + 256;
|
||||
else sp->cstat = CSTAT_SPRITE_BLOCK_ALL;
|
||||
sp->extra = gs.impact_damage << 2;
|
||||
act->SetOwner(act);
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
|
@ -1157,7 +1157,7 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
}
|
||||
else
|
||||
{
|
||||
sp->cstat |= (sp->cstat & CSTAT_SPRITE_ALIGNMENT_MASK) ? 1 : 17;
|
||||
sp->cstat |= (sp->cstat & CSTAT_SPRITE_ALIGNMENT_MASK) ? CSTAT_SPRITE_BLOCK : (CSTAT_SPRITE_BLOCK | CSTAT_SPRITE_ALIGNMENT_WALL);
|
||||
sp->extra = 1;
|
||||
}
|
||||
|
||||
|
|
|
@ -346,14 +346,14 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
if (spj->picnum == TIRE)
|
||||
sp->shade = 127;
|
||||
}
|
||||
sp->cstat |= 32;
|
||||
sp->cstat |= CSTAT_SPRITE_ALIGNMENT_FLOOR;
|
||||
[[fallthrough]];
|
||||
|
||||
case BLOODSPLAT1:
|
||||
case BLOODSPLAT2:
|
||||
case BLOODSPLAT3:
|
||||
case BLOODSPLAT4:
|
||||
sp->cstat |= 16;
|
||||
sp->cstat |= CSTAT_SPRITE_ALIGNMENT_WALL;
|
||||
sp->xrepeat = 7 + (krand() & 7);
|
||||
sp->yrepeat = 7 + (krand() & 7);
|
||||
sp->z -= (16 << 8);
|
||||
|
@ -426,8 +426,8 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
|
||||
case MASKWALL7:
|
||||
{
|
||||
int j = sp->cstat & 60;
|
||||
sp->cstat = j | 1;
|
||||
auto j = sp->cstat & (CSTAT_SPRITE_ALIGNMENT_MASK | CSTAT_SPRITE_XFLIP | CSTAT_SPRITE_YFLIP);
|
||||
sp->cstat = j | CSTAT_SPRITE_BLOCK;
|
||||
ChangeActorStat(act, 0);
|
||||
break;
|
||||
}
|
||||
|
@ -448,7 +448,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
case STRIPEBALL:
|
||||
if (sp->picnum == QUEBALL || sp->picnum == STRIPEBALL)
|
||||
{
|
||||
sp->cstat = 256;
|
||||
sp->cstat = CSTAT_SPRITE_BLOCK_HITSCAN;
|
||||
sp->clipdist = 8;
|
||||
}
|
||||
else
|
||||
|
@ -459,7 +459,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
ChangeActorStat(act, 2);
|
||||
break;
|
||||
case BOWLINGBALL:
|
||||
sp->cstat = 256;
|
||||
sp->cstat = CSTAT_SPRITE_BLOCK_HITSCAN;
|
||||
sp->clipdist = 64;
|
||||
sp->xrepeat = 11;
|
||||
sp->yrepeat = 9;
|
||||
|
@ -906,7 +906,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
case MAMACLOUD:
|
||||
sp->xrepeat = 64;
|
||||
sp->yrepeat = 64;
|
||||
sp->cstat = 2;
|
||||
sp->cstat = CSTAT_SPRITE_TRANSLUCENT;
|
||||
sp->cstat |= CSTAT_SPRITE_TRANS_FLIP;
|
||||
sp->x += (krand() & 2047) - 1024;
|
||||
sp->y += (krand() & 2047) - 1024;
|
||||
|
@ -990,7 +990,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
sp->yrepeat = 128;
|
||||
sp->clipdist = MulScale(sp->xrepeat, tileWidth(sp->picnum), 7);
|
||||
sp->clipdist >>= 2;
|
||||
sp->cstat = 2;
|
||||
sp->cstat = CSTAT_SPRITE_TRANSLUCENT;
|
||||
break;
|
||||
case LTH:
|
||||
sp->xrepeat = 24;
|
||||
|
@ -1079,7 +1079,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
ChangeActorStat(act, STAT_ACTIVATOR);
|
||||
break;
|
||||
case DOORSHOCK:
|
||||
sp->cstat |= 1 + 256;
|
||||
sp->cstat |= CSTAT_SPRITE_BLOCK_ALL;
|
||||
sp->shade = -12;
|
||||
|
||||
ChangeActorStat(act, STAT_STANDABLE);
|
||||
|
@ -1101,7 +1101,7 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
|
||||
sp->yrepeat = j;
|
||||
sp->xrepeat = 25 - (j >> 1);
|
||||
sp->cstat |= (krand() & 4);
|
||||
if(krand() & 4) sp->cstat |= CSTAT_SPRITE_XFLIP;
|
||||
break;
|
||||
}
|
||||
case HEAVYHBOMB:
|
||||
|
@ -1221,12 +1221,12 @@ DDukeActor* spawninit_r(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
case SHOTGUNAMMO:
|
||||
sp->xrepeat = 18;
|
||||
sp->yrepeat = 17;
|
||||
if (isRRRA()) sp->cstat = 256;
|
||||
if (isRRRA()) sp->cstat = CSTAT_SPRITE_BLOCK_HITSCAN;
|
||||
break;
|
||||
case SIXPAK:
|
||||
sp->xrepeat = 13;
|
||||
sp->yrepeat = 9;
|
||||
if (isRRRA()) sp->cstat = 256;
|
||||
if (isRRRA()) sp->cstat = CSTAT_SPRITE_BLOCK_HITSCAN;
|
||||
break;
|
||||
case FIRSTAID:
|
||||
sp->xrepeat = 8;
|
||||
|
|
Loading…
Reference in a new issue