X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=frontend%2Fplugin_lib.c;h=171296d25d3aa1e564be110dba76b03c648d32ed;hb=7a8d521fba9c86ae7b51369ce061bf63112b745f;hp=d215636f4c3cd438380c6bfb3a45759de4e8663f;hpb=ece032e6deb31bbbbe037c7d1dd630994d46b954;p=pcsx_rearmed.git diff --git a/frontend/plugin_lib.c b/frontend/plugin_lib.c index d215636f..171296d2 100644 --- a/frontend/plugin_lib.c +++ b/frontend/plugin_lib.c @@ -36,11 +36,16 @@ #define HUD_HEIGHT 10 -int in_type1, in_type2; -int in_a1[2] = { 127, 127 }, in_a2[2] = { 127, 127 }; +int in_type[8]; +int multitap1; +int multitap2; +int in_analog_left[8][2] = {{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 }}; +int in_analog_right[8][2] = {{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 },{ 127, 127 }}; int in_adev[2] = { -1, -1 }, in_adev_axis[2][2] = {{ 0, 1 }, { 0, 1 }}; int in_adev_is_nublike[2]; -int in_keystate, in_state_gun; +unsigned short in_keystate[8]; +int in_mouse[8][2]; +int in_state_gun; int in_enable_vibration; void *tsdev; void *pl_vout_buf; @@ -308,6 +313,7 @@ static void pl_vout_flip(const void *vram, int stride, int bgr24, int w, int h) unsigned char *dest = pl_vout_buf; const unsigned short *src = vram; int dstride = pl_vout_w, h1 = h; + int h_full = pl_vout_h - pl_vout_yoffset; int doffs; pcnt_start(PCNT_BLIT); @@ -318,7 +324,7 @@ static void pl_vout_flip(const void *vram, int stride, int bgr24, int w, int h) pl_plat_clear(); else memset(pl_vout_buf, 0, - dstride * pl_vout_h * pl_vout_bpp / 8); + dstride * h_full * pl_vout_bpp / 8); goto out_hud; } @@ -334,7 +340,7 @@ static void pl_vout_flip(const void *vram, int stride, int bgr24, int w, int h) pl_plat_clear(); else memset(pl_vout_buf, 0, - dstride * pl_vout_h * pl_vout_bpp / 8); + dstride * h_full * pl_vout_bpp / 8); clear_counter--; } @@ -468,7 +474,7 @@ static int dispmode_default(void) return 1; } -#ifdef __ARM_NEON__ +#ifdef BUILTIN_GPU_NEON static int dispmode_doubleres(void) { if (!(pl_rearmed_cbs.gpu_caps & GPU_CAP_SUPPORTS_2X) @@ -480,7 +486,9 @@ static int dispmode_doubleres(void) snprintf(hud_msg, sizeof(hud_msg), "double resolution"); return 1; } +#endif +#ifdef __ARM_NEON__ static int dispmode_scale2x(void) { if (!resolution_ok(psx_w * 2, psx_h * 2) || psx_bpp != 16) @@ -506,8 +514,10 @@ static int dispmode_eagle2x(void) static int (*dispmode_switchers[])(void) = { dispmode_default, -#ifdef __ARM_NEON__ +#ifdef BUILTIN_GPU_NEON dispmode_doubleres, +#endif +#ifdef __ARM_NEON__ dispmode_scale2x, dispmode_eagle2x, #endif @@ -562,7 +572,7 @@ static void update_analog_nub_adjust(int *x_, int *y_) static void update_analogs(void) { - int *nubp[2] = { in_a1, in_a2 }; + int *nubp[2] = { in_analog_left[0], in_analog_right[0] }; int vals[2]; int i, a, v, ret; @@ -590,7 +600,6 @@ static void update_analogs(void) } } - //printf("%4d %4d %4d %4d\n", in_a1[0], in_a1[1], in_a2[0], in_a2[1]); } static void update_input(void) @@ -599,7 +608,7 @@ static void update_input(void) unsigned int emu_act; in_update(actions); - if (in_type1 == PSE_PAD_TYPE_ANALOGPAD) + if (in_type[0] == PSE_PAD_TYPE_ANALOGJOY || in_type[0] == PSE_PAD_TYPE_ANALOGPAD) update_analogs(); emu_act = actions[IN_BINDTYPE_EMU]; in_state_gun = (emu_act & SACTION_GUN_MASK) >> SACTION_GUN_TRIGGER; @@ -613,7 +622,7 @@ static void update_input(void) } emu_set_action(emu_act); - in_keystate = actions[IN_BINDTYPE_PLAYER12]; + in_keystate[0] = actions[IN_BINDTYPE_PLAYER12]; } #else /* MAEMO */ extern void update_input(void);