X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=plugins%2Fdfinput%2Fmain.c;h=9c19bb69dcb5b3f4b09a3ee4330a401129e1e347;hb=accedc82b01fe5834a805a9872405d51de1d5c06;hp=73b2bda9d59ca885af2684927658dbb24fc897dc;hpb=4c08b9e7dd350a48fc3e0515913d6ccc8b15e5ae;p=pcsx_rearmed.git diff --git a/plugins/dfinput/main.c b/plugins/dfinput/main.c index 73b2bda9..9c19bb69 100644 --- a/plugins/dfinput/main.c +++ b/plugins/dfinput/main.c @@ -1,5 +1,5 @@ /* - * (C) Gražvydas "notaz" Ignotas, 2011 + * (C) Gražvydas "notaz" Ignotas, 2011 * * This work is licensed under the terms of any of these licenses * (at your option): @@ -8,6 +8,13 @@ * See the COPYING file in the top-level directory. */ +#ifndef _WIN32 +#define CALLBACK +#else +#define WIN32_LEAN_AND_MEAN +#include +#endif + #include "main.h" unsigned char CurPad, CurByte, CurCmd, CmdLen; @@ -15,10 +22,12 @@ unsigned char CurPad, CurByte, CurCmd, CmdLen; /* since this is not a proper plugin, so we'll hook emu internals in a hackish way like this */ extern void *PAD1_startPoll, *PAD1_poll; extern void *PAD2_startPoll, *PAD2_poll; -extern unsigned char PAD1__startPoll(int pad); -extern unsigned char PAD2__startPoll(int pad); -extern unsigned char PAD1__poll(unsigned char value); -extern unsigned char PAD2__poll(unsigned char value); +extern unsigned char CALLBACK PAD1__startPoll(int pad); +extern unsigned char CALLBACK PAD2__startPoll(int pad); +extern unsigned char CALLBACK PAD1__poll(unsigned char value); +extern unsigned char CALLBACK PAD2__poll(unsigned char value); + +#ifndef HAVE_LIBRETRO static int old_controller_type1 = -1, old_controller_type2 = -1; @@ -33,10 +42,12 @@ static int old_controller_type1 = -1, old_controller_type2 = -1; pad_init(); \ break; \ case PSE_PAD_TYPE_GUNCON: \ - PAD##n##_startPoll = PADstartPoll_guncon; \ - PAD##n##_poll = PADpoll_guncon; \ - guncon_init(); \ - break; \ + /* Removed for new Guncon functionality, may have been required for very old touchscreen support */ \ + /* PAD##n##_startPoll = PADstartPoll_guncon; */ \ + /* PAD##n##_poll = PADpoll_guncon; */ \ + /* guncon_init(); */ \ + /* break; */ \ + case PSE_PAD_TYPE_NEGCON: \ case PSE_PAD_TYPE_GUN: \ default: \ PAD##n##_startPoll = PAD##n##__startPoll; \ @@ -44,14 +55,21 @@ static int old_controller_type1 = -1, old_controller_type2 = -1; break; \ } \ } +#endif /* HAVE_LIBRETRO */ + void dfinput_activate(void) { + #ifndef HAVE_LIBRETRO PadDataS pad; + pad.portMultitap = -1; + pad.requestPadIndex = 0; PAD1_readPort1(&pad); select_pad(1); + pad.requestPadIndex = 1; PAD2_readPort2(&pad); select_pad(2); + #endif }