level.yam_content[i][x][y] =
(i < STD_ELEMENT_CONTENTS ? EL_ROCK : EL_EMPTY);
- Feld[0][0] = Ur[0][0] = EL_PLAYER1;
+ Feld[0][0] = Ur[0][0] = EL_PLAYER_1;
Feld[STD_LEV_FIELDX-1][STD_LEV_FIELDY-1] =
Ur[STD_LEV_FIELDX-1][STD_LEV_FIELDY-1] = EL_EXIT_CLOSED;
element = EL_CHAR_QUESTION;
}
else if (element == EL_PLAYER_OBSOLETE)
- element = EL_PLAYER1;
+ element = EL_PLAYER_1;
else if (element == EL_KEY_OBSOLETE)
- element = EL_KEY1;
+ element = EL_KEY_1;
return element;
}
#define NUM_PLAYER_SETUP_TOKENS 16
+/* system setup */
+#define SETUP_TOKEN_SYSTEM_SDL_AUDIODRIVER 0
+#define SETUP_TOKEN_SYSTEM_AUDIO_FRAGMENT_SIZE 1
+
+#define NUM_SYSTEM_SETUP_TOKENS 2
+
+/* options setup */
+#define SETUP_TOKEN_OPTIONS_VERBOSE 0
+
+#define NUM_OPTIONS_SETUP_TOKENS 1
+
+
static struct SetupInfo si;
static struct SetupEditorInfo sei;
static struct SetupShortcutInfo ssi;
static struct SetupInputInfo sii;
+static struct SetupSystemInfo syi;
+static struct OptionInfo soi;
static struct TokenInfo global_setup_tokens[] =
{
- /* global setup */
{ TYPE_STRING, &si.player_name, "player_name" },
{ TYPE_SWITCH, &si.sound, "sound" },
{ TYPE_SWITCH, &si.sound_loops, "repeating_sound_loops" },
static struct TokenInfo editor_setup_tokens[] =
{
- /* shortcut setup */
{ TYPE_SWITCH, &sei.el_boulderdash, "editor.el_boulderdash" },
{ TYPE_SWITCH, &sei.el_emerald_mine, "editor.el_emerald_mine" },
{ TYPE_SWITCH, &sei.el_more, "editor.el_more" },
static struct TokenInfo shortcut_setup_tokens[] =
{
- /* shortcut setup */
{ TYPE_KEY_X11, &ssi.save_game, "shortcut.save_game" },
{ TYPE_KEY_X11, &ssi.load_game, "shortcut.load_game" },
{ TYPE_KEY_X11, &ssi.toggle_pause, "shortcut.toggle_pause" }
static struct TokenInfo player_setup_tokens[] =
{
- /* player setup */
{ TYPE_BOOLEAN, &sii.use_joystick, ".use_joystick" },
{ TYPE_STRING, &sii.joy.device_name, ".joy.device_name" },
{ TYPE_INTEGER, &sii.joy.xleft, ".joy.xleft" },
{ TYPE_KEY_X11, &sii.key.bomb, ".key.place_bomb" }
};
+static struct TokenInfo system_setup_tokens[] =
+{
+ { TYPE_STRING, &syi.sdl_audiodriver, "system.sdl_audiodriver" },
+ { TYPE_INTEGER, &syi.audio_fragment_size,"system.audio_fragment_size" }
+};
+
+static struct TokenInfo options_setup_tokens[] =
+{
+ { TYPE_BOOLEAN, &soi.verbose, "options.verbose" }
+};
+
static void setSetupInfoToDefaults(struct SetupInfo *si)
{
int i;
si->input[i].key.snap = (i == 0 ? DEFAULT_KEY_SNAP : KSYM_UNDEFINED);
si->input[i].key.bomb = (i == 0 ? DEFAULT_KEY_BOMB : KSYM_UNDEFINED);
}
+
+ si->system.sdl_audiodriver = getStringCopy(ARG_DEFAULT);
+ si->system.audio_fragment_size = DEFAULT_AUDIO_FRAGMENT_SIZE;
+
+ si->options.verbose = FALSE;
}
static void decodeSetupFileList(struct SetupFileList *setup_file_list)
}
setup.input[pnr] = sii;
}
+
+ /* system setup */
+ syi = setup.system;
+ for (i=0; i<NUM_SYSTEM_SETUP_TOKENS; i++)
+ setSetupInfo(system_setup_tokens, i,
+ getTokenValue(setup_file_list, system_setup_tokens[i].text));
+ setup.system = syi;
+
+ /* options setup */
+ soi = setup.options;
+ for (i=0; i<NUM_OPTIONS_SETUP_TOKENS; i++)
+ setSetupInfo(options_setup_tokens, i,
+ getTokenValue(setup_file_list, options_setup_tokens[i].text));
+ setup.options = soi;
}
void LoadSetup()
fprintf(file, "%s\n", getSetupLine(player_setup_tokens, prefix, i));
}
+ /* system setup */
+ syi = setup.system;
+ fprintf(file, "\n");
+ for (i=0; i<NUM_SYSTEM_SETUP_TOKENS; i++)
+ fprintf(file, "%s\n", getSetupLine(system_setup_tokens, "", i));
+
+ /* options setup */
+ soi = setup.options;
+ fprintf(file, "\n");
+ for (i=0; i<NUM_OPTIONS_SETUP_TOKENS; i++)
+ fprintf(file, "%s\n", getSetupLine(options_setup_tokens, "", i));
+
fclose(file);
SetFilePermissions(filename, PERMS_PRIVATE);
char *value;
/* !!! CHANGE THIS !!! (redundant initialization) !!! */
- gfx.menu_main_hide_static_text = FALSE;
global.num_toons = 20;
+ global.menu_draw_xoffset = 0;
+ global.menu_draw_yoffset = 0;
+ global.menu_draw_xoffset_MAIN = 0;
+ global.menu_draw_yoffset_MAIN = 0;
+ global.door_step_offset = 2;
+ global.door_step_delay = 10;
if ((setup_file_list = loadSetupFileList(filename)) == NULL)
return;
- value = getTokenValue(setup_file_list, "menu.main.hide_static_text");
- if (value != NULL)
- gfx.menu_main_hide_static_text = get_boolean_from_string(value);
-
value = getTokenValue(setup_file_list, "global.num_toons");
if (value != NULL)
global.num_toons = get_integer_from_string(value);
+ value = getTokenValue(setup_file_list, "menu.draw_xoffset");
+ if (value != NULL)
+ global.menu_draw_xoffset = get_integer_from_string(value);
+
+ value = getTokenValue(setup_file_list, "menu.draw_yoffset");
+ if (value != NULL)
+ global.menu_draw_yoffset = get_integer_from_string(value);
+
+ value = getTokenValue(setup_file_list, "menu.draw_xoffset.MAIN");
+ if (value != NULL)
+ global.menu_draw_xoffset_MAIN = get_integer_from_string(value);
+
+ value = getTokenValue(setup_file_list, "menu.draw_yoffset.MAIN");
+ if (value != NULL)
+ global.menu_draw_yoffset_MAIN = get_integer_from_string(value);
+
+ value = getTokenValue(setup_file_list, "door.step_offset");
+ if (value != NULL)
+ global.door_step_offset = get_integer_from_string(value);
+
+ value = getTokenValue(setup_file_list, "door.step_delay");
+ if (value != NULL)
+ global.door_step_delay = get_integer_from_string(value);
+
freeSetupFileList(setup_file_list);
}