forked from github/server
game.start in eressea.ini overrides calendar
This commit is contained in:
parent
1a20d6e5c6
commit
cacb450567
3
s/setup
3
s/setup
|
@ -96,7 +96,8 @@ touch eressea.ini
|
|||
ini_start
|
||||
ini_sec game
|
||||
ini_add game locales de,en
|
||||
ini_add id $game
|
||||
ini_add game id $game
|
||||
ini_add game start 1
|
||||
ini_sec lua
|
||||
ini_add lua install $SOURCE
|
||||
ini_add lua paths $SOURCE/scripts:$SOURCE/lunit
|
||||
|
|
|
@ -948,7 +948,7 @@ static int init_data(const char *filename, const char *catalog)
|
|||
return l;
|
||||
}
|
||||
if (turn < 0) {
|
||||
turn = first_turn;
|
||||
turn = first_turn();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
#include <platform.h>
|
||||
#include "calendar.h"
|
||||
#include <kernel/config.h>
|
||||
|
||||
#include <assert.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int first_turn = 0;
|
||||
int first_month = 0;
|
||||
int weeks_per_month = 4;
|
||||
int months_per_year = 12;
|
||||
|
@ -16,10 +16,15 @@ int *month_season = NULL;
|
|||
char *agename = NULL;
|
||||
int seasons = 0;
|
||||
|
||||
int first_turn(void)
|
||||
{
|
||||
return config_get_int("game.start", 1);
|
||||
}
|
||||
|
||||
const gamedate *get_gamedate(int turn, gamedate * gd)
|
||||
{
|
||||
int weeks_per_year = months_per_year * weeks_per_month;
|
||||
int t = turn - first_turn;
|
||||
int t = turn - first_turn();
|
||||
|
||||
assert(gd);
|
||||
if (t < 0)
|
||||
|
|
|
@ -13,7 +13,6 @@ extern "C" {
|
|||
};
|
||||
|
||||
extern char *agename;
|
||||
extern int first_turn;
|
||||
extern int first_month;
|
||||
|
||||
extern int seasons;
|
||||
|
@ -35,8 +34,9 @@ extern "C" {
|
|||
int week;
|
||||
} gamedate;
|
||||
|
||||
extern const gamedate *get_gamedate(int turn, gamedate * gd);
|
||||
extern void calendar_cleanup(void);
|
||||
const gamedate *get_gamedate(int turn, gamedate * gd);
|
||||
void calendar_cleanup(void);
|
||||
int first_turn(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -375,8 +375,13 @@ static int parse_calendar(xmlDocPtr doc)
|
|||
xmlNodeSetPtr nsetWeeks, nsetMonths, nsetSeasons;
|
||||
xmlChar *propValue = xmlGetProp(calendar, BAD_CAST "name");
|
||||
xmlChar *newyear = xmlGetProp(calendar, BAD_CAST "newyear");
|
||||
xmlChar *start;
|
||||
|
||||
first_turn = xml_ivalue(calendar, "start", first_turn);
|
||||
start = xmlGetProp(calendar, BAD_CAST "start");
|
||||
if (start && config_get("game.start")==NULL) {
|
||||
config_set("game.start", (const char *)start);
|
||||
xmlFree(start);
|
||||
}
|
||||
if (propValue) {
|
||||
free(agename);
|
||||
agename = strdup(mkname("calendar", (const char *)propValue));
|
||||
|
|
Loading…
Reference in New Issue