mirror of
https://github.com/DrBeef/Raze.git
synced 2025-01-31 21:20:39 +00:00
- the remaining sector[] stuff in Duke/RR.
What remains is either engine interface code or not easily replaced.
This commit is contained in:
parent
5e66a3331d
commit
4a81d45630
9 changed files with 30 additions and 34 deletions
|
@ -315,7 +315,7 @@ void movecyclers(void)
|
||||||
for (int q = numcyclers - 1; q >= 0; q--)
|
for (int q = numcyclers - 1; q >= 0; q--)
|
||||||
{
|
{
|
||||||
Cycler* c = &cyclers[q];
|
Cycler* c = &cyclers[q];
|
||||||
auto sect = c->sector();
|
auto sect = c->sector;
|
||||||
|
|
||||||
int t = c->shade2;
|
int t = c->shade2;
|
||||||
int j = t + bsin(c->lotag, -10);
|
int j = t + bsin(c->lotag, -10);
|
||||||
|
|
|
@ -38,10 +38,10 @@ void dojaildoor();
|
||||||
void moveminecart();
|
void moveminecart();
|
||||||
|
|
||||||
void ballreturn(DDukeActor* spr);
|
void ballreturn(DDukeActor* spr);
|
||||||
void pinsectorresetdown(int sect);
|
void pinsectorresetdown(sectortype* sect);
|
||||||
int pinsectorresetup(int sect);
|
int pinsectorresetup(sectortype* sect);
|
||||||
int checkpins(int sect);
|
int checkpins(sectortype* sect);
|
||||||
void resetpins(int sect);
|
void resetpins(sectortype* sect);
|
||||||
void resetlanepics(void);
|
void resetlanepics(void);
|
||||||
|
|
||||||
|
|
||||||
|
@ -2433,13 +2433,13 @@ void rr_specialstats()
|
||||||
if (s->picnum == BOWLINGPINSPOT)
|
if (s->picnum == BOWLINGPINSPOT)
|
||||||
if (s->lotag == 100)
|
if (s->lotag == 100)
|
||||||
{
|
{
|
||||||
auto pst = pinsectorresetup(s->sectnum);
|
auto pst = pinsectorresetup(s->sector());
|
||||||
if (pst)
|
if (pst)
|
||||||
{
|
{
|
||||||
s->lotag = 0;
|
s->lotag = 0;
|
||||||
if (s->extra == 1)
|
if (s->extra == 1)
|
||||||
{
|
{
|
||||||
pst = checkpins(s->sectnum);
|
pst = checkpins(s->sector());
|
||||||
if (!pst)
|
if (!pst)
|
||||||
{
|
{
|
||||||
s->extra = 2;
|
s->extra = 2;
|
||||||
|
@ -2448,7 +2448,7 @@ void rr_specialstats()
|
||||||
if (s->extra == 2)
|
if (s->extra == 2)
|
||||||
{
|
{
|
||||||
s->extra = 0;
|
s->extra = 0;
|
||||||
resetpins(s->sectnum);
|
resetpins(s->sector());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4097,7 +4097,7 @@ void destroyit(DDukeActor *actor)
|
||||||
DukeStatIterator it(STAT_DESTRUCT);
|
DukeStatIterator it(STAT_DESTRUCT);
|
||||||
while (auto a2 = it.Next())
|
while (auto a2 = it.Next())
|
||||||
{
|
{
|
||||||
int it_sect = a2->s->sectnum;
|
auto it_sect = a2->s->sector();
|
||||||
if (hitag && hitag == a2->s->hitag)
|
if (hitag && hitag == a2->s->hitag)
|
||||||
{
|
{
|
||||||
DukeSectIterator its(it_sect);
|
DukeSectIterator its(it_sect);
|
||||||
|
@ -4110,13 +4110,13 @@ void destroyit(DDukeActor *actor)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (spr && spr->s->sectnum != it_sect)
|
if (spr && spr->s->sector() != it_sect)
|
||||||
if (lotag == a2->s->lotag)
|
if (lotag == a2->s->lotag)
|
||||||
{
|
{
|
||||||
sectnum = spr->s->sectnum;
|
sectnum = spr->s->sectnum;
|
||||||
|
|
||||||
auto destsect = spr->getSector();
|
auto destsect = spr->getSector();
|
||||||
auto srcsect = §or[it_sect];
|
auto srcsect = it_sect;
|
||||||
|
|
||||||
auto destwal = destsect->firstWall();
|
auto destwal = destsect->firstWall();
|
||||||
auto srcwal = srcsect->firstWall();
|
auto srcwal = srcsect->firstWall();
|
||||||
|
@ -4152,7 +4152,7 @@ void destroyit(DDukeActor *actor)
|
||||||
destsect->floorxpan_ = srcsect->floorxpan_;
|
destsect->floorxpan_ = srcsect->floorxpan_;
|
||||||
destsect->floorypan_ = srcsect->floorypan_;
|
destsect->floorypan_ = srcsect->floorypan_;
|
||||||
destsect->visibility = srcsect->visibility;
|
destsect->visibility = srcsect->visibility;
|
||||||
sectorextra[sectnum] = sectorextra[it_sect]; // TRANSITIONAL: at least rename this.
|
sectorextra[sectnum] = sectorextra[::sectnum(it_sect)]; // TRANSITIONAL: at least rename this.
|
||||||
destsect->lotag = srcsect->lotag;
|
destsect->lotag = srcsect->lotag;
|
||||||
destsect->hitag = srcsect->hitag;
|
destsect->hitag = srcsect->hitag;
|
||||||
destsect->extra = srcsect->extra;
|
destsect->extra = srcsect->extra;
|
||||||
|
|
|
@ -50,16 +50,15 @@ void ballreturn(DDukeActor *ball)
|
||||||
{
|
{
|
||||||
act2->s->lotag = 100;
|
act2->s->lotag = 100;
|
||||||
act2->s->extra++;
|
act2->s->extra++;
|
||||||
pinsectorresetdown(act2->s->sectnum);
|
pinsectorresetdown(act2->getSector());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void pinsectorresetdown(int sect)
|
void pinsectorresetdown(sectortype* sec)
|
||||||
{
|
{
|
||||||
auto sec = §or[sect];
|
|
||||||
int j = getanimationgoal(anim_ceilingz, sec);
|
int j = getanimationgoal(anim_ceilingz, sec);
|
||||||
|
|
||||||
if (j == -1)
|
if (j == -1)
|
||||||
|
@ -69,9 +68,8 @@ void pinsectorresetdown(int sect)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int pinsectorresetup(int sect)
|
int pinsectorresetup(sectortype* sec)
|
||||||
{
|
{
|
||||||
auto sec = §or[sect];
|
|
||||||
int j = getanimationgoal(anim_ceilingz, sec);
|
int j = getanimationgoal(anim_ceilingz, sec);
|
||||||
|
|
||||||
if (j == -1)
|
if (j == -1)
|
||||||
|
@ -83,7 +81,7 @@ int pinsectorresetup(int sect)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int checkpins(int sect)
|
int checkpins(sectortype* sect)
|
||||||
{
|
{
|
||||||
int x, y;
|
int x, y;
|
||||||
bool pins[10] = {};
|
bool pins[10] = {};
|
||||||
|
@ -165,7 +163,7 @@ int checkpins(int sect)
|
||||||
return pin;
|
return pin;
|
||||||
}
|
}
|
||||||
|
|
||||||
void resetpins(int sect)
|
void resetpins(sectortype* sect)
|
||||||
{
|
{
|
||||||
int i, tag = 0;
|
int i, tag = 0;
|
||||||
int x, y;
|
int x, y;
|
||||||
|
|
|
@ -2674,12 +2674,12 @@ static void fireweapon(int snum)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
static void operateweapon(int snum, ESyncBits actions, int psect)
|
static void operateweapon(int snum, ESyncBits actions, sectortype* psectp)
|
||||||
{
|
{
|
||||||
auto p = &ps[snum];
|
auto p = &ps[snum];
|
||||||
auto pact = p->GetActor();
|
auto pact = p->GetActor();
|
||||||
int i, k;
|
int i, k;
|
||||||
int psectlotag = sector[psect].lotag;
|
int psectlotag = psectp->lotag;
|
||||||
|
|
||||||
if (!isRRRA() && p->curr_weapon >= MOTORCYCLE_WEAPON) return;
|
if (!isRRRA() && p->curr_weapon >= MOTORCYCLE_WEAPON) return;
|
||||||
switch (p->curr_weapon)
|
switch (p->curr_weapon)
|
||||||
|
@ -3266,7 +3266,7 @@ static void operateweapon(int snum, ESyncBits actions, int psect)
|
||||||
//
|
//
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
static void processweapon(int snum, ESyncBits actions, int psect)
|
static void processweapon(int snum, ESyncBits actions, sectortype* psectp)
|
||||||
{
|
{
|
||||||
auto p = &ps[snum];
|
auto p = &ps[snum];
|
||||||
auto pact = p->GetActor();
|
auto pact = p->GetActor();
|
||||||
|
@ -3312,7 +3312,7 @@ static void processweapon(int snum, ESyncBits actions, int psect)
|
||||||
}
|
}
|
||||||
else if (p->kickback_pic)
|
else if (p->kickback_pic)
|
||||||
{
|
{
|
||||||
operateweapon(snum, actions, psect);
|
operateweapon(snum, actions, psectp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3543,7 +3543,7 @@ void processinput_r(int snum)
|
||||||
|
|
||||||
fi.doincrements(p);
|
fi.doincrements(p);
|
||||||
|
|
||||||
if (p->curr_weapon == THROWINGDYNAMITE_WEAPON) processweapon(snum, actions, psect);
|
if (p->curr_weapon == THROWINGDYNAMITE_WEAPON) processweapon(snum, actions, psectp);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3887,7 +3887,7 @@ HORIZONLY:
|
||||||
if (psectlotag < 3)
|
if (psectlotag < 3)
|
||||||
{
|
{
|
||||||
psect = s->sectnum;
|
psect = s->sectnum;
|
||||||
psectp = §or[psect];
|
psectp = s->sector();
|
||||||
if (ud.clipping == 0 && psectp->lotag == ST_31_TWO_WAY_TRAIN)
|
if (ud.clipping == 0 && psectp->lotag == ST_31_TWO_WAY_TRAIN)
|
||||||
{
|
{
|
||||||
auto act = ScriptIndexToActor(psectp->hitag);
|
auto act = ScriptIndexToActor(psectp->hitag);
|
||||||
|
@ -4007,7 +4007,7 @@ HORIZONLY:
|
||||||
else p->weapon_pos--;
|
else p->weapon_pos--;
|
||||||
}
|
}
|
||||||
|
|
||||||
processweapon(snum, actions, psect);
|
processweapon(snum, actions, psectp);
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
|
|
|
@ -298,7 +298,7 @@ void prelevel_d(int g)
|
||||||
case CYCLER:
|
case CYCLER:
|
||||||
if (numcyclers >= MAXCYCLERS)
|
if (numcyclers >= MAXCYCLERS)
|
||||||
I_Error("Too many cycling sectors.");
|
I_Error("Too many cycling sectors.");
|
||||||
cyclers[numcyclers].sectnum = si->sectnum;
|
cyclers[numcyclers].sector = si->sector();
|
||||||
cyclers[numcyclers].lotag = si->lotag;
|
cyclers[numcyclers].lotag = si->lotag;
|
||||||
cyclers[numcyclers].shade1 = si->shade;
|
cyclers[numcyclers].shade1 = si->shade;
|
||||||
cyclers[numcyclers].shade2 = si->sector()->floorshade;
|
cyclers[numcyclers].shade2 = si->sector()->floorshade;
|
||||||
|
|
|
@ -549,7 +549,7 @@ void prelevel_r(int g)
|
||||||
case CYCLER:
|
case CYCLER:
|
||||||
if (numcyclers >= MAXCYCLERS)
|
if (numcyclers >= MAXCYCLERS)
|
||||||
I_Error("Too many cycling sectors.");
|
I_Error("Too many cycling sectors.");
|
||||||
cyclers[numcyclers].sectnum = si->sectnum;
|
cyclers[numcyclers].sector = si->sector();
|
||||||
cyclers[numcyclers].lotag = si->lotag;
|
cyclers[numcyclers].lotag = si->lotag;
|
||||||
cyclers[numcyclers].shade1 = si->shade;
|
cyclers[numcyclers].shade1 = si->shade;
|
||||||
cyclers[numcyclers].shade2 = si->sector()->floorshade;
|
cyclers[numcyclers].shade2 = si->sector()->floorshade;
|
||||||
|
|
|
@ -339,7 +339,7 @@ FSerializer& Serialize(FSerializer& arc, const char* keyname, Cycler& w, Cycler*
|
||||||
if (!def) def = &nul;
|
if (!def) def = &nul;
|
||||||
if (arc.BeginObject(keyname))
|
if (arc.BeginObject(keyname))
|
||||||
{
|
{
|
||||||
arc("sector", w.sectnum, def->sectnum)
|
arc("sector", w.sector, def->sector)
|
||||||
("lotag", w.lotag, def->lotag)
|
("lotag", w.lotag, def->lotag)
|
||||||
("hitag", w.hitag, def->hitag)
|
("hitag", w.hitag, def->hitag)
|
||||||
("shade1", w.shade1, def->shade1)
|
("shade1", w.shade1, def->shade1)
|
||||||
|
|
|
@ -1086,7 +1086,7 @@ void operateactivators(int low, int plnum)
|
||||||
|
|
||||||
if (p->hitag == low)
|
if (p->hitag == low)
|
||||||
{
|
{
|
||||||
auto sect = p->sector();
|
auto sect = p->sector;
|
||||||
p->state = !p->state;
|
p->state = !p->state;
|
||||||
|
|
||||||
sect->floorshade = sect->ceilingshade = (int8_t)p->shade2;
|
sect->floorshade = sect->ceilingshade = (int8_t)p->shade2;
|
||||||
|
|
|
@ -97,7 +97,7 @@ struct DDukeActor
|
||||||
|
|
||||||
sectortype* getSector() const
|
sectortype* getSector() const
|
||||||
{
|
{
|
||||||
return §or[s->sectnum];
|
return s->sector();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -318,14 +318,12 @@ struct player_struct
|
||||||
|
|
||||||
struct Cycler
|
struct Cycler
|
||||||
{
|
{
|
||||||
int sectnum;
|
sectortype* sector;
|
||||||
int16_t lotag;
|
int16_t lotag;
|
||||||
int16_t hitag;
|
int16_t hitag;
|
||||||
int16_t shade1;
|
int16_t shade1;
|
||||||
int16_t shade2;
|
int16_t shade2;
|
||||||
bool state;
|
bool state;
|
||||||
|
|
||||||
sectortype* sector() const { return &::sector[sectnum]; }
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Wrapper around the insane collision info mess from Build.
|
// Wrapper around the insane collision info mess from Build.
|
||||||
|
|
Loading…
Reference in a new issue