diff options
author | dominik <dominik@openttd.org> | 2004-12-18 18:58:03 +0000 |
---|---|---|
committer | dominik <dominik@openttd.org> | 2004-12-18 18:58:03 +0000 |
commit | 853c11d301cd5ad662b1c73b58f2581f0e49997a (patch) | |
tree | 5e845319d36cb833763f462a08f7be2e4c008118 /settings.c | |
parent | b9779176d5b7ed3277e5d23317c1511a417b04a4 (diff) | |
download | openttd-853c11d301cd5ad662b1c73b58f2581f0e49997a.tar.xz |
(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.
Diffstat (limited to 'settings.c')
-rw-r--r-- | settings.c | 18 |
1 files changed, 9 insertions, 9 deletions
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); } |