author | peter1138 |
Sun, 03 Aug 2008 17:35:08 +0000 | |
changeset 9834 | 7474149531c1 |
parent 9457 | 75f11a6caef8 |
permissions | -rw-r--r-- |
7780
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
1 |
/* $Id$ */ |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
2 |
|
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
3 |
/** @file rev.cpp Autogenerated file with the revision and such of OpenTTD. */ |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
4 |
|
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
5 |
#include "stdafx.h" |
9085
8b3897a75aed
(svn r12944) -Codechange: use rev.h instead of externs at many places
smatz
parents:
8721
diff
changeset
|
6 |
#include "rev.h" |
7780
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
7 |
|
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
8 |
/** |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
9 |
* The text version of OpenTTD's revision. |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
10 |
* This will be either "<major>.<minor>.<build>[-RC<rc>]", |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
11 |
* "r<revision number>[M][-<branch>]" or "norev000". |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
12 |
* |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
13 |
* The major, minor and build are the numbers that describe releases of |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
14 |
* OpenTTD (like 0.5.3). "-RC" is used to flag release candidates. |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
15 |
* |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
16 |
* The revision number is fairly straight forward. The M is to show that |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
17 |
* the binary is made from modified source code. The branch shows the |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
18 |
* branch the revision is of and will not be there when it is trunk. |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
19 |
* |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
20 |
* norev000 is for non-releases that are made on systems without |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
21 |
* subversion or sources that are not a checkout of subversion. |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
22 |
*/ |
9085
8b3897a75aed
(svn r12944) -Codechange: use rev.h instead of externs at many places
smatz
parents:
8721
diff
changeset
|
23 |
const char _openttd_revision[] = "@@VERSION@@"; |
7780
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
24 |
|
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
25 |
/** |
9457
75f11a6caef8
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents:
9118
diff
changeset
|
26 |
* Let us know if current build was modified. This detection |
75f11a6caef8
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents:
9118
diff
changeset
|
27 |
* works even in the case when revision string is overriden by |
75f11a6caef8
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents:
9118
diff
changeset
|
28 |
* --revision argument. |
75f11a6caef8
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents:
9118
diff
changeset
|
29 |
* Value 0 means no modification, 1 is for unknown state |
75f11a6caef8
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents:
9118
diff
changeset
|
30 |
* (compiling from sources without any version control software) |
75f11a6caef8
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents:
9118
diff
changeset
|
31 |
* and 2 is for modified revision. |
75f11a6caef8
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents:
9118
diff
changeset
|
32 |
*/ |
75f11a6caef8
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents:
9118
diff
changeset
|
33 |
const byte _openttd_revision_modified = @@MODIFIED@@; |
75f11a6caef8
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents:
9118
diff
changeset
|
34 |
|
75f11a6caef8
(svn r13375) -Add: logging of actions that could possibly cause desyncs and crashes to simplify debugging. See readme.txt for details
smatz
parents:
9118
diff
changeset
|
35 |
/** |
7780
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
36 |
* The NewGRF revision of OTTD: |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
37 |
* bits meaning. |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
38 |
* 28-31 major version |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
39 |
* 24-27 minor version |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
40 |
* 20-23 build |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
41 |
* 19 1 if it is a release, 0 if it is not. |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
42 |
* 0-18 revision number; 0 for releases and when the revision is unknown. |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
43 |
* |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
44 |
* The 19th bit is there so the development/betas/alpha, etc. leading to a |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
45 |
* final release will always have a lower version number than the released |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
46 |
* version, thus making comparisions on specific revisions easy. |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
47 |
*/ |
9085
8b3897a75aed
(svn r12944) -Codechange: use rev.h instead of externs at many places
smatz
parents:
8721
diff
changeset
|
48 |
const uint32 _openttd_newgrf_version = 0 << 28 | 7 << 24 | 0 << 20 | 0 << 19 | (@@REVISION@@ & ((1 << 19) - 1)); |
7780
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
49 |
|
7564
fa54ab680589
(svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff
changeset
|
50 |
#ifdef __MORPHOS__ |
7780
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
51 |
/** |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
52 |
* Variable used by MorphOS to show the version. |
12ef69de4e60
(svn r11330) -Add: OTTD version checking for NewGRFs. This allows NewGRFs to do something different for different versions of OpenTTD, like disabling it for too low versions or loading different graphics.
rubidium
parents:
7564
diff
changeset
|
53 |
*/ |
9118
e20b160ad3b2
(svn r12978) -Codechange: "\\0" is not needed for the MorphOS revision string. Patch by tokai.
rubidium
parents:
9085
diff
changeset
|
54 |
extern const char morphos_versions_tag[] = "$VER: OpenTTD @@VERSION@@ (@@DATE@@) OpenTTD Team [MorphOS, PowerPC]"; |
7564
fa54ab680589
(svn r11089) -Codechange: add revision detection to MSVC.
rubidium
parents:
diff
changeset
|
55 |
#endif |