- renaming in hitradius

This commit is contained in:
Christoph Oelckers 2020-10-24 22:41:14 +02:00
parent 81717b54ee
commit 7dbe9d4bfb
2 changed files with 103 additions and 102 deletions

View file

@ -347,28 +347,28 @@ void hitradius_d(short i, int r, int hp1, int hp2, int hp3, int hp4)
static const uint8_t statlist[] = { STAT_DEFAULT, STAT_ACTOR, STAT_STANDABLE, STAT_PLAYER, STAT_FALLER, STAT_ZOMBIEACTOR, STAT_MISC }; static const uint8_t statlist[] = { STAT_DEFAULT, STAT_ACTOR, STAT_STANDABLE, STAT_PLAYER, STAT_FALLER, STAT_ZOMBIEACTOR, STAT_MISC };
short tempshort[MAXSECTORS]; // originally hijacked a global buffer which is bad. Q: How many do we really need? RedNukem says 64. short tempshort[MAXSECTORS]; // originally hijacked a global buffer which is bad. Q: How many do we really need? RedNukem says 64.
auto s = &sprite[i]; auto spri = &sprite[i];
if(s->picnum == RPG && s->xrepeat < 11) goto SKIPWALLCHECK; if(spri->picnum == RPG && spri->xrepeat < 11) goto SKIPWALLCHECK;
if(s->picnum != SHRINKSPARK) if(spri->picnum != SHRINKSPARK)
{ {
tempshort[0] = s->sectnum; tempshort[0] = spri->sectnum;
dasect = s->sectnum; dasect = spri->sectnum;
sectcnt = 0; sectend = 1; sectcnt = 0; sectend = 1;
do do
{ {
dasect = tempshort[sectcnt++]; dasect = tempshort[sectcnt++];
if (((sector[dasect].ceilingz - s->z) >> 8) < r) if (((sector[dasect].ceilingz - spri->z) >> 8) < r)
{ {
d = abs(wall[sector[dasect].wallptr].x - s->x) + abs(wall[sector[dasect].wallptr].y - s->y); d = abs(wall[sector[dasect].wallptr].x - spri->x) + abs(wall[sector[dasect].wallptr].y - spri->y);
if (d < r) if (d < r)
fi.checkhitceiling(dasect); fi.checkhitceiling(dasect);
else else
{ {
// ouch... // ouch...
d = abs(wall[wall[wall[sector[dasect].wallptr].point2].point2].x - s->x) + abs(wall[wall[wall[sector[dasect].wallptr].point2].point2].y - s->y); d = abs(wall[wall[wall[sector[dasect].wallptr].point2].point2].x - spri->x) + abs(wall[wall[wall[sector[dasect].wallptr].point2].point2].y - spri->y);
if (d < r) if (d < r)
fi.checkhitceiling(dasect); fi.checkhitceiling(dasect);
} }
@ -377,7 +377,7 @@ void hitradius_d(short i, int r, int hp1, int hp2, int hp3, int hp4)
startwall = sector[dasect].wallptr; startwall = sector[dasect].wallptr;
endwall = startwall + sector[dasect].wallnum; endwall = startwall + sector[dasect].wallnum;
for (x = startwall, wal = &wall[startwall]; x < endwall; x++, wal++) for (x = startwall, wal = &wall[startwall]; x < endwall; x++, wal++)
if ((abs(wal->x - s->x) + abs(wal->y - s->y)) < r) if ((abs(wal->x - spri->x) + abs(wal->y - spri->y)) < r)
{ {
nextsect = wal->nextsector; nextsect = wal->nextsector;
if (nextsect >= 0) if (nextsect >= 0)
@ -386,11 +386,11 @@ void hitradius_d(short i, int r, int hp1, int hp2, int hp3, int hp4)
if (tempshort[dasect] == nextsect) break; if (tempshort[dasect] == nextsect) break;
if (dasect < 0) tempshort[sectend++] = nextsect; if (dasect < 0) tempshort[sectend++] = nextsect;
} }
x1 = (((wal->x + wall[wal->point2].x) >> 1) + s->x) >> 1; x1 = (((wal->x + wall[wal->point2].x) >> 1) + spri->x) >> 1;
y1 = (((wal->y + wall[wal->point2].y) >> 1) + s->y) >> 1; y1 = (((wal->y + wall[wal->point2].y) >> 1) + spri->y) >> 1;
updatesector(x1, y1, &sect); updatesector(x1, y1, &sect);
if (sect >= 0 && cansee(x1, y1, s->z, sect, s->x, s->y, s->z, s->sectnum)) if (sect >= 0 && cansee(x1, y1, spri->z, sect, spri->x, spri->y, spri->z, spri->sectnum))
fi.checkhitwall(i, x, wal->x, wal->y, s->z, s->picnum); fi.checkhitwall(i, x, wal->x, wal->y, spri->z, spri->picnum);
} }
} while (sectcnt < sectend); } while (sectcnt < sectend);
} }
@ -404,119 +404,119 @@ SKIPWALLCHECK:
StatIterator itj(statlist[x]); StatIterator itj(statlist[x]);
while ((j = itj.NextIndex()) >= 0) while ((j = itj.NextIndex()) >= 0)
{ {
auto sj = &sprite[j]; auto spri2 = &sprite[j];
auto ht = &hittype[j]; auto act2 = &hittype[j];
if (isWorldTour()) if (isWorldTour())
{ {
if (sprite[s->owner].picnum == APLAYER && sj->picnum == APLAYER && ud.coop != 0 && ud.ffire == 0 && s->owner != j) if (sprite[spri->owner].picnum == APLAYER && spri2->picnum == APLAYER && ud.coop != 0 && ud.ffire == 0 && spri->owner != j)
{ {
continue; continue;
} }
if (s->picnum == FLAMETHROWERFLAME && ((sprite[s->owner].picnum == FIREFLY && sj->picnum == FIREFLY) || (sprite[s->owner].picnum == BOSS5 && sj->picnum == BOSS5))) if (spri->picnum == FLAMETHROWERFLAME && ((sprite[spri->owner].picnum == FIREFLY && spri2->picnum == FIREFLY) || (sprite[spri->owner].picnum == BOSS5 && spri2->picnum == BOSS5)))
{ {
continue; continue;
} }
} }
if (x == 0 || x >= 5 || AFLAMABLE(sj->picnum)) if (x == 0 || x >= 5 || AFLAMABLE(spri2->picnum))
{ {
if (s->picnum != SHRINKSPARK || (sj->cstat & 257)) if (spri->picnum != SHRINKSPARK || (spri2->cstat & 257))
if (dist(s, sj) < r) if (dist(spri, spri2) < r)
{ {
if (badguy(sj) && !cansee(sj->x, sj->y, sj->z + q, sj->sectnum, s->x, s->y, s->z + q, s->sectnum)) if (badguy(spri2) && !cansee(spri2->x, spri2->y, spri2->z + q, spri2->sectnum, spri->x, spri->y, spri->z + q, spri->sectnum))
continue; continue;
fi.checkhitsprite(j, i); fi.checkhitsprite(j, i);
} }
} }
else if (sj->extra >= 0 && sj != s && (sj->picnum == TRIPBOMB || badguy(sj) || sj->picnum == QUEBALL || sj->picnum == STRIPEBALL || (sj->cstat & 257) || sj->picnum == DUKELYINGDEAD)) else if (spri2->extra >= 0 && spri2 != spri && (spri2->picnum == TRIPBOMB || badguy(spri2) || spri2->picnum == QUEBALL || spri2->picnum == STRIPEBALL || (spri2->cstat & 257) || spri2->picnum == DUKELYINGDEAD))
{ {
if (s->picnum == SHRINKSPARK && sj->picnum != SHARK && (j == s->owner || sj->xrepeat < 24)) if (spri->picnum == SHRINKSPARK && spri2->picnum != SHARK && (j == spri->owner || spri2->xrepeat < 24))
{ {
continue; continue;
} }
if (s->picnum == MORTER && j == s->owner) if (spri->picnum == MORTER && j == spri->owner)
{ {
continue; continue;
} }
if (sj->picnum == APLAYER) sj->z -= PHEIGHT; if (spri2->picnum == APLAYER) spri2->z -= PHEIGHT;
d = dist(s, sj); d = dist(spri, spri2);
if (sj->picnum == APLAYER) sj->z += PHEIGHT; if (spri2->picnum == APLAYER) spri2->z += PHEIGHT;
if (d < r && cansee(sj->x, sj->y, sj->z - (8 << 8), sj->sectnum, s->x, s->y, s->z - (12 << 8), s->sectnum)) if (d < r && cansee(spri2->x, spri2->y, spri2->z - (8 << 8), spri2->sectnum, spri->x, spri->y, spri->z - (12 << 8), spri->sectnum))
{ {
ht->ang = getangle(sj->x - s->x, sj->y - s->y); act2->ang = getangle(spri2->x - spri->x, spri2->y - spri->y);
if (s->picnum == RPG && sj->extra > 0) if (spri->picnum == RPG && spri2->extra > 0)
ht->picnum = RPG; act2->picnum = RPG;
else if (!isWorldTour()) else if (!isWorldTour())
{ {
if (s->picnum == SHRINKSPARK) if (spri->picnum == SHRINKSPARK)
ht->picnum = SHRINKSPARK; act2->picnum = SHRINKSPARK;
else ht->picnum = RADIUSEXPLOSION; else act2->picnum = RADIUSEXPLOSION;
} }
else else
{ {
if (s->picnum == SHRINKSPARK || s->picnum == FLAMETHROWERFLAME) if (spri->picnum == SHRINKSPARK || spri->picnum == FLAMETHROWERFLAME)
ht->picnum = s->picnum; act2->picnum = spri->picnum;
else if (s->picnum != FIREBALL || sprite[s->owner].picnum != APLAYER) else if (spri->picnum != FIREBALL || sprite[spri->owner].picnum != APLAYER)
{ {
if (s->picnum == LAVAPOOL) if (spri->picnum == LAVAPOOL)
ht->picnum = FLAMETHROWERFLAME; act2->picnum = FLAMETHROWERFLAME;
else else
ht->picnum = RADIUSEXPLOSION; act2->picnum = RADIUSEXPLOSION;
} }
else else
ht->picnum = FLAMETHROWERFLAME; act2->picnum = FLAMETHROWERFLAME;
} }
if (s->picnum != SHRINKSPARK && (!isWorldTour() || s->picnum != LAVAPOOL)) if (spri->picnum != SHRINKSPARK && (!isWorldTour() || spri->picnum != LAVAPOOL))
{ {
if (d < r / 3) if (d < r / 3)
{ {
if (hp4 == hp3) hp4++; if (hp4 == hp3) hp4++;
ht->extra = hp3 + (krand() % (hp4 - hp3)); act2->extra = hp3 + (krand() % (hp4 - hp3));
} }
else if (d < 2 * r / 3) else if (d < 2 * r / 3)
{ {
if (hp3 == hp2) hp3++; if (hp3 == hp2) hp3++;
ht->extra = hp2 + (krand() % (hp3 - hp2)); act2->extra = hp2 + (krand() % (hp3 - hp2));
} }
else if (d < r) else if (d < r)
{ {
if (hp2 == hp1) hp2++; if (hp2 == hp1) hp2++;
ht->extra = hp1 + (krand() % (hp2 - hp1)); act2->extra = hp1 + (krand() % (hp2 - hp1));
} }
if (sj->picnum != TANK && sj->picnum != ROTATEGUN && sj->picnum != RECON && !bossguy(sj)) if (spri2->picnum != TANK && spri2->picnum != ROTATEGUN && spri2->picnum != RECON && !bossguy(spri2))
{ {
if (sj->xvel < 0) sj->xvel = 0; if (spri2->xvel < 0) spri2->xvel = 0;
sj->xvel += (s->extra << 2); spri2->xvel += (spri->extra << 2);
} }
if (sj->picnum == PODFEM1 || sj->picnum == FEM1 || if (spri2->picnum == PODFEM1 || spri2->picnum == FEM1 ||
sj->picnum == FEM2 || sj->picnum == FEM3 || spri2->picnum == FEM2 || spri2->picnum == FEM3 ||
sj->picnum == FEM4 || sj->picnum == FEM5 || spri2->picnum == FEM4 || spri2->picnum == FEM5 ||
sj->picnum == FEM6 || sj->picnum == FEM7 || spri2->picnum == FEM6 || spri2->picnum == FEM7 ||
sj->picnum == FEM8 || sj->picnum == FEM9 || spri2->picnum == FEM8 || spri2->picnum == FEM9 ||
sj->picnum == FEM10 || sj->picnum == STATUE || spri2->picnum == FEM10 || spri2->picnum == STATUE ||
sj->picnum == STATUEFLASH || sj->picnum == SPACEMARINE || sj->picnum == QUEBALL || sj->picnum == STRIPEBALL) spri2->picnum == STATUEFLASH || spri2->picnum == SPACEMARINE || spri2->picnum == QUEBALL || spri2->picnum == STRIPEBALL)
fi.checkhitsprite(j, i); fi.checkhitsprite(j, i);
} }
else if (s->extra == 0) ht->extra = 0; else if (spri->extra == 0) act2->extra = 0;
if (sj->picnum != RADIUSEXPLOSION && if (spri2->picnum != RADIUSEXPLOSION &&
s->owner >= 0 && sprite[s->owner].statnum < MAXSTATUS) spri->owner >= 0 && sprite[spri->owner].statnum < MAXSTATUS)
{ {
if (sj->picnum == APLAYER) if (spri2->picnum == APLAYER)
{ {
p = sj->yvel; p = spri2->yvel;
if (isWorldTour() && ht->picnum == FLAMETHROWERFLAME && sprite[s->owner].picnum == APLAYER) if (isWorldTour() && act2->picnum == FLAMETHROWERFLAME && sprite[spri->owner].picnum == APLAYER)
{ {
ps[p].numloogs = -1 - s->yvel; ps[p].numloogs = -1 - spri->yvel;
} }
if (ps[p].newowner >= 0) if (ps[p].newowner >= 0)
@ -524,7 +524,7 @@ SKIPWALLCHECK:
clearcamera(&ps[p]); clearcamera(&ps[p]);
} }
} }
ht->owner = s->owner; act2->owner = spri->owner;
} }
} }
} }

View file

@ -216,7 +216,7 @@ void addweapon_r(struct player_struct* p, int weapon)
void hitradius_r(short i, int r, int hp1, int hp2, int hp3, int hp4) void hitradius_r(short i, int r, int hp1, int hp2, int hp3, int hp4)
{ {
spritetype* s, * sj; spritetype* spri, * spri2;
walltype* wal; walltype* wal;
int d, q, x1, y1; int d, q, x1, y1;
int sectcnt, sectend, dasect, startwall, endwall, nextsect; int sectcnt, sectend, dasect, startwall, endwall, nextsect;
@ -224,29 +224,29 @@ void hitradius_r(short i, int r, int hp1, int hp2, int hp3, int hp4)
static const uint8_t statlist[] = { STAT_DEFAULT, STAT_ACTOR, STAT_STANDABLE, STAT_PLAYER, STAT_FALLER, STAT_ZOMBIEACTOR, STAT_MISC }; static const uint8_t statlist[] = { STAT_DEFAULT, STAT_ACTOR, STAT_STANDABLE, STAT_PLAYER, STAT_FALLER, STAT_ZOMBIEACTOR, STAT_MISC };
short tempshort[MAXSECTORS]; // originally hijacked a global buffer which is bad. Q: How many do we really need? RedNukem says 64. short tempshort[MAXSECTORS]; // originally hijacked a global buffer which is bad. Q: How many do we really need? RedNukem says 64.
s = &sprite[i]; spri = &sprite[i];
if (s->xrepeat < 11) if (spri->xrepeat < 11)
{ {
if (s->picnum == RPG || ((isRRRA()) && s->picnum == RPG2)) goto SKIPWALLCHECK; if (spri->picnum == RPG || ((isRRRA()) && spri->picnum == RPG2)) goto SKIPWALLCHECK;
} }
tempshort[0] = s->sectnum; tempshort[0] = spri->sectnum;
dasect = s->sectnum; dasect = spri->sectnum;
sectcnt = 0; sectend = 1; sectcnt = 0; sectend = 1;
do do
{ {
dasect = tempshort[sectcnt++]; dasect = tempshort[sectcnt++];
if (((sector[dasect].ceilingz - s->z) >> 8) < r) if (((sector[dasect].ceilingz - spri->z) >> 8) < r)
{ {
d = abs(wall[sector[dasect].wallptr].x - s->x) + abs(wall[sector[dasect].wallptr].y - s->y); d = abs(wall[sector[dasect].wallptr].x - spri->x) + abs(wall[sector[dasect].wallptr].y - spri->y);
if (d < r) if (d < r)
fi.checkhitceiling(dasect); fi.checkhitceiling(dasect);
else else
{ {
// ouch... // ouch...
d = abs(wall[wall[wall[sector[dasect].wallptr].point2].point2].x - s->x) + abs(wall[wall[wall[sector[dasect].wallptr].point2].point2].y - s->y); d = abs(wall[wall[wall[sector[dasect].wallptr].point2].point2].x - spri->x) + abs(wall[wall[wall[sector[dasect].wallptr].point2].point2].y - spri->y);
if (d < r) if (d < r)
fi.checkhitceiling(dasect); fi.checkhitceiling(dasect);
} }
@ -255,7 +255,7 @@ void hitradius_r(short i, int r, int hp1, int hp2, int hp3, int hp4)
startwall = sector[dasect].wallptr; startwall = sector[dasect].wallptr;
endwall = startwall + sector[dasect].wallnum; endwall = startwall + sector[dasect].wallnum;
for (x = startwall, wal = &wall[startwall]; x < endwall; x++, wal++) for (x = startwall, wal = &wall[startwall]; x < endwall; x++, wal++)
if ((abs(wal->x - s->x) + abs(wal->y - s->y)) < r) if ((abs(wal->x - spri->x) + abs(wal->y - spri->y)) < r)
{ {
nextsect = wal->nextsector; nextsect = wal->nextsector;
if (nextsect >= 0) if (nextsect >= 0)
@ -264,11 +264,11 @@ void hitradius_r(short i, int r, int hp1, int hp2, int hp3, int hp4)
if (tempshort[dasect] == nextsect) break; if (tempshort[dasect] == nextsect) break;
if (dasect < 0) tempshort[sectend++] = nextsect; if (dasect < 0) tempshort[sectend++] = nextsect;
} }
x1 = (((wal->x + wall[wal->point2].x) >> 1) + s->x) >> 1; x1 = (((wal->x + wall[wal->point2].x) >> 1) + spri->x) >> 1;
y1 = (((wal->y + wall[wal->point2].y) >> 1) + s->y) >> 1; y1 = (((wal->y + wall[wal->point2].y) >> 1) + spri->y) >> 1;
updatesector(x1, y1, &sect); updatesector(x1, y1, &sect);
if (sect >= 0 && cansee(x1, y1, s->z, sect, s->x, s->y, s->z, s->sectnum)) if (sect >= 0 && cansee(x1, y1, spri->z, sect, spri->x, spri->y, spri->z, spri->sectnum))
fi.checkhitwall(i, x, wal->x, wal->y, s->z, s->picnum); fi.checkhitwall(i, x, wal->x, wal->y, spri->z, spri->picnum);
} }
} while (sectcnt < sectend); } while (sectcnt < sectend);
@ -281,65 +281,66 @@ SKIPWALLCHECK:
StatIterator it1(statlist[x]); StatIterator it1(statlist[x]);
while ((j = it1.NextIndex()) >= 0) while ((j = it1.NextIndex()) >= 0)
{ {
sj = &sprite[j]; spri2 = &sprite[j];
auto act2 = &hittype[j];
if (x == 0 || x >= 5 || AFLAMABLE(sj->picnum)) if (x == 0 || x >= 5 || AFLAMABLE(spri2->picnum))
{ {
if (sj->cstat & 257) if (spri2->cstat & 257)
if (dist(s, sj) < r) if (dist(spri, spri2) < r)
{ {
if (badguy(sj) && !cansee(sj->x, sj->y, sj->z + q, sj->sectnum, s->x, s->y, s->z + q, s->sectnum)) if (badguy(spri2) && !cansee(spri2->x, spri2->y, spri2->z + q, spri2->sectnum, spri->x, spri->y, spri->z + q, spri->sectnum))
{ {
continue; continue;
} }
fi.checkhitsprite(j, i); fi.checkhitsprite(j, i);
} }
} }
else if (sj->extra >= 0 && sj != s && (badguy(sj) || sj->picnum == QUEBALL || sj->picnum == RRTILE3440 || sj->picnum == STRIPEBALL || (sj->cstat & 257) || sj->picnum == DUKELYINGDEAD)) else if (spri2->extra >= 0 && spri2 != spri && (badguy(spri2) || spri2->picnum == QUEBALL || spri2->picnum == RRTILE3440 || spri2->picnum == STRIPEBALL || (spri2->cstat & 257) || spri2->picnum == DUKELYINGDEAD))
{ {
if (s->picnum == MORTER && j == s->owner) if (spri->picnum == MORTER && j == spri->owner)
{ {
continue; continue;
} }
if ((isRRRA()) && s->picnum == CHEERBOMB && j == s->owner) if ((isRRRA()) && spri->picnum == CHEERBOMB && j == spri->owner)
{ {
continue; continue;
} }
if (sj->picnum == APLAYER) sj->z -= PHEIGHT; if (spri2->picnum == APLAYER) spri2->z -= PHEIGHT;
d = dist(s, sj); d = dist(spri, spri2);
if (sj->picnum == APLAYER) sj->z += PHEIGHT; if (spri2->picnum == APLAYER) spri2->z += PHEIGHT;
if (d < r && cansee(sj->x, sj->y, sj->z - (8 << 8), sj->sectnum, s->x, s->y, s->z - (12 << 8), s->sectnum)) if (d < r && cansee(spri2->x, spri2->y, spri2->z - (8 << 8), spri2->sectnum, spri->x, spri->y, spri->z - (12 << 8), spri->sectnum))
{ {
if ((isRRRA()) && sprite[j].picnum == MINION && sprite[j].pal == 19) if ((isRRRA()) && sprite[j].picnum == MINION && sprite[j].pal == 19)
{ {
continue; continue;
} }
hittype[j].ang = getangle(sj->x - s->x, sj->y - s->y); act2->ang = getangle(spri2->x - spri->x, spri2->y - spri->y);
if (s->picnum == RPG && sj->extra > 0) if (spri->picnum == RPG && spri2->extra > 0)
hittype[j].picnum = RPG; act2->picnum = RPG;
else if ((isRRRA()) && s->picnum == RPG2 && sj->extra > 0) else if ((isRRRA()) && spri->picnum == RPG2 && spri2->extra > 0)
hittype[j].picnum = RPG; act2->picnum = RPG;
else else
hittype[j].picnum = RADIUSEXPLOSION; act2->picnum = RADIUSEXPLOSION;
if (d < r / 3) if (d < r / 3)
{ {
if (hp4 == hp3) hp4++; if (hp4 == hp3) hp4++;
hittype[j].extra = hp3 + (krand() % (hp4 - hp3)); act2->extra = hp3 + (krand() % (hp4 - hp3));
} }
else if (d < 2 * r / 3) else if (d < 2 * r / 3)
{ {
if (hp3 == hp2) hp3++; if (hp3 == hp2) hp3++;
hittype[j].extra = hp2 + (krand() % (hp3 - hp2)); act2->extra = hp2 + (krand() % (hp3 - hp2));
} }
else if (d < r) else if (d < r)
{ {
if (hp2 == hp1) hp2++; if (hp2 == hp1) hp2++;
hittype[j].extra = hp1 + (krand() % (hp2 - hp1)); act2->extra = hp1 + (krand() % (hp2 - hp1));
} }
int pic = sprite[j].picnum; int pic = sprite[j].picnum;
@ -351,12 +352,12 @@ SKIPWALLCHECK:
sprite[j].xvel += (sprite[j].extra << 2); sprite[j].xvel += (sprite[j].extra << 2);
} }
if (sj->picnum == STATUEFLASH || sj->picnum == QUEBALL || if (spri2->picnum == STATUEFLASH || spri2->picnum == QUEBALL ||
sj->picnum == STRIPEBALL || sj->picnum == RRTILE3440) spri2->picnum == STRIPEBALL || spri2->picnum == RRTILE3440)
fi.checkhitsprite(j, i); fi.checkhitsprite(j, i);
if (sprite[j].picnum != RADIUSEXPLOSION && if (sprite[j].picnum != RADIUSEXPLOSION &&
s->owner >= 0 && sprite[s->owner].statnum < MAXSTATUS) spri->owner >= 0 && sprite[spri->owner].statnum < MAXSTATUS)
{ {
if (sprite[j].picnum == APLAYER) if (sprite[j].picnum == APLAYER)
{ {
@ -366,7 +367,7 @@ SKIPWALLCHECK:
clearcamera(&ps[p]); clearcamera(&ps[p]);
} }
} }
hittype[j].owner = s->owner; act2->owner = spri->owner;
} }
} }
} }