pokemon_app.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #ifndef POKEMON_APP_H
  2. #define POKEMON_APP_H
  3. #pragma once
  4. #include <gui/scene_manager.h>
  5. #include <gui/view.h>
  6. #include <gui/view_dispatcher.h>
  7. #include <gui/icon.h>
  8. #include <gui/modules/dialog_ex.h>
  9. #include <gui/modules/submenu.h>
  10. #include <gui/modules/text_input.h>
  11. #include <gui/modules/variable_item_list.h>
  12. #include <gblink.h>
  13. #include "pokemon_data.h"
  14. #define TAG "Pokemon"
  15. struct pokemon_fap {
  16. /* Various anonymous pointers for flipper UI/navigation */
  17. ViewDispatcher* view_dispatcher;
  18. SceneManager* scene_manager;
  19. void* select;
  20. void* trade;
  21. Submenu* submenu;
  22. TextInput* text_input;
  23. VariableItemList* variable_item_list;
  24. DialogEx* dialog_ex;
  25. /* Struct for holding trade data */
  26. /* NOTE: There may be some runtime memory savings by adding more intelligence
  27. * to views/trade and slimming down this struct to only contain the single
  28. * pokemon data rather than the full 6 member party data.
  29. */
  30. PokemonData* pdata;
  31. /* Pin definition to actual Game Link Cable interface */
  32. struct gblink_pins pins;
  33. int malveke_detected;
  34. };
  35. typedef struct pokemon_fap PokemonFap;
  36. typedef enum {
  37. AppViewMainMenu,
  38. AppViewOpts, // Generic view ID meant for module re-use
  39. AppViewSelectPokemon,
  40. AppViewTrade,
  41. AppViewExitConfirm,
  42. } AppView;
  43. #endif /* POKEMON_APP_H */