mirror of
https://github.com/ekeeke/Genesis-Plus-GX.git
synced 2024-11-10 21:05:12 +01:00
[libretro] improved LightGun, Terebi Oekaki & Pico pointer precision
This commit is contained in:
parent
7ff002e0d8
commit
c7f9ff9ffd
@ -248,17 +248,8 @@ void osd_input_update(void)
|
||||
|
||||
case DEVICE_LIGHTGUN:
|
||||
{
|
||||
input.analog[i][0] += (input_state_cb(player, RETRO_DEVICE_LIGHTGUN, 0, RETRO_DEVICE_ID_LIGHTGUN_X) / 2);
|
||||
input.analog[i][1] += (input_state_cb(player, RETRO_DEVICE_LIGHTGUN, 0, RETRO_DEVICE_ID_LIGHTGUN_Y) / 2);
|
||||
|
||||
if (input.analog[i][0] < 0)
|
||||
input.analog[i][0] = 0;
|
||||
else if (input.analog[i][0] > bitmap.viewport.w)
|
||||
input.analog[i][0] = bitmap.viewport.w;
|
||||
if (input.analog[i][1] < 0)
|
||||
input.analog[i][1] = 0;
|
||||
else if (input.analog[i][1] > bitmap.viewport.h)
|
||||
input.analog[i][1] = bitmap.viewport.h;
|
||||
input.analog[i][0] = ((input_state_cb(player, RETRO_DEVICE_POINTER, 0, RETRO_DEVICE_ID_POINTER_X) + 0x7fff) * bitmap.viewport.w) / 0xfffe;
|
||||
input.analog[i][1] = ((input_state_cb(player, RETRO_DEVICE_POINTER, 0, RETRO_DEVICE_ID_POINTER_Y) + 0x7fff) * bitmap.viewport.h) / 0xfffe;
|
||||
|
||||
if (input_state_cb(player, RETRO_DEVICE_LIGHTGUN, 0, RETRO_DEVICE_ID_LIGHTGUN_TRIGGER))
|
||||
temp |= INPUT_A;
|
||||
@ -304,17 +295,8 @@ void osd_input_update(void)
|
||||
|
||||
case DEVICE_PICO:
|
||||
{
|
||||
input.analog[i][0] + input_state_cb(player, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_X);
|
||||
input.analog[i][1] += input_state_cb(player, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_Y);
|
||||
|
||||
if (input.analog[0][0] < 0x17c)
|
||||
input.analog[0][0] = 0x17c;
|
||||
else if (input.analog[0][0] > 0x3c)
|
||||
input.analog[0][0] = 0x3c;
|
||||
if (input.analog[0][1] < 0x1fc)
|
||||
input.analog[0][1] = 0x1fc;
|
||||
else if (input.analog[0][1] > 0x3f3)
|
||||
input.analog[0][1] = 0x3f3;
|
||||
input.analog[i][0] = 0x03c + ((input_state_cb(player, RETRO_DEVICE_POINTER, 0, RETRO_DEVICE_ID_POINTER_X) + 0x7fff) * (0x17c-0x03c)) / 0xfffe;
|
||||
input.analog[i][1] = 0x1fc + ((input_state_cb(player, RETRO_DEVICE_POINTER, 0, RETRO_DEVICE_ID_POINTER_Y) + 0x7fff) * (0x2f7-0x1fc)) / 0xfffe;
|
||||
|
||||
if (input_state_cb(player, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_LEFT))
|
||||
temp |= INPUT_PICO_PEN;
|
||||
@ -339,8 +321,8 @@ void osd_input_update(void)
|
||||
|
||||
case DEVICE_TEREBI:
|
||||
{
|
||||
input.analog[i][0] + input_state_cb(player, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_X);
|
||||
input.analog[i][1] += input_state_cb(player, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_Y);
|
||||
input.analog[i][0] = ((input_state_cb(player, RETRO_DEVICE_POINTER, 0, RETRO_DEVICE_ID_POINTER_X) + 0x7fff) * 250) / 0xfffe;
|
||||
input.analog[i][1] = ((input_state_cb(player, RETRO_DEVICE_POINTER, 0, RETRO_DEVICE_ID_POINTER_Y) + 0x7fff) * 250) / 0xfffe;
|
||||
|
||||
if (input.analog[0][0] < 0)
|
||||
input.analog[0][0] = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user