mirror of
https://github.com/DrBeef/Raze.git
synced 2025-02-20 18:52:43 +00:00
- split up evSend
# Conflicts: # source/games/blood/src/nnexts.cpp
This commit is contained in:
parent
efc791ee00
commit
f430c28f88
5 changed files with 75 additions and 51 deletions
|
@ -601,6 +601,26 @@ void evKillSector(int sec)
|
|||
evKill_(sec, OBJ_SECTOR);
|
||||
}
|
||||
|
||||
// these have no target.
|
||||
void evSendGame(int rxId, COMMAND_ID command)
|
||||
{
|
||||
evSend(0, 0, rxId, command);
|
||||
}
|
||||
|
||||
void evSendActor(DBloodActor* actor, int rxId, COMMAND_ID command)
|
||||
{
|
||||
evSend(actor->s().index, OBJ_SPRITE, rxId, command);
|
||||
}
|
||||
|
||||
void evSendSector(int index, int rxId, COMMAND_ID command)
|
||||
{
|
||||
evSend(index, OBJ_SECTOR, rxId, command);
|
||||
}
|
||||
|
||||
void evSendWall(int index, int rxId, COMMAND_ID command)
|
||||
{
|
||||
evSend(index, OBJ_WALL, rxId, command);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
//
|
||||
|
|
|
@ -4165,17 +4165,18 @@ char modernTypeSetSpriteState(int nSprite, XSPRITE* pXSprite, int nState) {
|
|||
}
|
||||
|
||||
void modernTypeSendCommand(int nSprite, int destChannel, COMMAND_ID command) {
|
||||
auto actor = &bloodActors[nSprite];
|
||||
switch (command) {
|
||||
case kCmdLink:
|
||||
evSend(nSprite, 3, destChannel, kCmdModernUse); // just send command to change properties
|
||||
evSendActor(actor, destChannel, kCmdModernUse); // just send command to change properties
|
||||
return;
|
||||
case kCmdUnlock:
|
||||
evSend(nSprite, 3, destChannel, command); // send normal command first
|
||||
evSend(nSprite, 3, destChannel, kCmdModernUse); // then send command to change properties
|
||||
evSendActor(actor, destChannel, command); // send normal command first
|
||||
evSendActor(actor, destChannel, kCmdModernUse); // then send command to change properties
|
||||
return;
|
||||
default:
|
||||
evSend(nSprite, 3, destChannel, kCmdModernUse); // send first command to change properties
|
||||
evSend(nSprite, 3, destChannel, command); // then send normal command
|
||||
evSendActor(actor, destChannel, kCmdModernUse); // send first command to change properties
|
||||
evSendActor(actor, destChannel, command); // then send normal command
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -4863,12 +4864,12 @@ bool modernTypeOperateSprite(int nSprite, spritetype* pSprite, XSPRITE* pXSprite
|
|||
case kMarkerDudeSpawn:
|
||||
if (!gGameOptions.nMonsterSettings) return true;
|
||||
else if (!(pSprite->flags & kModernTypeFlag4)) useDudeSpawn(pXSprite, pSprite);
|
||||
else if (pXSprite->txID) evSend(nSprite, OBJ_SPRITE, pXSprite->txID, kCmdModernUse);
|
||||
else if (pXSprite->txID) evSendActor(actor, pXSprite->txID, kCmdModernUse);
|
||||
return true;
|
||||
case kModernCustomDudeSpawn:
|
||||
if (!gGameOptions.nMonsterSettings) return true;
|
||||
else if (!(pSprite->flags & kModernTypeFlag4)) useCustomDudeSpawn(actor, actor);
|
||||
else if (pXSprite->txID) evSend(nSprite, OBJ_SPRITE, pXSprite->txID, kCmdModernUse);
|
||||
else if (pXSprite->txID) evSendActor(actor, pXSprite->txID, kCmdModernUse);
|
||||
return true;
|
||||
case kModernRandomTX: // random Event Switch takes random data field and uses it as TX ID
|
||||
case kModernSequentialTX: // sequential Switch takes values from data fields starting from data1 and uses it as TX ID
|
||||
|
@ -5265,19 +5266,19 @@ bool txIsRanged(XSPRITE* pXSource) {
|
|||
}
|
||||
|
||||
void seqTxSendCmdAll(XSPRITE* pXSource, int nIndex, COMMAND_ID cmd, bool modernSend) {
|
||||
|
||||
auto actor = &bloodActors[nIndex];
|
||||
bool ranged = txIsRanged(pXSource);
|
||||
if (ranged) {
|
||||
for (pXSource->txID = pXSource->data1; pXSource->txID <= pXSource->data4; pXSource->txID++) {
|
||||
if (pXSource->txID <= 0 || pXSource->txID >= kChannelUserMax) continue;
|
||||
else if (!modernSend) evSend(nIndex, 3, pXSource->txID, cmd);
|
||||
else if (!modernSend) evSendActor(actor, pXSource->txID, cmd);
|
||||
else modernTypeSendCommand(nIndex, pXSource->txID, cmd);
|
||||
}
|
||||
} else {
|
||||
for (int i = 0; i <= 3; i++) {
|
||||
pXSource->txID = GetDataVal(&sprite[pXSource->reference], i);
|
||||
if (pXSource->txID <= 0 || pXSource->txID >= kChannelUserMax) continue;
|
||||
else if (!modernSend) evSend(nIndex, 3, pXSource->txID, cmd);
|
||||
else if (!modernSend) evSendActor(actor, pXSource->txID, cmd);
|
||||
else modernTypeSendCommand(nIndex, pXSource->txID, cmd);
|
||||
}
|
||||
}
|
||||
|
@ -5307,7 +5308,7 @@ void useRandomTx(XSPRITE* pXSource, COMMAND_ID cmd, bool setState) {
|
|||
pXSource->txID = (tx > 0 && tx < kChannelUserMax) ? tx : 0;
|
||||
if (setState)
|
||||
SetSpriteState(pSource->index, pXSource, pXSource->state ^ 1);
|
||||
//evSend(pSource->index, OBJ_SPRITE, pXSource->txID, (COMMAND_ID)pXSource->command);
|
||||
//evSendActor(pSource->index, pXSource->txID, (COMMAND_ID)pXSource->command);
|
||||
}
|
||||
|
||||
void useSequentialTx(XSPRITE* pXSource, COMMAND_ID cmd, bool setState) {
|
||||
|
@ -5363,7 +5364,7 @@ void useSequentialTx(XSPRITE* pXSource, COMMAND_ID cmd, bool setState) {
|
|||
pXSource->txID = (tx > 0 && tx < kChannelUserMax) ? tx : 0;
|
||||
if (setState)
|
||||
SetSpriteState(pSource->index, pXSource, pXSource->state ^ 1);
|
||||
//evSend(pSource->index, OBJ_SPRITE, pXSource->txID, (COMMAND_ID)pXSource->command);
|
||||
//evSendActor(pSource->index, pXSource->txID, (COMMAND_ID)pXSource->command);
|
||||
|
||||
}
|
||||
|
||||
|
@ -5435,7 +5436,7 @@ int useCondition(spritetype* pSource, XSPRITE* pXSource, EVENT event) {
|
|||
|
||||
// send command to rx bucket
|
||||
if (pXSource->txID)
|
||||
evSend(pSource->index, OBJ_SPRITE, pXSource->txID, (COMMAND_ID)pXSource->command);
|
||||
evSendActor(&bloodActors[pSource->index], pXSource->txID, (COMMAND_ID)pXSource->command);
|
||||
|
||||
if (pSource->flags) {
|
||||
|
||||
|
@ -7521,7 +7522,9 @@ void aiPatrolThink(DBloodActor* actor) {
|
|||
return;
|
||||
}
|
||||
|
||||
spritetype* pMarker = &sprite[nMarker]; XSPRITE* pXMarker = &xsprite[pMarker->extra];
|
||||
auto markeractor = &bloodActors[nMarker];
|
||||
spritetype* pMarker = &markeractor->s();
|
||||
XSPRITE* pXMarker = &markeractor->x();
|
||||
const DUDEINFO_EXTRA* pExtra = &gDudeInfoExtra[pSprite->type - kDudeBase];
|
||||
bool isFinal = ((!pXSprite->unused2 && pXMarker->data2 == -1) || (pXSprite->unused2 && pXMarker->data1 == -1));
|
||||
bool reached = false;
|
||||
|
@ -7564,7 +7567,7 @@ void aiPatrolThink(DBloodActor* actor) {
|
|||
// send command
|
||||
if (pXMarker->txID) {
|
||||
|
||||
evSend(nMarker, OBJ_SPRITE, pXMarker->txID, (COMMAND_ID)pXMarker->command);
|
||||
evSendActor(markeractor, pXMarker->txID, (COMMAND_ID)pXMarker->command);
|
||||
|
||||
// copy dude flags for current dude
|
||||
} else if (pXMarker->command == kCmdDudeFlagsSet) {
|
||||
|
@ -7639,7 +7642,7 @@ void aiPatrolThink(DBloodActor* actor) {
|
|||
// send command
|
||||
if (pXMarker->txID) {
|
||||
|
||||
evSend(nMarker, OBJ_SPRITE, pXMarker->txID, (COMMAND_ID)pXMarker->command);
|
||||
evSendActor(markeractor, pXMarker->txID, (COMMAND_ID)pXMarker->command);
|
||||
|
||||
// copy dude flags for current dude
|
||||
} else if (pXMarker->command == kCmdDudeFlagsSet) {
|
||||
|
@ -7677,11 +7680,11 @@ void aiPatrolThink(DBloodActor* actor) {
|
|||
|
||||
// send command at arrival
|
||||
if (pXMarker->triggerOn)
|
||||
evSend(nMarker, OBJ_SPRITE, pXMarker->txID, (COMMAND_ID)pXMarker->command);
|
||||
evSendActor(markeractor, pXMarker->txID, (COMMAND_ID)pXMarker->command);
|
||||
|
||||
// send command at departure
|
||||
if (pXMarker->triggerOff)
|
||||
evSend(nMarker, OBJ_SPRITE, pXMarker->txID, (COMMAND_ID)pXMarker->command);
|
||||
evSendActor(markeractor, pXMarker->txID, (COMMAND_ID)pXMarker->command);
|
||||
|
||||
// copy dude flags for current dude
|
||||
} else if (pXMarker->command == kCmdDudeFlagsSet) {
|
||||
|
|
|
@ -933,7 +933,7 @@ char PickupItem(PLAYER *pPlayer, spritetype *pItem) {
|
|||
pPlayer->used2[1] = -1;
|
||||
team_score[pPlayer->teamId] += 10;
|
||||
team_ticker[pPlayer->teamId] += 240;
|
||||
evSend(0, 0, 81, kCmdOn);
|
||||
evSendGame(81, kCmdOn);
|
||||
sprintf(buffer, "%s captured Red Flag!", PlayerName(pPlayer->nPlayer));
|
||||
sndStartSample(8001, 255, 2, 0);
|
||||
viewSetMessage(buffer);
|
||||
|
@ -970,7 +970,7 @@ char PickupItem(PLAYER *pPlayer, spritetype *pItem) {
|
|||
pPlayer->used2[0] = -1;
|
||||
team_score[pPlayer->teamId] += 10;
|
||||
team_ticker[pPlayer->teamId] += 240;
|
||||
evSend(0, 0, 80, kCmdOn);
|
||||
evSendGame(80, kCmdOn);
|
||||
sprintf(buffer, "%s captured Blue Flag!", PlayerName(pPlayer->nPlayer));
|
||||
sndStartSample(8000, 255, 2, 0);
|
||||
viewSetMessage(buffer);
|
||||
|
@ -1866,16 +1866,16 @@ void FragPlayer(PLAYER *pPlayer, int nSprite)
|
|||
if (nTeam1 == 0)
|
||||
{
|
||||
if (nTeam1 != nTeam2)
|
||||
evSend(0, 0, 15, kCmdToggle);
|
||||
evSendGame(15, kCmdToggle);
|
||||
else
|
||||
evSend(0, 0, 16, kCmdToggle);
|
||||
evSendGame(16, kCmdToggle);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nTeam1 == nTeam2)
|
||||
evSend(0, 0, 16, kCmdToggle);
|
||||
evSendGame(16, kCmdToggle);
|
||||
else
|
||||
evSend(0, 0, 15, kCmdToggle);
|
||||
evSendGame(15, kCmdToggle);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,25 +54,26 @@ unsigned int GetWaveValue(unsigned int nPhase, int nType)
|
|||
|
||||
char SetSpriteState(int nSprite, XSPRITE* pXSprite, int nState)
|
||||
{
|
||||
auto actor = &bloodActors[nSprite];
|
||||
if ((pXSprite->busy & 0xffff) == 0 && pXSprite->state == nState)
|
||||
return 0;
|
||||
pXSprite->busy = IntToFixed(nState);
|
||||
pXSprite->state = nState;
|
||||
evKillActor(&bloodActors[nSprite]);
|
||||
evKillActor(actor);
|
||||
if ((sprite[nSprite].flags & kHitagRespawn) != 0 && sprite[nSprite].inittype >= kDudeBase && sprite[nSprite].inittype < kDudeMax)
|
||||
{
|
||||
pXSprite->respawnPending = 3;
|
||||
evPostActor(&bloodActors[nSprite], gGameOptions.nMonsterRespawnTime, kCallbackRespawn);
|
||||
evPostActor(actor, gGameOptions.nMonsterRespawnTime, kCallbackRespawn);
|
||||
return 1;
|
||||
}
|
||||
if (pXSprite->restState != nState && pXSprite->waitTime > 0)
|
||||
evPostActor(&bloodActors[nSprite], (pXSprite->waitTime * 120) / 10, pXSprite->restState ? kCmdOn : kCmdOff);
|
||||
evPostActor(actor, (pXSprite->waitTime * 120) / 10, pXSprite->restState ? kCmdOn : kCmdOff);
|
||||
if (pXSprite->txID)
|
||||
{
|
||||
if (pXSprite->command != kCmdLink && pXSprite->triggerOn && pXSprite->state)
|
||||
evSend(nSprite, 3, pXSprite->txID, (COMMAND_ID)pXSprite->command);
|
||||
evSendActor(actor, pXSprite->txID, (COMMAND_ID)pXSprite->command);
|
||||
if (pXSprite->command != kCmdLink && pXSprite->triggerOff && !pXSprite->state)
|
||||
evSend(nSprite, 3, pXSprite->txID, (COMMAND_ID)pXSprite->command);
|
||||
evSendActor(actor, pXSprite->txID, (COMMAND_ID)pXSprite->command);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -91,9 +92,9 @@ char SetWallState(int nWall, XWALL *pXWall, int nState)
|
|||
if (pXWall->txID)
|
||||
{
|
||||
if (pXWall->command != kCmdLink && pXWall->triggerOn && pXWall->state)
|
||||
evSend(nWall, 0, pXWall->txID, (COMMAND_ID)pXWall->command);
|
||||
evSendWall(nWall, pXWall->txID, (COMMAND_ID)pXWall->command);
|
||||
if (pXWall->command != kCmdLink && pXWall->triggerOff && !pXWall->state)
|
||||
evSend(nWall, 0, pXWall->txID, (COMMAND_ID)pXWall->command);
|
||||
evSendWall(nWall, pXWall->txID, (COMMAND_ID)pXWall->command);
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
@ -108,7 +109,7 @@ char SetSectorState(int nSector, XSECTOR *pXSector, int nState)
|
|||
if (nState == 1)
|
||||
{
|
||||
if (pXSector->command != kCmdLink && pXSector->triggerOn && pXSector->txID)
|
||||
evSend(nSector, 6, pXSector->txID, (COMMAND_ID)pXSector->command);
|
||||
evSendSector(nSector,pXSector->txID, (COMMAND_ID)pXSector->command);
|
||||
if (pXSector->stopOn)
|
||||
{
|
||||
pXSector->stopOn = 0;
|
||||
|
@ -120,7 +121,7 @@ char SetSectorState(int nSector, XSECTOR *pXSector, int nState)
|
|||
else
|
||||
{
|
||||
if (pXSector->command != kCmdLink && pXSector->triggerOff && pXSector->txID)
|
||||
evSend(nSector, 6, pXSector->txID, (COMMAND_ID)pXSector->command);
|
||||
evSendSector(nSector,pXSector->txID, (COMMAND_ID)pXSector->command);
|
||||
if (pXSector->stopOff)
|
||||
{
|
||||
pXSector->stopOn = 0;
|
||||
|
@ -450,7 +451,7 @@ void OperateSprite(int nSprite, XSPRITE *pXSprite, EVENT event)
|
|||
sfxPlay3DSound(pSprite, pXSprite->data4, -1, 0);
|
||||
|
||||
if (pXSprite->command == kCmdLink && pXSprite->txID > 0)
|
||||
evSend(nSprite, 3, pXSprite->txID, kCmdLink);
|
||||
evSendActor(actor, pXSprite->txID, kCmdLink);
|
||||
|
||||
if (pXSprite->data1 == pXSprite->data2)
|
||||
SetSpriteState(nSprite, pXSprite, 1);
|
||||
|
@ -562,7 +563,7 @@ void OperateSprite(int nSprite, XSPRITE *pXSprite, EVENT event)
|
|||
break;
|
||||
case kCmdRepeat:
|
||||
if (pSprite->type != kGenTrigger) ActivateGenerator(nSprite);
|
||||
if (pXSprite->txID) evSend(nSprite, 3, pXSprite->txID, (COMMAND_ID)pXSprite->command);
|
||||
if (pXSprite->txID) evSendActor(actor, pXSprite->txID, (COMMAND_ID)pXSprite->command);
|
||||
if (pXSprite->busyTime > 0) {
|
||||
int nRand = Random2(pXSprite->data1);
|
||||
evPostActor(actor, 120*(nRand+pXSprite->busyTime) / 10, kCmdRepeat);
|
||||
|
@ -1077,7 +1078,7 @@ int VCrushBusy(unsigned int nSector, unsigned int a2)
|
|||
sector[nSector].floorz = v10;
|
||||
pXSector->busy = a2;
|
||||
if (pXSector->command == kCmdLink && pXSector->txID)
|
||||
evSend(nSector, 6, pXSector->txID, kCmdLink);
|
||||
evSendSector(nSector,pXSector->txID, kCmdLink);
|
||||
if ((a2&0xffff) == 0)
|
||||
{
|
||||
SetSectorState(nSector, pXSector, FixedToInt(a2));
|
||||
|
@ -1130,7 +1131,7 @@ int VSpriteBusy(unsigned int nSector, unsigned int a2)
|
|||
}
|
||||
pXSector->busy = a2;
|
||||
if (pXSector->command == kCmdLink && pXSector->txID)
|
||||
evSend(nSector, 6, pXSector->txID, kCmdLink);
|
||||
evSendSector(nSector,pXSector->txID, kCmdLink);
|
||||
if ((a2&0xffff) == 0)
|
||||
{
|
||||
SetSectorState(nSector, pXSector, FixedToInt(a2));
|
||||
|
@ -1230,7 +1231,7 @@ int VDoorBusy(unsigned int nSector, unsigned int a2)
|
|||
ZTranslateSector(nSector, pXSector, a2, nWave);
|
||||
pXSector->busy = a2;
|
||||
if (pXSector->command == kCmdLink && pXSector->txID)
|
||||
evSend(nSector, 6, pXSector->txID, kCmdLink);
|
||||
evSendSector(nSector,pXSector->txID, kCmdLink);
|
||||
if ((a2&0xffff) == 0)
|
||||
{
|
||||
SetSectorState(nSector, pXSector, FixedToInt(a2));
|
||||
|
@ -1258,7 +1259,7 @@ int HDoorBusy(unsigned int nSector, unsigned int a2)
|
|||
ZTranslateSector(nSector, pXSector, a2, nWave);
|
||||
pXSector->busy = a2;
|
||||
if (pXSector->command == kCmdLink && pXSector->txID)
|
||||
evSend(nSector, 6, pXSector->txID, kCmdLink);
|
||||
evSendSector(nSector,pXSector->txID, kCmdLink);
|
||||
if ((a2&0xffff) == 0)
|
||||
{
|
||||
SetSectorState(nSector, pXSector, FixedToInt(a2));
|
||||
|
@ -1285,7 +1286,7 @@ int RDoorBusy(unsigned int nSector, unsigned int a2)
|
|||
ZTranslateSector(nSector, pXSector, a2, nWave);
|
||||
pXSector->busy = a2;
|
||||
if (pXSector->command == kCmdLink && pXSector->txID)
|
||||
evSend(nSector, 6, pXSector->txID, kCmdLink);
|
||||
evSendSector(nSector,pXSector->txID, kCmdLink);
|
||||
if ((a2&0xffff) == 0)
|
||||
{
|
||||
SetSectorState(nSector, pXSector, FixedToInt(a2));
|
||||
|
@ -1318,7 +1319,7 @@ int StepRotateBusy(unsigned int nSector, unsigned int a2)
|
|||
}
|
||||
pXSector->busy = a2;
|
||||
if (pXSector->command == kCmdLink && pXSector->txID)
|
||||
evSend(nSector, 6, pXSector->txID, kCmdLink);
|
||||
evSendSector(nSector,pXSector->txID, kCmdLink);
|
||||
if ((a2&0xffff) == 0)
|
||||
{
|
||||
SetSectorState(nSector, pXSector, FixedToInt(a2));
|
||||
|
@ -1338,7 +1339,7 @@ int GenSectorBusy(unsigned int nSector, unsigned int a2)
|
|||
XSECTOR *pXSector = &xsector[nXSector];
|
||||
pXSector->busy = a2;
|
||||
if (pXSector->command == kCmdLink && pXSector->txID)
|
||||
evSend(nSector, 6, pXSector->txID, kCmdLink);
|
||||
evSendSector(nSector,pXSector->txID, kCmdLink);
|
||||
if ((a2&0xffff) == 0)
|
||||
{
|
||||
SetSectorState(nSector, pXSector, FixedToInt(a2));
|
||||
|
@ -1736,7 +1737,7 @@ void trTriggerSector(unsigned int nSector, XSECTOR *pXSector, int command) {
|
|||
pXSector->isTriggered = 1;
|
||||
|
||||
if (pXSector->decoupled && pXSector->txID > 0)
|
||||
evSend(nSector, 6, pXSector->txID, (COMMAND_ID)pXSector->command);
|
||||
evSendSector(nSector,pXSector->txID, (COMMAND_ID)pXSector->command);
|
||||
|
||||
else {
|
||||
EVENT event;
|
||||
|
@ -1755,7 +1756,7 @@ void trTriggerWall(unsigned int nWall, XWALL *pXWall, int command) {
|
|||
pXWall->isTriggered = 1;
|
||||
|
||||
if (pXWall->decoupled && pXWall->txID > 0)
|
||||
evSend(nWall, 0, pXWall->txID, (COMMAND_ID)pXWall->command);
|
||||
evSendWall(nWall, pXWall->txID, (COMMAND_ID)pXWall->command);
|
||||
|
||||
else {
|
||||
EVENT event;
|
||||
|
@ -1773,7 +1774,7 @@ void trTriggerSprite(unsigned int nSprite, XSPRITE *pXSprite, int command) {
|
|||
pXSprite->isTriggered = 1;
|
||||
|
||||
if (pXSprite->Decoupled && pXSprite->txID > 0)
|
||||
evSend(nSprite, 3, pXSprite->txID, (COMMAND_ID)pXSprite->command);
|
||||
evSendActor(&bloodActors[nSprite], pXSprite->txID, (COMMAND_ID)pXSprite->command);
|
||||
|
||||
else {
|
||||
EVENT event;
|
||||
|
@ -2170,17 +2171,17 @@ void trInit(void)
|
|||
}
|
||||
}
|
||||
|
||||
evSend(0, 0, kChannelLevelStart, kCmdOn);
|
||||
evSendGame(kChannelLevelStart, kCmdOn);
|
||||
switch (gGameOptions.nGameType) {
|
||||
case 1:
|
||||
evSend(0, 0, kChannelLevelStartCoop, kCmdOn);
|
||||
evSendGame(kChannelLevelStartCoop, kCmdOn);
|
||||
break;
|
||||
case 2:
|
||||
evSend(0, 0, kChannelLevelStartMatch, kCmdOn);
|
||||
evSendGame(kChannelLevelStartMatch, kCmdOn);
|
||||
break;
|
||||
case 3:
|
||||
evSend(0, 0, kChannelLevelStartMatch, kCmdOn);
|
||||
evSend(0, 0, kChannelLevelStartTeamsOnly, kCmdOn);
|
||||
evSendGame(kChannelLevelStartMatch, kCmdOn);
|
||||
evSendGame(kChannelLevelStartTeamsOnly, kCmdOn);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1192,7 +1192,7 @@ void DropRemote(int, PLAYER *pPlayer)
|
|||
|
||||
void FireRemote(int, PLAYER *pPlayer)
|
||||
{
|
||||
evSend(0, 0, 90+(pPlayer->pSprite->type-kDudePlayer1), kCmdOn);
|
||||
evSendGame(90+(pPlayer->pSprite->type-kDudePlayer1), kCmdOn);
|
||||
}
|
||||
|
||||
enum { kMaxShotgunBarrels = 4 };
|
||||
|
|
Loading…
Reference in a new issue