X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Ffiles.c;h=cb4e6d41820b938085efb01810ef0fd4f6e42362;hb=3a46ba9fb75998c9f7219e3b9e70dfe1438fd233;hp=12813f59a4aa88ade989bae047640df2a40dcc2b;hpb=22d6bccc33b6a7ddd0961be470d72800f171579c;p=rocksndiamonds.git diff --git a/src/files.c b/src/files.c index 12813f59..cb4e6d41 100644 --- a/src/files.c +++ b/src/files.c @@ -8409,6 +8409,10 @@ static struct TokenInfo global_setup_tokens[] = TYPE_STRING, &setup.player_name, "player_name" }, + { + TYPE_SWITCH, + &setup.multiple_users, "multiple_users" + }, { TYPE_SWITCH, &setup.sound, "sound" @@ -9192,6 +9196,8 @@ static void setSetupInfoToDefaults(struct SetupInfo *si) si->player_name = get_corrected_login_name(getLoginName()); + si->multiple_users = TRUE; + si->sound = TRUE; si->sound_loops = TRUE; si->sound_music = TRUE; @@ -9526,6 +9532,8 @@ static void setSetupInfoFromTokenText(SetupFileHash *setup_file_hash, // check if this setup option should be hidden in the setup menu if (token_hide_value != NULL && get_boolean_from_string(token_hide_value)) setHideSetupEntry(token_info[token_nr].value); + + free(token_hide_text); } static void setSetupInfoFromTokenInfo(SetupFileHash *setup_file_hash, @@ -9649,6 +9657,43 @@ static void decodeSetupFileHash_EditorCascade(SetupFileHash *setup_file_hash) editor_cascade_setup_tokens[i].text)); } +void LoadUserNames(void) +{ + int last_user_nr = user.nr; + int i; + + if (global.user_names != NULL) + { + for (i = 0; i < MAX_PLAYER_NAMES; i++) + checked_free(global.user_names[i]); + + checked_free(global.user_names); + } + + global.user_names = checked_calloc(MAX_PLAYER_NAMES * sizeof(char *)); + + for (i = 0; i < MAX_PLAYER_NAMES; i++) + { + user.nr = i; + + SetupFileHash *setup_file_hash = loadSetupFileHash(getSetupFilename()); + + if (setup_file_hash) + { + char *player_name = getHashEntry(setup_file_hash, "player_name"); + + global.user_names[i] = get_corrected_login_name(player_name); + + freeSetupFileHash(setup_file_hash); + } + + if (global.user_names[i] == NULL) + global.user_names[i] = getStringCopy(EMPTY_PLAYER_NAME); + } + + user.nr = last_user_nr; +} + void LoadSetupFromFilename(char *filename) { SetupFileHash *setup_file_hash = loadSetupFileHash(filename); @@ -9816,7 +9861,8 @@ void SaveSetup(void) for (i = 0; i < ARRAY_SIZE(global_setup_tokens); i++) { // just to make things nicer :) - if (global_setup_tokens[i].value == &setup.sound || + if (global_setup_tokens[i].value == &setup.multiple_users || + global_setup_tokens[i].value == &setup.sound || global_setup_tokens[i].value == &setup.graphics_set || global_setup_tokens[i].value == &setup.volume_simple || global_setup_tokens[i].value == &setup.network_mode ||