mirror of
https://github.com/DrBeef/Raze.git
synced 2025-03-22 01:01:04 +00:00
- Blood: fixed bad array resize.
This commit is contained in:
parent
3b8956c728
commit
fc547f5ada
1 changed files with 10 additions and 11 deletions
|
@ -800,7 +800,6 @@ void nnExtInitModernStuff(TArray<DBloodActor*>& actors)
|
|||
{
|
||||
if (iactor->xspr.busyTime <= 0 || iactor->xspr.isTriggered) continue;
|
||||
|
||||
int count = 0;
|
||||
TRCONDITION* pCond = &gConditions[gConditions.Reserve(1)];
|
||||
|
||||
for (auto iactor2 : actors)
|
||||
|
@ -818,18 +817,18 @@ void nnExtInitModernStuff(TArray<DBloodActor*>& actors)
|
|||
if (iactor2->spr.type == kModernCondition || iactor2->spr.type == kModernConditionFalse)
|
||||
condError(iactor, "Tracking condition always must be first in condition sequence!");
|
||||
|
||||
pCond->objects.Reserve(2);
|
||||
pCond->objects[count].obj = EventObject(iactor2);
|
||||
pCond->objects[count++].cmd = (uint8_t)iactor2->xspr.command;
|
||||
pCond->objects.Reserve(1);
|
||||
pCond->objects.Last().obj = EventObject(iactor2);
|
||||
pCond->objects.Last().cmd = (uint8_t)iactor2->xspr.command;
|
||||
}
|
||||
|
||||
for (auto& sect : sector)
|
||||
{
|
||||
if (!sect.hasX() || sect.xs().txID != iactor->xspr.rxID) continue;
|
||||
|
||||
pCond->objects.Reserve(2);
|
||||
pCond->objects[count].obj = EventObject(§);
|
||||
pCond->objects[count++].cmd = sect.xs().command;
|
||||
pCond->objects.Reserve(1);
|
||||
pCond->objects.Last().obj = EventObject(§);
|
||||
pCond->objects.Last().cmd = sect.xs().command;
|
||||
}
|
||||
|
||||
for (auto& wal : wall)
|
||||
|
@ -843,12 +842,12 @@ void nnExtInitModernStuff(TArray<DBloodActor*>& actors)
|
|||
continue;
|
||||
}
|
||||
|
||||
pCond->objects.Reserve(2);
|
||||
pCond->objects[count].obj = EventObject(&wal);
|
||||
pCond->objects[count++].cmd = wal.xw().command;
|
||||
pCond->objects.Reserve(1);
|
||||
pCond->objects.Last().obj = EventObject(&wal);
|
||||
pCond->objects.Last().cmd = wal.xw().command;
|
||||
}
|
||||
|
||||
if (iactor->xspr.data1 > kCondGameMax && count == 0)
|
||||
if (iactor->xspr.data1 > kCondGameMax && pCond->objects.Size() == 0)
|
||||
Printf(PRINT_HIGH, "No objects to track found for condition #%d, RXID: %d!", iactor->GetIndex(), iactor->xspr.rxID);
|
||||
|
||||
pCond->actor = iactor;
|
||||
|
|
Loading…
Reference in a new issue