]> icculus.org git repositories - taylor/freespace2.git/blob - include/version.h
add version number for linux/unix client
[taylor/freespace2.git] / include / version.h
1 /*
2  * Copyright (C) Volition, Inc. 1999.  All rights reserved.
3  *
4  * All source code herein is the property of Volition, Inc. You may not sell 
5  * or otherwise commercially exploit the source or things you created based on
6  * the source.
7  */
8
9 /*
10  * $Logfile: /Freespace2/code/GlobalIncs/version.h $
11  * $Revision$
12  * $Date$
13  * $Author$
14  *
15  *
16  * $Log$
17  * Revision 1.3  2003/05/06 07:21:43  taylor
18  * add version number for linux/unix client
19  *
20  * Revision 1.2  2002/06/09 04:41:15  relnev
21  * added copyright header
22  *
23  * Revision 1.1.1.1  2002/05/03 03:28:12  root
24  * Initial import.
25  *
26  * 
27  * 23    11/03/99 11:07a Jefff
28  * version num -> 1.2
29  * 
30  * 22    10/27/99 3:05p Jefff
31  * upped version to 1.1 for german
32  * 
33  * 21    10/25/99 5:40p Jefff
34  * bump version to 1.02 for German version
35  * 
36  * 20    10/06/99 10:24a Jefff
37  * upped OEM version to 1.0
38  * 
39  * 19    10/01/99 9:10a Daveb
40  * V 1.1 PATCH
41  * 
42  * 18    9/14/99 7:34a Dave
43  * 
44  * 17    9/13/99 12:00a Dave
45  * Bumped to 0.07
46  * 
47  * 16    9/11/99 11:01p Dave
48  * Upped to 0.06
49  * 
50  * 15    9/10/99 9:44p Dave
51  * Bumped version # up. Make server reliable connects not have such a huge
52  * timeout. 
53  * 
54  * 14    8/16/99 4:04p Dave
55  * Big honking checkin.
56  * 
57  * 13    8/09/99 2:21p Andsager
58  * Fix patching from multiplayer direct to launcher update tab.
59  * 
60  * 12    8/09/99 10:36a Dave
61  * Version info for game.
62  * 
63  * 11    8/06/99 4:37p Andsager
64  * demo patch to 1.10
65  * 
66  * 10    8/06/99 4:35p Andsager
67  * test patching - up demo version to 1.01
68  * 
69  * 9     8/06/99 10:33a Andsager
70  * Demo release canditate version number.
71  * 
72  * 8     8/06/99 12:33a Andsager
73  * up demo to 1.2
74  * 
75  * 7     8/05/99 5:31p Andsager
76  * Up demo version 1.01
77  * 
78  * 6     7/30/99 11:59a Andsager
79  * 
80  * 5     7/28/99 2:51p Andsager
81  * Update demo build to 1.0.0
82  * 
83  * 4     7/27/99 8:59a Andsager
84  * Make major, minor version consistent for all builds.  Only show major
85  * and minor for launcher update window.
86  * 
87  * 3     7/15/99 9:20a Andsager
88  * FS2_DEMO initial checkin
89  * 
90  * 2     5/19/99 4:07p Dave
91  * Moved versioning code into a nice isolated common place. Fixed up
92  * updating code on the pxo screen. Fixed several stub problems.
93  * 
94  * 1     5/18/99 4:28p Dave
95  * 
96  * $NoKeywords: $
97  */
98
99 #ifndef __FS2_VERSIONING_HEADER_FILE
100 #define __FS2_VERSIONING_HEADER_FILE
101
102 // ----------------------------------------------------------------------------------------------------------------
103 // VERSION DEFINES/VARS
104 //
105
106 // keep this defined to build a standalone only executable
107 // STANDALONE_ONLY
108 // #define STANDALONE_ONLY_BUILD
109 // #define STANDALONE_ONLY_RELEASE_VERSION              0
110
111 // Here are the version defines.  
112 //      Gets displayed as MAJOR.MINOR, or 1.21 if MAJOR = 1, MINOR = 21.
113 //      Prior to release, MAJOR should be zero.  After release, it should be 1.  Probably never increase to 2 as that could
114 //      cause confusion with a sequel.
115 //      MINOR should increase by 1 for each minor upgrade and by 10 for major upgrades.
116 //      With each rev we send, we should increase MINOR.
117 // Version history (full version):
118 //              1.0     Initial US/UK release
119 //              1.01    Patch for Win95 volume label bug
120 //              1.20    German release version
121
122 #if defined (FS2_DEMO)
123         #define FS_VERSION_MAJOR 01                                     // Major is 0 for pre-release and 1 for 1.0 release
124         #define FS_VERSION_MINOR 10                                     // Increase by 1 for minor revs, 10 for major.
125         #define FS_VERSION_BUILD 00                                     // Build version 
126 #elif defined(OEM_BUILD)
127         #define FS_VERSION_MAJOR 01                                     // Major is 0 for pre-release and 1 for 1.0 release
128         #define FS_VERSION_MINOR 00                                     // Increase by 1 for minor revs, 10 for major.
129         #define FS_VERSION_BUILD 00                                     // Build version 
130 #else
131         #define FS_VERSION_MAJOR 01                                     // Major is 0 for pre-release and 1 for 1.0 release
132         #define FS_VERSION_MINOR 20                                     // Increase by 1 for minor revs, 10 for major.
133         #define FS_VERSION_BUILD 00                                     // Build version 
134 #endif
135
136 #ifdef PLAT_UNIX
137         #define FS_UNIX_VERSION_MAJOR 00
138         #define FS_UNIX_VERSION_MINOR 92
139 #endif
140
141 #define VERSION_LOC_FNAME                       "version.nfo"
142 #define MOTD_LOC_FNAME                          "motd.txt"
143
144 #ifdef MULTIPLAYER_BETA_BUILD
145         #define MOTD_URL                                                "http://www.pxo.net/files/fs2beta/motd.txt"
146         #define VERSION_URL                                     "http://www.pxo.net/files/fs2beta/version.nfo"
147 #elif defined(FS2_DEMO)
148         #define MOTD_URL                                                "http://www.pxo.net/files/fs2demo/motd.txt"
149         #define VERSION_URL                                     "http://www.pxo.net/files/fs2demo/version.nfo"
150 #else
151         #define MOTD_URL                                                "http://www.pxo.net/files/fs2/motd.txt"
152         #define VERSION_URL                                     "http://www.pxo.net/files/fs2/version.nfo"
153 #endif
154
155 #define VERSION_FILE_COMMENT_CHAR ';'
156 #define NO_VERSION_IN_REGISTRY          -2
157
158 // ----------------------------------------------------------------------------------------------------------------
159 // VERSION FUNCTIONS
160 //
161
162 // compare version against the passed version file
163 // returns -1 on error 
164 // 0 if we are an earlier version
165 // 1 if same version
166 // 2 if higher version
167 // fills in user version and latest version values if non-NULL
168 int version_compare(char *filename, int *u_major, int *u_minor, int *u_build, int *l_major, int *l_minor, int *l_build);
169
170 #endif
171