mirror of
https://github.com/ZDoom/Raze.git
synced 2025-02-21 02:51:46 +00:00
- replaced all simple sector iterators.
This commit is contained in:
parent
d63f5046ec
commit
0bd0477352
5 changed files with 32 additions and 26 deletions
|
@ -245,10 +245,12 @@ void aiProcess() {
|
|||
else {
|
||||
spr.z = zr_florz;
|
||||
}
|
||||
short j = headspritesect[spr.sectnum];
|
||||
while (j != -1) {
|
||||
short nextj = nextspritesect[j];
|
||||
SPRITE& tspr = sprite[j];
|
||||
WHSectIterator it(spr.sectnum);
|
||||
while (auto actor = it.Next())
|
||||
{
|
||||
SPRITE& tspr = actor->s();
|
||||
int j = actor->GetSpriteIndex();
|
||||
|
||||
if (tspr.picnum == PATROLPOINT) {
|
||||
int dx = abs(spr.x - tspr.x); // x distance to sprite
|
||||
int dy = abs(spr.y - tspr.y); // y distance to sprite
|
||||
|
@ -258,7 +260,6 @@ void aiProcess() {
|
|||
spr.ang = tspr.ang;
|
||||
}
|
||||
}
|
||||
j = nextj;
|
||||
}
|
||||
if (bcos(spr.ang) * (plr.x - spr.x) + bsin(spr.ang) * (plr.y - spr.y) >= 0) {
|
||||
if (cansee(plr.x, plr.y, plr.z, plr.sector, spr.x, spr.y, spr.z - (tileHeight(spr.picnum) << 7),
|
||||
|
|
|
@ -508,10 +508,12 @@ void goblinWarProcess(PLAYER& plr)
|
|||
|
||||
static void checkexplgoblin(PLAYER& plr, short i) {
|
||||
SPRITE& spr = sprite[i];
|
||||
short j = headspritesect[spr.sectnum];
|
||||
while (j != -1) {
|
||||
short nextj = nextspritesect[j];
|
||||
auto& spri = sprite[j];
|
||||
WHSectIterator it(spr.sectnum);
|
||||
while (auto actor = it.Next())
|
||||
{
|
||||
SPRITE& spri = actor->s();
|
||||
int j = actor->GetSpriteIndex();
|
||||
|
||||
int dx = abs(spr.x - spri.x); // x distance to sprite
|
||||
int dy = abs(spr.y - spri.y); // y distance to sprite
|
||||
int dz = abs((spr.z >> 8) - (spri.z >> 8)); // z distance to sprite
|
||||
|
@ -526,7 +528,6 @@ static void checkexplgoblin(PLAYER& plr, short i) {
|
|||
}
|
||||
}
|
||||
}
|
||||
j = nextj;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -409,10 +409,12 @@ static void diegron(PLAYER& plr, short i) {
|
|||
|
||||
static void checkexplgron(PLAYER& plr, short i) {
|
||||
SPRITE& spr = sprite[i];
|
||||
short j = headspritesect[spr.sectnum];
|
||||
while (j != -1) {
|
||||
short nextj = nextspritesect[j];
|
||||
auto& spri = sprite[j];
|
||||
WHSectIterator it(spr.sectnum);
|
||||
while (auto actor = it.Next())
|
||||
{
|
||||
SPRITE& spri = actor->s();
|
||||
int j = actor->GetSpriteIndex();
|
||||
|
||||
int dx = abs(spr.x - spri.x); // x distance to sprite
|
||||
int dy = abs(spr.y - spri.y); // y distance to sprite
|
||||
int dz = abs((spr.z >> 8) - (spri.z >> 8)); // z distance to sprite
|
||||
|
@ -426,7 +428,6 @@ static void checkexplgron(PLAYER& plr, short i) {
|
|||
}
|
||||
}
|
||||
}
|
||||
j = nextj;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1370,10 +1370,12 @@ void animateobjs(PLAYER& plr) {
|
|||
spr.lotag = 12;
|
||||
}
|
||||
|
||||
j = headspritesect[spr.sectnum];
|
||||
while (j != -1) {
|
||||
short nextj = nextspritesect[j];
|
||||
SPRITE tspr = sprite[j];
|
||||
WHSectIterator it(spr.sectnum);
|
||||
while (auto actor = it.Next())
|
||||
{
|
||||
SPRITE& tspr = actor->s();
|
||||
int j = actor->GetSpriteIndex();
|
||||
|
||||
int dx = abs(spr.x - tspr.x); // x distance to sprite
|
||||
int dy = abs(spr.y - tspr.y); // y distance to sprite
|
||||
int dz = abs((spr.z >> 8) - (tspr.z >> 8)); // z distance to sprite
|
||||
|
@ -1400,7 +1402,6 @@ void animateobjs(PLAYER& plr) {
|
|||
}
|
||||
}
|
||||
}
|
||||
j = nextj;
|
||||
}
|
||||
|
||||
if (spr.picnum == EXPLOEND) {
|
||||
|
|
|
@ -1063,15 +1063,17 @@ void weaponpowerup(PLAYER& plr) {
|
|||
if (sector[plr.sector].hitag > 0) {
|
||||
sector[plr.sector].hitag--;
|
||||
if (sector[plr.sector].hitag == 0) {
|
||||
short j = headspritesect[plr.sector];
|
||||
while (j != -1) {
|
||||
short nextj = nextspritesect[j];
|
||||
if (sprite[j].picnum == CONE) {
|
||||
WHSectIterator it(plr.sector);
|
||||
while (auto actor = it.Next())
|
||||
{
|
||||
SPRITE& tspr = actor->s();
|
||||
int j = actor->GetSpriteIndex();
|
||||
|
||||
if (tspr.picnum == CONE) {
|
||||
deletesprite(j);
|
||||
} else if (sprite[j].picnum == SPARKBALL) {
|
||||
} else if (tspr.picnum == SPARKBALL) {
|
||||
deletesprite(j);
|
||||
}
|
||||
j = nextj;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue