app.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. ZERO! By Racso.
  3. https://rac.so
  4. Licensed under the GNU General Public License v3.0: https://www.gnu.org/licenses/gpl-3.0.en.html
  5. Copyright (C) 2023 Óscar F. Gómez
  6. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
  8. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  10. --------------------------------------------------------------------------------
  11. ZERO!'s gameplay is heavily based on the UNO card game. UNO is a registered trademark of its owners. This program is not affiliated with or endorsed by them.
  12. */
  13. #include <gui/gui.h>
  14. typedef struct SceneManager SceneManager;
  15. typedef struct AppGameplayState AppGameplayState;
  16. typedef struct GameState GameState;
  17. typedef struct AppContext {
  18. Gui* gui;
  19. SceneManager* sceneManager;
  20. AppGameplayState* gameplay;
  21. GameState* gameState;
  22. } AppContext;
  23. typedef enum SceneType {
  24. SceneType_None,
  25. SceneType_Menu,
  26. SceneType_Game,
  27. SceneType_Credits,
  28. } SceneType;