Update to 12.0-beta1
This commit is contained in:
@@ -113,24 +113,27 @@ void InitializeOldNames()
|
||||
_old_name_array = CallocT<char>(NUM_OLD_STRINGS * LEN_OLD_STRINGS); // 200 * 24 would be enough for TTO savegames
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the NAME chunk.
|
||||
*/
|
||||
static void Load_NAME()
|
||||
{
|
||||
int index;
|
||||
struct NAMEChunkHandler : ChunkHandler {
|
||||
NAMEChunkHandler() : ChunkHandler('NAME', CH_READONLY) {}
|
||||
|
||||
while ((index = SlIterateArray()) != -1) {
|
||||
if (index >= NUM_OLD_STRINGS) SlErrorCorrupt("Invalid old name index");
|
||||
if (SlGetFieldLength() > (uint)LEN_OLD_STRINGS) SlErrorCorrupt("Invalid old name length");
|
||||
void Load() const override
|
||||
{
|
||||
int index;
|
||||
|
||||
SlArray(&_old_name_array[LEN_OLD_STRINGS * index], SlGetFieldLength(), SLE_UINT8);
|
||||
/* Make sure the old name is null terminated */
|
||||
_old_name_array[LEN_OLD_STRINGS * index + LEN_OLD_STRINGS - 1] = '\0';
|
||||
while ((index = SlIterateArray()) != -1) {
|
||||
if (index >= NUM_OLD_STRINGS) SlErrorCorrupt("Invalid old name index");
|
||||
if (SlGetFieldLength() > (uint)LEN_OLD_STRINGS) SlErrorCorrupt("Invalid old name length");
|
||||
|
||||
SlCopy(&_old_name_array[LEN_OLD_STRINGS * index], SlGetFieldLength(), SLE_UINT8);
|
||||
/* Make sure the old name is null terminated */
|
||||
_old_name_array[LEN_OLD_STRINGS * index + LEN_OLD_STRINGS - 1] = '\0';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Chunk handlers related to strings. */
|
||||
extern const ChunkHandler _name_chunk_handlers[] = {
|
||||
{ 'NAME', nullptr, Load_NAME, nullptr, nullptr, CH_ARRAY | CH_LAST},
|
||||
};
|
||||
|
||||
static const NAMEChunkHandler NAME;
|
||||
static const ChunkHandlerRef name_chunk_handlers[] = {
|
||||
NAME,
|
||||
};
|
||||
|
||||
extern const ChunkHandlerTable _name_chunk_handlers(name_chunk_handlers);
|
||||
|
||||
Reference in New Issue
Block a user