menu_pico.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. #ifndef __MENU_PICO_H__
  2. #define __MENU_PICO_H__
  3. #include <SDL/SDL.h>
  4. #include "../libpicofe/menu.h"
  5. typedef enum{
  6. MENU_TYPE_VOLUME,
  7. MENU_TYPE_BRIGHTNESS,
  8. MENU_TYPE_SAVE,
  9. MENU_TYPE_LOAD,
  10. MENU_TYPE_ASPECT_RATIO,
  11. MENU_TYPE_EXIT,
  12. MENU_TYPE_POWERDOWN,
  13. NB_MENU_TYPES,
  14. } ENUM_MENU_TYPE;
  15. ///------ Definition of the different resume options
  16. #define RESUME_OPTIONS \
  17. X(RESUME_YES, "RESUME GAME") \
  18. X(RESUME_NO, "NEW GAME") \
  19. X(NB_RESUME_OPTIONS, "")
  20. ////------ Enumeration of the different resume options ------
  21. #undef X
  22. #define X(a, b) a,
  23. typedef enum {RESUME_OPTIONS} ENUM_RESUME_OPTIONS;
  24. ////------ Defines to be shared -------
  25. #define STEP_CHANGE_VOLUME 10
  26. #define STEP_CHANGE_BRIGHTNESS 10
  27. #define NOTIF_SECONDS_DISP 2
  28. ////------ Menu commands -------
  29. #define SHELL_CMD_VOLUME_GET "volume get"
  30. #define SHELL_CMD_VOLUME_SET "volume set"
  31. #define SHELL_CMD_BRIGHTNESS_GET "brightness get"
  32. #define SHELL_CMD_BRIGHTNESS_SET "brightness set"
  33. #define SHELL_CMD_NOTIF_SET "notif set"
  34. #define SHELL_CMD_NOTIF_CLEAR "notif clear"
  35. #define SHELL_CMD_AUDIO_AMP_ON "audio_amp on"
  36. #define SHELL_CMD_AUDIO_AMP_OFF "audio_amp off"
  37. #define SHELL_CMD_POWERDOWN "powerdown"
  38. #define SHELL_CMD_POWERDOWN_HANDLE "powerdown handle"
  39. #define SHELL_CMD_INSTANT_PLAY "instant_play"
  40. #define SHELL_CMD_KEYMAP_DEFAULT "keymap default"
  41. #define SHELL_CMD_KEYMAP_RESUME "keymap resume"
  42. #define MAXPATHLEN 512
  43. extern void SDL_Rotate_270(SDL_Surface * hw_surface, SDL_Surface * virtual_hw_surface);
  44. void init_menu_SDL();
  45. void deinit_menu_SDL();
  46. void init_menu_zones();
  47. void init_menu_system_values();
  48. void menu_loop_funkey(void);
  49. void run_menu_loop();
  50. int launch_resume_menu_loop();
  51. extern int volume_percentage;
  52. extern int brightness_percentage;
  53. extern int stop_menu_loop;
  54. extern char *mRomName;
  55. extern char *mRomPath;
  56. extern char *quick_save_file;
  57. typedef enum
  58. {
  59. MA_NONE = 1,
  60. MA_MAIN_RESUME_GAME,
  61. MA_MAIN_SAVE_STATE,
  62. MA_MAIN_LOAD_STATE,
  63. MA_MAIN_RESET_GAME,
  64. MA_MAIN_LOAD_ROM,
  65. MA_MAIN_CHANGE_CD,
  66. MA_MAIN_CONTROLS,
  67. MA_MAIN_CREDITS,
  68. MA_MAIN_PATCHES,
  69. MA_MAIN_EXIT,
  70. MA_OPT_RENDERER,
  71. MA_OPT_SCALING,
  72. MA_OPT_VSCALING,
  73. MA_OPT_ACC_SPRITES,
  74. MA_OPT_SHOW_FPS,
  75. MA_OPT_FRAMESKIP,
  76. MA_OPT_ENABLE_SOUND,
  77. MA_OPT_SOUND_QUALITY,
  78. MA_OPT_ARM940_SOUND,
  79. MA_OPT_INPUT_DEV0,
  80. MA_OPT_INPUT_DEV1,
  81. MA_OPT_REGION,
  82. MA_OPT_CONFIRM_STATES,
  83. MA_OPT_SAVE_SLOT,
  84. MA_OPT_CPU_CLOCKS,
  85. MA_OPT_SCD_OPTS,
  86. MA_OPT_ADV_OPTS,
  87. MA_OPT_DISP_OPTS, /* psp */
  88. MA_OPT_SAVECFG,
  89. MA_OPT_SAVECFG_GAME,
  90. MA_OPT_LOADCFG,
  91. MA_OPT_INTERLACED, /* giz */
  92. MA_OPT_TEARING_FIX, /* wiz */
  93. MA_OPT_VOUT_MODE,
  94. MA_OPT_AUTOLOAD_SAVE,
  95. MA_OPT_SOUND_FILTER,
  96. MA_OPT_SOUND_ALPHA,
  97. MA_OPT2_GAMMA,
  98. MA_OPT2_A_SN_GAMMA,
  99. MA_OPT2_DBLBUFF, /* giz */
  100. MA_OPT2_VSYNC,
  101. MA_OPT2_ENABLE_Z80,
  102. MA_OPT2_ENABLE_YM2612,
  103. MA_OPT2_DISABLE_YM_SSG,
  104. MA_OPT2_ENABLE_YM_DAC,
  105. MA_OPT2_ENABLE_SN76496,
  106. MA_OPT2_ENABLE_YM2413,
  107. MA_OPT2_ENABLE_GGLCD,
  108. MA_OPT2_NO_LAST_ROM,
  109. MA_OPT2_RAMTIMINGS, /* gp2x */
  110. MA_OPT2_NO_FRAME_LIMIT, /* psp */
  111. MA_OPT2_DYNARECS,
  112. MA_OPT2_NO_SPRITE_LIM,
  113. MA_OPT2_NO_IDLE_LOOPS,
  114. MA_OPT2_OVERCLOCK_M68K,
  115. MA_OPT2_MAX_FRAMESKIP,
  116. MA_OPT2_PWM_IRQ_OPT,
  117. MA_OPT2_DONE,
  118. MA_OPT3_GAMMAA, /* psp (all OPT3) */
  119. MA_OPT3_FILTERING,
  120. MA_OPT3_VSYNC,
  121. MA_OPT3_BLACKLVL,
  122. MA_OPT3_LAYER_X,
  123. MA_OPT3_LAYER_Y,
  124. MA_OPT3_LAYER_W,
  125. MA_OPT3_LAYER_H,
  126. MA_OPT3_DONE,
  127. MA_CDOPT_TESTBIOS_USA,
  128. MA_CDOPT_TESTBIOS_EUR,
  129. MA_CDOPT_TESTBIOS_JAP,
  130. MA_CDOPT_LEDS,
  131. MA_CDOPT_CDDA,
  132. MA_CDOPT_PCM,
  133. MA_CDOPT_READAHEAD,
  134. MA_CDOPT_SAVERAM,
  135. MA_CDOPT_SCALEROT_CHIP,
  136. MA_CDOPT_DONE,
  137. MA_32XOPT_ENABLE_32X,
  138. MA_32XOPT_RENDERER,
  139. MA_32XOPT_PWM,
  140. MA_32XOPT_MSH2_CYCLES,
  141. MA_32XOPT_SSH2_CYCLES,
  142. MA_SMSOPT_HARDWARE,
  143. MA_SMSOPT_MAPPER,
  144. MA_SMSOPT_GHOSTING,
  145. MA_CTRL_PLAYER1,
  146. MA_CTRL_PLAYER2,
  147. MA_CTRL_EMU,
  148. MA_CTRL_TURBO_RATE,
  149. MA_CTRL_DEADZONE,
  150. MA_CTRL_DEV_FIRST,
  151. MA_CTRL_DEV_NEXT,
  152. MA_CTRL_DONE,
  153. } menu_id;
  154. void menu_init(void);
  155. void menu_loop(void);
  156. int menu_loop_tray(void);
  157. void menu_romload_prepare(const char *rom_name);
  158. void menu_romload_end(void);
  159. #endif // __MENU_PICO_H__