X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=frontend%2Fplugin_lib.c;h=eb9d48eab382a99fdc1dc4ee54fe8fcbc15ece57;hb=e912c27d672c839f77e572183ca619820e7d52e5;hp=56da763e2dad4dba5b1a6c3336dc083e0ceb413f;hpb=4e9adec1930817da2031fd044dc74c0f454a0079;p=pcsx_rearmed.git diff --git a/frontend/plugin_lib.c b/frontend/plugin_lib.c index 56da763e..eb9d48ea 100644 --- a/frontend/plugin_lib.c +++ b/frontend/plugin_lib.c @@ -34,11 +34,17 @@ #include "../libpcsxcore/psxmem_map.h" #include "../plugins/dfinput/externals.h" -int in_type1, in_type2; -int in_a1[2] = { 127, 127 }, in_a2[2] = { 127, 127 }; +#define HUD_HEIGHT 10 + +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_state_gun; int in_enable_vibration; void *tsdev; void *pl_vout_buf; @@ -101,20 +107,20 @@ static void hud_printf(void *fb, int w, int x, int y, const char *texto, ...) static void print_msg(int h, int border) { - hud_print(pl_vout_buf, pl_vout_w, border + 2, h - 10, hud_msg); + hud_print(pl_vout_buf, pl_vout_w, border + 2, h - HUD_HEIGHT, hud_msg); } static void print_fps(int h, int border) { - hud_printf(pl_vout_buf, pl_vout_w, border + 2, h - 10, + hud_printf(pl_vout_buf, pl_vout_w, border + 2, h - HUD_HEIGHT, "%2d %4.1f", pl_rearmed_cbs.flips_per_sec, pl_rearmed_cbs.vsps_cur); } static void print_cpu_usage(int w, int h, int border) { - hud_printf(pl_vout_buf, pl_vout_w, pl_vout_w - border - 28, h - 10, - "%3d", pl_rearmed_cbs.cpu_usage); + hud_printf(pl_vout_buf, pl_vout_w, pl_vout_w - border - 28, + h - HUD_HEIGHT, "%3d", pl_rearmed_cbs.cpu_usage); } // draw 192x8 status of 24 sound channels @@ -126,7 +132,7 @@ static __attribute__((noinline)) void draw_active_chans(int vout_w, int vout_h) static const unsigned short colors[2] = { 0x1fe3, 0x0700 }; unsigned short *dest = (unsigned short *)pl_vout_buf + - vout_w * (vout_h - 10) + vout_w / 2 - 192/2; + vout_w * (vout_h - HUD_HEIGHT) + vout_w / 2 - 192/2; unsigned short *d, p; int c, x, y; @@ -394,6 +400,8 @@ static void pl_vout_flip(const void *vram, int stride, int bgr24, int w, int h) #endif else { + src = (void *)((uintptr_t)src & ~3); // align for the blitter + for (; h1-- > 0; dest += dstride * 2, src += stride) { bgr555_to_rgb565(dest, src, w * 2); @@ -558,7 +566,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; @@ -595,7 +603,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; @@ -609,7 +617,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);