Files @ r26728:d50c0d7b11c7
Branch filter:

Location: cpp/openttd-patchpack/source/src/rev.cpp.in

Rubidium
Fix: virtual call from constructor

That fills an instance variable that is only read from the Game Options window
and that is overwritten when the video driver is started. Since you cannot get
into the Game Options window without starting the video driver, it is just
pointless and wrong code that would never be noticed by the end user.
/*
 * 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 <http://www.gnu.org/licenses/>.
 */

/** @file rev.cpp Autogenerated file with the revision and such of OpenTTD. */

#include "stdafx.h"
#include "core/bitmath_func.hpp"
#include "rev.h"

#include "safeguards.h"

/**
 * Is this version of OpenTTD a release version?
 * @return True if it is a release version.
 */
bool IsReleasedVersion()
{
	return HasBit(_openttd_newgrf_version, 19);
}

/**
 * The text version of OpenTTD's revision.
 * This will be either
 * - "<tag>", like "<major>.<minor>.<build>[-RC<rc>]",
 * - "<commitdate>-g<shorthash><modified>" in "master",
 * - "<commitdate>-<branch>-g<shorthash><modified>" in other branches, or
 * - "norev000", if the version is unknown.
 *
 * The major, minor and build are the numbers that describe releases of
 * OpenTTD (like 0.5.3). "-RC" is used to flag release candidates.
 *
 * <modified> shows a "M", if the binary is made from modified source code.
 */
const char _openttd_revision[] = "${REV_VERSION}";

/**
 * The text version of OpenTTD's build date.
 * Updating the build date in this file is the safest as it generally gets
 * updated for each revision in contrary to most other files that only see
 * updates when they are actually changed themselves.
 */
const char _openttd_build_date[] = __DATE__ " " __TIME__;

/**
 * The git revision hash of this version.
 */
const char _openttd_revision_hash[] = "${REV_HASH}";

/**
 * The year of this version.
 */
const char _openttd_revision_year[] = "${REV_YEAR}";

/**
 * Let us know if current build was modified. This detection
 * works even in the case when revision string is overridden by
 * --revision argument.
 * Value 0 means no modification, 1 is for unknown state
 * (compiling from sources without any version control software)
 * and 2 is for modified revision.
 */
const byte _openttd_revision_modified = ${REV_MODIFIED};

/**
 * Indicate whether this is a tagged version.
 * If this is non-0, then _openttd_revision is the name of the tag,
 * and the version is likely a beta, release candidate, or real release.
 */
const byte _openttd_revision_tagged = ${REV_ISTAG};

/**
 * To check compatibility of BaNaNaS content, this version string is used.
 * It should never contain things like "beta", but only the release version
 * we are compatible with.
 */
const char _openttd_content_version[] = "${REV_MAJOR}.${REV_MINOR}";

/**
 * The NewGRF revision of OTTD:
 * bits  meaning.
 * 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} + 16) << 24 | ${REV_MINOR} << 20 | ${REV_ISSTABLETAG} << 19 | 28004;