|
@@ -484,16 +484,19 @@ static void heap_defense_render_callback(Canvas* const canvas, void* mutex) {
|
|
|
furi_mutex_release(game->mutex);
|
|
furi_mutex_release(game->mutex);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-static void heap_defense_input_callback(InputEvent* input_event, FuriMessageQueue* event_queue) {
|
|
|
|
|
|
|
+static void heap_defense_input_callback(InputEvent* input_event, void* ctx) {
|
|
|
|
|
+ furi_assert(ctx);
|
|
|
|
|
+ FuriMessageQueue* event_queue = ctx;
|
|
|
|
|
+
|
|
|
if(input_event->type != InputTypePress && input_event->type != InputTypeLong) return;
|
|
if(input_event->type != InputTypePress && input_event->type != InputTypeLong) return;
|
|
|
|
|
|
|
|
- furi_assert(event_queue);
|
|
|
|
|
GameEvent event = {.type = EventKeyPress, .input = *input_event};
|
|
GameEvent event = {.type = EventKeyPress, .input = *input_event};
|
|
|
furi_message_queue_put(event_queue, &event, FuriWaitForever);
|
|
furi_message_queue_put(event_queue, &event, FuriWaitForever);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-static void heap_defense_timer_callback(FuriMessageQueue* event_queue) {
|
|
|
|
|
- furi_assert(event_queue);
|
|
|
|
|
|
|
+static void heap_defense_timer_callback(void* ctx) {
|
|
|
|
|
+ furi_assert(ctx);
|
|
|
|
|
+ FuriMessageQueue* event_queue = ctx;
|
|
|
|
|
|
|
|
GameEvent event;
|
|
GameEvent event;
|
|
|
event.type = EventGameTick;
|
|
event.type = EventGameTick;
|