mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-15 00:42:08 +00:00
- restricted use of gs.firstdebris to the only place where it is really needed.
Also no script export for this, it is only needed for converting CON parameters to propr indices.
This commit is contained in:
parent
d253468b22
commit
ad7cf290d2
7 changed files with 20 additions and 9 deletions
|
@ -1009,7 +1009,7 @@ static void movefireext(DDukeActor* actor)
|
||||||
auto spawned = CreateActor(actor->sector(), actor->spr.pos.plusZ(krandf(-48)), PClass::FindActor("DukeScrap"), -8, DVector2(0.75, 0.75), a, vel, zvel, actor, STAT_MISC);
|
auto spawned = CreateActor(actor->sector(), actor->spr.pos.plusZ(krandf(-48)), PClass::FindActor("DukeScrap"), -8, DVector2(0.75, 0.75), a, vel, zvel, actor, STAT_MISC);
|
||||||
if (spawned)
|
if (spawned)
|
||||||
{
|
{
|
||||||
if (spawned) spawned->spriteextra = SCRAP3 - gs.firstdebris + krand() & 3;
|
if (spawned) spawned->spriteextra = Scrap3 + krand() & 3;
|
||||||
spawned->spr.pal = 2;
|
spawned->spr.pal = 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2146,7 +2146,7 @@ static void greenslime(DDukeActor *actor)
|
||||||
auto spawned = CreateActor(actor->sector(), actor->spr.pos.plusZ(-8), PClass::FindActor("DukeScrap"), -8, DVector2(0.75, 0.75), a, vel, zvel, actor, STAT_MISC);
|
auto spawned = CreateActor(actor->sector(), actor->spr.pos.plusZ(-8), PClass::FindActor("DukeScrap"), -8, DVector2(0.75, 0.75), a, vel, zvel, actor, STAT_MISC);
|
||||||
if (spawned)
|
if (spawned)
|
||||||
{
|
{
|
||||||
if (spawned) spawned->spriteextra = SCRAP3 - gs.firstdebris + krand() & 3;
|
if (spawned) spawned->spriteextra = Scrap3 + krand() & 3;
|
||||||
spawned->spr.pal = 6;
|
spawned->spr.pal = 6;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2262,7 +2262,7 @@ static void greenslime(DDukeActor *actor)
|
||||||
auto spawned = CreateActor(actor->sector(), actor->spr.pos.plusZ(-8), PClass::FindActor("DukeScrap"), -8, DVector2(0.75, 0.75), a, vel, zvel, actor, STAT_MISC);
|
auto spawned = CreateActor(actor->sector(), actor->spr.pos.plusZ(-8), PClass::FindActor("DukeScrap"), -8, DVector2(0.75, 0.75), a, vel, zvel, actor, STAT_MISC);
|
||||||
if (spawned)
|
if (spawned)
|
||||||
{
|
{
|
||||||
if (spawned) spawned->spriteextra = SCRAP3 - gs.firstdebris + krand() & 3;
|
if (spawned) spawned->spriteextra = Scrap3 + krand() & 3;
|
||||||
spawned->spr.pal = 6;
|
spawned->spr.pal = 6;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,6 +30,18 @@ enum
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum EScrap
|
||||||
|
{
|
||||||
|
Scrap6 = 0,
|
||||||
|
Scrap1 = 10,
|
||||||
|
Scrap2 = 14,
|
||||||
|
Scrap3 = 18,
|
||||||
|
Scrap4 = 22,
|
||||||
|
Scrap5 = 26,
|
||||||
|
ScrapMax = 30
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
// the available palettes. These are indices into the global table of translations.
|
// the available palettes. These are indices into the global table of translations.
|
||||||
enum basepal_t {
|
enum basepal_t {
|
||||||
BASEPAL = 0,
|
BASEPAL = 0,
|
||||||
|
|
|
@ -2154,6 +2154,7 @@ int ParseState::parse(void)
|
||||||
{
|
{
|
||||||
insptr++;
|
insptr++;
|
||||||
int dnum = *insptr - gs.firstdebris;
|
int dnum = *insptr - gs.firstdebris;
|
||||||
|
if (dnum < 0 || dnum >= ScrapMax) break; // this code only works with scrap and nothing else.
|
||||||
insptr++;
|
insptr++;
|
||||||
int count = *insptr;
|
int count = *insptr;
|
||||||
bool weap = fi.spawnweapondebris(g_ac->spr.picnum);
|
bool weap = fi.spawnweapondebris(g_ac->spr.picnum);
|
||||||
|
|
|
@ -1077,7 +1077,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj)
|
||||||
auto spawned = CreateActor(targ->sector(), targ->spr.pos.plusZ(-48), PClass::FindActor("DukeScrap"), -8, DVector2(0.75, 0.75), a, vel, zvel, targ, STAT_MISC);
|
auto spawned = CreateActor(targ->sector(), targ->spr.pos.plusZ(-48), PClass::FindActor("DukeScrap"), -8, DVector2(0.75, 0.75), a, vel, zvel, targ, STAT_MISC);
|
||||||
if (spawned)
|
if (spawned)
|
||||||
{
|
{
|
||||||
if (spawned) spawned->spriteextra = SCRAP3 - gs.firstdebris + krand() & 3;
|
if (spawned) spawned->spriteextra = Scrap3 + krand() & 3;
|
||||||
spawned->spr.pal = 6;
|
spawned->spr.pal = 6;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1096,7 +1096,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj)
|
||||||
auto vel = krandf(4) + 4;
|
auto vel = krandf(4) + 4;
|
||||||
auto zvel = -krandf(16) - targ->vel.Z * 0.25;
|
auto zvel = -krandf(16) - targ->vel.Z * 0.25;
|
||||||
auto spawned = CreateActor(targ->sector(), targ->spr.pos.plusZ(-8), PClass::FindActor("DukeScrap"), -8, DVector2(0.75, 0.75), a, vel, zvel, targ, STAT_MISC);
|
auto spawned = CreateActor(targ->sector(), targ->spr.pos.plusZ(-8), PClass::FindActor("DukeScrap"), -8, DVector2(0.75, 0.75), a, vel, zvel, targ, STAT_MISC);
|
||||||
if (spawned) spawned->spriteextra = SCRAP1 - gs.firstdebris + krand() & 15;
|
if (spawned) spawned->spriteextra = Scrap1 + krand() & 15;
|
||||||
}
|
}
|
||||||
S_PlayActorSound(GLASS_HEAVYBREAK, targ);
|
S_PlayActorSound(GLASS_HEAVYBREAK, targ);
|
||||||
deletesprite(targ);
|
deletesprite(targ);
|
||||||
|
@ -1126,7 +1126,7 @@ void checkhitsprite_d(DDukeActor* targ, DDukeActor* proj)
|
||||||
auto zvel = -krandf(2) - 1;
|
auto zvel = -krandf(2) - 1;
|
||||||
|
|
||||||
auto spawned = CreateActor(targ->sector(), DVector3(targ->spr.pos.XY(), targ->sector()->floorz - 12 - j * 2), PClass::FindActor("DukeScrap"), -8, DVector2(1, 1), a, vel, zvel, targ, 5);
|
auto spawned = CreateActor(targ->sector(), DVector3(targ->spr.pos.XY(), targ->sector()->floorz - 12 - j * 2), PClass::FindActor("DukeScrap"), -8, DVector2(1, 1), a, vel, zvel, targ, 5);
|
||||||
if (spawned) spawned->spriteextra = SCRAP1 - gs.firstdebris + krand() & 15;
|
if (spawned) spawned->spriteextra = Scrap1 + krand() & 15;
|
||||||
|
|
||||||
}
|
}
|
||||||
spawn(targ, EXPLOSION2);
|
spawn(targ, EXPLOSION2);
|
||||||
|
|
|
@ -2151,7 +2151,7 @@ void checkhitsprite_r(DDukeActor* targ, DDukeActor* proj)
|
||||||
|
|
||||||
auto spawned = CreateActor(targ->sector(), DVector3(targ->spr.pos.XY(), targ->sector()->floorz - 12 - j * 2), PClass::FindActor("DukeScrap"), -8, DVector2(1, 1),
|
auto spawned = CreateActor(targ->sector(), DVector3(targ->spr.pos.XY(), targ->sector()->floorz - 12 - j * 2), PClass::FindActor("DukeScrap"), -8, DVector2(1, 1),
|
||||||
a, vel, zvel, targ, 5);
|
a, vel, zvel, targ, 5);
|
||||||
if (spawned) spawned->spriteextra = SCRAP1 - gs.firstdebris + krand() & 15;
|
if (spawned) spawned->spriteextra = Scrap1 + krand() & 15;
|
||||||
}
|
}
|
||||||
spawn(targ, EXPLOSION2);
|
spawn(targ, EXPLOSION2);
|
||||||
deletesprite(targ);
|
deletesprite(targ);
|
||||||
|
|
|
@ -631,7 +631,6 @@ DEFINE_FIELD_X(DukeGameInfo, DukeGameInfo, freezerhurtowner);
|
||||||
DEFINE_FIELD_X(DukeGameInfo, DukeGameInfo, impact_damage);
|
DEFINE_FIELD_X(DukeGameInfo, DukeGameInfo, impact_damage);
|
||||||
DEFINE_FIELD_X(DukeGameInfo, DukeGameInfo, playerheight);
|
DEFINE_FIELD_X(DukeGameInfo, DukeGameInfo, playerheight);
|
||||||
DEFINE_FIELD_X(DukeGameInfo, DukeGameInfo, displayflags);
|
DEFINE_FIELD_X(DukeGameInfo, DukeGameInfo, displayflags);
|
||||||
DEFINE_FIELD_X(DukeGameInfo, DukeGameInfo, firstdebris);
|
|
||||||
DEFINE_GLOBAL_UNSIZED(gs)
|
DEFINE_GLOBAL_UNSIZED(gs)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1268,6 +1268,5 @@ struct DukeGameInfo native
|
||||||
readonly native int freezerhurtowner;
|
readonly native int freezerhurtowner;
|
||||||
readonly native int impact_damage;
|
readonly native int impact_damage;
|
||||||
readonly native double playerheight;
|
readonly native double playerheight;
|
||||||
readonly native int firstdebris;
|
|
||||||
readonly native int displayflags;
|
readonly native int displayflags;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue