1 | /* |
1 | /* |
2 | * static char *rcsid_init_c = |
2 | * static char *rcsid_init_c = |
3 | * "$Id: init.c,v 1.1.1.2 2006/02/22 18:03:21 elmex Exp $"; |
3 | * "$Id: init.c,v 1.1.1.3 2006/03/15 14:05:36 elmex Exp $"; |
4 | */ |
4 | */ |
5 | |
5 | |
6 | /* |
6 | /* |
7 | CrossFire, A Multiplayer game for X-windows |
7 | CrossFire, A Multiplayer game for X-windows |
8 | |
8 | |
… | |
… | |
315 | mt->weight = value; |
315 | mt->weight = value; |
316 | } else if (sscanf(cp, "value %d\n", &value)) { |
316 | } else if (sscanf(cp, "value %d\n", &value)) { |
317 | mt->value = value; |
317 | mt->value = value; |
318 | } |
318 | } |
319 | } |
319 | } |
|
|
320 | if (mt->next) |
|
|
321 | { |
|
|
322 | free(mt->next); |
320 | mt->next = NULL; |
323 | mt->next = NULL; |
|
|
324 | } |
321 | LOG(llevDebug, "Done.\n"); |
325 | LOG(llevDebug, "Done.\n"); |
322 | fclose(fp); |
326 | fclose(fp); |
323 | } |
327 | } |
324 | |
328 | |
325 | /* This loads the settings file. There could be debate whether this should |
329 | /* This loads the settings file. There could be debate whether this should |
… | |
… | |
574 | } else { |
578 | } else { |
575 | LOG(llevError, "load_settings: Unknown value for " |
579 | LOG(llevError, "load_settings: Unknown value for " |
576 | "stat_loss_on_death: %s\n", cp); |
580 | "stat_loss_on_death: %s\n", cp); |
577 | } |
581 | } |
578 | } else if (!strcasecmp(buf, "use_permanent_experience")) { |
582 | } else if (!strcasecmp(buf, "use_permanent_experience")) { |
579 | if (!strcasecmp(cp, "on") || !strcasecmp(cp, "true")) { |
583 | LOG(llevError, "use_permanent_experience is deprecated, use" |
580 | settings.use_permanent_experience=TRUE; |
584 | "permenent_experience_percentage instead\n"); |
581 | } else if (!strcasecmp(cp, "off") || !strcasecmp(cp, "false")) { |
585 | } else if (!strcasecmp(buf, "permanent_experience_percentage")) { |
582 | settings.use_permanent_experience=FALSE; |
586 | int val = atoi(cp); |
|
|
587 | if (val < 0 || val >100) |
|
|
588 | LOG(llevError, "load_settings: permenent_experience_percentage" |
|
|
589 | "must be between 0 and 100, %d is invalid\n", val); |
583 | } else { |
590 | else |
584 | LOG(llevError, "load_settings: Unknown value for " |
591 | settings.permanent_exp_ratio = val; |
585 | "use_permanent_experience: %s\n", cp); |
592 | } else if (!strcasecmp(buf, "death_penalty_percentage")) { |
586 | } |
593 | int val = atoi(cp); |
|
|
594 | if (val < 0 || val >100) |
|
|
595 | LOG(llevError, "load_settings: death_penalty_percentage" |
|
|
596 | "must be between 0 and 100, %d is invalid\n", val); |
|
|
597 | else |
|
|
598 | settings.death_penalty_ratio = val; |
|
|
599 | } else if (!strcasecmp(buf, "death_penalty_levels")) { |
|
|
600 | int val = atoi(cp); |
|
|
601 | if (val < 0 || val > 255) |
|
|
602 | LOG(llevError, "load_settings: death_penalty_levels" |
|
|
603 | "can not be negative, %d is invalid\n", val); |
|
|
604 | else |
|
|
605 | settings.death_penalty_level = val; |
587 | } else if (!strcasecmp(buf, "balanced_stat_loss")) { |
606 | }else if (!strcasecmp(buf, "balanced_stat_loss")) { |
588 | if (!strcasecmp(cp, "on") || !strcasecmp(cp, "true")) { |
607 | if (!strcasecmp(cp, "on") || !strcasecmp(cp, "true")) { |
589 | settings.balanced_stat_loss=TRUE; |
608 | settings.balanced_stat_loss=TRUE; |
590 | } else if (!strcasecmp(cp, "off") || !strcasecmp(cp, "false")) { |
609 | } else if (!strcasecmp(cp, "off") || !strcasecmp(cp, "false")) { |
591 | settings.balanced_stat_loss=FALSE; |
610 | settings.balanced_stat_loss=FALSE; |
592 | } else { |
611 | } else { |