Author: cazfi Date: Fri Jan 8 08:53:25 2016 New Revision: 31408 URL: http://svn.gna.org/viewcvs/freeciv?rev=31408&view=rev Log: Moved version number of the freeciv that created the save from [game] to [scenario] for fast lookup.
See patch #6756 Modified: trunk/data/scenarios/british-isles-85x80-v2.80.sav trunk/data/scenarios/earth-160x90-v2.sav trunk/data/scenarios/earth-80x50-v3.sav trunk/data/scenarios/europe-200x100-v2.sav trunk/data/scenarios/france-140x90-v2.sav trunk/data/scenarios/hagworld-120x60-v1.2.sav trunk/data/scenarios/iberian-peninsula-136x100-v1.0.sav trunk/data/scenarios/italy-100x100-v1.5.sav trunk/data/scenarios/japan-88x100-v1.3.sav trunk/data/scenarios/north_america_116x100-v1.2.sav trunk/data/scenarios/tileset-demo.sav trunk/data/scenarios/tutorial.sav trunk/server/savecompat.c trunk/server/savegame3.c Modified: trunk/data/scenarios/british-isles-85x80-v2.80.sav URL: http://svn.gna.org/viewcvs/freeciv/trunk/data/scenarios/british-isles-85x80-v2.80.sav?rev=31408&r1=31407&r2=31408&view=diff ============================================================================== --- trunk/data/scenarios/british-isles-85x80-v2.80.sav (original) +++ trunk/data/scenarios/british-isles-85x80-v2.80.sav Fri Jan 8 08:53:25 2016 @@ -1,6 +1,7 @@ [scenario] is_scenario=TRUE +game_version=20599 name=_("British Isles (classic/medium)") description=_("Classic-style 85x80 map of the British Isles.") save_random=FALSE Modified: trunk/data/scenarios/earth-160x90-v2.sav URL: http://svn.gna.org/viewcvs/freeciv/trunk/data/scenarios/earth-160x90-v2.sav?rev=31408&r1=31407&r2=31408&view=diff ============================================================================== --- trunk/data/scenarios/earth-160x90-v2.sav (original) +++ trunk/data/scenarios/earth-160x90-v2.sav Fri Jan 8 08:53:25 2016 @@ -1,6 +1,7 @@ [scenario] is_scenario=TRUE +game_version=20599 name=_("Earth (classic/large)") description=_("Classic-style 160x90 map of the Earth.") save_random=FALSE Modified: trunk/data/scenarios/earth-80x50-v3.sav URL: http://svn.gna.org/viewcvs/freeciv/trunk/data/scenarios/earth-80x50-v3.sav?rev=31408&r1=31407&r2=31408&view=diff ============================================================================== --- trunk/data/scenarios/earth-80x50-v3.sav (original) +++ trunk/data/scenarios/earth-80x50-v3.sav Fri Jan 8 08:53:25 2016 @@ -1,6 +1,7 @@ [scenario] is_scenario=TRUE +game_version=20599 name=_("Earth (classic/small)") description=_("Classic-style 80x50 map of the Earth.") save_random=FALSE Modified: trunk/data/scenarios/europe-200x100-v2.sav URL: http://svn.gna.org/viewcvs/freeciv/trunk/data/scenarios/europe-200x100-v2.sav?rev=31408&r1=31407&r2=31408&view=diff ============================================================================== --- trunk/data/scenarios/europe-200x100-v2.sav (original) +++ trunk/data/scenarios/europe-200x100-v2.sav Fri Jan 8 08:53:25 2016 @@ -1,6 +1,7 @@ [scenario] is_scenario=TRUE +game_version=20599 name=_("Europe (classic/giant)") description=_("Classic-style 200x100 map of Europe.") players=FALSE Modified: trunk/data/scenarios/france-140x90-v2.sav URL: http://svn.gna.org/viewcvs/freeciv/trunk/data/scenarios/france-140x90-v2.sav?rev=31408&r1=31407&r2=31408&view=diff ============================================================================== --- trunk/data/scenarios/france-140x90-v2.sav (original) +++ trunk/data/scenarios/france-140x90-v2.sav Fri Jan 8 08:53:25 2016 @@ -1,6 +1,7 @@ [scenario] is_scenario=TRUE +game_version=20599 name=_("France (classic/large)") description=_("Classic-style 140x90 map of France.") save_random=FALSE Modified: trunk/data/scenarios/hagworld-120x60-v1.2.sav URL: http://svn.gna.org/viewcvs/freeciv/trunk/data/scenarios/hagworld-120x60-v1.2.sav?rev=31408&r1=31407&r2=31408&view=diff ============================================================================== --- trunk/data/scenarios/hagworld-120x60-v1.2.sav (original) +++ trunk/data/scenarios/hagworld-120x60-v1.2.sav Fri Jan 8 08:53:25 2016 @@ -1,6 +1,7 @@ [scenario] is_scenario=TRUE +game_version=20599 name=_("Earth (classic/medium)") description=_("Classic-style 120x60 map of the Earth.") save_random=FALSE Modified: trunk/data/scenarios/iberian-peninsula-136x100-v1.0.sav URL: http://svn.gna.org/viewcvs/freeciv/trunk/data/scenarios/iberian-peninsula-136x100-v1.0.sav?rev=31408&r1=31407&r2=31408&view=diff ============================================================================== --- trunk/data/scenarios/iberian-peninsula-136x100-v1.0.sav (original) +++ trunk/data/scenarios/iberian-peninsula-136x100-v1.0.sav Fri Jan 8 08:53:25 2016 @@ -1,6 +1,7 @@ [scenario] is_scenario=TRUE +game_version=20599 name=_("Iberian Peninsula (classic/large)") description=_("Classic-style 136x100 map of the Iberian Peninsula (modern-day Spain and Portugal).") save_random=FALSE Modified: trunk/data/scenarios/italy-100x100-v1.5.sav URL: http://svn.gna.org/viewcvs/freeciv/trunk/data/scenarios/italy-100x100-v1.5.sav?rev=31408&r1=31407&r2=31408&view=diff ============================================================================== --- trunk/data/scenarios/italy-100x100-v1.5.sav (original) +++ trunk/data/scenarios/italy-100x100-v1.5.sav Fri Jan 8 08:53:25 2016 @@ -1,6 +1,7 @@ [scenario] is_scenario=TRUE +game_version=20599 name=_("Italy (classic/medium)") description=_("Classic-style 100x100 map of Italy.") save_random=FALSE Modified: trunk/data/scenarios/japan-88x100-v1.3.sav URL: http://svn.gna.org/viewcvs/freeciv/trunk/data/scenarios/japan-88x100-v1.3.sav?rev=31408&r1=31407&r2=31408&view=diff ============================================================================== --- trunk/data/scenarios/japan-88x100-v1.3.sav (original) +++ trunk/data/scenarios/japan-88x100-v1.3.sav Fri Jan 8 08:53:25 2016 @@ -1,6 +1,7 @@ [scenario] is_scenario=TRUE +game_version=20599 name=_("Japan (classic/medium)") description=_("Classic-style 88x100 map of Japan.") save_random=FALSE Modified: trunk/data/scenarios/north_america_116x100-v1.2.sav URL: http://svn.gna.org/viewcvs/freeciv/trunk/data/scenarios/north_america_116x100-v1.2.sav?rev=31408&r1=31407&r2=31408&view=diff ============================================================================== --- trunk/data/scenarios/north_america_116x100-v1.2.sav (original) +++ trunk/data/scenarios/north_america_116x100-v1.2.sav Fri Jan 8 08:53:25 2016 @@ -1,6 +1,7 @@ [scenario] is_scenario=TRUE +game_version=20599 name=_("North America (classic/medium)") description=_("Classic-style 116x100 map of North America.") save_random=FALSE Modified: trunk/data/scenarios/tileset-demo.sav URL: http://svn.gna.org/viewcvs/freeciv/trunk/data/scenarios/tileset-demo.sav?rev=31408&r1=31407&r2=31408&view=diff ============================================================================== --- trunk/data/scenarios/tileset-demo.sav (original) +++ trunk/data/scenarios/tileset-demo.sav Fri Jan 8 08:53:25 2016 @@ -1,6 +1,7 @@ [scenario] is_scenario=TRUE +game_version=20599 save_random=TRUE players=TRUE startpos_nations=FALSE Modified: trunk/data/scenarios/tutorial.sav URL: http://svn.gna.org/viewcvs/freeciv/trunk/data/scenarios/tutorial.sav?rev=31408&r1=31407&r2=31408&view=diff ============================================================================== --- trunk/data/scenarios/tutorial.sav (original) +++ trunk/data/scenarios/tutorial.sav Fri Jan 8 08:53:25 2016 @@ -1,6 +1,7 @@ [scenario] is_scenario=TRUE +game_version=20599 name=_("Tutorial") description=_("Play this tutorial scenario to get an introduction to Freeciv.") save_random=FALSE Modified: trunk/server/savecompat.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/savecompat.c?rev=31408&r1=31407&r2=31408&view=diff ============================================================================== --- trunk/server/savecompat.c (original) +++ trunk/server/savecompat.c Fri Jan 8 08:53:25 2016 @@ -1206,6 +1206,7 @@ static void compat_load_dev(struct loaddata *loading) { bool randsaved; + int game_version; int plrno; int nplayers; size_t diplstate_type_size; @@ -1215,9 +1216,14 @@ log_debug("Upgrading data between development revisions"); - /* Rename "random.save" as "random.saved", if not already saved by later name */ + /* Rename "random.save" as "random.saved", if not already saved by later name */ if (secfile_lookup_bool(loading->file, &randsaved, "random.save")) { secfile_insert_bool(loading->file, randsaved, "random.saved"); + } + + /* Move version information from game.version to scenario.game_version */ + if (secfile_lookup_int(loading->file, &game_version, "game.version")) { + secfile_insert_int(loading->file, game_version, "scenario.game_version"); } nplayers = secfile_lookup_int_default(loading->file, 0, "players.nplayers"); Modified: trunk/server/savegame3.c URL: http://svn.gna.org/viewcvs/freeciv/trunk/server/savegame3.c?rev=31408&r1=31407&r2=31408&view=diff ============================================================================== --- trunk/server/savegame3.c (original) +++ trunk/server/savegame3.c Fri Jan 8 08:53:25 2016 @@ -1760,20 +1760,12 @@ ****************************************************************************/ static void sg_load_game(struct loaddata *loading) { - int game_version; const char *string; const char *level; int i; /* Check status and return if not OK (sg_success != TRUE). */ sg_check_ret(); - - /* Load version. */ - game_version - = secfile_lookup_int_default(loading->file, 0, "game.version"); - /* We require at least version 2.90.99 */ - sg_failure_ret(29099 <= game_version, "Saved game is too old, at least " - "version 2.90.99 required."); /* Load server state. */ string = secfile_lookup_str_default(loading->file, "S_S_INITIAL", @@ -1941,7 +1933,6 @@ ****************************************************************************/ static void sg_save_game(struct savedata *saving) { - int game_version; const char *user_message; enum server_states srv_state; char global_advances[game.control.num_tech_types + 1]; @@ -1949,9 +1940,6 @@ /* Check status and return if not OK (sg_success != TRUE). */ sg_check_ret(); - - game_version = MAJOR_VERSION *10000 + MINOR_VERSION *100 + PATCH_VERSION; - secfile_insert_int(saving->file, game_version, "game.version"); /* Game state: once the game is no longer a new game (ie, has been * started the first time), it should always be considered a running @@ -2155,9 +2143,17 @@ static void sg_load_scenario(struct loaddata *loading) { const char *buf; + int game_version; /* Check status and return if not OK (sg_success != TRUE). */ sg_check_ret(); + + /* Load version. */ + game_version + = secfile_lookup_int_default(loading->file, 0, "scenario.game_version"); + /* We require at least version 2.90.99 */ + sg_failure_ret(29099 <= game_version, "Saved game is too old, at least " + "version 2.90.99 required."); sg_failure_ret(secfile_lookup_bool(loading->file, &game.scenario.is_scenario, "scenario.is_scenario"), "%s", secfile_error()); @@ -2225,9 +2221,13 @@ static void sg_save_scenario(struct savedata *saving) { struct entry *mod_entry; + int game_version; /* Check status and return if not OK (sg_success != TRUE). */ sg_check_ret(); + + game_version = MAJOR_VERSION * 10000 + MINOR_VERSION * 100 + PATCH_VERSION; + secfile_insert_int(saving->file, game_version, "scenario.game_version"); if (!saving->scenario || !game.scenario.is_scenario) { secfile_insert_bool(saving->file, FALSE, "scenario.is_scenario"); _______________________________________________ Freeciv-commits mailing list Freeciv-commits@gna.org https://mail.gna.org/listinfo/freeciv-commits