2 * Copyright (C) Volition, Inc. 1999. All rights reserved.
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
10 * $Logfile: /Freespace2/code/GlobalIncs/version.h $
17 * Revision 1.4 2003/05/25 02:30:42 taylor
20 * Revision 1.3 2003/05/06 07:21:43 taylor
21 * add version number for linux/unix client
23 * Revision 1.2 2002/06/09 04:41:15 relnev
24 * added copyright header
26 * Revision 1.1.1.1 2002/05/03 03:28:12 root
30 * 23 11/03/99 11:07a Jefff
33 * 22 10/27/99 3:05p Jefff
34 * upped version to 1.1 for german
36 * 21 10/25/99 5:40p Jefff
37 * bump version to 1.02 for German version
39 * 20 10/06/99 10:24a Jefff
40 * upped OEM version to 1.0
42 * 19 10/01/99 9:10a Daveb
45 * 18 9/14/99 7:34a Dave
47 * 17 9/13/99 12:00a Dave
50 * 16 9/11/99 11:01p Dave
53 * 15 9/10/99 9:44p Dave
54 * Bumped version # up. Make server reliable connects not have such a huge
57 * 14 8/16/99 4:04p Dave
58 * Big honking checkin.
60 * 13 8/09/99 2:21p Andsager
61 * Fix patching from multiplayer direct to launcher update tab.
63 * 12 8/09/99 10:36a Dave
64 * Version info for game.
66 * 11 8/06/99 4:37p Andsager
69 * 10 8/06/99 4:35p Andsager
70 * test patching - up demo version to 1.01
72 * 9 8/06/99 10:33a Andsager
73 * Demo release canditate version number.
75 * 8 8/06/99 12:33a Andsager
78 * 7 8/05/99 5:31p Andsager
79 * Up demo version 1.01
81 * 6 7/30/99 11:59a Andsager
83 * 5 7/28/99 2:51p Andsager
84 * Update demo build to 1.0.0
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.
90 * 3 7/15/99 9:20a Andsager
91 * FS2_DEMO initial checkin
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.
97 * 1 5/18/99 4:28p Dave
102 #ifndef __FS2_VERSIONING_HEADER_FILE
103 #define __FS2_VERSIONING_HEADER_FILE
105 // ----------------------------------------------------------------------------------------------------------------
106 // VERSION DEFINES/VARS
109 // keep this defined to build a standalone only executable
111 // #define STANDALONE_ONLY_BUILD
112 // #define STANDALONE_ONLY_RELEASE_VERSION 0
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
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
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
147 #define IO_VERSION_MAJOR 00
148 #define IO_VERSION_MINOR 95
150 #define VERSION_LOC_FNAME "version.nfo"
151 #define MOTD_LOC_FNAME "motd.txt"
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"
160 #define MOTD_URL "http://www.pxo.net/files/fs2/motd.txt"
161 #define VERSION_URL "http://www.pxo.net/files/fs2/version.nfo"
164 #define VERSION_FILE_COMMENT_CHAR ';'
165 #define NO_VERSION_IN_REGISTRY -2
167 // ----------------------------------------------------------------------------------------------------------------
171 // compare version against the passed version file
172 // returns -1 on error
173 // 0 if we are an earlier 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);