Codechange: do not use MallocT for the pool

Needed to make the placement new operator use Tindex over size_t because of
ambiguity for the delete operator variant that also has the size.
This commit is contained in:
Rubidium
2025-02-20 18:59:28 +01:00
committed by rubidium42
parent 426b03b31a
commit 09716dba75
24 changed files with 80 additions and 96 deletions

View File

@@ -148,7 +148,7 @@ struct ORDRChunkHandler : ChunkHandler {
SlCopy(&orders[0], len, SLE_UINT16);
for (size_t i = 0; i < len; ++i) {
Order *o = new (i) Order();
Order *o = new (OrderID(static_cast<uint32_t>(i))) Order();
o->AssignOrder(UnpackVersion4Order(orders[i]));
}
} else if (IsSavegameVersionBefore(SLV_5, 2)) {
@@ -158,7 +158,7 @@ struct ORDRChunkHandler : ChunkHandler {
SlCopy(&orders[0], len, SLE_UINT32);
for (size_t i = 0; i < len; ++i) {
new (i) Order(GB(orders[i], 0, 8), GB(orders[i], 8, 8), GB(orders[i], 16, 16));
new (OrderID(static_cast<uint32_t>(i))) Order(GB(orders[i], 0, 8), GB(orders[i], 8, 8), GB(orders[i], 16, 16));
}
}
@@ -181,7 +181,7 @@ struct ORDRChunkHandler : ChunkHandler {
int index;
while ((index = SlIterateArray()) != -1) {
Order *order = new (index) Order();
Order *order = new (OrderID(index)) Order();
SlObject(order, slt);
}
}
@@ -229,7 +229,7 @@ struct ORDLChunkHandler : ChunkHandler {
while ((index = SlIterateArray()) != -1) {
/* set num_orders to 0 so it's a valid OrderList */
OrderList *list = new (index) OrderList(0);
OrderList *list = new (OrderListID(index)) OrderList(0);
SlObject(list, slt);
}
@@ -294,7 +294,7 @@ struct BKORChunkHandler : ChunkHandler {
while ((index = SlIterateArray()) != -1) {
/* set num_orders to 0 so it's a valid OrderList */
OrderBackup *ob = new (index) OrderBackup();
OrderBackup *ob = new (OrderBackupID(index)) OrderBackup();
SlObject(ob, slt);
}
}