From ba6a2fa9fcc55d68affcc371860f145706029543 Mon Sep 17 00:00:00 2001
From: Marko Lindqvist <cazfi74@gmail.com>
Date: Sun, 24 Mar 2024 21:21:19 +0200
Subject: [PATCH 49/49] Increase max number of techs to 400

See RM #355

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
---
 common/fc_types.h                | 2 +-
 common/networking/packets.def    | 2 +-
 data/alien/techs.ruleset         | 2 +-
 data/civ1/techs.ruleset          | 2 +-
 data/civ2/techs.ruleset          | 2 +-
 data/civ2civ3/techs.ruleset      | 2 +-
 data/classic/techs.ruleset       | 2 +-
 data/goldkeep/techs.ruleset      | 2 +-
 data/granularity/techs.ruleset   | 2 +-
 data/multiplayer/techs.ruleset   | 2 +-
 data/ruledit/comments-3.3.txt    | 2 +-
 data/sandbox/techs.ruleset       | 2 +-
 data/stub/techs.ruleset          | 2 +-
 data/webperimental/techs.ruleset | 2 +-
 14 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/common/fc_types.h b/common/fc_types.h
index 9f65866c35..5c7be0a593 100644
--- a/common/fc_types.h
+++ b/common/fc_types.h
@@ -38,7 +38,7 @@ extern "C" {
 #define MAX_NUM_CONNECTIONS (2 * (MAX_NUM_PLAYER_SLOTS))
 /* e.g. unit_types. Used in the network protocol. */
 #define MAX_NUM_ITEMS   200
-#define MAX_NUM_ADVANCES  250 /* Used in the network protocol. */
+#define MAX_NUM_ADVANCES  400 /* Used in the network protocol. */
 #define MAX_NUM_UNITS     250 /* Used in the network protocol. */
 #define MAX_NUM_BUILDINGS 200 /* Used in the network protocol. */
 #define MAX_NUM_TECH_LIST 10 /* Used in the network protocol. */
diff --git a/common/networking/packets.def b/common/networking/packets.def
index deb298e35a..49a629f833 100644
--- a/common/networking/packets.def
+++ b/common/networking/packets.def
@@ -318,7 +318,7 @@ type RESEARCH           = UINT8
 type RESOURCE           = uint8(Resource_type_id)
 type SPECIALIST         = uint8(Specialist_type_id)
 type TEAM               = PLAYER
-type TECH               = UINT8
+type TECH               = UINT16
 type TERRAIN            = uint8(Terrain_type_id)
 type TILE               = SINT32
 type UNIT               = UINT32
diff --git a/data/alien/techs.ruleset b/data/alien/techs.ruleset
index c929b9f705..0acf003468 100644
--- a/data/alien/techs.ruleset
+++ b/data/alien/techs.ruleset
@@ -51,7 +51,7 @@ format_version = 40
 ; /* <-- avoid gettext warnings
 ;
 ; Below: The individual advances, one per section.
-; The number can be variable, up to 250.
+; The number can be variable, up to 400.
 ;
 ; The actual tag used (the * in [advance_*]) does not matter, except
 ; it must be unique within this file, and it may be used in debug
diff --git a/data/civ1/techs.ruleset b/data/civ1/techs.ruleset
index 97225d7a61..1a60432b87 100644
--- a/data/civ1/techs.ruleset
+++ b/data/civ1/techs.ruleset
@@ -47,7 +47,7 @@ format_version = 40
 ; /* <-- avoid gettext warnings
 ;
 ; Below: The individual advances, one per section.
-; The number can be variable, up to 250.
+; The number can be variable, up to 400.
 ;
 ; The actual tag used (the * in [advance_*]) does not matter, except
 ; it must be unique within this file, and it may be used in debug
diff --git a/data/civ2/techs.ruleset b/data/civ2/techs.ruleset
index 57d0e1a118..0a107a40e8 100644
--- a/data/civ2/techs.ruleset
+++ b/data/civ2/techs.ruleset
@@ -47,7 +47,7 @@ format_version = 40
 ; /* <-- avoid gettext warnings
 ;
 ; Below: The individual advances, one per section.
-; The number can be variable, up to 250.
+; The number can be variable, up to 400.
 ;
 ; The actual tag used (the * in [advance_*]) does not matter, except
 ; it must be unique within this file, and it may be used in debug
diff --git a/data/civ2civ3/techs.ruleset b/data/civ2civ3/techs.ruleset
index 88376f4338..935e5642a8 100644
--- a/data/civ2civ3/techs.ruleset
+++ b/data/civ2civ3/techs.ruleset
@@ -47,7 +47,7 @@ format_version = 40
 ; /* <-- avoid gettext warnings
 ;
 ; Below: The individual advances, one per section.
-; The number can be variable, up to 250.
+; The number can be variable, up to 400.
 ;
 ; The actual tag used (the * in [advance_*]) does not matter, except
 ; it must be unique within this file, and it may be used in debug
diff --git a/data/classic/techs.ruleset b/data/classic/techs.ruleset
index 6c1eb59ccb..130a58e55d 100644
--- a/data/classic/techs.ruleset
+++ b/data/classic/techs.ruleset
@@ -47,7 +47,7 @@ format_version = 40
 ; /* <-- avoid gettext warnings
 ;
 ; Below: The individual advances, one per section.
-; The number can be variable, up to 250.
+; The number can be variable, up to 400.
 ;
 ; The actual tag used (the * in [advance_*]) does not matter, except
 ; it must be unique within this file, and it may be used in debug
diff --git a/data/goldkeep/techs.ruleset b/data/goldkeep/techs.ruleset
index 20cd32adba..8b27939e54 100644
--- a/data/goldkeep/techs.ruleset
+++ b/data/goldkeep/techs.ruleset
@@ -49,7 +49,7 @@ format_version = 40
 ; /* <-- avoid gettext warnings
 ;
 ; Below: The individual advances, one per section.
-; The number can be variable, up to 250.
+; The number can be variable, up to 400.
 ;
 ; The actual tag used (the * in [advance_*]) does not matter, except
 ; it must be unique within this file, and it may be used in debug
diff --git a/data/granularity/techs.ruleset b/data/granularity/techs.ruleset
index 062b5470f6..d71e7cfd20 100644
--- a/data/granularity/techs.ruleset
+++ b/data/granularity/techs.ruleset
@@ -47,7 +47,7 @@ format_version = 40
 ; /* <-- avoid gettext warnings
 ;
 ; Below: The individual advances, one per section.
-; The number can be variable, up to 250.
+; The number can be variable, up to 400.
 ;
 ; The actual tag used (the * in [advance_*]) does not matter, except
 ; it must be unique within this file, and it may be used in debug
diff --git a/data/multiplayer/techs.ruleset b/data/multiplayer/techs.ruleset
index 5689e1d6f9..52061025ed 100644
--- a/data/multiplayer/techs.ruleset
+++ b/data/multiplayer/techs.ruleset
@@ -47,7 +47,7 @@ format_version = 40
 ; /* <-- avoid gettext warnings
 ;
 ; Below: The individual advances, one per section.
-; The number can be variable, up to 250.
+; The number can be variable, up to 400.
 ;
 ; The actual tag used (the * in [advance_*]) does not matter, except
 ; it must be unique within this file, and it may be used in debug
diff --git a/data/ruledit/comments-3.3.txt b/data/ruledit/comments-3.3.txt
index 3588c1cde1..562fd2cd89 100644
--- a/data/ruledit/comments-3.3.txt
+++ b/data/ruledit/comments-3.3.txt
@@ -100,7 +100,7 @@ techs = "\
 ; /* <-- avoid gettext warnings\n\
 ;\n\
 ; Below: The individual advances, one per section.\n\
-; The number can be variable, up to 250.\n\
+; The number can be variable, up to 400.\n\
 ;\n\
 ; The actual tag used (the * in [advance_*]) does not matter, except\n\
 ; it must be unique within this file, and it may be used in debug\n\
diff --git a/data/sandbox/techs.ruleset b/data/sandbox/techs.ruleset
index 0e2fdc452e..b8d60d927d 100644
--- a/data/sandbox/techs.ruleset
+++ b/data/sandbox/techs.ruleset
@@ -47,7 +47,7 @@ format_version = 40
 ; /* <-- avoid gettext warnings
 ;
 ; Below: The individual advances, one per section.
-; The number can be variable, up to 250.
+; The number can be variable, up to 400.
 ;
 ; The actual tag used (the * in [advance_*]) does not matter, except
 ; it must be unique within this file, and it may be used in debug
diff --git a/data/stub/techs.ruleset b/data/stub/techs.ruleset
index ebce214395..fa6c329311 100644
--- a/data/stub/techs.ruleset
+++ b/data/stub/techs.ruleset
@@ -41,7 +41,7 @@ format_version = 40
 ; /* <-- avoid gettext warnings
 ;
 ; Below: The individual advances, one per section.
-; The number can be variable, up to 250.
+; The number can be variable, up to 400.
 ;
 ; The actual tag used (the * in [advance_*]) does not matter, except
 ; it must be unique within this file, and it may be used in debug
diff --git a/data/webperimental/techs.ruleset b/data/webperimental/techs.ruleset
index 9e9328e329..b4d1e4918d 100644
--- a/data/webperimental/techs.ruleset
+++ b/data/webperimental/techs.ruleset
@@ -47,7 +47,7 @@ format_version = 40
 ; /* <-- avoid gettext warnings
 ;
 ; Below: The individual advances, one per section.
-; The number can be variable, up to 250.
+; The number can be variable, up to 400.
 ;
 ; The actual tag used (the * in [advance_*]) does not matter, except
 ; it must be unique within this file, and it may be used in debug
-- 
2.43.0

