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();