X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=common%2Fmenu.h;h=b17f2dd0328cb10ddfd205ea0834b2c24ff237b8;hb=906bdc9fb54da36399faaa95535432fdf8531662;hp=1e096ff00d222555c22dc8c48d535d7e4c7700e7;hpb=c7a4ff64287b12487c7e9cc13ce3b7d2aa6e1f06;p=libpicofe.git diff --git a/common/menu.h b/common/menu.h index 1e096ff..b17f2dd 100644 --- a/common/menu.h +++ b/common/menu.h @@ -1,4 +1,4 @@ -// (c) Copyright 2006,2007 notaz, All rights reserved. +// (c) Copyright 2006-2008 notaz, All rights reserved. void menu_init(void); @@ -6,8 +6,9 @@ void text_out16(int x, int y, const char *texto, ...); void smalltext_out16(int x, int y, const char *texto, int color); void smalltext_out16_lim(int x, int y, const char *texto, int color, int max); void menu_draw_selection(int x, int y, int w); +void debug_menu_loop(void); - +extern char menuErrorMsg[64]; typedef enum { @@ -46,20 +47,40 @@ typedef enum MA_OPT_CPU_CLOCKS, MA_OPT_SCD_OPTS, MA_OPT_ADV_OPTS, + MA_OPT_DISP_OPTS, /* psp */ MA_OPT_SAVECFG, MA_OPT_SAVECFG_GAME, MA_OPT_LOADCFG, + MA_OPT_INTERLACED, /* giz */ + MA_OPT_ROTATION, /* uiq */ MA_OPT2_GAMMA, MA_OPT2_A_SN_GAMMA, + MA_OPT2_DBLBUFF, /* giz */ MA_OPT2_VSYNC, MA_OPT2_ENABLE_Z80, MA_OPT2_ENABLE_YM2612, MA_OPT2_ENABLE_SN76496, MA_OPT2_GZIP_STATES, MA_OPT2_NO_LAST_ROM, - MA_OPT2_RAMTIMINGS, - MA_OPT2_SQUIDGEHACK, + MA_OPT2_RAMTIMINGS, /* gp2x */ + MA_OPT2_SQUIDGEHACK, /* gp2x */ + MA_OPT2_STATUS_LINE, /* psp */ + MA_OPT2_NO_FRAME_LIMIT, /* psp */ + MA_OPT2_SVP_DYNAREC, + MA_OPT2_NO_SPRITE_LIM, + MA_OPT2_NO_IDLE_LOOPS, MA_OPT2_DONE, + MA_OPT3_SCALE, /* psp (all OPT3) */ + MA_OPT3_HSCALE32, + MA_OPT3_HSCALE40, + MA_OPT3_PRES_NOSCALE, + MA_OPT3_PRES_SCALE43, + MA_OPT3_PRES_FULLSCR, + MA_OPT3_FILTERING, + MA_OPT3_VSYNC, + MA_OPT3_GAMMAA, + MA_OPT3_BLACKLVL, + MA_OPT3_DONE, MA_CDOPT_TESTBIOS_USA, MA_CDOPT_TESTBIOS_EUR, MA_CDOPT_TESTBIOS_JAP, @@ -71,6 +92,11 @@ typedef enum MA_CDOPT_SCALEROT_CHIP, MA_CDOPT_BETTER_SYNC, MA_CDOPT_DONE, + MA_CTRL_PLAYER1, + MA_CTRL_PLAYER2, + MA_CTRL_EMU, + MA_CTRL_TURBO_RATE, + MA_CTRL_DONE, } menu_id; typedef struct @@ -83,8 +109,18 @@ typedef struct signed char min; /* for ranged integer settings, to be sign-extended */ signed char max; char enabled; + char need_to_save; } menu_entry; +typedef struct +{ + char *name; + int mask; +} me_bind_action; + +extern me_bind_action me_ctrl_actions[15]; +extern me_bind_action emuctrl_actions[]; // platform code + typedef void (me_draw_custom_f)(const menu_entry *entry, int x, int y, void *param); @@ -95,4 +131,5 @@ menu_id me_index2id(const menu_entry *entries, int count, int index); void me_draw(const menu_entry *entries, int count, int x, int y, me_draw_custom_f *cust_draw, void *param); int me_process(menu_entry *entries, int count, menu_id id, int is_next); +const char *me_region_name(unsigned int code, int auto_order);