--- deliantra/server/common/init.c 2006/02/03 07:11:31 1.1 +++ deliantra/server/common/init.c 2006/04/21 14:40:29 1.5 @@ -56,7 +56,9 @@ TMPDIR, STAT_LOSS_ON_DEATH, PK_LUCK_PENALTY, -USE_PERMANENT_EXPERIENCE, +PERMANENT_EXPERIENCE_RATIO, +DEATH_PENALTY_RATIO, +DEATH_PENALTY_LEVEL, BALANCED_STAT_LOSS, NOT_PERMADETH, SIMPLE_EXP, @@ -100,7 +102,7 @@ * in some file in the common area so that standalone * programs, like the random map generator, can be built. */ -char *spellpathnames[NRSPELLPATHS] = { +const char* const spellpathnames[NRSPELLPATHS] = { "Protection", "Fire", "Frost", @@ -236,6 +238,9 @@ settings.logfilename); logfile = stderr; } + else { + setvbuf(logfile, NULL, _IOLBF, 0); + } exiting = 0; first_player=NULL; first_friendly_object=NULL; @@ -243,8 +248,8 @@ first_treasurelist=NULL; first_artifactlist=NULL; first_archetype=NULL; + *first_map_ext_path=0; warn_archetypes=0; - first_map=NULL; nroftreasures = 0; nrofartifacts = 0; nrofallowedstr=0; @@ -306,9 +311,14 @@ void init_dynamic (void) { archetype *at = first_archetype; while (at) { - if (at->clone.type == MAP && EXIT_PATH (&at->clone)) { - strcpy (first_map_path, EXIT_PATH (&at->clone)); - return; + if (at->clone.type == MAP) { + if (at->clone.race) { + strcpy (first_map_ext_path, at->clone.race); + } + if (EXIT_PATH (&at->clone)) { + strcpy (first_map_path, EXIT_PATH (&at->clone)); + return; + } } at = at->next; }