From fca84edc00939da3aa484be266e03253fb45a817 Mon Sep 17 00:00:00 2001 From: marouault Date: Mon, 31 Jan 2022 18:35:21 +0100 Subject: [PATCH] Added free function to Input processors --- Pontu/include/engine/GameInputProcessor.h | 7 +++++++ Pontu/include/engine/InputProcessor.h | 8 ++++++++ Pontu/src/engine/GameInputProcessor.c | 4 ++++ Pontu/src/engine/InputProcessor.c | 4 ++++ Pontu/src/view/MenuEndGame.c | 2 ++ 5 files changed, 25 insertions(+) diff --git a/Pontu/include/engine/GameInputProcessor.h b/Pontu/include/engine/GameInputProcessor.h index df65782..d94fc8e 100644 --- a/Pontu/include/engine/GameInputProcessor.h +++ b/Pontu/include/engine/GameInputProcessor.h @@ -31,6 +31,13 @@ typedef struct */ GameInputProcessor createGameInputProcessor(); +/** + * @brief Free a game input processor + * + * @param gameInputProcessor the game input processor to free (do not use after freeing) + */ +void freeGameInputProcessor(GameInputProcessor* gameInputProcessor); + /** * \brief Convert a screen coord into a model Coord * diff --git a/Pontu/include/engine/InputProcessor.h b/Pontu/include/engine/InputProcessor.h index e374cbe..594923f 100644 --- a/Pontu/include/engine/InputProcessor.h +++ b/Pontu/include/engine/InputProcessor.h @@ -29,6 +29,14 @@ typedef struct */ InputProcessor createInputProcessor(); +/** + * @brief Free a game input processor + * + * @param inputProcessor the game input processor to free (do not use after freeing) + */ +void freeInputProcessor(InputProcessor* inputProcessor); + + /** * \brief Poll and convert SDL_Events into specific event for Pontu * diff --git a/Pontu/src/engine/GameInputProcessor.c b/Pontu/src/engine/GameInputProcessor.c index 030c8cb..64006c5 100644 --- a/Pontu/src/engine/GameInputProcessor.c +++ b/Pontu/src/engine/GameInputProcessor.c @@ -16,6 +16,10 @@ GameInputProcessor createGameInputProcessor() { return gameInputProcessor; } +void freeGameInputProcessor(GameInputProcessor* gameInputProcessor) { + array_P_Button_Free(&gameInputProcessor->tabButton); +} + InputElement proccessGameInput(GameInputProcessor *gameInputProcessor, const SDL_Rect* boardRect) { SDL_Event event; diff --git a/Pontu/src/engine/InputProcessor.c b/Pontu/src/engine/InputProcessor.c index fb58781..5b931b3 100644 --- a/Pontu/src/engine/InputProcessor.c +++ b/Pontu/src/engine/InputProcessor.c @@ -7,6 +7,10 @@ InputProcessor createInputProcessor() { return inputProcessor; } +void freeInputProcessor(InputProcessor* inputProcessor) { + array_P_Button_Free(&inputProcessor->tabButton); +} + InputElement proccessInput(InputProcessor *inputProcessor) { SDL_Event event; diff --git a/Pontu/src/view/MenuEndGame.c b/Pontu/src/view/MenuEndGame.c index 82fd619..8479b92 100644 --- a/Pontu/src/view/MenuEndGame.c +++ b/Pontu/src/view/MenuEndGame.c @@ -164,4 +164,6 @@ void endGameMenu(GeneralState* generalState, SDL_Window* window, SDL_Renderer* r SDL_RenderPresent(renderer); SDL_Delay(50); } + + freeInputProcessor(&inputProcessor); }