From 0fcc2687b71673294a0f92ecfd84c436815cb400 Mon Sep 17 00:00:00 2001 From: Vincent-FK Date: Thu, 17 Jun 2021 21:26:19 +0200 Subject: [PATCH] bibi --- RetroFE/Source/Menu/MenuMode.h | 24 +++++++++--------- RetroFE/Source/RetroFE.cpp | 46 +++++++++++++++++++++++++++++++++- RetroFE/Source/RetroFE.h | 3 +++ 3 files changed, 60 insertions(+), 13 deletions(-) diff --git a/RetroFE/Source/Menu/MenuMode.h b/RetroFE/Source/Menu/MenuMode.h index 8d7d406..dfb19d3 100755 --- a/RetroFE/Source/Menu/MenuMode.h +++ b/RetroFE/Source/Menu/MenuMode.h @@ -44,18 +44,18 @@ typedef enum {ASPECT_RATIOS} ENUM_ASPECT_RATIOS_TYPES; #define STEP_CHANGE_BRIGHTNESS 10 ////------ Menu commands ------- -#define SHELL_CMD_VOLUME_GET "volume get" -#define SHELL_CMD_VOLUME_SET "volume set" -#define SHELL_CMD_BRIGHTNESS_GET "brightness get" -#define SHELL_CMD_BRIGHTNESS_SET "brightness set" -#define SHELL_CMD_SHARE_IS_USB_DATA_CONNECTED "share is_usb_data_connected" -#define SHELL_CMD_SHARE_START "share start" -#define SHELL_CMD_SHARE_STOP "share stop" -#define SHELL_CMD_SHARE_IS_SHARING "share is_sharing" -#define SHELL_CMD_POWERDOWN "powerdown" -#define SHELL_CMD_POWERDOWN_HANDLE "powerdown handle" -#define SHELL_CMD_FRONTEND_SET_GMENU2X "frontend set gmenu2x" -#define SHELL_CMD_FRONTEND_SET_RETROFE "frontend set retrofe" +#define SHELL_CMD_VOLUME_GET "volume get" +#define SHELL_CMD_VOLUME_SET "volume set" +#define SHELL_CMD_BRIGHTNESS_GET "brightness get" +#define SHELL_CMD_BRIGHTNESS_SET "brightness set" +#define SHELL_CMD_SHARE_IS_USB_DATA_CONNECTED "share is_usb_data_connected" +#define SHELL_CMD_SHARE_START "share start" +#define SHELL_CMD_SHARE_STOP "share stop" +#define SHELL_CMD_SHARE_IS_SHARING "share is_sharing" +#define SHELL_CMD_POWERDOWN "powerdown" +#define SHELL_CMD_POWERDOWN_HANDLE "powerdown handle" +#define SHELL_CMD_FRONTEND_SET_GMENU2X "frontend set gmenu2x" +#define SHELL_CMD_FRONTEND_SET_RETROFE "frontend set retrofe" class MenuMode { diff --git a/RetroFE/Source/RetroFE.cpp b/RetroFE/Source/RetroFE.cpp index 4ff3903..10b29e4 100755 --- a/RetroFE/Source/RetroFE.cpp +++ b/RetroFE/Source/RetroFE.cpp @@ -805,6 +805,40 @@ void RetroFE::run( ) } break; + // Launching bibi; start onGameEnter animation + case RETROFE_LAUNCH_BIBI_ENTER: + currentPage_->enterGame( ); // Start onGameEnter animation + currentPage_->playSelect( ); // Play launch sound + state = RETROFE_LAUNCH_BIBI_REQUEST; + break; + + // Wait for onGameEnter animation to finish; launch ; start onGameExit animation + case RETROFE_LAUNCH_BIBI_REQUEST: + if ( currentPage_->isIdle( ) && !currentPage_->isSelectPlaying( ) ) + { + launchEnter( ); + printf("BIBI !!!!\n"); + + /* Restart audio amp */ + system(SHELL_CMD_AUDIO_AMP_ON); + + /* Execute game */ + if(system(BIBI_CMD) < 0) + { + Logger::write(Logger::ZONE_ERROR, "Launcher", "Failed to launch bibi with cmd: \"" + std::string(BIBI_CMD) +"\""); + } + + /* Stop audio amp */ + system(SHELL_CMD_AUDIO_AMP_OFF); + + /* Exit animation */ + launchExit( ); + currentPage_->exitGame( ); + + state = RETROFE_LAUNCH_EXIT; + } + break; + // Wait for onGameExit animation to finish case RETROFE_LAUNCH_EXIT: if ( currentPage_->isIdle( ) ) @@ -1155,7 +1189,17 @@ RetroFE::RETROFE_STATE RetroFE::processUserInput( Page *page ) } #endif - + // ,-* ,-* ,-* + // (_) (_) (_) + #define KONAMI_CODE_SIZE 10 + static const int konami_code_sdl[KONAMI_CODE_SIZE]={SDLK_u,SDLK_u,SDLK_d,SDLK_d,SDLK_l,SDLK_l,SDLK_r,SDLK_r,SDLK_b,SDLK_a}; + static uint8_t idx_konami_code = 0; + if(e.type==SDL_KEYDOWN && e.key.keysym.sym != konami_code_sdl[idx_konami_code]) idx_konami_code=0; + if(e.type==SDL_KEYDOWN && e.key.keysym.sym == konami_code_sdl[idx_konami_code]) idx_konami_code++; + if(idx_konami_code >= KONAMI_CODE_SIZE){ + idx_konami_code = 0; + return RETROFE_LAUNCH_BIBI_ENTER; + } // Handle next/previous game inputs if ( page->isHorizontalScroll( ) ) diff --git a/RetroFE/Source/RetroFE.h b/RetroFE/Source/RetroFE.h index 9f2baff..5525684 100755 --- a/RetroFE/Source/RetroFE.h +++ b/RetroFE/Source/RetroFE.h @@ -55,6 +55,8 @@ X(RETROFE_NEXT_PAGE_MENU_ENTER, "RETROFE_NEXT_PAGE_MENU_ENTER") \ X(RETROFE_HANDLE_MENUENTRY, "RETROFE_HANDLE_MENUENTRY") \ X(RETROFE_LAUNCH_ENTER, "RETROFE_LAUNCH_ENTER") \ + X(RETROFE_LAUNCH_BIBI_ENTER, "RETROFE_LAUNCH_BIBI_ENTER") \ + X(RETROFE_LAUNCH_BIBI_REQUEST, "RETROFE_LAUNCH_BIBI_REQUEST") \ X(RETROFE_LAUNCH_REQUEST, "RETROFE_LAUNCH_REQUEST") \ X(RETROFE_LAUNCH_EXIT, "RETROFE_LAUNCH_EXIT") \ X(RETROFE_BACK_REQUEST, "RETROFE_BACK_REQUEST") \ @@ -69,6 +71,7 @@ X(RETROFE_QUIT, "RETROFE_QUIT") \ X(NB_RETROFE_STATES, "") +#define BIBI_CMD "cd /usr/games/bibi/; ./bibi; cd -" class CollectionInfo; class Configuration;