tobi.web@gmx.de
http://www.newbreedsoftware.com/supertux/
- December 20, 2003
+ December 20, 2003 - December 29, 2003
*/
#ifdef LINUX
/* ---- Menu Options - Item Sound On/off ----*/
void menu_option_sound()
{
- if (audio_device == YES) {
- if(menuitem == 1) {
- if(use_sound == YES) {
- drawshadedcenteredtext("Sound ON", 224, letters_red, NO_UPDATE);
- }
- else {
- drawshadedcenteredtext("Sound OFF", 224, letters_red, NO_UPDATE);
- }
-
- if(menuaction == MN_HIT) { /* Disable/Enable sound */
- if(use_sound == YES) {
- use_sound = NO;
- }
- else {
- use_sound = YES;
- }
- menu_change = YES;
- }
- }
- else {
- if(use_sound == YES)
- drawshadedcenteredtext("Sound ON", 224, letters_blue, NO_UPDATE);
+ if (audio_device == YES)
+ {
+ if(menuitem == 1)
+ {
+ if(use_sound == YES)
+ {
+ drawcenteredtext("Sound ON", 224, letters_red, NO_UPDATE, 2);
+ }
+ else
+ {
+ drawcenteredtext("Sound OFF", 224, letters_red, NO_UPDATE, 2);
+ }
+
+ if(menuaction == MN_HIT)
+ { /* Disable/Enable sound */
+ if(use_sound == YES)
+ {
+ use_sound = NO;
+ }
+ else
+ {
+ use_sound = YES;
+ }
+ menu_change = YES;
+ }
+ }
else
- drawshadedcenteredtext("Sound OFF", 224, letters_blue, NO_UPDATE);
- }
- }
- else { /* if audio_device != YES */
- /* let the user move over the deactivated option */
- if (menuitem == 1) {
- drawshadedcenteredtext("Sound OFF", 224, letters_red, NO_UPDATE);
+ {
+ if(use_sound == YES)
+ drawcenteredtext("Sound ON", 224, letters_blue, NO_UPDATE, 2);
+ else
+ drawcenteredtext("Sound OFF", 224, letters_blue, NO_UPDATE, 2);
+ }
}
- else {
- drawshadedcenteredtext("Sound OFF", 224, letters_black, NO_UPDATE);
+ else
+ { /* if audio_device != YES */
+ /* let the user move over the deactivated option */
+ if (menuitem == 1)
+ {
+ drawcenteredtext("Sound OFF", 224, letters_red, NO_UPDATE, 2);
+ }
+ else
+ {
+ drawcenteredtext("Sound OFF", 224, letters_black, NO_UPDATE, 2);
+ }
}
- }
}
/* ---- Menu Options - Item Music On/off ----*/
void menu_option_music()
{
- if (audio_device == YES) {
- if(menuitem == 2) {
- if(use_music == YES) {
- drawshadedcenteredtext("Music ON", 256, letters_red, NO_UPDATE);
- }
- else {
- drawshadedcenteredtext("Music OFF", 256, letters_red, NO_UPDATE);
- }
- if(menuaction == MN_HIT) { /* Disable/Enable music */
- if(use_music == YES) { /* In the menu no music is played, so we have to check only use_music */
- if(playing_music())
- halt_music();
- use_music = NO;
- }
- else {
- use_music = YES;
- if (!playing_music()) {
- switch (current_music) {
- case LEVEL_MUSIC:
- play_music(level_song, 1);
- break;
- case HERRING_MUSIC:
- play_music(herring_song, 1);
- break;
- case HURRYUP_MUSIC: // keep the compiler happy
- case NO_MUSIC: // keep the compiler happy for the moment :-)
- {}
- /*default:*/
- }
- }
- }
- menu_change = YES;
- }
- } /* if menuitem != 2 : print normal blue font */
- else {
- if(use_music == YES) {
- drawshadedcenteredtext("Music ON", 256, letters_blue, NO_UPDATE);
- }
- else {
- drawshadedcenteredtext("Music OFF", 256, letters_blue, NO_UPDATE);
- }
- }
- }
- else { /* if audio_device != YES */
- /* let the user move over the deactivated option */
- if (menuitem == 2) {
- drawshadedcenteredtext("Music OFF", 256, letters_red, NO_UPDATE);
- }
- else {
- drawshadedcenteredtext("Music OFF", 256, letters_black, NO_UPDATE);
- }
- }
-}
-
-int menu_main(void)
-{
- /* Does the menu item exist? If not, we reset to the most down item */
- if(menuitem > MENU_MAIN_ITEM_MAX)
- menuitem =0;
- else if(menuitem < 0)
- menuitem = MENU_MAIN_ITEM_MAX;
-
- /*The menu looks different, when the game is started */
- if(menuitem == 0)
+ if (audio_device == YES)
+ {
+ if(menuitem == 2)
+ {
+ if(use_music == YES)
{
- drawshadedcenteredtext("Start Game", 192, letters_red, NO_UPDATE);
- if(menuaction == MN_HIT) /* we are ready to start the game, if this item got hit */
- {
- game_started = 1;
- show_menu = 0;
- }
+ drawcenteredtext("Music ON", 256, letters_red, NO_UPDATE, 2);
}
else
- drawshadedcenteredtext("Start Game", 192, letters_blue, NO_UPDATE);
-
- if(menuitem == 1)
- {
- drawshadedcenteredtext("Options", 224, letters_red, NO_UPDATE);
- if(menuaction == MN_HIT) /* Switch to the 'Options' menu */
{
- menumenu = MENU_OPTIONS;
+ drawcenteredtext("Music OFF", 256, letters_red, NO_UPDATE, 2);
+ }
+ if(menuaction == MN_HIT)
+ { /* Disable/Enable music */
+ if(use_music == YES)
+ { /* In the menu no music is played, so we have to check only use_music */
+ if(playing_music())
+ halt_music();
+ use_music = NO;
+ }
+ else
+ {
+ use_music = YES;
+ if (!playing_music())
+ {
+ switch (current_music)
+ {
+ case LEVEL_MUSIC:
+ play_music(level_song, 2);
+ break;
+ case HERRING_MUSIC:
+ play_music(herring_song, 2);
+ break;
+ case HURRYUP_MUSIC: // keep the compiler happy
+ case NO_MUSIC: // keep the compiler happy for the moment :-)
+ {}
+ /*default:*/
+ }
+ }
+ }
menu_change = YES;
}
- }
+ } /* if menuitem != 2 : print normal blue font */
else
- drawshadedcenteredtext("Options", 224, letters_blue, NO_UPDATE);
-
- if(menuitem == 2)
{
- drawshadedcenteredtext("Level editor", 256, letters_red, NO_UPDATE);
- if(menuaction == MN_HIT) /* Set variables, so that the level editor is executed */
+ if(use_music == YES)
{
- level_editor_started = YES;
- show_menu = 0;
+ drawcenteredtext("Music ON", 256, letters_blue, NO_UPDATE, 2);
}
- }
- else
- drawshadedcenteredtext("Level editor", 256, letters_blue, NO_UPDATE);
-
- if(menuitem == 3)
- {
- drawshadedcenteredtext("Quit", 288, letters_red, NO_UPDATE);
- if(menuaction == MN_HIT) /* Quit a running game or the application */
+ else
{
- return 1;
+ drawcenteredtext("Music OFF", 256, letters_blue, NO_UPDATE, 2);
}
}
+ }
+ else
+ { /* if audio_device != YES */
+ /* let the user move over the deactivated option */
+ if (menuitem == 2)
+ {
+ drawcenteredtext("Music OFF", 256, letters_red, NO_UPDATE, 2);
+ }
else
{
- drawshadedcenteredtext("Quit", 288, letters_blue, NO_UPDATE);
+ drawcenteredtext("Music OFF", 256, letters_black, NO_UPDATE, 2);
}
-
-return 0;
+ }
}
-int menu_game(void)
+int menu_main(void)
{
- /* Does the menu item exist? If not, we reset to the most down item */
- if(menuitem > MENU_GAME_ITEM_MAX)
- menuitem = 0;
- else if(menuitem < 0)
- menuitem = MENU_GAME_ITEM_MAX;
-
- /*The menu looks different, when the game is started */
- if(menuitem == 0)
- {
- drawshadedcenteredtext("Return To Game", 192, letters_red, NO_UPDATE);
- if(menuaction == MN_HIT) /* Don't show the menu anymore, if this item got hit */
- show_menu = 0;
- }
- else
- drawshadedcenteredtext("Return To Game", 192, letters_blue, NO_UPDATE);
+ /* Does the menu item exist? If not, we reset to the most down item */
+ if(menuitem > MENU_MAIN_ITEM_MAX)
+ menuitem =0;
+ else if(menuitem < 0)
+ menuitem = MENU_MAIN_ITEM_MAX;
+
+ /*The menu looks different, when the game is started */
+ if(menuitem == 0)
+ {
+ drawcenteredtext("Start Game", 192, letters_red, NO_UPDATE, 2);
+ if(menuaction == MN_HIT) /* we are ready to start the game, if this item got hit */
+ {
+ game_started = 1;
+ show_menu = 0;
+ }
+ }
+ else
+ drawcenteredtext("Start Game", 192, letters_blue, NO_UPDATE, 2);
- if(menuitem == 1)
+ if(menuitem == 1)
+ {
+ drawcenteredtext("Options", 224, letters_red, NO_UPDATE, 2);
+ if(menuaction == MN_HIT) /* Switch to the 'Options' menu */
{
- drawshadedcenteredtext("Options", 224, letters_red, NO_UPDATE);
- if(menuaction == MN_HIT) /* Switch to the 'Options' menu */
- {
- menumenu = MENU_OPTIONS;
- menu_change = YES;
- }
+ menumenu = MENU_OPTIONS;
+ menu_change = YES;
}
- else
- drawshadedcenteredtext("Options", 224, letters_blue, NO_UPDATE);
+ }
+ else
+ drawcenteredtext("Options", 224, letters_blue, NO_UPDATE, 2);
- if(menuitem == 2)
+ if(menuitem == 2)
+ {
+ drawcenteredtext("Level editor", 256, letters_red, NO_UPDATE, 2);
+ if(menuaction == MN_HIT) /* Set variables, so that the level editor is executed */
{
- drawshadedcenteredtext("Quit Game", 256, letters_red, NO_UPDATE);
- if(menuaction == MN_HIT) /* Quit a running game */
- return 1;
+ level_editor_started = YES;
+ show_menu = 0;
}
- else
+ }
+ else
+ drawcenteredtext("Level editor", 256, letters_blue, NO_UPDATE, 2);
+
+ if(menuitem == 3)
+ {
+ drawcenteredtext("Quit", 288, letters_red, NO_UPDATE, 2);
+ if(menuaction == MN_HIT) /* Quit a running game or the application */
{
- drawshadedcenteredtext("Quit Game", 256, letters_blue, NO_UPDATE);
+ return 1;
}
+ }
+ else
+ {
+ drawcenteredtext("Quit", 288, letters_blue, NO_UPDATE, 2);
+ }
-return 0;
+ return 0;
}
-int menu_options(void)
+int menu_game(void)
{
- if(menuitem > MENU_OPTIONS_ITEM_MAX )
- menuitem = 0;
- else if(menuitem < 0)
- menuitem = MENU_OPTIONS_ITEM_MAX;
-
- if(menuitem == 0)
+ /* Does the menu item exist? If not, we reset to the most down item */
+ if(menuitem > MENU_GAME_ITEM_MAX)
+ menuitem = 0;
+ else if(menuitem < 0)
+ menuitem = MENU_GAME_ITEM_MAX;
+
+ /*The menu looks different, when the game is started */
+ if(menuitem == 0)
+ {
+ drawcenteredtext("Return To Game", 192, letters_red, NO_UPDATE, 2);
+ if(menuaction == MN_HIT) /* Don't show the menu anymore, if this item got hit */
+ show_menu = 0;
+ }
+ else
+ drawcenteredtext("Return To Game", 192, letters_blue, NO_UPDATE, 2);
+
+ if(menuitem == 1)
+ {
+ drawcenteredtext("Options", 224, letters_red, NO_UPDATE, 2);
+ if(menuaction == MN_HIT) /* Switch to the 'Options' menu */
{
- if(use_fullscreen)
- drawshadedcenteredtext("Fullscreen ON", 192, letters_red, NO_UPDATE);
- else
- drawshadedcenteredtext("Fullscreen OFF", 192, letters_red, NO_UPDATE);
- if(menuaction == MN_HIT) /* Disable/Enable fullscreen */
- {
- if(use_fullscreen)
- use_fullscreen = 0;
- else
- use_fullscreen = 1;
- st_video_setup();
- menu_change = YES;
- }
+ menumenu = MENU_OPTIONS;
+ menu_change = YES;
}
+ }
+ else
+ drawcenteredtext("Options", 224, letters_blue, NO_UPDATE, 2);
+
+ if(menuitem == 2)
+ {
+ drawcenteredtext("Quit Game", 256, letters_red, NO_UPDATE, 2);
+ if(menuaction == MN_HIT) /* Quit a running game */
+ return 1;
+ }
+ else
+ {
+ drawcenteredtext("Quit Game", 256, letters_blue, NO_UPDATE, 2);
+ }
+
+ return 0;
+}
+
+int menu_options(void)
+{
+ if(menuitem > MENU_OPTIONS_ITEM_MAX )
+ menuitem = 0;
+ else if(menuitem < 0)
+ menuitem = MENU_OPTIONS_ITEM_MAX;
+
+ if(menuitem == 0)
+ {
+ if(use_fullscreen)
+ drawcenteredtext("Fullscreen ON", 192, letters_red, NO_UPDATE, 2);
else
+ drawcenteredtext("Fullscreen OFF", 192, letters_red, NO_UPDATE, 2);
+ if(menuaction == MN_HIT) /* Disable/Enable fullscreen */
{
if(use_fullscreen)
- drawshadedcenteredtext("Fullscreen ON", 192, letters_blue, NO_UPDATE);
+ use_fullscreen = 0;
else
- drawshadedcenteredtext("Fullscreen OFF", 192, letters_blue, NO_UPDATE);
- }
+ use_fullscreen = 1;
+ st_video_setup();
+ menu_change = YES;
+ }
+ }
+ else
+ {
+ if(use_fullscreen)
+ drawcenteredtext("Fullscreen ON", 192, letters_blue, NO_UPDATE, 2);
+ else
+ drawcenteredtext("Fullscreen OFF", 192, letters_blue, NO_UPDATE, 2);
+ }
- /* handle menu sound on/off option */
- menu_option_sound();
+ /* handle menu sound on/off option */
+ menu_option_sound();
- /* handle menu music on/off option */
- menu_option_music();
-
- if(menuitem == 3)
+ /* handle menu music on/off option */
+ menu_option_music();
+
+ if(menuitem == 3)
+ {
+ drawcenteredtext("Back", 288, letters_red, NO_UPDATE, 2);
+ if(menuaction == MN_HIT) /* Go back to main menu. */
{
- drawshadedcenteredtext("Back", 288, letters_red, NO_UPDATE);
- if(menuaction == MN_HIT) /* Go back to main menu. */
- {
- if(game_started)
- menumenu = MENU_GAME;
- else
- menumenu = MENU_MAIN;
- menu_change = YES;
- }
+ if(game_started)
+ menumenu = MENU_GAME;
+ else
+ menumenu = MENU_MAIN;
+ menu_change = YES;
}
- else
- drawshadedcenteredtext("Back", 288, letters_blue, NO_UPDATE);
-
-return 0;
+ }
+ else
+ drawcenteredtext("Back", 288, letters_blue, NO_UPDATE, 2);
+
+ return 0;
}
/* Menu LevelEditor */
int menu_leveleditor(void)
{
- if(menuitem > MENU_LEVELEDITOR_ITEM_MAX )
- menuitem = 0;
- else if(menuitem < 0)
- menuitem = MENU_LEVELEDITOR_ITEM_MAX;
-
- if(menuitem == 0)
- {
- drawshadedcenteredtext("Return To Level Editor", 192, letters_red, NO_UPDATE);
- if(menuaction == MN_HIT) /* Don't show the menu anymore, if this item got hit */
- show_menu = 0;
- }
- else
- drawshadedcenteredtext("Return To Level Editor", 192, letters_blue, NO_UPDATE);
-
- if(menuitem == 1)
- {
- drawshadedcenteredtext("New Level", 224, letters_red, NO_UPDATE);
- if(menuaction == MN_HIT) /* Don't show the menu anymore, if this item got hit */
- {
- show_menu = 0;
- newlevel();
- }
- }
- else
- drawshadedcenteredtext("New Level", 224, letters_blue, NO_UPDATE);
- if(menuitem == 2)
+ if(menuitem > MENU_LEVELEDITOR_ITEM_MAX )
+ menuitem = 0;
+ else if(menuitem < 0)
+ menuitem = MENU_LEVELEDITOR_ITEM_MAX;
+
+ if(menuitem == 0)
+ {
+ drawcenteredtext("Return To Level Editor", 192, letters_red, NO_UPDATE, 2);
+ if(menuaction == MN_HIT) /* Don't show the menu anymore, if this item got hit */
+ show_menu = 0;
+ }
+ else
+ drawcenteredtext("Return To Level Editor", 192, letters_blue, NO_UPDATE, 2);
+
+ if(menuitem == 1)
+ {
+ drawcenteredtext("New Level", 224, letters_red, NO_UPDATE, 2);
+ if(menuaction == MN_HIT) /* Don't show the menu anymore, if this item got hit */
{
- drawshadedcenteredtext("Load Level", 256, letters_red, NO_UPDATE);
- if(menuaction == MN_HIT) /* Quit a running game or the application */
- {
- show_menu = 0;
- selectlevel();
- }
+ show_menu = 0;
+ newlevel();
}
- else
- drawshadedcenteredtext("Load Level", 256, letters_blue, NO_UPDATE);
- if(menuitem == 3)
+ }
+ else
+ drawcenteredtext("New Level", 224, letters_blue, NO_UPDATE, 2);
+ if(menuitem == 2)
+ {
+ drawcenteredtext("Load Level", 256, letters_red, NO_UPDATE, 2);
+ if(menuaction == MN_HIT) /* Create a new Level and load it into the level-editor. */
{
- drawshadedcenteredtext("Save Level", 288, letters_red, NO_UPDATE);
- if(menuaction == MN_HIT) /* Quit a running game or the application */
- {
- show_menu = 0;
- savelevel();
- }
+ show_menu = 0;
+ selectlevel();
}
- else
- drawshadedcenteredtext("Save Level", 288, letters_blue, NO_UPDATE);
+ }
+ else
+ drawcenteredtext("Load Level", 256, letters_blue, NO_UPDATE, 2);
+ if(menuitem == 3)
+ {
+ drawcenteredtext("Save Level", 288, letters_red, NO_UPDATE, 2);
+ if(menuaction == MN_HIT) /* Save the current level in the level-editor. */
+ {
+ show_menu = 0;
+ savelevel();
+ }
+ }
+ else
+ drawcenteredtext("Save Level", 288, letters_blue, NO_UPDATE, 2);
- if(menuitem == 4)
+ if(menuitem == 4)
+ {
+ drawcenteredtext("Quit Level Editor", 320, letters_red, NO_UPDATE, 2);
+ if(menuaction == MN_HIT) /* Quit the level-editor. (to the main-menu) */
{
- drawshadedcenteredtext("Quit Level Editor", 320, letters_red, NO_UPDATE);
- if(menuaction == MN_HIT) /* Quit a running game or the application */
- {
- return 1;
- }
+ return 1;
}
- else
- drawshadedcenteredtext("Quit Level Editor", 320, letters_blue, NO_UPDATE);
+ }
+ else
+ drawcenteredtext("Quit Level Editor", 320, letters_blue, NO_UPDATE, 2);
-return 0;
+ return 0;
}
/* --- MENU --- */
if(menuaction == MN_UP)
{
/* Go one menu-item up */
- --menuitem;
+ --menuitem;
}
else if(menuaction == MN_DOWN)
++menuitem; /* Go one menu-item down */
{
quit = menu_options();
}
- else if(menumenu == MENU_LEVELEDITOR)
+ else if(menumenu == MENU_LEVELEDITOR)
{
- quit = menu_leveleditor();
+ quit = menu_leveleditor();
}
menuaction = -1;