- Added a channel parameter to the sector overload of SN_StopSequence() so
it can be properly paired with calls to SN_StartSequence(). SVN r2043 (trunk)
This commit is contained in:
parent
f667e68c94
commit
9eb5fdd276
8 changed files with 31 additions and 15 deletions
|
|
@ -849,7 +849,7 @@ DSeqNode *SN_StartSequence (sector_t *sector, int chan, int sequence, seqtype_t
|
|||
{
|
||||
if (!nostop)
|
||||
{
|
||||
SN_StopSequence (sector);
|
||||
SN_StopSequence (sector, chan);
|
||||
}
|
||||
if (TwiddleSeqNum (sequence, type))
|
||||
{
|
||||
|
|
@ -963,9 +963,23 @@ void SN_StopSequence (AActor *actor)
|
|||
SN_DoStop (actor);
|
||||
}
|
||||
|
||||
void SN_StopSequence (sector_t *sector)
|
||||
void SN_StopSequence (sector_t *sector, int chan)
|
||||
{
|
||||
SN_DoStop (sector);
|
||||
DSeqNode *node;
|
||||
|
||||
for (node = DSeqNode::FirstSequence(); node; )
|
||||
{
|
||||
DSeqNode *next = node->NextSequence();
|
||||
if (node->Source() == sector)
|
||||
{
|
||||
assert(node->IsKindOf(RUNTIME_CLASS(DSeqSectorNode)));
|
||||
if ((static_cast<DSeqSectorNode *>(node)->Channel & 7) == chan)
|
||||
{
|
||||
node->StopAndDestroy ();
|
||||
}
|
||||
}
|
||||
node = next;
|
||||
}
|
||||
}
|
||||
|
||||
void SN_StopSequence (FPolyObj *poly)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue