Merge pull request #137 from RogueMaster/ul-betterdummy

Add Dummy Mode Game Shortcuts to Scene & View
This commit is contained in:
MX 2022-10-28 17:32:37 +03:00 committed by GitHub
commit 99ddb235e0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 69 additions and 3 deletions

View file

@ -195,6 +195,46 @@ bool desktop_scene_main_on_event(void* context, SceneManagerEvent event) {
}
break;
}
case DesktopMainEventOpenTetris: {
LoaderStatus status = loader_start(
desktop->loader, FAP_LOADER_APP_NAME, EXT_PATH("/apps/Games/Tetris.fap"));
if(status != LoaderStatusOk) {
FURI_LOG_E(TAG, "loader_start failed: %d", status);
}
break;
}
case DesktopMainEventOpenArkanoid: {
LoaderStatus status = loader_start(
desktop->loader, FAP_LOADER_APP_NAME, EXT_PATH("/apps/Games/Arkanoid.fap"));
if(status != LoaderStatusOk) {
FURI_LOG_E(TAG, "loader_start failed: %d", status);
}
break;
}
case DesktopMainEventOpenDOOM: {
LoaderStatus status = loader_start(
desktop->loader, FAP_LOADER_APP_NAME, EXT_PATH("/apps/Games/DOOM.fap"));
if(status != LoaderStatusOk) {
FURI_LOG_E(TAG, "loader_start failed: %d", status);
}
break;
}
case DesktopMainEventOpenZombiez: {
LoaderStatus status = loader_start(
desktop->loader, FAP_LOADER_APP_NAME, EXT_PATH("/apps/Games/Zombiez.fap"));
if(status != LoaderStatusOk) {
FURI_LOG_E(TAG, "loader_start failed: %d", status);
}
break;
}
case DesktopMainEventOpenHeap: {
LoaderStatus status = loader_start(
desktop->loader, FAP_LOADER_APP_NAME, EXT_PATH("/apps/Games/heap_defence.fap"));
if(status != LoaderStatusOk) {
FURI_LOG_E(TAG, "loader_start failed: %d", status);
}
break;
}
case DesktopLockedEventUpdate:
desktop_view_locked_update(desktop->locked_view);
consumed = true;

View file

@ -12,6 +12,11 @@ typedef enum {
DesktopMainEventLock,
DesktopMainEventOpenGameMenu,
DesktopMainEventOpenTetris,
DesktopMainEventOpenArkanoid,
DesktopMainEventOpenDOOM,
DesktopMainEventOpenZombiez,
DesktopMainEventOpenHeap,
DesktopLockedEventUnlocked,
DesktopLockedEventUpdate,

View file

@ -69,20 +69,41 @@ bool desktop_main_input_callback(InputEvent* event, void* context) {
main_view->callback(DesktopMainEventOpenFavoriteSecondary, main_view->context);
} else if(event->key == InputKeyUp) {
main_view->callback(DesktopMainEventLock, main_view->context);
} else if(event->key == InputKeyOk) {
if(furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug)) {
main_view->callback(DesktopAnimationEventNewIdleAnimation, main_view->context);
}
}
}
} else {
if(event->type == InputTypeShort) {
if(event->key == InputKeyOk) {
main_view->callback(DesktopMainEventOpenGameMenu, main_view->context);
main_view->callback(
DesktopMainEventOpenGameMenu, main_view->context); // OPENS Snake
} else if(event->key == InputKeyUp) {
main_view->callback(DesktopMainEventOpenLockMenu, main_view->context);
} else if(event->key == InputKeyDown) {
main_view->callback(DesktopMainEventOpenPassport, main_view->context);
main_view->callback(
DesktopMainEventOpenTetris, main_view->context); // OPENS Tetris
} else if(event->key == InputKeyLeft) {
main_view->callback(DesktopMainEventOpenPassport, main_view->context);
main_view->callback(
DesktopMainEventOpenArkanoid, main_view->context); // OPENS Arkanoid
}
// Right key is handled by animation manager
} else if(event->type == InputTypeLong) {
if(event->key == InputKeyOk) {
if(furi_hal_rtc_is_flag_set(FuriHalRtcFlagDebug)) {
main_view->callback(DesktopAnimationEventNewIdleAnimation, main_view->context);
}
} else if(event->key == InputKeyUp) {
main_view->callback(DesktopMainEventOpenDOOM, main_view->context); // OPENS DOOM
} else if(event->key == InputKeyDown) {
main_view->callback(
DesktopMainEventOpenZombiez, main_view->context); // OPENS Zombiez
} else if(event->key == InputKeyLeft) {
main_view->callback(
DesktopMainEventOpenHeap, main_view->context); // OPENS Heap Defence
}
}
}