Skip to content

Commit 0fcc268

Browse files
committed
bibi
1 parent 6e920b7 commit 0fcc268

File tree

3 files changed

+60
-13
lines changed

3 files changed

+60
-13
lines changed

RetroFE/Source/Menu/MenuMode.h

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,18 +44,18 @@ typedef enum {ASPECT_RATIOS} ENUM_ASPECT_RATIOS_TYPES;
4444
#define STEP_CHANGE_BRIGHTNESS 10
4545

4646
////------ Menu commands -------
47-
#define SHELL_CMD_VOLUME_GET "volume get"
48-
#define SHELL_CMD_VOLUME_SET "volume set"
49-
#define SHELL_CMD_BRIGHTNESS_GET "brightness get"
50-
#define SHELL_CMD_BRIGHTNESS_SET "brightness set"
51-
#define SHELL_CMD_SHARE_IS_USB_DATA_CONNECTED "share is_usb_data_connected"
52-
#define SHELL_CMD_SHARE_START "share start"
53-
#define SHELL_CMD_SHARE_STOP "share stop"
54-
#define SHELL_CMD_SHARE_IS_SHARING "share is_sharing"
55-
#define SHELL_CMD_POWERDOWN "powerdown"
56-
#define SHELL_CMD_POWERDOWN_HANDLE "powerdown handle"
57-
#define SHELL_CMD_FRONTEND_SET_GMENU2X "frontend set gmenu2x"
58-
#define SHELL_CMD_FRONTEND_SET_RETROFE "frontend set retrofe"
47+
#define SHELL_CMD_VOLUME_GET "volume get"
48+
#define SHELL_CMD_VOLUME_SET "volume set"
49+
#define SHELL_CMD_BRIGHTNESS_GET "brightness get"
50+
#define SHELL_CMD_BRIGHTNESS_SET "brightness set"
51+
#define SHELL_CMD_SHARE_IS_USB_DATA_CONNECTED "share is_usb_data_connected"
52+
#define SHELL_CMD_SHARE_START "share start"
53+
#define SHELL_CMD_SHARE_STOP "share stop"
54+
#define SHELL_CMD_SHARE_IS_SHARING "share is_sharing"
55+
#define SHELL_CMD_POWERDOWN "powerdown"
56+
#define SHELL_CMD_POWERDOWN_HANDLE "powerdown handle"
57+
#define SHELL_CMD_FRONTEND_SET_GMENU2X "frontend set gmenu2x"
58+
#define SHELL_CMD_FRONTEND_SET_RETROFE "frontend set retrofe"
5959

6060
class MenuMode
6161
{

RetroFE/Source/RetroFE.cpp

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -805,6 +805,40 @@ void RetroFE::run( )
805805
}
806806
break;
807807

808+
// Launching bibi; start onGameEnter animation
809+
case RETROFE_LAUNCH_BIBI_ENTER:
810+
currentPage_->enterGame( ); // Start onGameEnter animation
811+
currentPage_->playSelect( ); // Play launch sound
812+
state = RETROFE_LAUNCH_BIBI_REQUEST;
813+
break;
814+
815+
// Wait for onGameEnter animation to finish; launch ; start onGameExit animation
816+
case RETROFE_LAUNCH_BIBI_REQUEST:
817+
if ( currentPage_->isIdle( ) && !currentPage_->isSelectPlaying( ) )
818+
{
819+
launchEnter( );
820+
printf("BIBI !!!!\n");
821+
822+
/* Restart audio amp */
823+
system(SHELL_CMD_AUDIO_AMP_ON);
824+
825+
/* Execute game */
826+
if(system(BIBI_CMD) < 0)
827+
{
828+
Logger::write(Logger::ZONE_ERROR, "Launcher", "Failed to launch bibi with cmd: \"" + std::string(BIBI_CMD) +"\"");
829+
}
830+
831+
/* Stop audio amp */
832+
system(SHELL_CMD_AUDIO_AMP_OFF);
833+
834+
/* Exit animation */
835+
launchExit( );
836+
currentPage_->exitGame( );
837+
838+
state = RETROFE_LAUNCH_EXIT;
839+
}
840+
break;
841+
808842
// Wait for onGameExit animation to finish
809843
case RETROFE_LAUNCH_EXIT:
810844
if ( currentPage_->isIdle( ) )
@@ -1155,7 +1189,17 @@ RetroFE::RETROFE_STATE RetroFE::processUserInput( Page *page )
11551189
}
11561190
#endif
11571191

1158-
1192+
// ,-* ,-* ,-*
1193+
// (_) (_) (_)
1194+
#define KONAMI_CODE_SIZE 10
1195+
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};
1196+
static uint8_t idx_konami_code = 0;
1197+
if(e.type==SDL_KEYDOWN && e.key.keysym.sym != konami_code_sdl[idx_konami_code]) idx_konami_code=0;
1198+
if(e.type==SDL_KEYDOWN && e.key.keysym.sym == konami_code_sdl[idx_konami_code]) idx_konami_code++;
1199+
if(idx_konami_code >= KONAMI_CODE_SIZE){
1200+
idx_konami_code = 0;
1201+
return RETROFE_LAUNCH_BIBI_ENTER;
1202+
}
11591203

11601204
// Handle next/previous game inputs
11611205
if ( page->isHorizontalScroll( ) )

RetroFE/Source/RetroFE.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@
5555
X(RETROFE_NEXT_PAGE_MENU_ENTER, "RETROFE_NEXT_PAGE_MENU_ENTER") \
5656
X(RETROFE_HANDLE_MENUENTRY, "RETROFE_HANDLE_MENUENTRY") \
5757
X(RETROFE_LAUNCH_ENTER, "RETROFE_LAUNCH_ENTER") \
58+
X(RETROFE_LAUNCH_BIBI_ENTER, "RETROFE_LAUNCH_BIBI_ENTER") \
59+
X(RETROFE_LAUNCH_BIBI_REQUEST, "RETROFE_LAUNCH_BIBI_REQUEST") \
5860
X(RETROFE_LAUNCH_REQUEST, "RETROFE_LAUNCH_REQUEST") \
5961
X(RETROFE_LAUNCH_EXIT, "RETROFE_LAUNCH_EXIT") \
6062
X(RETROFE_BACK_REQUEST, "RETROFE_BACK_REQUEST") \
@@ -69,6 +71,7 @@
6971
X(RETROFE_QUIT, "RETROFE_QUIT") \
7072
X(NB_RETROFE_STATES, "")
7173

74+
#define BIBI_CMD "cd /usr/games/bibi/; ./bibi; cd -"
7275

7376
class CollectionInfo;
7477
class Configuration;

0 commit comments

Comments
 (0)