From 853c11d301cd5ad662b1c73b58f2581f0e49997a Mon Sep 17 00:00:00 2001 From: dominik Date: Sat, 18 Dec 2004 18:58:03 +0000 Subject: (svn r1162) The server list can now be automatically filled from the config file. Add a section [servers] with the addresses each in a new line. Those will be checked upon OpenTTD startup. --- settings.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'settings.c') diff --git a/settings.c b/settings.c index fa1c7d69d..35cffb08e 100644 --- a/settings.c +++ b/settings.c @@ -122,7 +122,7 @@ static IniGroup *ini_group_alloc(IniFile *ini, const char *grpt, int len) IniGroup *grp = pool_alloc(&ini->pool, sizeof(IniGroup)); grp->ini = ini; grp->name = pool_strdup(&ini->pool, grpt, len); - if(!strcmp(grp->name, "newgrf")) + if(!strcmp(grp->name, "newgrf") || !strcmp(grp->name, "servers") ) grp->type = IGT_LIST; else grp->type = IGT_VARIABLES; @@ -906,20 +906,19 @@ static void HandleSettingDescs(IniFile *ini, SettingDescProc *proc) proc(ini, debug_settings, "debug"); } -static void LoadGrfSettings(IniFile *ini) +// loads all items from a *grpname section into the **list +static void LoadList(IniFile *ini, const char *grpname, char **list, int len) { - IniGroup *group = ini_getgroup(ini, "newgrf", -1); + IniGroup *group = ini_getgroup(ini, grpname, -1); IniItem *item; int i; if (!group) return; - item = group->item; - for(i=0; i!=lengthof(_newgrf_files); i++) { - if (!item) - break; - _newgrf_files[i] = strdup(item->value); + for ( i=0; i != len; i++) { + if (item == NULL) break; + list[i] = strdup(item->value); item = item->next; } } @@ -928,7 +927,8 @@ void LoadFromConfig() { IniFile *ini = ini_load(_config_file); HandleSettingDescs(ini, load_setting_desc); - LoadGrfSettings(ini); + LoadList(ini, "newgrf", _newgrf_files, lengthof(_newgrf_files)); + LoadList(ini, "servers", _network_server_list, lengthof(_network_server_list)); ini_free(ini); } -- cgit v1.2.3-54-g00ecf