summaryrefslogtreecommitdiff
path: root/src/saveload/saveload.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/saveload/saveload.cpp')
-rw-r--r--src/saveload/saveload.cpp63
1 files changed, 18 insertions, 45 deletions
diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp
index 39941c268..6e3d8f8e0 100644
--- a/src/saveload/saveload.cpp
+++ b/src/saveload/saveload.cpp
@@ -314,10 +314,8 @@ static void SlNullPointers()
_sl_version = SAVEGAME_VERSION;
for (const ChunkHandler &ch : ChunkHandlers()) {
- if (ch.fix_pointers) {
- Debug(sl, 3, "Nulling pointers for {:c}{:c}{:c}{:c}", ch.id >> 24, ch.id >> 16, ch.id >> 8, ch.id);
- ch.FixPointers();
- }
+ Debug(sl, 3, "Nulling pointers for {:c}{:c}{:c}{:c}", ch.id >> 24, ch.id >> 16, ch.id >> 8, ch.id);
+ ch.FixPointers();
}
assert(_sl.action == SLA_NULL);
@@ -2114,45 +2112,22 @@ void SlAutolength(AutolengthProc *proc, void *arg)
if (offs != _sl.dumper->GetSize()) SlErrorCorrupt("Invalid chunk size");
}
-void ChunkHandler::Save() const
-{
- assert(this->save_proc != nullptr);
- this->save_proc();
-}
-
-void ChunkHandler::Load() const
-{
- assert(this->load_proc != nullptr);
- this->load_proc();
-}
-
-void ChunkHandler::FixPointers() const
-{
- assert(this->ptrs_proc != nullptr);
- this->ptrs_proc();
-}
-
void ChunkHandler::LoadCheck(size_t len) const
{
- if (this->load_check) {
- assert(this->load_check_proc != nullptr);
- this->load_check_proc();
- } else {
- switch (_sl.block_mode) {
- case CH_TABLE:
- case CH_SPARSE_TABLE:
- SlTableHeader({});
- FALLTHROUGH;
- case CH_ARRAY:
- case CH_SPARSE_ARRAY:
- SlSkipArray();
- break;
- case CH_RIFF:
- SlSkipBytes(len);
- break;
- default:
- NOT_REACHED();
- }
+ switch (_sl.block_mode) {
+ case CH_TABLE:
+ case CH_SPARSE_TABLE:
+ SlTableHeader({});
+ FALLTHROUGH;
+ case CH_ARRAY:
+ case CH_SPARSE_ARRAY:
+ SlSkipArray();
+ break;
+ case CH_RIFF:
+ SlSkipBytes(len);
+ break;
+ default:
+ NOT_REACHED();
}
}
@@ -2352,10 +2327,8 @@ static void SlFixPointers()
_sl.action = SLA_PTRS;
for (const ChunkHandler &ch : ChunkHandlers()) {
- if (ch.fix_pointers) {
- Debug(sl, 3, "Fixing pointers for {:c}{:c}{:c}{:c}", ch.id >> 24, ch.id >> 16, ch.id >> 8, ch.id);
- ch.FixPointers();
- }
+ Debug(sl, 3, "Fixing pointers for {:c}{:c}{:c}{:c}", ch.id >> 24, ch.id >> 16, ch.id >> 8, ch.id);
+ ch.FixPointers();
}
assert(_sl.action == SLA_PTRS);