mirror of
https://github.com/halpz/re3.git
synced 2025-07-12 00:18:06 +00:00
pool stuff fix
This commit is contained in:
@ -308,7 +308,7 @@ INITSAVEBUF
|
||||
|
||||
// Convert entity pointer to building pool index while saving
|
||||
if (phone->m_pEntity) {
|
||||
phone->m_pEntity = (CEntity*) (CPools::GetBuildingPool()->GetJustIndex((CBuilding*)phone->m_pEntity) + 1);
|
||||
phone->m_pEntity = (CEntity*) (CPools::GetBuildingPool()->GetJustIndex_NoFreeAssert((CBuilding*)phone->m_pEntity) + 1);
|
||||
}
|
||||
}
|
||||
VALIDATESAVEBUF(*size)
|
||||
|
@ -1458,9 +1458,9 @@ INITSAVEBUF
|
||||
CPickup *buf_pickup = WriteSaveBuf(buf, aPickUps[i]);
|
||||
if (buf_pickup->m_eType != PICKUP_NONE) {
|
||||
if (buf_pickup->m_pObject != nil)
|
||||
buf_pickup->m_pObject = (CObject*)(CPools::GetObjectPool()->GetJustIndex(buf_pickup->m_pObject) + 1);
|
||||
buf_pickup->m_pObject = (CObject*)(CPools::GetObjectPool()->GetJustIndex_NoFreeAssert(buf_pickup->m_pObject) + 1);
|
||||
if (buf_pickup->m_pExtraObject != nil)
|
||||
buf_pickup->m_pExtraObject = (CObject*)(CPools::GetObjectPool()->GetJustIndex(buf_pickup->m_pExtraObject) + 1);
|
||||
buf_pickup->m_pExtraObject = (CObject*)(CPools::GetObjectPool()->GetJustIndex_NoFreeAssert(buf_pickup->m_pExtraObject) + 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1784,10 +1784,10 @@ INITSAVEBUF
|
||||
handle = 0;
|
||||
} else if (pBuilding->GetIsATreadable()) {
|
||||
type = 1;
|
||||
handle = CPools::GetTreadablePool()->GetJustIndex((CTreadable*)pBuilding) + 1;
|
||||
handle = CPools::GetTreadablePool()->GetJustIndex_NoFreeAssert((CTreadable*)pBuilding) + 1;
|
||||
} else {
|
||||
type = 2;
|
||||
handle = CPools::GetBuildingPool()->GetJustIndex(pBuilding) + 1;
|
||||
handle = CPools::GetBuildingPool()->GetJustIndex_NoFreeAssert(pBuilding) + 1;
|
||||
}
|
||||
WriteSaveBuf(buf, type);
|
||||
WriteSaveBuf(buf, handle);
|
||||
@ -1805,19 +1805,19 @@ INITSAVEBUF
|
||||
case ENTITY_TYPE_BUILDING:
|
||||
if (((CBuilding*)pEntity)->GetIsATreadable()) {
|
||||
type = 1;
|
||||
handle = CPools::GetTreadablePool()->GetJustIndex((CTreadable*)pEntity) + 1;
|
||||
handle = CPools::GetTreadablePool()->GetJustIndex_NoFreeAssert((CTreadable*)pEntity) + 1;
|
||||
} else {
|
||||
type = 2;
|
||||
handle = CPools::GetBuildingPool()->GetJustIndex((CBuilding*)pEntity) + 1;
|
||||
handle = CPools::GetBuildingPool()->GetJustIndex_NoFreeAssert((CBuilding*)pEntity) + 1;
|
||||
}
|
||||
break;
|
||||
case ENTITY_TYPE_OBJECT:
|
||||
type = 3;
|
||||
handle = CPools::GetObjectPool()->GetJustIndex((CObject*)pEntity) + 1;
|
||||
handle = CPools::GetObjectPool()->GetJustIndex_NoFreeAssert((CObject*)pEntity) + 1;
|
||||
break;
|
||||
case ENTITY_TYPE_DUMMY:
|
||||
type = 4;
|
||||
handle = CPools::GetDummyPool()->GetJustIndex((CDummy*)pEntity) + 1;
|
||||
handle = CPools::GetDummyPool()->GetJustIndex_NoFreeAssert((CDummy*)pEntity) + 1;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user