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.3 2003/05/06 07:21:43 taylor
18 * add version number for linux/unix client
20 * Revision 1.2 2002/06/09 04:41:15 relnev
21 * added copyright header
23 * Revision 1.1.1.1 2002/05/03 03:28:12 root
27 * 23 11/03/99 11:07a Jefff
30 * 22 10/27/99 3:05p Jefff
31 * upped version to 1.1 for german
33 * 21 10/25/99 5:40p Jefff
34 * bump version to 1.02 for German version
36 * 20 10/06/99 10:24a Jefff
37 * upped OEM version to 1.0
39 * 19 10/01/99 9:10a Daveb
42 * 18 9/14/99 7:34a Dave
44 * 17 9/13/99 12:00a Dave
47 * 16 9/11/99 11:01p Dave
50 * 15 9/10/99 9:44p Dave
51 * Bumped version # up. Make server reliable connects not have such a huge
54 * 14 8/16/99 4:04p Dave
55 * Big honking checkin.
57 * 13 8/09/99 2:21p Andsager
58 * Fix patching from multiplayer direct to launcher update tab.
60 * 12 8/09/99 10:36a Dave
61 * Version info for game.
63 * 11 8/06/99 4:37p Andsager
66 * 10 8/06/99 4:35p Andsager
67 * test patching - up demo version to 1.01
69 * 9 8/06/99 10:33a Andsager
70 * Demo release canditate version number.
72 * 8 8/06/99 12:33a Andsager
75 * 7 8/05/99 5:31p Andsager
76 * Up demo version 1.01
78 * 6 7/30/99 11:59a Andsager
80 * 5 7/28/99 2:51p Andsager
81 * Update demo build to 1.0.0
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.
87 * 3 7/15/99 9:20a Andsager
88 * FS2_DEMO initial checkin
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.
94 * 1 5/18/99 4:28p Dave
99 #ifndef __FS2_VERSIONING_HEADER_FILE
100 #define __FS2_VERSIONING_HEADER_FILE
102 // ----------------------------------------------------------------------------------------------------------------
103 // VERSION DEFINES/VARS
106 // keep this defined to build a standalone only executable
108 // #define STANDALONE_ONLY_BUILD
109 // #define STANDALONE_ONLY_RELEASE_VERSION 0
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
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
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
137 #define FS_UNIX_VERSION_MAJOR 00
138 #define FS_UNIX_VERSION_MINOR 92
141 #define VERSION_LOC_FNAME "version.nfo"
142 #define MOTD_LOC_FNAME "motd.txt"
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"
151 #define MOTD_URL "http://www.pxo.net/files/fs2/motd.txt"
152 #define VERSION_URL "http://www.pxo.net/files/fs2/version.nfo"
155 #define VERSION_FILE_COMMENT_CHAR ';'
156 #define NO_VERSION_IN_REGISTRY -2
158 // ----------------------------------------------------------------------------------------------------------------
162 // compare version against the passed version file
163 // returns -1 on error
164 // 0 if we are an earlier 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);