diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,7 +5,7 @@ if(NOT BINARY_NAME)
endif()
project(${BINARY_NAME}
- VERSION 1.12.0
+ VERSION 12.0
)
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
@@ -76,7 +76,6 @@ add_custom_target(find_version
-DCPACK_BINARY_DIR=${CMAKE_BINARY_DIR}
-DREV_MAJOR=${PROJECT_VERSION_MAJOR}
-DREV_MINOR=${PROJECT_VERSION_MINOR}
- -DREV_BUILD=${PROJECT_VERSION_PATCH}
-DWINDOWS=${WIN32}
-P "${CMAKE_SOURCE_DIR}/cmake/scripts/FindVersion.cmake"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
diff --git a/bin/ai/CMakeLists.txt b/bin/ai/CMakeLists.txt
--- a/bin/ai/CMakeLists.txt
+++ b/bin/ai/CMakeLists.txt
@@ -12,7 +12,7 @@ set(AI_COMPAT_SOURCE_FILES
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.9.nut
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.10.nut
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.11.nut
- ${CMAKE_CURRENT_SOURCE_DIR}/compat_1.12.nut
+ ${CMAKE_CURRENT_SOURCE_DIR}/compat_12.nut
)
foreach(AI_COMPAT_SOURCE_FILE IN LISTS AI_COMPAT_SOURCE_FILES)
diff --git a/bin/ai/compat_1.12.nut b/bin/ai/compat_1.12.nut
deleted file mode 100644
--- a/bin/ai/compat_1.12.nut
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- * This file is part of OpenTTD.
- * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
- * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see .
- */
diff --git a/bin/ai/compat_12.nut b/bin/ai/compat_12.nut
new file mode 100644
--- /dev/null
+++ b/bin/ai/compat_12.nut
@@ -0,0 +1,6 @@
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see .
+ */
diff --git a/bin/game/CMakeLists.txt b/bin/game/CMakeLists.txt
--- a/bin/game/CMakeLists.txt
+++ b/bin/game/CMakeLists.txt
@@ -9,7 +9,7 @@ set(GS_COMPAT_SOURCE_FILES
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.9.nut
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.10.nut
${CMAKE_CURRENT_SOURCE_DIR}/compat_1.11.nut
- ${CMAKE_CURRENT_SOURCE_DIR}/compat_1.12.nut
+ ${CMAKE_CURRENT_SOURCE_DIR}/compat_12.nut
)
foreach(GS_COMPAT_SOURCE_FILE IN LISTS GS_COMPAT_SOURCE_FILES)
diff --git a/bin/game/compat_1.12.nut b/bin/game/compat_1.12.nut
deleted file mode 100644
--- a/bin/game/compat_1.12.nut
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- * This file is part of OpenTTD.
- * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
- * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see .
- */
diff --git a/bin/game/compat_12.nut b/bin/game/compat_12.nut
new file mode 100644
--- /dev/null
+++ b/bin/game/compat_12.nut
@@ -0,0 +1,6 @@
+/*
+ * This file is part of OpenTTD.
+ * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+ * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see .
+ */
diff --git a/cmake/scripts/FindVersion.cmake b/cmake/scripts/FindVersion.cmake
--- a/cmake/scripts/FindVersion.cmake
+++ b/cmake/scripts/FindVersion.cmake
@@ -6,9 +6,6 @@ endif()
if(NOT REV_MINOR)
set(REV_MINOR 0)
endif()
-if(NOT REV_BUILD)
- set(REV_BUILD 0)
-endif()
#
# Finds the current version of the current folder.
diff --git a/known-bugs.txt b/known-bugs.txt
--- a/known-bugs.txt
+++ b/known-bugs.txt
@@ -1,6 +1,4 @@
OpenTTD's known bugs
-Last updated: 2021-04-01
-Release version: 1.11.0
------------------------------------------------------------------------
diff --git a/regression/regression/info.nut b/regression/regression/info.nut
--- a/regression/regression/info.nut
+++ b/regression/regression/info.nut
@@ -4,7 +4,7 @@ class Regression extends AIInfo {
function GetShortName() { return "REGR"; }
function GetDescription() { return "This runs regression-tests on some commands. On the same map the result should always be the same."; }
function GetVersion() { return 1; }
- function GetAPIVersion() { return "1.12"; }
+ function GetAPIVersion() { return "12"; }
function GetDate() { return "2007-03-18"; }
function CreateInstance() { return "Regression"; }
function UseAsRandomAI() { return false; }
diff --git a/regression/stationlist/info.nut b/regression/stationlist/info.nut
--- a/regression/stationlist/info.nut
+++ b/regression/stationlist/info.nut
@@ -4,7 +4,7 @@ class StationList extends AIInfo {
function GetShortName() { return "REGS"; }
function GetDescription() { return "This runs stationlist-tests on some commands. On the same map the result should always be the same."; }
function GetVersion() { return 1; }
- function GetAPIVersion() { return "1.12"; }
+ function GetAPIVersion() { return "12"; }
function GetDate() { return "2007-03-18"; }
function CreateInstance() { return "StationList"; }
function UseAsRandomAI() { return false; }
diff --git a/src/ai/ai_info.cpp b/src/ai/ai_info.cpp
--- a/src/ai/ai_info.cpp
+++ b/src/ai/ai_info.cpp
@@ -25,7 +25,7 @@
*/
static bool CheckAPIVersion(const char *api_version)
{
- static const std::set versions = { "0.7", "1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "1.10", "1.11", "1.12" };
+ static const std::set versions = { "0.7", "1.0", "1.1", "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "1.10", "1.11", "12" };
return versions.find(api_version) != versions.end();
}
diff --git a/src/game/game_info.cpp b/src/game/game_info.cpp
--- a/src/game/game_info.cpp
+++ b/src/game/game_info.cpp
@@ -23,7 +23,7 @@
*/
static bool CheckAPIVersion(const char *api_version)
{
- static const std::set versions = { "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "1.10", "1.11", "1.12" };
+ static const std::set versions = { "1.2", "1.3", "1.4", "1.5", "1.6", "1.7", "1.8", "1.9", "1.10", "1.11", "12" };
return versions.find(api_version) != versions.end();
}
diff --git a/src/os/windows/ottdres.rc.in b/src/os/windows/ottdres.rc.in
--- a/src/os/windows/ottdres.rc.in
+++ b/src/os/windows/ottdres.rc.in
@@ -77,8 +77,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
- FILEVERSION ${REV_MAJOR},${REV_MINOR},${REV_BUILD},${REV_ISODATE}
- PRODUCTVERSION ${REV_MAJOR},${REV_MINOR},${REV_BUILD},${REV_ISODATE}
+ FILEVERSION ${REV_MAJOR},${REV_MINOR},0,${REV_ISODATE}
+ PRODUCTVERSION ${REV_MAJOR},${REV_MINOR},0,${REV_ISODATE}
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
diff --git a/src/rev.cpp.in b/src/rev.cpp.in
--- a/src/rev.cpp.in
+++ b/src/rev.cpp.in
@@ -75,14 +75,17 @@ const byte _openttd_revision_tagged = ${
/**
* The NewGRF revision of OTTD:
* bits meaning.
- * 28-31 major version
- * 24-27 minor version
- * 20-23 build
+ * 24-31 major version + 16
+ * 20-23 minor version
* 19 1 if it is a release, 0 if it is not.
* 0-18 used to be the SVN revision, now just last revision before switch to git
*
* The 19th bit is there so the development/betas/alpha, etc. leading to a
* final release will always have a lower version number than the released
* version, thus making comparisons on specific revisions easy.
+ *
+ * The + 16 for the major version is because we went from 1.11.0 to 12.0, dropping
+ * the "patch" part of the version. To make sure "1.11.0" is smaller than "12.0", we
+ * have to adjust the major by 16.
*/
-const uint32 _openttd_newgrf_version = ${REV_MAJOR} << 28 | ${REV_MINOR} << 24 | ${REV_BUILD} << 20 | ${REV_ISSTABLETAG} << 19 | 28004;
+const uint32 _openttd_newgrf_version = (${REV_MAJOR} + 16) << 24 | ${REV_MINOR} << 20 | ${REV_ISSTABLETAG} << 19 | 28004;
diff --git a/src/script/api/ai_changelog.hpp b/src/script/api/ai_changelog.hpp
--- a/src/script/api/ai_changelog.hpp
+++ b/src/script/api/ai_changelog.hpp
@@ -13,7 +13,7 @@
* functions may still be available if you return an older API version
* in GetAPIVersion() in info.nut.
*
- * \b 1.12.0
+ * \b 12.0
*
* This version is not yet released. The following changes are not set in stone yet.
*
diff --git a/src/script/api/game_changelog.hpp b/src/script/api/game_changelog.hpp
--- a/src/script/api/game_changelog.hpp
+++ b/src/script/api/game_changelog.hpp
@@ -13,7 +13,7 @@
* functions may still be available if you return an older API version
* in GetAPIVersion() in info.nut.
*
- * \b 1.12.0
+ * \b 12.0
*
* This version is not yet released. The following changes are not set in stone yet.
*
diff --git a/src/script/api/script_controller.hpp b/src/script/api/script_controller.hpp
--- a/src/script/api/script_controller.hpp
+++ b/src/script/api/script_controller.hpp
@@ -135,11 +135,20 @@ public:
/**
* Get the OpenTTD version of this executable. The version is formatted
* with the bits having the following meaning:
- * 28-31 major version
- * 24-27 minor version
- * 20-23 build
+ * 24-31 major version + 16.
+ * 20-23 minor version.
* 19 1 if it is a release, 0 if it is not.
* 0-18 revision number; 0 when the revision is unknown.
+ * You have to subtract 16 from the major version to get the correct
+ * value.
+ *
+ * Prior to OpenTTD 12, the bits have the following meaning:
+ * 28-31 major version.
+ * 24-27 minor version.
+ * 20-23 build.
+ * 19 1 if it is a release, 0 if it is not.
+ * 0-18 revision number; 0 when the revision is unknown.
+ *
* @return The version in newgrf format.
*/
static uint GetVersion();