X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=plugins%2Fdfinput%2Fmain.c;h=4f1d03f6ca4e9cf1be64185eca4491dfb2be2cca;hb=1351a8fbef932e26a56e841b6c43de6d907fde5c;hp=73b2bda9d59ca885af2684927658dbb24fc897dc;hpb=4c08b9e7dd350a48fc3e0515913d6ccc8b15e5ae;p=pcsx_rearmed.git diff --git a/plugins/dfinput/main.c b/plugins/dfinput/main.c index 73b2bda9..4f1d03f6 100644 --- a/plugins/dfinput/main.c +++ b/plugins/dfinput/main.c @@ -15,10 +15,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; @@ -37,6 +39,7 @@ static int old_controller_type1 = -1, old_controller_type2 = -1; 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; \ @@ -49,9 +52,20 @@ void dfinput_activate(void) { PadDataS pad; + pad.portMultitap = -1; + pad.requestPadIndex = 0; PAD1_readPort1(&pad); select_pad(1); + pad.requestPadIndex = 1; PAD2_readPort2(&pad); select_pad(2); } + +#else // use libretro's libpcsxcore/plugins.c code + +void dfinput_activate(void) +{ +} + +#endif