File diff r25692:2d58a4d0f451 → r25693:311303f64840
src/saveload/game_sl.cpp
Show inline comments
 
@@ -121,6 +121,8 @@ public:
 

	
 
	void Save(LanguageStrings *ls) const override
 
	{
 
		SlSetStructListLength(ls->lines.size());
 

	
 
		for (const auto &string : ls->lines) {
 
			_game_saveload_string = string;
 
			SlObject(nullptr, this->GetDescription());
 
@@ -129,7 +131,9 @@ public:
 

	
 
	void Load(LanguageStrings *ls) const override
 
	{
 
		for (uint32 i = 0; i < _game_saveload_strings; i++) {
 
		uint32 length = IsSavegameVersionBefore(SLV_SAVELOAD_LIST_LENGTH) ? _game_saveload_strings : (uint32)SlGetStructListLength(UINT32_MAX);
 

	
 
		for (uint32 i = 0; i < length; i++) {
 
			SlObject(nullptr, this->GetDescription());
 
			ls->lines.emplace_back(_game_saveload_string);
 
		}
 
@@ -138,7 +142,7 @@ public:
 

	
 
static const SaveLoad _game_language_desc[] = {
 
	SLE_SSTR(LanguageStrings, language, SLE_STR),
 
	SLEG_VAR(_game_saveload_strings, SLE_UINT32),
 
	SLEG_CONDVAR(_game_saveload_strings, SLE_UINT32, SL_MIN_VERSION, SLV_SAVELOAD_LIST_LENGTH),
 
	SLEG_STRUCTLIST(SlGameLanguageString),
 
};
 

	
 
@@ -170,9 +174,7 @@ static void Save_GSTR()
 

	
 
	for (uint i = 0; i < _current_data->raw_strings.size(); i++) {
 
		SlSetArrayIndex(i);
 
		LanguageStrings *ls = &_current_data->raw_strings[i];
 
		_game_saveload_strings = (uint32)ls->lines.size();
 
		SlObject(ls, _game_language_desc);
 
		SlObject(&_current_data->raw_strings[i], _game_language_desc);
 
	}
 
}