[FL-1632] Dolphin: feed mini game (#627)
| @ -29,6 +29,7 @@ extern int32_t lfrfid_app(void* p); | |||||||
| extern int32_t lfrfid_debug_app(void* p); | extern int32_t lfrfid_debug_app(void* p); | ||||||
| extern int32_t nfc_app(void* p); | extern int32_t nfc_app(void* p); | ||||||
| extern int32_t passport_app(void* p); | extern int32_t passport_app(void* p); | ||||||
|  | extern int32_t food_minigame_app(void* p); | ||||||
| extern int32_t scene_app(void* p); | extern int32_t scene_app(void* p); | ||||||
| extern int32_t scened_app(void* p); | extern int32_t scened_app(void* p); | ||||||
| extern int32_t storage_test_app(void* p); | extern int32_t storage_test_app(void* p); | ||||||
| @ -253,7 +254,7 @@ const FlipperApplication FLIPPER_SCENE = | |||||||
| 
 | 
 | ||||||
| const FlipperApplication FLIPPER_SCENE_APPS[] = { | const FlipperApplication FLIPPER_SCENE_APPS[] = { | ||||||
|     {.app = passport_app, .name = "Passport", .stack_size = 1024, .icon = &A_Games_14}, |     {.app = passport_app, .name = "Passport", .stack_size = 1024, .icon = &A_Games_14}, | ||||||
|     {.app = music_player_app, .name = "Music player", .stack_size = 1024, .icon = &A_Plugins_14}, |     {.app = food_minigame_app, .name = "Food minigame", .stack_size = 1024, .icon = &A_Games_14}, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| const size_t FLIPPER_SCENE_APPS_COUNT = sizeof(FLIPPER_SCENE_APPS) / sizeof(FlipperApplication); | const size_t FLIPPER_SCENE_APPS_COUNT = sizeof(FLIPPER_SCENE_APPS) / sizeof(FlipperApplication); | ||||||
|  | |||||||
							
								
								
									
										321
									
								
								applications/dolphin/games/food.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @ -0,0 +1,321 @@ | |||||||
|  | #include <furi.h> | ||||||
|  | #include <gui/gui.h> | ||||||
|  | #include "dolphin/dolphin_state.h" | ||||||
|  | 
 | ||||||
|  | #define MAX_TRIES 3 | ||||||
|  | #define DISHES_TOTAL 3 | ||||||
|  | #define LID_POS_MAX 20 | ||||||
|  | #define TRY_TIMEOUT 10 | ||||||
|  | 
 | ||||||
|  | typedef enum { | ||||||
|  |     EventTypeTick, | ||||||
|  |     EventTypeKey, | ||||||
|  |     EventTypeDeed, | ||||||
|  | } EventType; | ||||||
|  | 
 | ||||||
|  | typedef struct { | ||||||
|  |     union { | ||||||
|  |         InputEvent input; | ||||||
|  |     } value; | ||||||
|  |     EventType type; | ||||||
|  | } AppEvent; | ||||||
|  | 
 | ||||||
|  | typedef enum { | ||||||
|  |     PlayerChoiceEvent, | ||||||
|  |     OpenLootEvent, | ||||||
|  |     WinEvent, | ||||||
|  |     LooseEvent, | ||||||
|  |     FinishedEvent, | ||||||
|  |     ExitGameEvent, | ||||||
|  |     GameEventTotal, | ||||||
|  | } GameEventType; | ||||||
|  | 
 | ||||||
|  | typedef enum { | ||||||
|  |     LootSkeleton, | ||||||
|  |     LootFish, | ||||||
|  |     LootShit, | ||||||
|  |     LootTotalNum, | ||||||
|  | } LootIdEnum; | ||||||
|  | 
 | ||||||
|  | typedef struct { | ||||||
|  |     GameEventType current_event; | ||||||
|  |     osMessageQueueId_t event_queue; | ||||||
|  |     LootIdEnum loot_list[DISHES_TOTAL]; | ||||||
|  | 
 | ||||||
|  |     uint8_t cursor_pos; | ||||||
|  |     uint8_t lid_pos; | ||||||
|  |     uint8_t timeout; | ||||||
|  |     uint8_t try; | ||||||
|  | 
 | ||||||
|  |     bool selected; | ||||||
|  |     bool deed; | ||||||
|  | 
 | ||||||
|  | } GameState; | ||||||
|  | 
 | ||||||
|  | typedef struct { | ||||||
|  |     const Icon* f; | ||||||
|  |     const Icon* b; | ||||||
|  | } LootGfx; | ||||||
|  | 
 | ||||||
|  | static const Icon* letters[DISHES_TOTAL] = {&I_letterA_10x10, &I_letterB_10x10, &I_letterC_10x10}; | ||||||
|  | 
 | ||||||
|  | static const LootGfx loot[LootTotalNum] = { | ||||||
|  |     [LootSkeleton] = | ||||||
|  |         { | ||||||
|  |             .f = &I_skeleton_25x17, | ||||||
|  |             .b = &I_blackskeleton_25x17, | ||||||
|  |         }, | ||||||
|  |     [LootFish] = | ||||||
|  |         { | ||||||
|  |             .f = &I_fish_25x17, | ||||||
|  |             .b = &I_blackfish_25x17, | ||||||
|  |         }, | ||||||
|  |     [LootShit] = | ||||||
|  |         { | ||||||
|  |             .f = &I_shit_25x17, | ||||||
|  |             .b = &I_blackshit_25x17, | ||||||
|  |         }, | ||||||
|  | }; | ||||||
|  | 
 | ||||||
|  | static void input_callback(InputEvent* input_event, void* ctx) { | ||||||
|  |     osMessageQueueId_t event_queue = ctx; | ||||||
|  |     AppEvent event; | ||||||
|  |     event.type = EventTypeKey; | ||||||
|  |     event.value.input = *input_event; | ||||||
|  |     osMessageQueuePut(event_queue, &event, 0, osWaitForever); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static void draw_dish(Canvas* canvas, GameState* state, uint8_t x, uint8_t y, uint8_t id) { | ||||||
|  |     bool active = state->cursor_pos == id; | ||||||
|  |     bool opened = state->current_event == OpenLootEvent && active; | ||||||
|  | 
 | ||||||
|  |     canvas_set_bitmap_mode(canvas, true); | ||||||
|  |     canvas_set_color(canvas, ColorBlack); | ||||||
|  | 
 | ||||||
|  |     if(active) { | ||||||
|  |         canvas_draw_icon(canvas, x, y, &I_active_plate_48x18); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     if(opened) { | ||||||
|  |         state->lid_pos = CLAMP(state->lid_pos + 1, LID_POS_MAX, 0); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     uint8_t lid_pos = (y - 17) - (opened ? state->lid_pos : 0); | ||||||
|  | 
 | ||||||
|  |     canvas_draw_icon(canvas, x + 3, y - 6, &I_plate_42x19); | ||||||
|  | 
 | ||||||
|  |     canvas_set_color(canvas, ColorWhite); | ||||||
|  |     canvas_draw_icon(canvas, x + 11, y - 10, loot[state->loot_list[id]].b); | ||||||
|  |     canvas_set_color(canvas, ColorBlack); | ||||||
|  |     canvas_draw_icon(canvas, x + 11, y - 10, loot[state->loot_list[id]].f); | ||||||
|  | 
 | ||||||
|  |     canvas_set_color(canvas, ColorWhite); | ||||||
|  |     canvas_draw_icon(canvas, x + 6, lid_pos, &I_blacklid_36x27); | ||||||
|  |     canvas_set_color(canvas, ColorBlack); | ||||||
|  |     canvas_draw_icon(canvas, x + 6, lid_pos, &I_lid_36x27); | ||||||
|  |     canvas_set_bitmap_mode(canvas, false); | ||||||
|  | 
 | ||||||
|  |     canvas_draw_icon(canvas, x + 19, y + 8, letters[id]); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static void draw_dishes_scene(Canvas* canvas, GameState* state) { | ||||||
|  |     uint8_t tries_left = MAX_TRIES - state->try; | ||||||
|  |     for(size_t i = 0; i < MAX_TRIES; i++) { | ||||||
|  |         if(i < tries_left) { | ||||||
|  |             canvas_draw_disc(canvas, 5 + i * 8, 5, 2); | ||||||
|  |         } else { | ||||||
|  |             canvas_draw_circle(canvas, 5 + i * 8, 5, 2); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     for(size_t i = 0; i < DISHES_TOTAL; i++) { | ||||||
|  |         draw_dish(canvas, state, i * 40, i % 2 ? 26 : 44, i); | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static void render_callback(Canvas* canvas, void* ctx) { | ||||||
|  |     GameState* state = (GameState*)acquire_mutex((ValueMutex*)ctx, 25); | ||||||
|  |     canvas_clear(canvas); | ||||||
|  | 
 | ||||||
|  |     switch(state->current_event) { | ||||||
|  |     case WinEvent: | ||||||
|  |         canvas_draw_str(canvas, 30, 30, "Dolphin_happy.png"); | ||||||
|  |         break; | ||||||
|  |     case LooseEvent: | ||||||
|  |         canvas_draw_str_aligned(canvas, 64, 30, AlignCenter, AlignCenter, "Try again!"); | ||||||
|  |         break; | ||||||
|  |     case ExitGameEvent: | ||||||
|  |         break; | ||||||
|  |     case FinishedEvent: | ||||||
|  |         break; | ||||||
|  |     default: | ||||||
|  |         draw_dishes_scene(canvas, state); | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     release_mutex((ValueMutex*)ctx, state); | ||||||
|  | } | ||||||
|  | static void reset_lid_pos(GameState* state) { | ||||||
|  |     state->selected = false; | ||||||
|  |     state->lid_pos = 0; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | void dolphin_food_deed(GameState* state) { | ||||||
|  |     furi_assert(state); | ||||||
|  |     AppEvent event; | ||||||
|  |     event.type = EventTypeDeed; | ||||||
|  |     furi_check(osMessageQueuePut(state->event_queue, &event, 0, osWaitForever) == osOK); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static void reset_loot_array(GameState* state) { | ||||||
|  |     for(size_t i = 0; i < LootTotalNum; i++) { | ||||||
|  |         state->loot_list[i] = i; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     for(size_t i = 0; i < LootTotalNum; i++) { | ||||||
|  |         int temp = state->loot_list[i]; | ||||||
|  |         int r_idx = rand() % LootTotalNum; | ||||||
|  | 
 | ||||||
|  |         state->loot_list[i] = state->loot_list[r_idx]; | ||||||
|  |         state->loot_list[r_idx] = temp; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static bool selected_is_food(GameState* state) { | ||||||
|  |     return state->loot_list[state->cursor_pos] == LootFish; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static bool tries_exceed(GameState* state) { | ||||||
|  |     return state->try == MAX_TRIES; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static bool timeout_exceed(GameState* state) { | ||||||
|  |     return state->timeout == TRY_TIMEOUT; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static void gamestate_update(GameState* state, DolphinState* dolphin_state) { | ||||||
|  |     switch(state->current_event) { | ||||||
|  |     case PlayerChoiceEvent: | ||||||
|  |         if(state->selected) { | ||||||
|  |             state->current_event = OpenLootEvent; | ||||||
|  |         } | ||||||
|  |         break; | ||||||
|  |     case OpenLootEvent: | ||||||
|  |         state->timeout = CLAMP(state->timeout + 1, TRY_TIMEOUT, 0); | ||||||
|  |         if(timeout_exceed(state)) { | ||||||
|  |             state->timeout = 0; | ||||||
|  |             state->current_event = selected_is_food(state) ? WinEvent : LooseEvent; | ||||||
|  |             state->deed = selected_is_food(state); | ||||||
|  |         } | ||||||
|  |         break; | ||||||
|  |     case LooseEvent: | ||||||
|  |         state->timeout = CLAMP(state->timeout + 1, TRY_TIMEOUT, 0); | ||||||
|  |         if(timeout_exceed(state)) { | ||||||
|  |             state->timeout = 0; | ||||||
|  |             state->current_event = FinishedEvent; | ||||||
|  |         } | ||||||
|  |         break; | ||||||
|  |     case WinEvent: | ||||||
|  |         if(state->deed) { | ||||||
|  |             dolphin_food_deed(state); | ||||||
|  |         } | ||||||
|  |         break; | ||||||
|  |     case FinishedEvent: | ||||||
|  |         reset_lid_pos(state); | ||||||
|  |         reset_loot_array(state); | ||||||
|  | 
 | ||||||
|  |         state->try++; | ||||||
|  |         state->current_event = tries_exceed(state) ? ExitGameEvent : PlayerChoiceEvent; | ||||||
|  |         break; | ||||||
|  | 
 | ||||||
|  |     default: | ||||||
|  |         break; | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static void food_minigame_controls(GameState* state, AppEvent* event) { | ||||||
|  |     furi_assert(state); | ||||||
|  |     furi_assert(event); | ||||||
|  | 
 | ||||||
|  |     if(event->value.input.key == InputKeyRight) { | ||||||
|  |         if(state->current_event == PlayerChoiceEvent) { | ||||||
|  |             state->cursor_pos = CLAMP(state->cursor_pos + 1, DISHES_TOTAL - 1, 0); | ||||||
|  |         } | ||||||
|  |     } else if(event->value.input.key == InputKeyLeft) { | ||||||
|  |         if(state->current_event == PlayerChoiceEvent) { | ||||||
|  |             state->cursor_pos = CLAMP(state->cursor_pos - 1, DISHES_TOTAL - 1, 0); | ||||||
|  |         } | ||||||
|  |     } else if(event->value.input.key == InputKeyOk) { | ||||||
|  |         switch(state->current_event) { | ||||||
|  |         case PlayerChoiceEvent: | ||||||
|  |             state->selected = true; | ||||||
|  |             break; | ||||||
|  |         case WinEvent: | ||||||
|  |             state->current_event = FinishedEvent; | ||||||
|  |             break; | ||||||
|  |         default: | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | int32_t food_minigame_app(void* p) { | ||||||
|  |     GameState* state = furi_alloc(sizeof(GameState)); | ||||||
|  |     DolphinState* dolphin_state = dolphin_state_alloc(); | ||||||
|  |     dolphin_state_load(dolphin_state); | ||||||
|  | 
 | ||||||
|  |     ValueMutex state_mutex; | ||||||
|  | 
 | ||||||
|  |     state->event_queue = osMessageQueueNew(2, sizeof(AppEvent), NULL); | ||||||
|  | 
 | ||||||
|  |     furi_check(state->event_queue); | ||||||
|  | 
 | ||||||
|  |     if(!init_mutex(&state_mutex, state, sizeof(GameState*))) { | ||||||
|  |         printf("[Food minigame] cannot create mutex\r\n"); | ||||||
|  |         return 0; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     ViewPort* view_port = view_port_alloc(); | ||||||
|  | 
 | ||||||
|  |     view_port_draw_callback_set(view_port, render_callback, &state_mutex); | ||||||
|  |     view_port_input_callback_set(view_port, input_callback, state->event_queue); | ||||||
|  | 
 | ||||||
|  |     Gui* gui = furi_record_open("gui"); | ||||||
|  |     gui_add_view_port(gui, view_port, GuiLayerFullscreen); | ||||||
|  | 
 | ||||||
|  |     reset_loot_array(state); | ||||||
|  | 
 | ||||||
|  |     AppEvent event; | ||||||
|  |     while(1) { | ||||||
|  |         osStatus_t event_status = osMessageQueueGet(state->event_queue, &event, NULL, 100); | ||||||
|  |         if(event_status == osOK) { | ||||||
|  |             if(event.type == EventTypeKey && event.value.input.type == InputTypeShort) { | ||||||
|  |                 food_minigame_controls(state, &event); | ||||||
|  | 
 | ||||||
|  |                 if(event.value.input.key == InputKeyBack) { | ||||||
|  |                     break; | ||||||
|  |                 } | ||||||
|  |             } else if(event.type == EventTypeDeed) { | ||||||
|  |                 dolphin_state_on_deed(dolphin_state, DolphinDeedIButtonRead); | ||||||
|  |                 dolphin_state_save(dolphin_state); | ||||||
|  |                 state->deed = false; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         if(state->current_event == ExitGameEvent) { | ||||||
|  |             break; | ||||||
|  |         } | ||||||
|  |         gamestate_update(state, dolphin_state); | ||||||
|  |         view_port_update(view_port); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     gui_remove_view_port(gui, view_port); | ||||||
|  |     view_port_free(view_port); | ||||||
|  |     furi_record_close("gui"); | ||||||
|  |     delete_mutex(&state_mutex); | ||||||
|  |     osMessageQueueDelete(state->event_queue); | ||||||
|  |     dolphin_state_free(dolphin_state); | ||||||
|  |     free(state); | ||||||
|  | 
 | ||||||
|  |     return 0; | ||||||
|  | } | ||||||
| @ -228,6 +228,6 @@ void console_callback(Canvas* canvas, void* s) { | |||||||
|     furi_assert(s); |     furi_assert(s); | ||||||
|     SceneState* state = s; |     SceneState* state = s; | ||||||
|     if(state->use_pending) { |     if(state->use_pending) { | ||||||
|         dolphin_scene_start_app(state, &FLIPPER_SCENE_APPS[1]); |         dolphin_scene_start_app(state, &FLIPPER_SCENE_APPS[0]); | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -143,6 +143,45 @@ const uint8_t *_I_FX_Bang_32x6[] = {_I_FX_Bang_32x6_0}; | |||||||
| const uint8_t _I_DolphinFirstStart3_57x48_0[] = {0x00,0x00,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x04,0x00,0x00,0xF8,0x03,0x01,0x00,0x00,0x08,0x00,0x00,0x04,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x02,0xC0,0x00,0x00,0x00,0x20,0x00,0x00,0x02,0x00,0x01,0x00,0x00,0x20,0x00,0x00,0x02,0x00,0x02,0x00,0x38,0x40,0x00,0x00,0x02,0x00,0x04,0x00,0x3E,0x40,0x00,0x00,0xF4,0x03,0x08,0x80,0x07,0x80,0x00,0x00,0x5C,0x0D,0x10,0xE0,0x01,0x80,0x00,0x00,0xA8,0x3A,0x20,0xE0,0x00,0x00,0x01,0x00,0x58,0x55,0x00,0xC0,0x01,0x00,0x01,0x00,0xB0,0xAA,0x00,0x80,0x07,0x00,0x01,0x00,0x60,0x55,0x01,0x00,0x1E,0x00,0x01,0x0E,0xC0,0xAA,0x02,0xE0,0x5C,0x00,0x01,0x11,0x80,0x55,0x05,0x00,0xA9,0x00,0x01,0x21,0x00,0xAB,0x0A,0x00,0x56,0x07,0x01,0x41,0x00,0x56,0x15,0x00,0xEC,0x08,0x01,0x81,0x00,0xBF,0x2A,0x00,0x34,0x08,0x01,0x01,0xF1,0xC0,0x57,0x00,0x0C,0x08,0x01,0x02,0x0A,0x00,0xBE,0x00,0x04,0x08,0x01,0x02,0x06,0x00,0x78,0x83,0x02,0x04,0x01,0x02,0x0C,0x00,0xF0,0x7F,0x01,0x04,0x01,0x02,0xF4,0x01,0xFE,0x81,0x00,0x04,0x01,0x04,0x08,0xFF,0x6B,0x40,0x00,0x02,0x01,0x04,0x88,0x55,0x1D,0x40,0x00,0x02,0x01,0x04,0x50,0xAA,0x06,0x20,0x00,0x02,0x01,0x04,0x30,0xD4,0x01,0x20,0x00,0x01,0x01,0x04,0x10,0x68,0x00,0x10,0x00,0x01,0x01,0x04,0x18,0x18,0x00,0x10,0x00,0x01,0x01,0x08,0x18,0x06,0x80,0x10,0x00,0x01,0x01,0x08,0xE8,0x01,0x60,0x08,0x80,0x00,0x01,0x08,0x08,0x00,0x18,0x08,0x80,0x00,0x00,0x08,0x10,0x00,0x06,0x08,0x80,0x00,0x00,0x08,0x60,0xE0,0x01,0x08,0x80,0x00,0x00,0x08,0x80,0x1F,0x00,0x08,0x80,0x00,0x00,0x08,0x80,0x04,0x00,0x04,0x00,0x01,0x00,0x08,0x80,0x04,0x00,0x04,0x00,0x01,0x00,0x10,0x00,0x03,0x00,0x04,0x00,0x01,0x00,0x10,0x00,0x03,0x00,0x04,0x00,0x01,0x00,0x10,0x00,0x01,0x00,0x04,0x00,0x02,0x00,0x10,0x00,0x01,0x00,0x04,0x00,0x02,0x00,0x10,0x80,0x00,0x00,0x04,0x00,0x02,0x00,0x10,0x80,0x00,0x00,0x04,0x00,0x06,0x00,}; | const uint8_t _I_DolphinFirstStart3_57x48_0[] = {0x00,0x00,0x00,0x80,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x04,0x00,0x00,0xF8,0x03,0x01,0x00,0x00,0x08,0x00,0x00,0x04,0xBC,0x00,0x00,0x00,0x10,0x00,0x00,0x02,0xC0,0x00,0x00,0x00,0x20,0x00,0x00,0x02,0x00,0x01,0x00,0x00,0x20,0x00,0x00,0x02,0x00,0x02,0x00,0x38,0x40,0x00,0x00,0x02,0x00,0x04,0x00,0x3E,0x40,0x00,0x00,0xF4,0x03,0x08,0x80,0x07,0x80,0x00,0x00,0x5C,0x0D,0x10,0xE0,0x01,0x80,0x00,0x00,0xA8,0x3A,0x20,0xE0,0x00,0x00,0x01,0x00,0x58,0x55,0x00,0xC0,0x01,0x00,0x01,0x00,0xB0,0xAA,0x00,0x80,0x07,0x00,0x01,0x00,0x60,0x55,0x01,0x00,0x1E,0x00,0x01,0x0E,0xC0,0xAA,0x02,0xE0,0x5C,0x00,0x01,0x11,0x80,0x55,0x05,0x00,0xA9,0x00,0x01,0x21,0x00,0xAB,0x0A,0x00,0x56,0x07,0x01,0x41,0x00,0x56,0x15,0x00,0xEC,0x08,0x01,0x81,0x00,0xBF,0x2A,0x00,0x34,0x08,0x01,0x01,0xF1,0xC0,0x57,0x00,0x0C,0x08,0x01,0x02,0x0A,0x00,0xBE,0x00,0x04,0x08,0x01,0x02,0x06,0x00,0x78,0x83,0x02,0x04,0x01,0x02,0x0C,0x00,0xF0,0x7F,0x01,0x04,0x01,0x02,0xF4,0x01,0xFE,0x81,0x00,0x04,0x01,0x04,0x08,0xFF,0x6B,0x40,0x00,0x02,0x01,0x04,0x88,0x55,0x1D,0x40,0x00,0x02,0x01,0x04,0x50,0xAA,0x06,0x20,0x00,0x02,0x01,0x04,0x30,0xD4,0x01,0x20,0x00,0x01,0x01,0x04,0x10,0x68,0x00,0x10,0x00,0x01,0x01,0x04,0x18,0x18,0x00,0x10,0x00,0x01,0x01,0x08,0x18,0x06,0x80,0x10,0x00,0x01,0x01,0x08,0xE8,0x01,0x60,0x08,0x80,0x00,0x01,0x08,0x08,0x00,0x18,0x08,0x80,0x00,0x00,0x08,0x10,0x00,0x06,0x08,0x80,0x00,0x00,0x08,0x60,0xE0,0x01,0x08,0x80,0x00,0x00,0x08,0x80,0x1F,0x00,0x08,0x80,0x00,0x00,0x08,0x80,0x04,0x00,0x04,0x00,0x01,0x00,0x08,0x80,0x04,0x00,0x04,0x00,0x01,0x00,0x10,0x00,0x03,0x00,0x04,0x00,0x01,0x00,0x10,0x00,0x03,0x00,0x04,0x00,0x01,0x00,0x10,0x00,0x01,0x00,0x04,0x00,0x02,0x00,0x10,0x00,0x01,0x00,0x04,0x00,0x02,0x00,0x10,0x80,0x00,0x00,0x04,0x00,0x02,0x00,0x10,0x80,0x00,0x00,0x04,0x00,0x06,0x00,}; | ||||||
| const uint8_t *_I_DolphinFirstStart3_57x48[] = {_I_DolphinFirstStart3_57x48_0}; | const uint8_t *_I_DolphinFirstStart3_57x48[] = {_I_DolphinFirstStart3_57x48_0}; | ||||||
| 
 | 
 | ||||||
|  | const uint8_t _I_blackfish_25x17_0[] = {0x00,0x0E,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x3F,0x80,0x01,0x80,0xFF,0xE0,0x01,0xE0,0xFF,0xF0,0x01,0xF0,0xFF,0xF3,0x01,0xF8,0xFF,0xFF,0x00,0xFC,0xFF,0xFF,0x00,0xFF,0xFF,0x7F,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0x01,0xFE,0xFF,0xFB,0x01,0xF8,0xFF,0xF1,0x01,0xE0,0x7F,0xC0,0x01,0x00,0x3F,0x00,0x00,0x00,0x3C,0x00,0x00,}; | ||||||
|  | const uint8_t *_I_blackfish_25x17[] = {_I_blackfish_25x17_0}; | ||||||
|  | 
 | ||||||
|  | const uint8_t _I_blacklid_36x27_0[] = {0x00,0x80,0x1F,0x00,0x00,0x00,0xC0,0x3F,0x00,0x00,0x00,0xC0,0x3F,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0xC0,0x3F,0x00,0x00,0x00,0xF8,0xFF,0x01,0x00,0x00,0xFE,0xFF,0x07,0x00,0x80,0xFF,0xFF,0x1F,0x00,0xC0,0xFF,0xFF,0x3F,0x00,0xE0,0xFF,0xFF,0x7F,0x00,0xF0,0xFF,0xFF,0xFF,0x00,0xF8,0xFF,0xFF,0xFF,0x01,0xFC,0xFF,0xFF,0xFF,0x03,0xFC,0xFF,0xFF,0xFF,0x03,0xFE,0xFF,0xFF,0xFF,0x07,0xFE,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0x0F,0xFF,0xFF,0xFF,0xFF,0x0F,0xFF,0xFF,0xFF,0xFF,0x0F,0xFF,0xFF,0xFF,0xFF,0x0F,0xFE,0xFF,0xFF,0xFF,0x07,0xFE,0xFF,0xFF,0xFF,0x07,0xFC,0xFF,0xFF,0xFF,0x03,0xF0,0xFF,0xFF,0xFF,0x00,0xC0,0xFF,0xFF,0x3F,0x00,0x00,0xFC,0xFF,0x03,0x00,}; | ||||||
|  | const uint8_t *_I_blacklid_36x27[] = {_I_blacklid_36x27_0}; | ||||||
|  | 
 | ||||||
|  | const uint8_t _I_skeleton_25x17_0[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x10,0x25,0xC0,0x00,0x08,0x49,0xA1,0x00,0x68,0x4A,0x92,0x00,0x64,0x4A,0x52,0x00,0x64,0xFE,0x5F,0x00,0x08,0x4A,0x92,0x00,0x08,0x4A,0xA1,0x00,0x10,0x29,0xC0,0x00,0xE0,0x04,0x00,0x00,}; | ||||||
|  | const uint8_t *_I_skeleton_25x17[] = {_I_skeleton_25x17_0}; | ||||||
|  | 
 | ||||||
|  | const uint8_t _I_letterB_10x10_0[] = {0xFF,0x03,0x01,0x02,0x39,0x02,0x49,0x02,0x39,0x02,0x49,0x02,0x49,0x02,0x39,0x02,0x01,0x02,0xFF,0x03,}; | ||||||
|  | const uint8_t *_I_letterB_10x10[] = {_I_letterB_10x10_0}; | ||||||
|  | 
 | ||||||
|  | const uint8_t _I_shit_25x17_0[] = {0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x30,0x01,0x00,0x00,0x18,0x01,0x00,0x00,0x0F,0x01,0x00,0x80,0x00,0x07,0x00,0x80,0xC0,0x08,0x00,0xC0,0x03,0x08,0x00,0x20,0x06,0x1E,0x00,0x20,0x30,0x13,0x00,0x20,0x00,0x10,0x00,0xC0,0x00,0x18,0x00,0x80,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}; | ||||||
|  | const uint8_t *_I_shit_25x17[] = {_I_shit_25x17_0}; | ||||||
|  | 
 | ||||||
|  | const uint8_t _I_letterC_10x10_0[] = {0xFF,0x03,0x01,0x02,0x31,0x02,0x49,0x02,0x09,0x02,0x09,0x02,0x49,0x02,0x31,0x02,0x01,0x02,0xFF,0x03,}; | ||||||
|  | const uint8_t *_I_letterC_10x10[] = {_I_letterC_10x10_0}; | ||||||
|  | 
 | ||||||
|  | const uint8_t _I_active_plate_48x18_0[] = {0x08,0x00,0x00,0x00,0x00,0x10,0x0C,0x00,0x00,0x00,0x00,0x30,0x06,0x00,0x00,0x00,0x00,0x60,0x06,0x00,0x00,0x00,0x00,0x60,0x07,0x00,0x00,0x00,0x00,0xE0,0x0F,0x00,0x00,0x00,0x00,0xF0,0x0F,0x00,0x00,0x00,0x00,0xF0,0x1F,0x00,0x00,0x00,0x00,0xF8,0x3E,0x00,0x00,0x00,0x00,0x7C,0x7E,0x00,0x00,0x00,0x00,0x7E,0xFC,0x01,0x00,0x00,0x80,0x3F,0xF8,0x0F,0x00,0x00,0xF0,0x1F,0xF0,0x7F,0x00,0x00,0xFE,0x0F,0xE0,0xFF,0xFF,0xFF,0xFF,0x07,0x80,0xFF,0xFF,0xFF,0xFF,0x01,0x00,0xFE,0xFF,0xFF,0x7F,0x00,0x00,0xF0,0xFF,0xFF,0x0F,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,}; | ||||||
|  | const uint8_t *_I_active_plate_48x18[] = {_I_active_plate_48x18_0}; | ||||||
|  | 
 | ||||||
|  | const uint8_t _I_fish_25x17_0[] = {0x00,0x0E,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x21,0x80,0x01,0x80,0xCD,0x60,0x01,0x60,0xC0,0x10,0x01,0x10,0x00,0x13,0x01,0x08,0x00,0x8C,0x00,0xC4,0x00,0x88,0x00,0xE3,0x00,0x40,0x00,0xE1,0x00,0x80,0x00,0x03,0x00,0x80,0x00,0x01,0x00,0x0C,0x01,0x0E,0x00,0x1B,0x01,0x38,0xC0,0x71,0x01,0xE0,0x7F,0xC0,0x01,0x00,0x3F,0x00,0x00,0x00,0x3C,0x00,0x00,}; | ||||||
|  | const uint8_t *_I_fish_25x17[] = {_I_fish_25x17_0}; | ||||||
|  | 
 | ||||||
|  | const uint8_t _I_blackshit_25x17_0[] = {0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xF0,0x01,0x00,0x00,0xF8,0x01,0x00,0x00,0xFF,0x01,0x00,0x80,0xFF,0x07,0x00,0x80,0xFF,0x0F,0x00,0xC0,0xFF,0x0F,0x00,0xE0,0xFF,0x1F,0x00,0xE0,0xFF,0x1F,0x00,0xE0,0xFF,0x1F,0x00,0xC0,0xFF,0x1F,0x00,0x80,0xFF,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}; | ||||||
|  | const uint8_t *_I_blackshit_25x17[] = {_I_blackshit_25x17_0}; | ||||||
|  | 
 | ||||||
|  | const uint8_t _I_lid_36x27_0[] = {0x00,0x80,0x1F,0x00,0x00,0x00,0x40,0x20,0x00,0x00,0x00,0x40,0x20,0x00,0x00,0x00,0x80,0x1F,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0xC0,0x3F,0x00,0x00,0x00,0x38,0xCF,0x01,0x00,0x00,0x06,0x00,0x06,0x00,0x80,0x01,0x00,0x18,0x00,0x40,0x00,0x80,0x21,0x00,0x20,0x00,0x00,0x46,0x00,0x10,0x00,0x00,0x8C,0x00,0x08,0x00,0x00,0x18,0x01,0x04,0x00,0x00,0x38,0x02,0x04,0x00,0x00,0x70,0x02,0x02,0x00,0x00,0x70,0x04,0x02,0x00,0x00,0xE0,0x04,0x01,0x00,0x00,0xE0,0x08,0x01,0x00,0x00,0xC0,0x09,0x01,0x00,0x00,0xC0,0x09,0x01,0x00,0x00,0xC0,0x09,0x02,0x00,0x00,0xC0,0x07,0x02,0x00,0x00,0xC0,0x07,0x0C,0x00,0x00,0xE0,0x03,0x30,0x00,0x00,0xF0,0x00,0xC0,0x03,0x00,0x3C,0x00,0x00,0xFC,0xFF,0x03,0x00,}; | ||||||
|  | const uint8_t *_I_lid_36x27[] = {_I_lid_36x27_0}; | ||||||
|  | 
 | ||||||
|  | const uint8_t _I_blackskeleton_25x17_0[] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0xF0,0x25,0xC0,0x00,0xF8,0x49,0xE1,0x00,0xF8,0x4B,0xF2,0x00,0xFC,0x4B,0x72,0x00,0xFC,0xFF,0x7F,0x00,0xF8,0x4B,0xF2,0x00,0xF8,0x4B,0xE1,0x00,0xF0,0x29,0xC0,0x00,0xE0,0x04,0x00,0x00,}; | ||||||
|  | const uint8_t *_I_blackskeleton_25x17[] = {_I_blackskeleton_25x17_0}; | ||||||
|  | 
 | ||||||
|  | const uint8_t _I_letterA_10x10_0[] = {0xFF,0x03,0x01,0x02,0x31,0x02,0x49,0x02,0x79,0x02,0x49,0x02,0x49,0x02,0x49,0x02,0x01,0x02,0xFF,0x03,}; | ||||||
|  | const uint8_t *_I_letterA_10x10[] = {_I_letterA_10x10_0}; | ||||||
|  | 
 | ||||||
|  | const uint8_t _I_plate_42x19_0[] = {0x00,0xF0,0xFF,0x3F,0x00,0x00,0x00,0x0E,0x00,0xC0,0x01,0x00,0xC0,0x01,0x00,0x00,0x0E,0x00,0x30,0x00,0x00,0x00,0x30,0x00,0x08,0x00,0x00,0x00,0x40,0x00,0x04,0x00,0x00,0x00,0x80,0x00,0x02,0x00,0x00,0x00,0x00,0x01,0x02,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x02,0x01,0x00,0x00,0x00,0x00,0x02,0x01,0x00,0x00,0x00,0x00,0x02,0x02,0x00,0x00,0x00,0x00,0x01,0x02,0x00,0x00,0x00,0x00,0x01,0x04,0x00,0x00,0x00,0x80,0x00,0x08,0x00,0x00,0x00,0x40,0x00,0x30,0x00,0x00,0x00,0x30,0x00,0xC0,0x01,0x00,0x00,0x0E,0x00,0x00,0x0E,0x00,0xC0,0x01,0x00,0x00,0xF0,0xFF,0x3F,0x00,0x00,}; | ||||||
|  | const uint8_t *_I_plate_42x19[] = {_I_plate_42x19_0}; | ||||||
|  | 
 | ||||||
| const uint8_t _I_PassportBottom_128x17_0[] = {0x2C,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8F,0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x95,0x2C,0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x9A,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x95,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x9A,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x95,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x9A,0xF2,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8F,0xF9,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x0D,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x05,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x05,0xF2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x05,0xFA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x09,0x79,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xD5,0x80,0x55,0xD5,0x00,0xF3,0xCC,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x6A,0x00,0xAB,0x6A,0x00,0x06,0x86,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0xFE,0x3F,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}; | const uint8_t _I_PassportBottom_128x17_0[] = {0x2C,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8F,0x34,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x95,0x2C,0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x9A,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x95,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x9A,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x95,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0xA8,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x9A,0xF2,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8F,0xF9,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x0D,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x05,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x05,0xF2,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x05,0xFA,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x09,0x79,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0xD5,0x80,0x55,0xD5,0x00,0xF3,0xCC,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0x6A,0x00,0xAB,0x6A,0x00,0x06,0x86,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0xFE,0x3F,0x00,0xFC,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,}; | ||||||
| const uint8_t *_I_PassportBottom_128x17[] = {_I_PassportBottom_128x17_0}; | const uint8_t *_I_PassportBottom_128x17[] = {_I_PassportBottom_128x17_0}; | ||||||
| 
 | 
 | ||||||
| @ -821,6 +860,19 @@ const Icon I_Flipper_young_80x60 = {.width=80,.height=60,.frame_count=1,.frame_r | |||||||
| const Icon I_BigBurger_24x24 = {.width=24,.height=24,.frame_count=1,.frame_rate=0,.frames=_I_BigBurger_24x24}; | const Icon I_BigBurger_24x24 = {.width=24,.height=24,.frame_count=1,.frame_rate=0,.frames=_I_BigBurger_24x24}; | ||||||
| const Icon I_FX_Bang_32x6 = {.width=32,.height=6,.frame_count=1,.frame_rate=0,.frames=_I_FX_Bang_32x6}; | const Icon I_FX_Bang_32x6 = {.width=32,.height=6,.frame_count=1,.frame_rate=0,.frames=_I_FX_Bang_32x6}; | ||||||
| const Icon I_DolphinFirstStart3_57x48 = {.width=57,.height=48,.frame_count=1,.frame_rate=0,.frames=_I_DolphinFirstStart3_57x48}; | const Icon I_DolphinFirstStart3_57x48 = {.width=57,.height=48,.frame_count=1,.frame_rate=0,.frames=_I_DolphinFirstStart3_57x48}; | ||||||
|  | const Icon I_blackfish_25x17 = {.width=25,.height=17,.frame_count=1,.frame_rate=0,.frames=_I_blackfish_25x17}; | ||||||
|  | const Icon I_blacklid_36x27 = {.width=36,.height=27,.frame_count=1,.frame_rate=0,.frames=_I_blacklid_36x27}; | ||||||
|  | const Icon I_skeleton_25x17 = {.width=25,.height=17,.frame_count=1,.frame_rate=0,.frames=_I_skeleton_25x17}; | ||||||
|  | const Icon I_letterB_10x10 = {.width=10,.height=10,.frame_count=1,.frame_rate=0,.frames=_I_letterB_10x10}; | ||||||
|  | const Icon I_shit_25x17 = {.width=25,.height=17,.frame_count=1,.frame_rate=0,.frames=_I_shit_25x17}; | ||||||
|  | const Icon I_letterC_10x10 = {.width=10,.height=10,.frame_count=1,.frame_rate=0,.frames=_I_letterC_10x10}; | ||||||
|  | const Icon I_active_plate_48x18 = {.width=48,.height=18,.frame_count=1,.frame_rate=0,.frames=_I_active_plate_48x18}; | ||||||
|  | const Icon I_fish_25x17 = {.width=25,.height=17,.frame_count=1,.frame_rate=0,.frames=_I_fish_25x17}; | ||||||
|  | const Icon I_blackshit_25x17 = {.width=25,.height=17,.frame_count=1,.frame_rate=0,.frames=_I_blackshit_25x17}; | ||||||
|  | const Icon I_lid_36x27 = {.width=36,.height=27,.frame_count=1,.frame_rate=0,.frames=_I_lid_36x27}; | ||||||
|  | const Icon I_blackskeleton_25x17 = {.width=25,.height=17,.frame_count=1,.frame_rate=0,.frames=_I_blackskeleton_25x17}; | ||||||
|  | const Icon I_letterA_10x10 = {.width=10,.height=10,.frame_count=1,.frame_rate=0,.frames=_I_letterA_10x10}; | ||||||
|  | const Icon I_plate_42x19 = {.width=42,.height=19,.frame_count=1,.frame_rate=0,.frames=_I_plate_42x19}; | ||||||
| const Icon I_PassportBottom_128x17 = {.width=128,.height=17,.frame_count=1,.frame_rate=0,.frames=_I_PassportBottom_128x17}; | const Icon I_PassportBottom_128x17 = {.width=128,.height=17,.frame_count=1,.frame_rate=0,.frames=_I_PassportBottom_128x17}; | ||||||
| const Icon I_DoorLeft_8x56 = {.width=8,.height=56,.frame_count=1,.frame_rate=0,.frames=_I_DoorLeft_8x56}; | const Icon I_DoorLeft_8x56 = {.width=8,.height=56,.frame_count=1,.frame_rate=0,.frames=_I_DoorLeft_8x56}; | ||||||
| const Icon I_DoorLocked_10x56 = {.width=10,.height=56,.frame_count=1,.frame_rate=0,.frames=_I_DoorLocked_10x56}; | const Icon I_DoorLocked_10x56 = {.width=10,.height=56,.frame_count=1,.frame_rate=0,.frames=_I_DoorLocked_10x56}; | ||||||
|  | |||||||
| @ -39,6 +39,19 @@ extern const Icon I_Flipper_young_80x60; | |||||||
| extern const Icon I_BigBurger_24x24; | extern const Icon I_BigBurger_24x24; | ||||||
| extern const Icon I_FX_Bang_32x6; | extern const Icon I_FX_Bang_32x6; | ||||||
| extern const Icon I_DolphinFirstStart3_57x48; | extern const Icon I_DolphinFirstStart3_57x48; | ||||||
|  | extern const Icon I_blackfish_25x17; | ||||||
|  | extern const Icon I_blacklid_36x27; | ||||||
|  | extern const Icon I_skeleton_25x17; | ||||||
|  | extern const Icon I_letterB_10x10; | ||||||
|  | extern const Icon I_shit_25x17; | ||||||
|  | extern const Icon I_letterC_10x10; | ||||||
|  | extern const Icon I_active_plate_48x18; | ||||||
|  | extern const Icon I_fish_25x17; | ||||||
|  | extern const Icon I_blackshit_25x17; | ||||||
|  | extern const Icon I_lid_36x27; | ||||||
|  | extern const Icon I_blackskeleton_25x17; | ||||||
|  | extern const Icon I_letterA_10x10; | ||||||
|  | extern const Icon I_plate_42x19; | ||||||
| extern const Icon I_PassportBottom_128x17; | extern const Icon I_PassportBottom_128x17; | ||||||
| extern const Icon I_DoorLeft_8x56; | extern const Icon I_DoorLeft_8x56; | ||||||
| extern const Icon I_DoorLocked_10x56; | extern const Icon I_DoorLocked_10x56; | ||||||
|  | |||||||
							
								
								
									
										
											BIN
										
									
								
								assets/icons/FoodMinigame/active_plate_48x18.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/FoodMinigame/blackfish_25x17.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/FoodMinigame/blacklid_36x27.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/FoodMinigame/blackshit_25x17.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 304 B | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/FoodMinigame/blackskeleton_25x17.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 302 B | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/FoodMinigame/fish_25x17.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/FoodMinigame/letterA_10x10.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 124 B | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/FoodMinigame/letterB_10x10.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 118 B | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/FoodMinigame/letterC_10x10.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 131 B | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/FoodMinigame/lid_36x27.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.1 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/FoodMinigame/plate_42x19.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 1.0 KiB | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/FoodMinigame/shit_25x17.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 318 B | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/FoodMinigame/skeleton_25x17.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 306 B | 
 its your bedtime
						its your bedtime