Include setting name in command log for setting change commands
This commit is contained in:
@@ -28,6 +28,7 @@
|
|||||||
#include "string_func.h"
|
#include "string_func.h"
|
||||||
#include "scope_info.h"
|
#include "scope_info.h"
|
||||||
#include "core/random_func.hpp"
|
#include "core/random_func.hpp"
|
||||||
|
#include "settings_func.h"
|
||||||
#include <array>
|
#include <array>
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
@@ -596,8 +597,20 @@ static void DumpSubCommandLog(char *&buffer, const char *last, const CommandLog
|
|||||||
if (entry.p3 != 0) {
|
if (entry.p3 != 0) {
|
||||||
buffer += seprintf(buffer, last, "p3: 0x" OTTD_PRINTFHEX64PAD ", ", entry.p3);
|
buffer += seprintf(buffer, last, "p3: 0x" OTTD_PRINTFHEX64PAD ", ", entry.p3);
|
||||||
}
|
}
|
||||||
buffer += seprintf(buffer, last, "cc: %3u, lc: %3u, cmd: 0x%08X (%s)\n",
|
buffer += seprintf(buffer, last, "cc: %3u, lc: %3u, cmd: 0x%08X (%s)",
|
||||||
(uint) entry.current_company, (uint) entry.local_company, entry.cmd, GetCommandName(entry.cmd));
|
(uint) entry.current_company, (uint) entry.local_company, entry.cmd, GetCommandName(entry.cmd));
|
||||||
|
|
||||||
|
switch (entry.cmd & CMD_ID_MASK) {
|
||||||
|
case CMD_CHANGE_SETTING:
|
||||||
|
buffer += seprintf(buffer, last, " [%s]", GetSettingNameByIndex(entry.p1));
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CMD_CHANGE_COMPANY_SETTING:
|
||||||
|
buffer += seprintf(buffer, last, " [%s]", GetCompanySettingNameByIndex(entry.p1));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
buffer += seprintf(buffer, last, "\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -2363,6 +2363,14 @@ CommandCost CmdChangeSetting(TileIndex tile, DoCommandFlag flags, uint32 p1, uin
|
|||||||
return CommandCost();
|
return CommandCost();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *GetSettingNameByIndex(uint32 idx)
|
||||||
|
{
|
||||||
|
const SettingDesc *sd = GetSettingDescription(idx);
|
||||||
|
if (sd == nullptr) return nullptr;
|
||||||
|
|
||||||
|
return sd->desc.name;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change one of the per-company settings.
|
* Change one of the per-company settings.
|
||||||
* @param tile unused
|
* @param tile unused
|
||||||
@@ -2400,6 +2408,13 @@ CommandCost CmdChangeCompanySetting(TileIndex tile, DoCommandFlag flags, uint32
|
|||||||
return CommandCost();
|
return CommandCost();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *GetCompanySettingNameByIndex(uint32 idx)
|
||||||
|
{
|
||||||
|
if (idx >= lengthof(_company_settings)) return nullptr;
|
||||||
|
|
||||||
|
return _company_settings[idx].desc.name;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Top function to save the new value of an element of the Settings struct
|
* Top function to save the new value of an element of the Settings struct
|
||||||
* @param index offset in the SettingDesc array of the Settings struct which
|
* @param index offset in the SettingDesc array of the Settings struct which
|
||||||
|
@@ -39,4 +39,7 @@ void SyncCompanySettings();
|
|||||||
|
|
||||||
void SetupTimeSettings();
|
void SetupTimeSettings();
|
||||||
|
|
||||||
|
const char *GetSettingNameByIndex(uint32 idx);
|
||||||
|
const char *GetCompanySettingNameByIndex(uint32 idx);
|
||||||
|
|
||||||
#endif /* SETTINGS_FUNC_H */
|
#endif /* SETTINGS_FUNC_H */
|
||||||
|
Reference in New Issue
Block a user