// // version.c // // Programmer: Akamai // Date: 12/07/98 // // Remember to update the defined constants each time the code is built. // If we were using real configuration managment tools, we could do this // automatically. // #include <sys/types.h> #include <stdio.h> #include <string.h> #include <time.h> #include "merc.h" #define CVS_ID "$Id: version.c,v 1.49 2004/10/30 19:32:10 dijoist Exp $" #define VERS_DATE "October 27, 2004" #define VERS_TIME "12.30 PM PST" #define VERS_VERS "Exodus 2.6" //Upped to 2.5 because of cardgame struct credits_type { char *real_name; char *imm_char_name; char *alt_char_names; char *coding_start; char *coding_finish; char *changes[10]; }; const struct credits_type version_credits[] = { /* 0 */ {"Jack I. Muramatsu", "Shinowlan", "Shinowlan", "1/1998", "Present", {"Bank bug", "And other misc bugs", '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'},}, /* 1 */ {"David W. McDonald", "Akamai ", "Pulewai, Percy, Arbormists", "5/1998", "Present", {"Complete re-write of clan code", "Hero changes, hero training", "And other misc bugs", '\0', '\0', '\0', '\0', '\0', '\0', '\0'},}, /* 2 */ {"Flemming K. Hansen", "Morgan ", "Felicia, Christina, Kastagir", "7/2000", "Present ", {"Changed bad_summon to default off", "tweaked creation points a bit", "Changed update.c to force people into void when ld", "added the immcommands linkload and lunload", "Added several functions to do_auction, minbid is in", "Added hearclan, admin channel, newsockets", "added configurable colors to immchannel and adminchannel", "pfiles are now version 7", "NonPK protection, toggleable by imm with 'safe_nopk'", "fixed a few bugs"}}, /* 3 */ {"Devin Brown", "Minax ", "Possum", "7/2001", "Present ", {"Added Assassins", "Added Reavers (with substantial outside help)", "Added Avatars", "Numerous other well needed additions", '\0', '\0', '\0', '\0', '\0', '\0'}}, /* 4 */ {"Nicholas Jackson", "Iblis ", "Flanch, Dijo, Aenima, Pingo", "5/2003", "Present ", {"Converted to a new experience system", "Added Monks, Necros, Liches, new Avatars", "Added Multiclassing capabilities, Chaos Jesters", "Fixed Reavers to be bugfree", "Added Litans, Kalians, and new AC/Hitroll system", "Added Super Duel and Battle Royale", "Added the Card Game, multi-slot eq", "Finished object triggers (and added lag/chance etc)", "and various bug fixes", '\0'}}, /* 5 */ {"Josh Smykal", "Adeon ", "Cory, Xeroth, Augustus", "7/2003", "9/2003 ", {"Added several new building features", "Bug fixes", "Added immortal only board 'projects'", '\0', '\0', '\0', '\0', '\0', '\0', '\0'}}, /* 6 */ {"Daniel Rife", "???? ", "Paarshad, Sargon, Poe, Ophidias, Psi, ...", "6/2004", "Present ", {"Created Traps", "Bug fixes", "A bunch of little stuff", '\0', '\0', '\0', '\0', '\0', '\0', '\0'}}, /* 7 */ {"Justin B. Emery", "Eldridge", "Clive, Grukmuck, Elervan, Clyve, ...", "5/2006", "Present ", {"Fixed Vro'ath hp gain", "Bug fixes", "Changed area encryption to reread .are format", "Added in 'scatter' command for immortals", '\0', '\0', '\0', '\0', '\0', '\0'}}, /* 8 */ {'\0', '\0', '\0', '\0', '\0', {'\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0'}} }; void do_version (CHAR_DATA * ch, char *argument) { char buf[MAX_STRING_LENGTH]; char arg[MAX_STRING_LENGTH]; // char name[MAX_INPUT_LENGTH]; int i; argument = one_argument (argument, arg); if (arg[0] == '\0') { sprintf (buf, "Version: %s\n\rBuild: %s %s\n\r", VERS_VERS, VERS_DATE, VERS_TIME); send_to_char (buf, ch); } else { sprintf (buf, "Coders:\n\r"); send_to_char (buf, ch); for (i = 0; version_credits[i].imm_char_name != NULL; i++) { sprintf (buf, "\t%s\t%s to %s\n\r", version_credits[i].imm_char_name, version_credits[i].coding_start, version_credits[i].coding_finish); send_to_char (buf, ch); } } }