From 0023db327bc1db00068284b70e1db45857aeee35 Mon Sep 17 00:00:00 2001 From: Travis Bradshaw Date: Tue, 31 Jan 2012 14:32:09 -0600 Subject: The Quake sources as originally release under the GPL license on December 21, 1999 --- QW/client/buildnum.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 QW/client/buildnum.c (limited to 'QW/client/buildnum.c') diff --git a/QW/client/buildnum.c b/QW/client/buildnum.c new file mode 100644 index 0000000..eac7d49 --- /dev/null +++ b/QW/client/buildnum.c @@ -0,0 +1,76 @@ +/* +Copyright (C) 1996-1997 Id Software, Inc. + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + +See the included (GNU.txt) GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +*/ +#include +#include + +#include + +// char *date = "Oct 24 1996"; +// char *time = "13:22:52"; +char *date = __DATE__ ; +char *time = __TIME__ ; + +char *mon[12] = +{ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" }; +char mond[12] = +{ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; + +// returns days since Oct 24 1996 +int build_number( void ) +{ + int m = 0; + int d = 0; + int y = 0; + int hr, min; + static int b = 0; + + if (b != 0) + return b; + + for (m = 0; m < 11; m++) + { + if (_strnicmp( &date[0], mon[m], 3 ) == 0) + break; + d += mond[m]; + } + + d += atoi( &date[4] ) - 1; + + y = atoi( &date[7] ) - 1900; + + b = d + (int)((y - 1) * 365.25); + + if (((y % 4) == 0) && m > 1) + { + b += 1; + } + + b -= 34995; // Oct 24 1996 + + hr = (time[0] - '0') * 10 + (time[1] - '0'); + min = (time[3] - '0') * 10 + (time[4] - '0'); +// sec = (time[6] - '0') * 10 + (time[7] - '0'); + + b *= 60*24; + b += hr * 60 + min; + + return b; +} + -- cgit v1.2.3