Thread: Build number
View Single Post
Re: Build number
Old
  (#3)
Whistler
Summoner
 
Whistler's Avatar
 
Status: Offline
Posts: 1,499
Join Date: Feb 2004
Location: Mist Village
Default Re: Build number - 31-07-2004

or use this one, which is adapted from the Quake source code:
Code:
unsigned short CGeneral::GetBuildNumber()
{
   const char *date = __DATE__;

   char *mon[12] =
   { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" };
   unsigned char mond[12] = 
   { 31,    28,    31,    30,    31,    30,    31,    31,    30,    31,    30,    31 };

   int m = 0, d = 0, y = 0;

   for (m = 0; m < 11; m++) {
      if (strncmp(&date[0], mon[m], 3) == 0)
         break;
      d += mond[m];
   }

   d += atoi( &date[4] ) - 1;
   y = atoi( &date[7] ) - 2000;

   unsigned short usBuildNumber = d + (int)((y - 1) * 365.25);

   // Is it a leap year?
   if ((y % 4) == 0 && m > 1) {
      usBuildNumber += 1;
   }

   return usBuildNumber - 1267;
}
  
Reply With Quote