flipchess.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #pragma once
  2. #include <furi.h>
  3. #include <furi_hal.h>
  4. #include <gui/gui.h>
  5. #include <input/input.h>
  6. #include <stdlib.h>
  7. #include <notification/notification_messages.h>
  8. #include <gui/view_dispatcher.h>
  9. #include <gui/modules/submenu.h>
  10. #include <gui/scene_manager.h>
  11. #include <gui/modules/variable_item_list.h>
  12. #include <gui/modules/text_input.h>
  13. #include "scenes/flipchess_scene.h"
  14. #include "views/flipchess_startscreen.h"
  15. #include "views/flipchess_scene_1.h"
  16. #define FLIPCHESS_VERSION "v0.0.1"
  17. #define TEXT_BUFFER_SIZE 256
  18. typedef struct {
  19. Gui* gui;
  20. NotificationApp* notification;
  21. ViewDispatcher* view_dispatcher;
  22. Submenu* submenu;
  23. SceneManager* scene_manager;
  24. VariableItemList* variable_item_list;
  25. TextInput* text_input;
  26. FlipChessStartscreen* flipchess_startscreen;
  27. FlipChessScene1* flipchess_scene_1;
  28. // Settings options
  29. int haptic;
  30. int white_mode;
  31. int black_mode;
  32. // Main menu options
  33. int import_game;
  34. // Text input
  35. int input_state;
  36. char import_game_text[TEXT_BUFFER_SIZE];
  37. char input_text[TEXT_BUFFER_SIZE];
  38. } FlipChess;
  39. typedef enum {
  40. FlipChessViewIdStartscreen,
  41. FlipChessViewIdMenu,
  42. FlipChessViewIdScene1,
  43. FlipChessViewIdSettings,
  44. FlipChessViewIdTextInput,
  45. } FlipChessViewId;
  46. typedef enum {
  47. FlipChessHapticOff,
  48. FlipChessHapticOn,
  49. } FlipChessHapticState;
  50. typedef enum {
  51. FlipChessPlayerHuman = 0,
  52. FlipChessPlayerAI1 = 1,
  53. FlipChessPlayerAI2 = 2,
  54. FlipChessPlayerAI3 = 3,
  55. } FlipChessPlayerMode;
  56. typedef enum {
  57. FlipChessTextInputDefault,
  58. FlipChessTextInputGame
  59. } FlipChessTextInputState;
  60. typedef enum {
  61. FlipChessStatusSuccess = 0,
  62. FlipChessStatusReturn = 10,
  63. FlipChessStatusLoadError = 11,
  64. FlipChessStatusSaveError = 12,
  65. } FlipChessStatus;