Saveload: Log changes in SlExecWithSlVersion

pull/661/head
Jonathan G Rennison 3 months ago
parent 6dec7a5b35
commit dadbad2bfc

@ -4204,6 +4204,20 @@ void SlUnreachablePlaceholder()
NOT_REACHED();
}
SaveLoadVersion SlExecWithSlVersionStart(SaveLoadVersion use_version)
{
DEBUG(sl, 4, "SlExecWithSlVersion start: %u", use_version);
SaveLoadVersion old_ver = _sl_version;
_sl_version = use_version;
return old_ver;
}
void SlExecWithSlVersionEnd(SaveLoadVersion old_version)
{
DEBUG(sl, 4, "SlExecWithSlVersion end");
_sl_version = old_version;
}
const char *ChunkIDDumper::operator()(uint32_t id)
{
seprintf(this->buffer, lastof(this->buffer), "%c%c%c%c", id >> 24, id >> 16, id >> 8, id);

@ -135,11 +135,12 @@ private:
template <typename F>
void SlExecWithSlVersion(SaveLoadVersion use_version, F proc)
{
extern SaveLoadVersion _sl_version;
SaveLoadVersion old_ver = _sl_version;
_sl_version = use_version;
extern SaveLoadVersion SlExecWithSlVersionStart(SaveLoadVersion use_version);
extern void SlExecWithSlVersionEnd(SaveLoadVersion old_version);
SaveLoadVersion old_ver = SlExecWithSlVersionStart(use_version);
auto guard = scope_guard([&]() {
_sl_version = old_ver;
SlExecWithSlVersionEnd(old_ver);
});
proc();
}

Loading…
Cancel
Save