convert line ends
[canaan.git] / prj / cam / src / version.c
blobba6e22301f122aedf0904433756ff373d66e32b3
1 /*
2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
4 */
6 // $Header: r:/t2repos/thief2/src/version.c,v 1.24 2000/03/27 12:31:19 adurant Exp $
8 #include <lgsprntf.h>
9 #include <version.h>
11 #include <string.h>
12 #include <memall.h>
13 #include <dbmem.h> // must be last header!
15 #ifdef PLAYTEST
16 #define SUFFIX "playtest"
17 #else
18 #define SUFFIX ""
19 #endif
21 #ifndef SHIP
22 #ifdef DEBUG
23 #define FLAVOR "debug"
24 #else
25 #define FLAVOR "opt"
26 #endif
27 #else
28 #define FLAVOR ""
29 #endif
31 #ifndef SHIP
32 #ifdef __WATCOMC__
33 #define COMPILER_NAME "Watcom"
34 #else
35 #define COMPILER_NAME "MSVC"
36 #endif
37 #else
38 #define COMPILER_NAME ""
39 #endif
41 // For serial stamping, for evil pirates
42 // can't make it static, cause it whines
43 char gSerial[32] = "LABEL ME";
45 // really would like to have the actual compiler and version in here, eh?
46 #ifndef DEEPC
47 // Thief 2 version information.
48 static Version appVersion =
50 "Final",
52 1, // major
53 18, // minor
55 COMPILER_NAME " " FLAVOR " " SUFFIX, // suffix
57 #else
58 // Deep Cover version information.
59 static Version appVersion =
61 "Demo",
63 1, // major
64 12, // minor
66 COMPILER_NAME " " FLAVOR " " SUFFIX, // suffix
68 #endif
70 // this returns a pointer to the version structure
71 const Version* AppVersion(void)
73 return &appVersion;
76 const char* Version2String(const Version* v)
78 static char buf[64];
80 const char* vn = VersionNum2String(&v->num);
81 lg_sprintf(buf,"%s %s %s",v->phase,vn,v->suffix);
82 return buf;
85 const char* VersionString(void)
87 return Version2String(&appVersion);
90 bool VersionsEqual(const Version* v1, const Version* v2)
92 if (strcmp(v1->phase,v2->phase) != 0)
93 return FALSE;
94 if (!VersionNumsEqual(&v1->num,&v2->num))
95 return FALSE;
96 if (strcmp(v1->suffix,v2->suffix) != 0)
97 return FALSE;
98 return TRUE;