mirror of
https://github.com/DrBeef/Raze.git
synced 2025-03-05 00:41:15 +00:00
- handle a few pSprite assignments which are not &actor->s().
This commit is contained in:
parent
91214b5350
commit
d8134c3fe8
2 changed files with 52 additions and 53 deletions
source/games/blood/src
|
@ -2598,7 +2598,6 @@ void usePropertiesChanger(DBloodActor* sourceactor, int objType, sectortype* pSe
|
||||||
break;
|
break;
|
||||||
case OBJ_SPRITE:
|
case OBJ_SPRITE:
|
||||||
{
|
{
|
||||||
spritetype* pSprite = &targetactor->s();
|
|
||||||
XSPRITE* pXSprite = &targetactor->x();
|
XSPRITE* pXSprite = &targetactor->x();
|
||||||
bool thing2debris = false;
|
bool thing2debris = false;
|
||||||
int old = -1;
|
int old = -1;
|
||||||
|
@ -2606,25 +2605,25 @@ void usePropertiesChanger(DBloodActor* sourceactor, int objType, sectortype* pSe
|
||||||
// data3 = set sprite hitag
|
// data3 = set sprite hitag
|
||||||
if (valueIsBetween(pXSource->data3, -1, 32767))
|
if (valueIsBetween(pXSource->data3, -1, 32767))
|
||||||
{
|
{
|
||||||
old = pSprite->flags;
|
old = targetactor->spr.flags;
|
||||||
|
|
||||||
// set new hitag
|
// set new hitag
|
||||||
if ((pSource->flags & kModernTypeFlag1)) pSprite->flags = pSource->flags |= pXSource->data3; // relative
|
if ((pSource->flags & kModernTypeFlag1)) targetactor->spr.flags = pSource->flags |= pXSource->data3; // relative
|
||||||
else pSprite->flags = pXSource->data3; // absolute
|
else targetactor->spr.flags = pXSource->data3; // absolute
|
||||||
|
|
||||||
// and handle exceptions
|
// and handle exceptions
|
||||||
if ((old & kHitagFree) && !(pSprite->flags & kHitagFree)) pSprite->flags |= kHitagFree;
|
if ((old & kHitagFree) && !(targetactor->spr.flags & kHitagFree)) targetactor->spr.flags |= kHitagFree;
|
||||||
if ((old & kHitagRespawn) && !(pSprite->flags & kHitagRespawn)) pSprite->flags |= kHitagRespawn;
|
if ((old & kHitagRespawn) && !(targetactor->spr.flags & kHitagRespawn)) targetactor->spr.flags |= kHitagRespawn;
|
||||||
|
|
||||||
// prepare things for different (debris) physics.
|
// prepare things for different (debris) physics.
|
||||||
if (pSprite->statnum == kStatThing && debrisGetFreeIndex() >= 0) thing2debris = true;
|
if (targetactor->spr.statnum == kStatThing && debrisGetFreeIndex() >= 0) thing2debris = true;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// data2 = sprite physics settings
|
// data2 = sprite physics settings
|
||||||
if (valueIsBetween(pXSource->data2, -1, 32767) || thing2debris)
|
if (valueIsBetween(pXSource->data2, -1, 32767) || thing2debris)
|
||||||
{
|
{
|
||||||
switch (pSprite->statnum)
|
switch (targetactor->spr.statnum)
|
||||||
{
|
{
|
||||||
case kStatDude: // dudes already treating in game
|
case kStatDude: // dudes already treating in game
|
||||||
case kStatFree:
|
case kStatFree:
|
||||||
|
@ -2639,13 +2638,13 @@ void usePropertiesChanger(DBloodActor* sourceactor, int objType, sectortype* pSe
|
||||||
if (thing2debris)
|
if (thing2debris)
|
||||||
{
|
{
|
||||||
// converting thing to debris
|
// converting thing to debris
|
||||||
if ((pSprite->flags & kPhysMove) != 0) flags |= kPhysMove;
|
if ((targetactor->spr.flags & kPhysMove) != 0) flags |= kPhysMove;
|
||||||
else flags &= ~kPhysMove;
|
else flags &= ~kPhysMove;
|
||||||
|
|
||||||
if ((pSprite->flags & kPhysGravity) != 0) flags |= (kPhysGravity | kPhysFalling);
|
if ((targetactor->spr.flags & kPhysGravity) != 0) flags |= (kPhysGravity | kPhysFalling);
|
||||||
else flags &= ~(kPhysGravity | kPhysFalling);
|
else flags &= ~(kPhysGravity | kPhysFalling);
|
||||||
|
|
||||||
pSprite->flags &= ~(kPhysMove | kPhysGravity | kPhysFalling);
|
targetactor->spr.flags &= ~(kPhysMove | kPhysGravity | kPhysFalling);
|
||||||
targetactor->xvel = targetactor->yvel = targetactor->zvel = 0;
|
targetactor->xvel = targetactor->yvel = targetactor->zvel = 0;
|
||||||
pXSprite->restState = pXSprite->state;
|
pXSprite->restState = pXSprite->state;
|
||||||
|
|
||||||
|
@ -2774,14 +2773,14 @@ void usePropertiesChanger(DBloodActor* sourceactor, int objType, sectortype* pSe
|
||||||
pXSprite->physAttr = flags; // update physics attributes
|
pXSprite->physAttr = flags; // update physics attributes
|
||||||
|
|
||||||
// allow things to became debris, so they use different physics...
|
// allow things to became debris, so they use different physics...
|
||||||
if (pSprite->statnum == kStatThing) ChangeActorStat(targetactor, 0);
|
if (targetactor->spr.statnum == kStatThing) ChangeActorStat(targetactor, 0);
|
||||||
|
|
||||||
// set random goal ang for swimming so they start turning
|
// set random goal ang for swimming so they start turning
|
||||||
if ((flags & kPhysDebrisSwim) && !targetactor->xvel && !targetactor->yvel && !targetactor->zvel)
|
if ((flags & kPhysDebrisSwim) && !targetactor->xvel && !targetactor->yvel && !targetactor->zvel)
|
||||||
pXSprite->goalAng = (pSprite->ang + Random3(kAng45)) & 2047;
|
pXSprite->goalAng = (targetactor->spr.ang + Random3(kAng45)) & 2047;
|
||||||
|
|
||||||
if (pXSprite->physAttr & kPhysDebrisVector)
|
if (pXSprite->physAttr & kPhysDebrisVector)
|
||||||
pSprite->cstat |= CSTAT_SPRITE_BLOCK_HITSCAN;
|
targetactor->spr.cstat |= CSTAT_SPRITE_BLOCK_HITSCAN;
|
||||||
|
|
||||||
gPhysSpritesList[nIndex] = targetactor;
|
gPhysSpritesList[nIndex] = targetactor;
|
||||||
if (nIndex >= gPhysSpritesCount) gPhysSpritesCount++;
|
if (nIndex >= gPhysSpritesCount) gPhysSpritesCount++;
|
||||||
|
@ -2796,7 +2795,7 @@ void usePropertiesChanger(DBloodActor* sourceactor, int objType, sectortype* pSe
|
||||||
|
|
||||||
pXSprite->physAttr = flags;
|
pXSprite->physAttr = flags;
|
||||||
targetactor->xvel = targetactor->yvel = targetactor->zvel = 0;
|
targetactor->xvel = targetactor->yvel = targetactor->zvel = 0;
|
||||||
if (pSprite->lotag >= kThingBase && pSprite->lotag < kThingMax)
|
if (targetactor->spr.lotag >= kThingBase && targetactor->spr.lotag < kThingMax)
|
||||||
ChangeActorStat(targetactor, kStatThing); // if it was a thing - restore statnum
|
ChangeActorStat(targetactor, kStatThing); // if it was a thing - restore statnum
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -2806,27 +2805,27 @@ void usePropertiesChanger(DBloodActor* sourceactor, int objType, sectortype* pSe
|
||||||
// data4 = sprite cstat
|
// data4 = sprite cstat
|
||||||
if (valueIsBetween(pXSource->data4, -1, 65535))
|
if (valueIsBetween(pXSource->data4, -1, 65535))
|
||||||
{
|
{
|
||||||
auto old = pSprite->cstat;
|
auto old = targetactor->spr.cstat;
|
||||||
|
|
||||||
// set new cstat
|
// set new cstat
|
||||||
if ((pSource->flags & kModernTypeFlag1)) pSprite->cstat |= ESpriteFlags::FromInt(pXSource->data4); // relative
|
if ((pSource->flags & kModernTypeFlag1)) targetactor->spr.cstat |= ESpriteFlags::FromInt(pXSource->data4); // relative
|
||||||
else pSprite->cstat = ESpriteFlags::FromInt(pXSource->data4 & 0xffff); // absolute
|
else targetactor->spr.cstat = ESpriteFlags::FromInt(pXSource->data4 & 0xffff); // absolute
|
||||||
|
|
||||||
// and handle exceptions
|
// and handle exceptions
|
||||||
if ((old & CSTAT_SPRITE_BLOOD_BIT1)) pSprite->cstat |= CSTAT_SPRITE_BLOOD_BIT1; //kSpritePushable
|
if ((old & CSTAT_SPRITE_BLOOD_BIT1)) targetactor->spr.cstat |= CSTAT_SPRITE_BLOOD_BIT1; //kSpritePushable
|
||||||
if ((old & CSTAT_SPRITE_YCENTER)) pSprite->cstat |= CSTAT_SPRITE_YCENTER;
|
if ((old & CSTAT_SPRITE_YCENTER)) targetactor->spr.cstat |= CSTAT_SPRITE_YCENTER;
|
||||||
|
|
||||||
pSprite->cstat |= (old & CSTAT_SPRITE_MOVE_MASK);
|
targetactor->spr.cstat |= (old & CSTAT_SPRITE_MOVE_MASK);
|
||||||
#if 0
|
#if 0
|
||||||
// looks very broken.
|
// looks very broken.
|
||||||
if (old & 0x6000)
|
if (old & 0x6000)
|
||||||
{
|
{
|
||||||
if (!(pSprite->cstat & 0x6000))
|
if (!(targetactor->spr.cstat & 0x6000))
|
||||||
pSprite->cstat |= 0x6000; // kSpriteMoveMask
|
targetactor->spr.cstat |= 0x6000; // kSpriteMoveMask
|
||||||
|
|
||||||
if ((old & 0x0) && !(pSprite->cstat & 0x0)) pSprite->cstat |= 0x0; // kSpriteMoveNone
|
if ((old & 0x0) && !(targetactor->spr.cstat & 0x0)) targetactor->spr.cstat |= 0x0; // kSpriteMoveNone
|
||||||
else if ((old & 0x2000) && !(pSprite->cstat & 0x2000)) pSprite->cstat |= 0x2000; // kSpriteMoveForward, kSpriteMoveFloor
|
else if ((old & 0x2000) && !(targetactor->spr.cstat & 0x2000)) targetactor->spr.cstat |= 0x2000; // kSpriteMoveForward, kSpriteMoveFloor
|
||||||
else if ((old & 0x4000) && !(pSprite->cstat & 0x4000)) pSprite->cstat |= 0x4000; // kSpriteMoveReverse, kSpriteMoveCeiling
|
else if ((old & 0x4000) && !(targetactor->spr.cstat & 0x4000)) targetactor->spr.cstat |= 0x4000; // kSpriteMoveReverse, kSpriteMoveCeiling
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -3573,21 +3572,20 @@ void useSeqSpawnerGen(DBloodActor* sourceactor, int objType, sectortype* pSector
|
||||||
}
|
}
|
||||||
case OBJ_SPRITE:
|
case OBJ_SPRITE:
|
||||||
{
|
{
|
||||||
auto pSprite = &iactor->s();
|
|
||||||
if (pXSource->data2 <= 0) seqKill(iactor);
|
if (pXSource->data2 <= 0) seqKill(iactor);
|
||||||
else if (pSprite->insector())
|
else if (iactor->spr.insector())
|
||||||
{
|
{
|
||||||
if (pXSource->data3 > 0)
|
if (pXSource->data3 > 0)
|
||||||
{
|
{
|
||||||
auto spawned = InsertSprite(pSprite->sector(), kStatDecoration);
|
auto spawned = InsertSprite(iactor->spr.sector(), kStatDecoration);
|
||||||
auto pSpawned = &spawned->s();
|
auto pSpawned = &spawned->s();
|
||||||
int top, bottom; GetActorExtents(spawned, &top, &bottom);
|
int top, bottom; GetActorExtents(spawned, &top, &bottom);
|
||||||
pSpawned->pos.X = pSprite->pos.X;
|
pSpawned->pos.X = iactor->spr.pos.X;
|
||||||
pSpawned->pos.Y = pSprite->pos.Y;
|
pSpawned->pos.Y = iactor->spr.pos.Y;
|
||||||
switch (pXSource->data3)
|
switch (pXSource->data3)
|
||||||
{
|
{
|
||||||
default:
|
default:
|
||||||
pSpawned->pos.Z = pSprite->pos.Z;
|
pSpawned->pos.Z = iactor->spr.pos.Z;
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
pSpawned->pos.Z = bottom;
|
pSpawned->pos.Z = bottom;
|
||||||
|
@ -3596,11 +3594,11 @@ void useSeqSpawnerGen(DBloodActor* sourceactor, int objType, sectortype* pSector
|
||||||
pSpawned->pos.Z = top;
|
pSpawned->pos.Z = top;
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
pSpawned->pos.Z = pSprite->pos.Z + tileHeight(pSprite->picnum) / 2 + tileTopOffset(pSprite->picnum);
|
pSpawned->pos.Z = iactor->spr.pos.Z + tileHeight(iactor->spr.picnum) / 2 + tileTopOffset(iactor->spr.picnum);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
case 6:
|
case 6:
|
||||||
if (!pSprite->insector()) pSpawned->pos.Z = top;
|
if (!iactor->spr.insector()) pSpawned->pos.Z = top;
|
||||||
else pSpawned->pos.Z = (pXSource->data3 == 5) ? spawned->sector()->floorz : spawned->sector()->ceilingz;
|
else pSpawned->pos.Z = (pXSource->data3 == 5) ? spawned->sector()->floorz : spawned->sector()->ceilingz;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -7127,7 +7125,8 @@ void playerQavSceneDraw(PLAYER* pPlayer, int a2, double a3, double a4, int a5)
|
||||||
if (pPlayer == NULL || pPlayer->sceneQav == -1) return;
|
if (pPlayer == NULL || pPlayer->sceneQav == -1) return;
|
||||||
|
|
||||||
QAVSCENE* pQavScene = &gPlayerCtrl[pPlayer->nPlayer].qavScene;
|
QAVSCENE* pQavScene = &gPlayerCtrl[pPlayer->nPlayer].qavScene;
|
||||||
spritetype* pSprite = &pQavScene->initiator->s();
|
auto actor = pQavScene->initiator;
|
||||||
|
spritetype* pSprite = &actor->s();
|
||||||
|
|
||||||
if (pQavScene->qavResrc != NULL)
|
if (pQavScene->qavResrc != NULL)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1232,8 +1232,8 @@ int RDoorBusy(sectortype* pSector, unsigned int a2)
|
||||||
else
|
else
|
||||||
nWave = pXSector->busyWaveB;
|
nWave = pXSector->busyWaveB;
|
||||||
if (!pXSector->marker0) return 0;
|
if (!pXSector->marker0) return 0;
|
||||||
spritetype* pSprite = &pXSector->marker0->s();
|
spritetype* pSprite1 = &pXSector->marker0->s();
|
||||||
TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), pSprite->pos.X, pSprite->pos.Y, pSprite->pos.X, pSprite->pos.Y, 0, pSprite->pos.X, pSprite->pos.Y, pSprite->ang, pSector->type == kSectorRotate);
|
TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), pSprite1->pos.X, pSprite1->pos.Y, pSprite1->pos.X, pSprite1->pos.Y, 0, pSprite1->pos.X, pSprite1->pos.Y, pSprite1->ang, pSector->type == kSectorRotate);
|
||||||
ZTranslateSector(pSector, pXSector, a2, nWave);
|
ZTranslateSector(pSector, pXSector, a2, nWave);
|
||||||
pXSector->busy = a2;
|
pXSector->busy = a2;
|
||||||
if (pXSector->command == kCmdLink && pXSector->txID)
|
if (pXSector->command == kCmdLink && pXSector->txID)
|
||||||
|
@ -1252,19 +1252,19 @@ int StepRotateBusy(sectortype* pSector, unsigned int a2)
|
||||||
assert(pSector && pSector->hasX());
|
assert(pSector && pSector->hasX());
|
||||||
XSECTOR* pXSector = &pSector->xs();
|
XSECTOR* pXSector = &pSector->xs();
|
||||||
if (!pXSector->marker0) return 0;
|
if (!pXSector->marker0) return 0;
|
||||||
spritetype* pSprite = &pXSector->marker0->s();
|
spritetype* pSprite1 = &pXSector->marker0->s();
|
||||||
int vbp;
|
int vbp;
|
||||||
if (pXSector->busy < a2)
|
if (pXSector->busy < a2)
|
||||||
{
|
{
|
||||||
vbp = pXSector->data+pSprite->ang;
|
vbp = pXSector->data+pSprite1->ang;
|
||||||
int nWave = pXSector->busyWaveA;
|
int nWave = pXSector->busyWaveA;
|
||||||
TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), pSprite->pos.X, pSprite->pos.Y, pSprite->pos.X, pSprite->pos.Y, pXSector->data, pSprite->pos.X, pSprite->pos.Y, vbp, 1);
|
TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), pSprite1->pos.X, pSprite1->pos.Y, pSprite1->pos.X, pSprite1->pos.Y, pXSector->data, pSprite1->pos.X, pSprite1->pos.Y, vbp, 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
vbp = pXSector->data-pSprite->ang;
|
vbp = pXSector->data-pSprite1->ang;
|
||||||
int nWave = pXSector->busyWaveB;
|
int nWave = pXSector->busyWaveB;
|
||||||
TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), pSprite->pos.X, pSprite->pos.Y, pSprite->pos.X, pSprite->pos.Y, vbp, pSprite->pos.X, pSprite->pos.Y, pXSector->data, 1);
|
TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), pSprite1->pos.X, pSprite1->pos.Y, pSprite1->pos.X, pSprite1->pos.Y, vbp, pSprite1->pos.X, pSprite1->pos.Y, pXSector->data, 1);
|
||||||
}
|
}
|
||||||
pXSector->busy = a2;
|
pXSector->busy = a2;
|
||||||
if (pXSector->command == kCmdLink && pXSector->txID)
|
if (pXSector->command == kCmdLink && pXSector->txID)
|
||||||
|
@ -1300,15 +1300,16 @@ int PathBusy(sectortype* pSector, unsigned int a2)
|
||||||
assert(pSector && pSector->hasX());
|
assert(pSector && pSector->hasX());
|
||||||
XSECTOR* pXSector = &pSector->xs();
|
XSECTOR* pXSector = &pSector->xs();
|
||||||
|
|
||||||
if (!pXSector->basePath || !pXSector->marker0 || !pXSector->marker1) return 0;
|
auto basepath = pXSector->basePath;
|
||||||
spritetype* pSprite = &pXSector->basePath->s();
|
auto marker0 = pXSector->marker0;
|
||||||
spritetype* pSprite1 = &pXSector->marker0->s();
|
auto marker1 = pXSector->marker1;
|
||||||
spritetype* pSprite2 = &pXSector->marker1->s();
|
if (!basepath || !marker0 || !marker1) return 0;
|
||||||
|
|
||||||
XSPRITE *pXSprite1 = &pXSector->marker0->x();
|
XSPRITE *pXSprite1 = &pXSector->marker0->x();
|
||||||
XSPRITE *pXSprite2 = &pXSector->marker1->x();
|
XSPRITE *pXSprite2 = &pXSector->marker1->x();
|
||||||
|
|
||||||
int nWave = pXSprite1->wave;
|
int nWave = pXSprite1->wave;
|
||||||
TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), pSprite->pos.X, pSprite->pos.Y, pSprite1->pos.X, pSprite1->pos.Y, pSprite1->ang, pSprite2->pos.X, pSprite2->pos.Y, pSprite2->ang, 1);
|
TranslateSector(pSector, GetWaveValue(pXSector->busy, nWave), GetWaveValue(a2, nWave), basepath->spr.pos.X, basepath->spr.pos.Y, marker0->spr.pos.X, marker0->spr.pos.Y, marker0->spr.ang, marker1->spr.pos.X, marker1->spr.pos.Y, marker1->spr.ang, 1);
|
||||||
ZTranslateSector(pSector, pXSector, a2, nWave);
|
ZTranslateSector(pSector, pXSector, a2, nWave);
|
||||||
pXSector->busy = a2;
|
pXSector->busy = a2;
|
||||||
if ((a2&0xffff) == 0)
|
if ((a2&0xffff) == 0)
|
||||||
|
@ -1318,7 +1319,7 @@ int PathBusy(sectortype* pSector, unsigned int a2)
|
||||||
pXSector->busy = 0;
|
pXSector->busy = 0;
|
||||||
if (pXSprite1->data4)
|
if (pXSprite1->data4)
|
||||||
PathSound(pSector, pXSprite1->data4);
|
PathSound(pSector, pXSprite1->data4);
|
||||||
pXSector->marker0 = pXSector->marker1;
|
pXSector->marker0 = marker1;
|
||||||
pXSector->data = pXSprite2->data1;
|
pXSector->data = pXSprite2->data1;
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
|
@ -1375,10 +1376,9 @@ void TeleFrag(DBloodActor* killer, sectortype* pSector)
|
||||||
BloodSectIterator it(pSector);
|
BloodSectIterator it(pSector);
|
||||||
while (auto victim = it.Next())
|
while (auto victim = it.Next())
|
||||||
{
|
{
|
||||||
spritetype *pSprite = &victim->s();
|
if (victim->spr.statnum == kStatDude)
|
||||||
if (pSprite->statnum == kStatDude)
|
|
||||||
actDamageSprite(killer, victim, kDamageExplode, 4000);
|
actDamageSprite(killer, victim, kDamageExplode, 4000);
|
||||||
else if (pSprite->statnum == kStatThing)
|
else if (victim->spr.statnum == kStatThing)
|
||||||
actDamageSprite(killer, victim, kDamageExplode, 4000);
|
actDamageSprite(killer, victim, kDamageExplode, 4000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1439,7 +1439,7 @@ void OperatePath(sectortype* pSector, EVENT event)
|
||||||
assert(pSector);
|
assert(pSector);
|
||||||
auto pXSector = &pSector->xs();
|
auto pXSector = &pSector->xs();
|
||||||
if (!pXSector->marker0) return;
|
if (!pXSector->marker0) return;
|
||||||
spritetype* pSprite2 = &pXSector->marker0->s();
|
spritetype* pSprite1 = &pXSector->marker0->s();
|
||||||
XSPRITE *pXSprite2 = &pXSector->marker0->x();
|
XSPRITE *pXSprite2 = &pXSector->marker0->x();
|
||||||
int nId = pXSprite2->data2;
|
int nId = pXSprite2->data2;
|
||||||
|
|
||||||
|
@ -1469,7 +1469,7 @@ void OperatePath(sectortype* pSector, EVENT event)
|
||||||
}
|
}
|
||||||
|
|
||||||
pXSector->marker1 = actor;
|
pXSector->marker1 = actor;
|
||||||
pXSector->offFloorZ = pSprite2->pos.Z;
|
pXSector->offFloorZ = pSprite1->pos.Z;
|
||||||
pXSector->onFloorZ = pSprite->pos.Z;
|
pXSector->onFloorZ = pSprite->pos.Z;
|
||||||
switch (event.cmd) {
|
switch (event.cmd) {
|
||||||
case kCmdOn:
|
case kCmdOn:
|
||||||
|
|
Loading…
Reference in a new issue