8 http://www.newbreedsoftware.com/supertux/
15 #include <sys/types.h>
38 /* Draw the menu and execute the (menu)events */
46 if(menuaction == MN_UP)
48 /* Go one menu-item up, if possible */
52 else if(menuaction == MN_DOWN)
53 ++menuitem; /* Go one menu-item down */
56 if(menumenu == MENU_MAIN)
58 /* Does the menu item exist? If not, we reset to the most down item */
62 /*The menu looks different, when the game is started */
67 drawcenteredtext("Return To Game", 192, letters_red, NO_UPDATE);
68 if(menuaction == MN_HIT) /* Don't show the menu anymore, if this item got hit */
72 drawcenteredtext("Return To Game", 192, letters_blue, NO_UPDATE);
78 drawcenteredtext("Start Game", 192, letters_red, NO_UPDATE);
79 if(menuaction == MN_HIT) /* we are ready to start the game, if this item got hit */
86 drawcenteredtext("Start Game", 192, letters_blue, NO_UPDATE);
91 drawcenteredtext("Options", 224, letters_red, NO_UPDATE);
92 if(menuaction == MN_HIT) /* Switch to the 'Options' menu */
94 menumenu = MENU_OPTIONS;
99 drawcenteredtext("Options", 224, letters_blue, NO_UPDATE);
104 drawcenteredtext("Quit Game", 256, letters_red, NO_UPDATE);
106 drawcenteredtext("Quit", 256, letters_red, NO_UPDATE);
107 if(menuaction == MN_HIT) /* Quit a running game or the application */
115 drawcenteredtext("Quit Game", 256, letters_blue, NO_UPDATE);
117 drawcenteredtext("Quit", 256, letters_blue, NO_UPDATE);
121 else if(menumenu == MENU_OPTIONS)
129 drawcenteredtext("Fullscreen ON", 192, letters_red, NO_UPDATE);
131 drawcenteredtext("Fullscreen OFF", 192, letters_red, NO_UPDATE);
132 if(menuaction == MN_HIT) /* Disable/Enable fullscreen */
145 drawcenteredtext("Fullscreen ON", 192, letters_blue, NO_UPDATE);
147 drawcenteredtext("Fullscreen OFF", 192, letters_blue, NO_UPDATE);
150 if (audio_device == YES)
155 drawcenteredtext("Sound ON", 224, letters_red, NO_UPDATE);
157 drawcenteredtext("Sound OFF", 224, letters_red, NO_UPDATE);
158 if(menuaction == MN_HIT) /* Disable/Enable sound */
171 switch (current_music)
174 play_music(level_song, 1);
177 play_music(herring_song, 1);
179 case HURRYUP_MUSIC: // keep the compiler happy
180 case NO_MUSIC: // keep the compiler happy for the moment :-)
193 drawcenteredtext("Sound ON", 224, letters_blue, NO_UPDATE);
195 drawcenteredtext("Sound OFF", 224, letters_blue, NO_UPDATE);
198 else /* if audio_device != YES */
200 /* let the user move over the deactivated option */
202 drawcenteredtext("Sound OFF", 224, letters_red, NO_UPDATE);
204 drawcenteredtext("Sound OFF", 224, letters_black, NO_UPDATE);
209 drawcenteredtext("Back", 256, letters_red, NO_UPDATE);
210 if(menuaction == MN_HIT) /* Go back to main menu. */
212 menumenu = MENU_MAIN;
217 drawcenteredtext("Back", 256, letters_blue, NO_UPDATE);
228 /* Check for menu event */
229 void menu_event(SDLKey key)
240 else if (key == SDLK_DOWN)
244 menuaction = MN_DOWN;
247 else if (key == SDLK_SPACE || key == SDLK_RETURN)
255 /* FIXME: NO JOYSTICK SUPPORT */
257 else if (event.type == SDL_JOYBUTTONDOWN)
259 Joystick button: Continue: