From b82d17056a88a214fde3ab46e89206b46d56de44 Mon Sep 17 00:00:00 2001 From: Marko Lindqvist Date: Sat, 18 Feb 2023 04:03:46 +0200 Subject: [PATCH] Prepare main branch for 3.3 development See osdn #44374 Signed-off-by: Marko Lindqvist --- NEWS | 6 ++++++ data/civ2civ3/README.civ2civ3 | 2 +- doc/BUGS | 2 +- doc/README.packaging | 21 +++++++----------- doc/README.rulesets | 2 ++ doc/README.tilesets | 2 ++ fc_version | 14 ++++++------ meson.build | 2 +- server/rscompat.h | 2 +- server/savegame/savecompat.c | 25 +++++++++++++++++++--- translations/Strings.txt | 2 ++ windows/installer_msys2/Makefile.autotools | 2 +- 12 files changed, 54 insertions(+), 28 deletions(-) diff --git a/NEWS b/NEWS index 9ca59c4f5f..ec498cec6b 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,12 @@ Not all changes are shown here. Those who are interested in seeing the detailed changes should check the ChangeLog file. +MAJOR CHANGES FROM 3.2.x to 3.3.0 +--------------------------------- + +[TODO] + + MAJOR CHANGES FROM 3.1.x to 3.2.0 --------------------------------- diff --git a/data/civ2civ3/README.civ2civ3 b/data/civ2civ3/README.civ2civ3 index a12c1166a7..9205bf7d7d 100644 --- a/data/civ2civ3/README.civ2civ3 +++ b/data/civ2civ3/README.civ2civ3 @@ -1,5 +1,5 @@ ================================= -Civ2Civ3 Ruleset for Freeciv v3.2 +Civ2Civ3 Ruleset for Freeciv v3.3 ================================= diff --git a/doc/BUGS b/doc/BUGS index f3fb960dcc..171b17d402 100644 --- a/doc/BUGS +++ b/doc/BUGS @@ -2,7 +2,7 @@ BUGS ==== -Freeciv 3.2 certainly contains some bugs. Please report all +Freeciv 3.3 certainly contains some bugs. Please report all you find to https://osdn.net/projects/freeciv/ticket/ diff --git a/doc/README.packaging b/doc/README.packaging index a4d61dc5f8..67b07a1ade 100644 --- a/doc/README.packaging +++ b/doc/README.packaging @@ -7,21 +7,16 @@ for their distribution, and, to some degree, those people who want to create Freeciv fork. ---------------------------------------------------------------------- -Updating from 3.1 to 3.2 +Updating from 3.2 to 3.3 ------------------------ -* Client uses ~/.freeciv/freeciv-client-rc-3.2 for storing its options. +* Client uses ~/.freeciv/freeciv-client-rc-3.3 for storing its options. Options are always saved to that file. Loading of options first tries to get options from - ~/.freeciv/freeciv-client-rc-3.2. If that file does not exist it tries to + ~/.freeciv/freeciv-client-rc-3.3. If that file does not exist it tries to load options from old client files generated by former version of Freeciv - (e.g. ~/.freeciv/freeciv-client-rc-3.1 generated by Freeciv 3.1, - ~/.freeciv-client-rc-3.0 generated by Freeciv 3.0, + (e.g. ~/.freeciv/freeciv-client-rc-3.2 generated by Freeciv 3.2, + ~/.freeciv-client-rc-3.1 generated by Freeciv 3.1, or ~/.civclientrc generated by Freeciv version <= 2.1). -* Gtk3-client has been dropped -* Minimum SDL2 requirement for sound support is 2.0.6. -* Minimum Python requirement for code generation scripts is 3.5. -* Threaded AI has been dropped completely -* Meson based build is no longer considered experimental, but a supported one ---------------------------------------------------------------------- Compatibility of modified versions @@ -111,7 +106,7 @@ Generated files This is list of files Freeciv might generate to filesystem when running. You may want to remove some of these when Freeciv is uninstalled. -* Client saves its options to file "~/.freeciv/freeciv-client-rc-3.2" +* Client saves its options to file "~/.freeciv/freeciv-client-rc-3.3" * Server saves its readline history to file "~/.freeciv/freeciv-server_history" * When running local single player games, challenge files with name like "~/.freeciv/challenge_*_*" are generated @@ -120,7 +115,7 @@ You may want to remove some of these when Freeciv is uninstalled. * When saving game in independently launched server, savegames go to directory specified with "-s" command line option, defaulting to working directory -* freeciv-modpack saves data under "~/.freeciv/3.2/" and +* freeciv-modpack saves data under "~/.freeciv/3.3/" and "~/.freeciv/scenarios/" * Server can write log to file specified with "-l" command line option * When mapimage feature is used, it can save colortest images to @@ -183,4 +178,4 @@ can see complete list, while list shown by Freeciv client only lists compatible servers. Any a.b.c release is network compatible with any a.b.d release. If you -provide 3.2.c client, it can be used to play on 3.2.d server. +provide 3.3.c client, it can be used to play on 3.3.d server. diff --git a/doc/README.rulesets b/doc/README.rulesets index a04e26fd32..e3cd164bb9 100644 --- a/doc/README.rulesets +++ b/doc/README.rulesets @@ -163,6 +163,8 @@ different versions of Freeciv is kept in the wiki at https://www.freeciv.org/ The URLs below list the differences between the freeciv versions from 2.2.x to the current version: +https://www.freeciv.org/wiki/How_to_update_a_ruleset_from_3.2_to_3.3 + https://www.freeciv.org/wiki/How_to_update_a_ruleset_from_3.1_to_3.2 https://www.freeciv.org/wiki/How_to_update_a_ruleset_from_3.0_to_3.1 diff --git a/doc/README.tilesets b/doc/README.tilesets index aa956e594a..8a269d42fe 100644 --- a/doc/README.tilesets +++ b/doc/README.tilesets @@ -17,6 +17,8 @@ different versions of Freeciv is kept in the wiki at https://www.freeciv.org/ The URLs below list the differences between the freeciv versions from 1.14.x to the current version: +https://www.freeciv.org/wiki/How_to_update_a_tileset_from_3.2_to_3.3 + https://www.freeciv.org/wiki/How_to_update_a_tileset_from_3.1_to_3.2 https://www.freeciv.org/wiki/How_to_update_a_tileset_from_3.0_to_3.1 diff --git a/fc_version b/fc_version index 2a44d1fc5f..af30b499d9 100755 --- a/fc_version +++ b/fc_version @@ -6,16 +6,16 @@ # Version definition for Freeciv. MAJOR_VERSION="3" -MINOR_VERSION="1" -PATCH_VERSION="92" -EMERGENCY_VERSION="6" +MINOR_VERSION="2" +PATCH_VERSION="90" +EMERGENCY_VERSION="" VERSION_LABEL="-dev" # Type is either "development" or "stable" # Date is relevant only for "stable" releases if test "$VERSION_LABEL" = "" ; then RELEASE_TYPE="stable" - #RELEASE_DATE="2022-11-05" + #RELEASE_DATE="2023-02-24" else RELEASE_TYPE="development" fi @@ -54,14 +54,14 @@ IS_DEVEL_VERSION=1 IS_FREEZE_VERSION=0 IS_BETA_VERSION=0 -NEXT_STABLE_VERSION="3.2.0" +NEXT_STABLE_VERSION="3.3.0" # 0 to disable display of release month until we can make better estimate RELEASE_MONTH=0 -MAIN_VERSION=3.2 +MAIN_VERSION=3.3 DATASUBDIR=dev -DEFAULT_FOLLOW_TAG=S3_2 +DEFAULT_FOLLOW_TAG=S3_3 # Freeciv network capstring: see documentation in common/capstr.c # diff --git a/meson.build b/meson.build index 32f485eecc..d894c88339 100644 --- a/meson.build +++ b/meson.build @@ -71,7 +71,7 @@ priv_conf_data.set('IS_DEVEL_VERSION', 1) priv_conf_data.set('IS_FREEZE_VERSION', 0) priv_conf_data.set('IS_BETA_VERSION', 0) priv_conf_data.set('FREECIV_RELEASE_MONTH', 0) -priv_conf_data.set('NEXT_STABLE_VERSION', '"3.2.0"') +priv_conf_data.set('NEXT_STABLE_VERSION', '"3.3.0"') if host_machine.endian() == 'big' priv_conf_data.set('WORDS_BIGENDIAN', 1) diff --git a/server/rscompat.h b/server/rscompat.h index 9161146f75..456985a462 100644 --- a/server/rscompat.h +++ b/server/rscompat.h @@ -24,7 +24,7 @@ extern "C" { #include "ruleset.h" #include "settings.h" -#define RULESET_COMPAT_CAP "+Freeciv-3.1-ruleset" +#define RULESET_COMPAT_CAP "+Freeciv-3.2-Devel-2022.Feb.02" struct rscompat_info { diff --git a/server/savegame/savecompat.c b/server/savegame/savecompat.c index 344e96e651..2585b9facb 100644 --- a/server/savegame/savecompat.c +++ b/server/savegame/savecompat.c @@ -69,7 +69,8 @@ static char *special_names[] = 2.6.0 | 2.6.0 release | 201./../.. | 30 3.0.0 | 3.0.0 release | 201./../.. | 40 3.1.0 | 3.1.0 release | 201./../.. | 50 - 3.2.0 | 3.2.0 release (development) | 202./../.. | 60 + 3.2.0 | 3.2.0 release | 202./../.. | 60 + 3.3.0 | 3.3.0 release (development) | 202./../.. | 70 | | | */ @@ -79,6 +80,7 @@ static void compat_load_020600(struct loaddata *loading, enum sgf_version format static void compat_load_030000(struct loaddata *loading, enum sgf_version format_class); static void compat_load_030100(struct loaddata *loading, enum sgf_version format_class); static void compat_load_030200(struct loaddata *loading, enum sgf_version format_class); +static void compat_load_030300(struct loaddata *loading, enum sgf_version format_class); static void compat_post_load_030100(struct loaddata *loading, enum sgf_version format_class); @@ -105,8 +107,8 @@ struct compatibility { * add the needed code to load the old version below. Thus, old * savegames can still be loaded while the main definition * represents the current state of the art. */ -/* While developing freeciv 3.2.0, add the compatibility functions to - * - compat_load_030200 to load old savegame. */ +/* While developing freeciv 3.3.0, add the compatibility functions to + * - compat_load_030300 to load old savegame. */ static struct compatibility compat[] = { /* dummy; equal to the current version (last element) */ { 0, NULL, NULL }, @@ -126,6 +128,8 @@ static struct compatibility compat[] = { { 50, compat_load_030100, compat_post_load_030100 }, /* version 51 to 59 are reserved for possible changes in 3.1.x */ { 60, compat_load_030200, NULL }, + /* version 61 to 69 are reserved for possible changes in 3.2.x */ + { 70, compat_load_030300, NULL }, /* Current savefile version is listed above this line; it corresponds to the definitions in this file. */ }; @@ -2289,6 +2293,21 @@ static void compat_load_030200(struct loaddata *loading, } } +/************************************************************************//** + Translate savegame secfile data from 3.2.x to 3.3.0 format. + Note that even after 2.6 savegame has gone through all the compatibility + functions, it's still 2.6 savegame in the sense that savegame2.c, and not + savegame3.c, handles it. +****************************************************************************/ +static void compat_load_030300(struct loaddata *loading, + enum sgf_version format_class) +{ + /* Check status and return if not OK (sg_success != TRUE). */ + sg_check_ret(); + + log_debug("Upgrading data from savegame to version 3.3.0"); +} + /************************************************************************//** Translate savegame secfile data from earlier development version format to current one. diff --git a/translations/Strings.txt b/translations/Strings.txt index 75c658b605..af120ad7d0 100644 --- a/translations/Strings.txt +++ b/translations/Strings.txt @@ -16,9 +16,11 @@ _("?vertag:stable") _("?vertag:windows") _("?vertag:S3_1") _("?vertag:S3_2") +_("?vertag:S3_3") _("?vertag:crosser") _("?vertag:windows-S3_1") _("?vertag:windows-S3_2") +_("?vertag:windows-S3_3") Generated version header diff --git a/windows/installer_msys2/Makefile.autotools b/windows/installer_msys2/Makefile.autotools index c635d86353..bf6e69e768 100644 --- a/windows/installer_msys2/Makefile.autotools +++ b/windows/installer_msys2/Makefile.autotools @@ -134,7 +134,7 @@ configure-freeciv-common: # create build directory mkdir -p build-$(WINARCH)-$(GUI) # configure - cd build-$(WINARCH)-$(GUI); ../../../configure FREECIV_LABEL_FORCE="-msys2" CPPFLAGS="-D_WIN32_WINNT=$(MIN_WIN_VER)" --enable-client=$(CLIENT) --with-followtag="windows-S3_2" --with-tinycthread --without-readline --disable-sys-lua --enable-fcdb=sqlite3 --with-sqlite3-prefix=/$(ARCHDIR) --enable-fcmp=$(FCMP) --with-cacert-path="./ssl/certs/ca-bundle.crt" $(EXTRA_CONFIG) + cd build-$(WINARCH)-$(GUI); ../../../configure FREECIV_LABEL_FORCE="-msys2" CPPFLAGS="-D_WIN32_WINNT=$(MIN_WIN_VER)" --enable-client=$(CLIENT) --with-followtag="windows-S3_3" --with-tinycthread --without-readline --disable-sys-lua --enable-fcdb=sqlite3 --with-sqlite3-prefix=/$(ARCHDIR) --enable-fcmp=$(FCMP) --with-cacert-path="./ssl/certs/ca-bundle.crt" $(EXTRA_CONFIG) configure-freeciv-ruledit-qt5: # create build directory -- 2.39.1