X-Git-Url: https://jfr.im/git/irc/gameservirc.git/blobdiff_plain/85ce9d3ecb3e6888dae590b3a8e347e0a2131bd9..4dde2ed9f323c87a1f54b002c66da835f7dc0baa:/gameserv/config.cpp diff --git a/gameserv/config.cpp b/gameserv/config.cpp index 0d00f5a..abdb4d2 100644 --- a/gameserv/config.cpp +++ b/gameserv/config.cpp @@ -5,8 +5,6 @@ void load_config_file(char *config); void unload_config_file(); -int stricmp(const char *s1, const char *s2); -int strnicmp(const char *s1, const char *s2, size_t len); /* Random Configuration Stuff Goes Here until I code it to load from a .conf file :)*/ @@ -16,7 +14,9 @@ char *gsident; // GameServ's ident/username char *servername; // GameServ's Server char *c_Forest; // Forest channel char *c_ForestTopic; // Forest Channel Topic - +char *adminpass; // Administrator password +char *welcomemsg; // Welcome Message +int confloadtime; // Welcome Message Delay // Remote server stuff. This is used for the outgoing connection gameserv needs to make // to a real ircd. @@ -25,30 +25,38 @@ char *remoteport; // Port to connect to on remoteserver char *remotepass; // Password for the server link char *playerdata; // File to store player data in +char *monsterdata; // File to load monster data from void unload_config_file() { if (s_GameServ) - delete s_GameServ; + delete [] s_GameServ; if (gshost) - delete gshost; + delete [] gshost; if (gsident) - delete gsident; + delete [] gsident; if (servername) - delete servername; + delete [] servername; if (c_Forest) - delete c_Forest; + delete [] c_Forest; if (c_ForestTopic) - delete c_ForestTopic; + delete [] c_ForestTopic; if (remoteserver) - delete remoteserver; + delete [] remoteserver; if (remoteport) - delete remoteport; + delete [] remoteport; if (remotepass) - delete remotepass; + delete [] remotepass; if (playerdata) - delete playerdata; + delete [] playerdata; + if (monsterdata) + delete [] monsterdata; + if (adminpass) + delete [] adminpass; + if (welcomemsg) + delete [] welcomemsg; } + void load_config_file(char *config) { char *buf, *directive, *value; @@ -60,7 +68,7 @@ void load_config_file(char *config) infile.open(config); if (infile.fail()) { - cerr << "Error opening " << config << endl; + cout << "Error opening " << config << endl; return; } @@ -68,7 +76,7 @@ void load_config_file(char *config) { cout << "Buf: " << buf << endl; - if (buf[0] == '#' || buf[0] == ' ' || buf[0] == '\0') + if (buf[0] == '#' || buf[0] == ' ' || buf[0] == '\0' || buf[0] == '\n' || buf[0] == '\r') continue; directive = strtok(buf, " "); @@ -133,13 +141,35 @@ void load_config_file(char *config) playerdata = new char[strlen(value) + 1]; strcpy(playerdata, value); } + else if (stricmp(directive, "MONSTERDATA") == 0) + { + value = strtok(NULL, ""); + monsterdata = new char[strlen(value) + 1]; + strcpy(monsterdata, value); + } + else if (stricmp(directive, "ADMINPASS") == 0) + { + value = strtok(NULL, ""); + adminpass = new char[strlen(value) + 1]; + strcpy(adminpass, value); + } + else if (stricmp(directive, "CONFLOADTIME") == 0) + { + value = strtok(NULL, " "); + confloadtime = stringtoint(value); + } + else if (stricmp(directive, "WELCOMEMSG") == 0) + { + value = strtok(NULL, ""); + welcomemsg = new char[strlen(value) + 1]; + strcpy(welcomemsg, value); + } else { - cerr << "Unknown Directive. Buffer: " << buf << endl; + cout << "Unknown Directive. Buffer: " << buf << endl; continue; } - //infile.ignore(1); } -delete buf; +delete [] buf; infile.close(); }