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