Merge branch 'save_ext' into tracerestrict-sx

This commit is contained in:
Jonathan G Rennison 2015-08-03 00:14:51 +01:00
commit bc8b2d9826
11 changed files with 396 additions and 359 deletions

View File

@ -869,6 +869,8 @@
<ClCompile Include="..\src\saveload\town_sl.cpp" />
<ClCompile Include="..\src\saveload\vehicle_sl.cpp" />
<ClCompile Include="..\src\saveload\waypoint_sl.cpp" />
<ClInclude Include="..\src\saveload\extended_ver_sl.h" />
<ClCompile Include="..\src\saveload\extended_ver_sl.cpp" />
<ClInclude Include="..\src\table\airport_defaults.h" />
<ClInclude Include="..\src\table\airport_movement.h" />
<ClInclude Include="..\src\table\airporttile_ids.h" />

View File

@ -1836,6 +1836,12 @@
<ClCompile Include="..\src\saveload\waypoint_sl.cpp">
<Filter>Save/Load handlers</Filter>
</ClCompile>
<ClInclude Include="..\src\saveload\extended_ver_sl.h">
<Filter>Save/Load handlers</Filter>
</ClInclude>
<ClCompile Include="..\src\saveload\extended_ver_sl.cpp">
<Filter>Save/Load handlers</Filter>
</ClCompile>
<ClInclude Include="..\src\table\airport_defaults.h">
<Filter>Tables</Filter>
</ClInclude>

View File

@ -2770,6 +2770,14 @@
RelativePath=".\..\src\saveload\waypoint_sl.cpp"
>
</File>
<File
RelativePath=".\..\src\saveload\extended_ver_sl.h"
>
</File>
<File
RelativePath=".\..\src\saveload\extended_ver_sl.cpp"
>
</File>
</Filter>
<Filter
Name="Tables"

View File

@ -2767,6 +2767,14 @@
RelativePath=".\..\src\saveload\waypoint_sl.cpp"
>
</File>
<File
RelativePath=".\..\src\saveload\extended_ver_sl.h"
>
</File>
<File
RelativePath=".\..\src\saveload\extended_ver_sl.cpp"
>
</File>
</Filter>
<Filter
Name="Tables"

File diff suppressed because it is too large Load Diff

View File

@ -517,6 +517,7 @@ STR_SCENEDIT_FILE_MENU_QUIT :Izhod
############ range for settings menu starts
STR_SETTINGS_MENU_GAME_OPTIONS :Možnosti igre
STR_SETTINGS_MENU_CONFIG_SETTINGS_TREE :Nastavitve
STR_SETTINGS_MENU_SCRIPT_SETTINGS :UI/Nastavitve skriptov igre
STR_SETTINGS_MENU_NEWGRF_SETTINGS :NewGRF nastavitve
STR_SETTINGS_MENU_TRANSPARENCY_OPTIONS :Nastavitve prozornega pogleda
@ -1123,7 +1124,10 @@ STR_GAME_OPTIONS_RESOLUTION :{BLACK}Ločljiv
STR_GAME_OPTIONS_RESOLUTION_TOOLTIP :{BLACK}Izberi ločljivost zaslona
STR_GAME_OPTIONS_RESOLUTION_OTHER :drugo
STR_GAME_OPTIONS_GUI_ZOOM_FRAME :{BLACK}Velikost vmesnika
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_NORMAL :Normalno
STR_GAME_OPTIONS_GUI_ZOOM_DROPDOWN_2X_ZOOM :Dvojna velikost
STR_GAME_OPTIONS_BASE_GRF :{BLACK}Osnovni komplet grafik
STR_GAME_OPTIONS_BASE_GRF_TOOLTIP :{BLACK}Izberi osnovni komplet grafik za uporabo
@ -1217,6 +1221,7 @@ STR_TERRAIN_TYPE_VERY_FLAT :Zelo raven
STR_TERRAIN_TYPE_FLAT :Raven
STR_TERRAIN_TYPE_HILLY :Hribovit
STR_TERRAIN_TYPE_MOUNTAINOUS :Gorat
STR_TERRAIN_TYPE_ALPINIST :Alpinist
STR_CITY_APPROVAL_PERMISSIVE :Dopustno
STR_CITY_APPROVAL_TOLERANT :Tolerantno
@ -1225,6 +1230,7 @@ STR_CITY_APPROVAL_HOSTILE :Sovražno
STR_WARNING_NO_SUITABLE_AI :{WHITE}Ni na voljo nobene uporabne UI.{}UI so na voljo preko 'Prenosa vsebin'.
# Settings tree window
STR_CONFIG_SETTING_TREE_CAPTION :{WHITE}Nastavitve
STR_CONFIG_SETTING_FILTER_TITLE :{BLACK}Filtriraj niz:
STR_CONFIG_SETTING_EXPAND_ALL :{BLACK}Razširi vse
STR_CONFIG_SETTING_COLLAPSE_ALL :{BLACK}Skrči vse
@ -1238,6 +1244,7 @@ STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Nastavitve podj
STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Nastavitve podjetja (shranjeno v igrah, vpliva samo na trenutno podjetje)
STR_CONFIG_SETTING_RESTRICT_CATEGORY :{BLACK}Kategorija:
STR_CONFIG_SETTING_RESTRICT_TYPE :{BLACK}Tip:
STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Omeji seznam na prikaz le spremenjenih nastavitev
STR_CONFIG_SETTING_RESTRICT_BASIC :Osnovne nastavitve
STR_CONFIG_SETTING_RESTRICT_ADVANCED :Napredne nastavitve
@ -1847,6 +1854,7 @@ STR_INTRO_MULTIPLAYER :{BLACK}Več igr
STR_INTRO_GAME_OPTIONS :{BLACK}Možnosti
STR_INTRO_HIGHSCORE :{BLACK}Tabela najboljših rezultatov
STR_INTRO_CONFIG_SETTINGS_TREE :{BLACK}Nastavitve
STR_INTRO_NEWGRF_SETTINGS :{BLACK}NewGRF nastavitve
STR_INTRO_ONLINE_CONTENT :{BLACK}Preveri razpoložljive vsebine
STR_INTRO_SCRIPT_SETTINGS :{BLACK}UI / Nastavitve skriptov igre
@ -1866,6 +1874,7 @@ STR_INTRO_TOOLTIP_TOYLAND_LANDSCAPE :{BLACK}Izberi o
STR_INTRO_TOOLTIP_GAME_OPTIONS :{BLACK}Prikaži možnosti igre
STR_INTRO_TOOLTIP_HIGHSCORE :{BLACK}Prikaži tabelo najboljših rezultatov
STR_INTRO_TOOLTIP_CONFIG_SETTINGS_TREE :{BLACK}Nastavitve zaslona
STR_INTRO_TOOLTIP_NEWGRF_SETTINGS :{BLACK}Prikaži nastavitve NewGRF
STR_INTRO_TOOLTIP_ONLINE_CONTENT :{BLACK}Preveri posodobljene vsebine na strežniku,{} ki so na voljo za prenos
STR_INTRO_TOOLTIP_SCRIPT_SETTINGS :{BLACK}Prikaži UI in Nastavitve skriptov igre
@ -2830,6 +2839,7 @@ STR_MAPGEN_BY :{BLACK}*
STR_MAPGEN_NUMBER_OF_TOWNS :{BLACK}Število mest:
STR_MAPGEN_DATE :{BLACK}Datum:
STR_MAPGEN_NUMBER_OF_INDUSTRIES :{BLACK}Število industrij:
STR_MAPGEN_MAX_HEIGHTLEVEL :{BLACK}Maksimalna višina mape:
STR_MAPGEN_SNOW_LINE_HEIGHT :{BLACK}Višina snežne meje:
STR_MAPGEN_SNOW_LINE_UP :{BLACK}Premik snežne meje eno enoto višje
STR_MAPGEN_SNOW_LINE_DOWN :{BLACK}Premik snežne meje eno enoto nižje
@ -2859,6 +2869,7 @@ STR_MAPGEN_HEIGHTMAP_NAME :{BLACK}Ime viš
STR_MAPGEN_HEIGHTMAP_SIZE_LABEL :{BLACK}Velikost:
STR_MAPGEN_HEIGHTMAP_SIZE :{ORANGE}{NUM} x {NUM}
STR_MAPGEN_MAX_HEIGHTLEVEL_QUERY_CAPT :{WHITE}Spremeni maksimalno višino mape
STR_MAPGEN_SNOW_LINE_QUERY_CAPT :{WHITE}Spremeni višino snežne meje
STR_MAPGEN_START_DATE_QUERY_CAPT :{WHITE}Spremeni začetno leto
@ -2974,6 +2985,10 @@ STR_SPRITE_ALIGNER_PREVIOUS_BUTTON :{BLACK}Prejšnj
STR_SPRITE_ALIGNER_PREVIOUS_TOOLTIP :{BLACK}Nadaljuj k prejšnji navadni sličici, zanemari vse navidezne/pobarvane/besedilne sličice in okvir na koncu
STR_SPRITE_ALIGNER_SPRITE_TOOLTIP :{BLACK}Predstavitev trenutno izbrane sličice. Zamik je zanemarjen pri risanju te sličice
STR_SPRITE_ALIGNER_MOVE_TOOLTIP :{BLACK}Premakni sličico s spreminjanjem X in Y osi
STR_SPRITE_ALIGNER_RESET_BUTTON :{BLACK}Resetiraj relativno
STR_SPRITE_ALIGNER_RESET_TOOLTIP :{BLACK}Resetiraj zdajšne relativne odmike
STR_SPRITE_ALIGNER_OFFSETS_ABS :{BLACK}X odmik: {NUM}, Y odmik: {NUM} (Absolutno)
STR_SPRITE_ALIGNER_OFFSETS_REL :{BLACK}X odmik: {NUM}, Y odmik: {NUM} (Relativno)
STR_SPRITE_ALIGNER_PICKER_BUTTON :{BLACK}Izberi sličico
STR_SPRITE_ALIGNER_PICKER_TOOLTIP :{BLACK}Izberi sličico kjerkoli na zaslonu

View File

@ -1977,7 +1977,7 @@ static void DrawTrackDetails(const TileInfo *ti, const RailtypeInfo *rti)
/* Base sprite for track fences.
* Note: Halftile slopes only have fences on the upper part. */
uint num_sprites = 0;
SpriteID base_image = GetCustomRailSprite(rti, ti->tile, RTSG_FENCES, IsHalftileSlope(ti->tileh) ? TCX_UPPER_HALFTILE : TCX_NORMAL);
SpriteID base_image = GetCustomRailSprite(rti, ti->tile, RTSG_FENCES, IsHalftileSlope(ti->tileh) ? TCX_UPPER_HALFTILE : TCX_NORMAL, &num_sprites);
if (base_image == 0) {
base_image = SPR_TRACK_FENCE_FLAT_X;
num_sprites = 8;

View File

@ -61,13 +61,9 @@ bool SlXvFeatureTest::IsFeaturePresent(uint16 savegame_version, uint16 savegame_
{
bool savegame_version_ok = savegame_version >= savegame_version_from && savegame_version <= savegame_version_to;
SlXvFeatureIndex feature = static_cast<SlXvFeatureIndex>(GB(this->value, 0, 16));
if (feature == XSLFI_NULL) return savegame_version_ok;
if (this->feature == XSLFI_NULL) return savegame_version_ok;
uint16 min_version = GB(this->value, 16, 16);
uint16 max_version = GB(this->value, 32, 16);
SlXvFeatureTestOperator op = static_cast<SlXvFeatureTestOperator>(GB(this->value, 48, 16));
bool feature_ok = SlXvIsFeaturePresent(feature, min_version, max_version);
bool feature_ok = SlXvIsFeaturePresent(this->feature, this->min_version, this->max_version);
switch (op) {
case XSLFTO_OR:
@ -109,7 +105,10 @@ void SlXvSetCurrentState()
SlXvResetState();
_sl_is_ext_version = true;
// TODO: set versions for currently enabled features here
const SlxiSubChunkInfo *info = _sl_xv_sub_chunk_infos;
for (; info->index != XSLFI_NULL; ++info) {
_sl_xv_feature_versions[info->index] = info->save_version;
}
}
/**

View File

@ -41,20 +41,17 @@ enum SlXvFeatureTestOperator {
*/
struct SlXvFeatureTest {
private:
uint64 value;
uint16 min_version;
uint16 max_version;
SlXvFeatureIndex feature;
SlXvFeatureTestOperator op;
public:
SlXvFeatureTest()
: value(0) { }
: min_version(0), max_version(0), feature(XSLFI_NULL), op(XSLFTO_OR) { }
SlXvFeatureTest(SlXvFeatureTestOperator op, SlXvFeatureIndex feature, uint16 min_version = 1, uint16 max_version = 0xFFFF)
{
this->value = 0;
SB(this->value, 0, 16, feature);
SB(this->value, 16, 16, min_version);
SB(this->value, 32, 16, max_version);
SB(this->value, 48, 16, op);
}
SlXvFeatureTest(SlXvFeatureTestOperator op_, SlXvFeatureIndex feature_, uint16 min_version_ = 1, uint16 max_version_ = 0xFFFF)
: min_version(min_version_), max_version(max_version_), feature(feature_), op(op_) { }
bool IsFeaturePresent(uint16 savegame_version, uint16 savegame_version_from, uint16 savegame_version_to) const;
};

View File

@ -2469,6 +2469,8 @@ static inline void ClearSaveLoadState()
delete _sl.lf;
_sl.lf = NULL;
SlXvSetCurrentState();
}
/**

View File

@ -2293,7 +2293,7 @@ static void LoadSettingsPatx(const SettingDesc *sd, void *object)
static const SaveLoad _settings_patx_desc[] = {
SLE_VAR(SettingsPatxLoad, flags, SLE_UINT32),
SLE_STR(SettingsPatxLoad, name, SLE_STRB, 255),
SLE_STR(SettingsPatxLoad, name, SLE_STRB, 256),
SLE_VAR(SettingsPatxLoad, setting_length, SLE_UINT32),
SLE_END()
};