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.2 2002/06/09 04:41:15 relnev
18 * added copyright header
20 * Revision 1.1.1.1 2002/05/03 03:28:12 root
24 * 23 11/03/99 11:07a Jefff
27 * 22 10/27/99 3:05p Jefff
28 * upped version to 1.1 for german
30 * 21 10/25/99 5:40p Jefff
31 * bump version to 1.02 for German version
33 * 20 10/06/99 10:24a Jefff
34 * upped OEM version to 1.0
36 * 19 10/01/99 9:10a Daveb
39 * 18 9/14/99 7:34a Dave
41 * 17 9/13/99 12:00a Dave
44 * 16 9/11/99 11:01p Dave
47 * 15 9/10/99 9:44p Dave
48 * Bumped version # up. Make server reliable connects not have such a huge
51 * 14 8/16/99 4:04p Dave
52 * Big honking checkin.
54 * 13 8/09/99 2:21p Andsager
55 * Fix patching from multiplayer direct to launcher update tab.
57 * 12 8/09/99 10:36a Dave
58 * Version info for game.
60 * 11 8/06/99 4:37p Andsager
63 * 10 8/06/99 4:35p Andsager
64 * test patching - up demo version to 1.01
66 * 9 8/06/99 10:33a Andsager
67 * Demo release canditate version number.
69 * 8 8/06/99 12:33a Andsager
72 * 7 8/05/99 5:31p Andsager
73 * Up demo version 1.01
75 * 6 7/30/99 11:59a Andsager
77 * 5 7/28/99 2:51p Andsager
78 * Update demo build to 1.0.0
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.
84 * 3 7/15/99 9:20a Andsager
85 * FS2_DEMO initial checkin
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.
91 * 1 5/18/99 4:28p Dave
96 #ifndef __FS2_VERSIONING_HEADER_FILE
97 #define __FS2_VERSIONING_HEADER_FILE
99 // ----------------------------------------------------------------------------------------------------------------
100 // VERSION DEFINES/VARS
103 // keep this defined to build a standalone only executable
105 // #define STANDALONE_ONLY_BUILD
106 // #define STANDALONE_ONLY_RELEASE_VERSION 0
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
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
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
133 #define VERSION_LOC_FNAME "version.nfo"
134 #define MOTD_LOC_FNAME "motd.txt"
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"
143 #define MOTD_URL "http://www.pxo.net/files/fs2/motd.txt"
144 #define VERSION_URL "http://www.pxo.net/files/fs2/version.nfo"
147 #define VERSION_FILE_COMMENT_CHAR ';'
148 #define NO_VERSION_IN_REGISTRY -2
150 // ----------------------------------------------------------------------------------------------------------------
154 // compare version against the passed version file
155 // returns -1 on error
156 // 0 if we are an earlier 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);