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