Diffstat (limited to 'noncore/games/sfcave-sdl/menu.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/games/sfcave-sdl/menu.cpp | 41 |
1 files changed, 32 insertions, 9 deletions
diff --git a/noncore/games/sfcave-sdl/menu.cpp b/noncore/games/sfcave-sdl/menu.cpp index 0a7366f..a4a4216 100644 --- a/noncore/games/sfcave-sdl/menu.cpp +++ b/noncore/games/sfcave-sdl/menu.cpp @@ -10,3 +10,3 @@ -MenuOption :: MenuOption( QString text, int id ) +MenuOption :: MenuOption( string text, int id ) { @@ -117,2 +117,3 @@ Menu :: Menu( SFCave *p ) // Game Difficulty menu + MenuOption *customMenu = 0; Menu *gameDifficulty = new Menu( options ); @@ -124,2 +125,3 @@ Menu :: Menu( SFCave *p ) item->setNextMenu( options, false ); + customMenu = gameDifficulty->addMenuOption( "Custom", MENU_DIFFICULTY_CUSTOM ); item = gameDifficulty->addMenuOption( "Back", MENU_BACK ); @@ -138,2 +140,25 @@ Menu :: Menu( SFCave *p ) + // Custom Menu + Menu *custom = new Menu( gameDifficulty ); + Menu *updown = new Menu( custom ); + item = custom->addMenuOption( "Thrust", MENU_CUSTOM_THRUST ); + item->setNextMenu( updown ); + item = custom->addMenuOption( "Gravity", MENU_CUSTOM_GRAVITY ); + item->setNextMenu( updown ); + item = custom->addMenuOption( "Max Speed Up", MENU_CUSTOM_MAXSPEEDUP ); + item->setNextMenu( updown ); + item = custom->addMenuOption( "Max Speed Down", MENU_CUSTOM_MAXSPEEDDOWN ); + item->setNextMenu( updown ); + item = custom->addMenuOption( "Back", MENU_BACK ); + item->setNextMenu( gameDifficulty, false ); + customMenu->setNextMenu( custom ); + + // Up down menu + item = updown->addMenuOption( "Increase", MENU_CUSTOM_INCREASE ); + item = updown->addMenuOption( "Decrease", MENU_CUSTOM_DECREASE ); + item = updown->addMenuOption( "Save", MENU_CUSTOM_SAVE ); + item->setNextMenu( custom, false ); + item = updown->addMenuOption( "Cancel", MENU_CUSTOM_CANCEL ); + item->setNextMenu( custom, false ); + // Set static variables for menu selection up @@ -217,3 +242,2 @@ int Menu :: handleKeys( SDL_KeyboardEvent &key ) - statusText = ""; switch( key.keysym.sym ) @@ -278,4 +302,4 @@ int Menu :: handleKeys( SDL_KeyboardEvent &key ) { + statusText = ""; currentMenu = currentMenu->parentMenu; - printf( "HERE\n" ); @@ -288,5 +312,7 @@ int Menu :: handleKeys( SDL_KeyboardEvent &key ) { + statusText = ""; // select menu item int id = currentMenu->currentMenuOption->getMenuId(); -// // if the current item has a child menu then move to that menu + + // if the current item has a child menu then move to that menu Menu *next = currentMenu->currentMenuOption->getNextMenu(); @@ -298,8 +324,5 @@ int Menu :: handleKeys( SDL_KeyboardEvent &key ) initCurrentMenu(); -// return -1; } -// else - { + return id; - } @@ -315,3 +338,3 @@ int Menu :: handleKeys( SDL_KeyboardEvent &key ) -MenuOption *Menu :: addMenuOption( QString text, int id ) +MenuOption *Menu :: addMenuOption( string text, int id ) { |