diff options
author | James Meyer <james.meyer@operamail.com> | 2010-08-30 22:26:00 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2010-08-30 22:26:00 (GMT) |
commit | 1f175a7b07b9553ce98d0546ac04dbb925ec0bc9 (patch) | |
tree | c969070115611a8a75f23d468aa5e0cf86a08121 /abs/extra/sdlmame | |
parent | c4bd4457b5d640e1c8f5afbca7cd54c53691e5fc (diff) | |
download | linhes_pkgbuild-1f175a7b07b9553ce98d0546ac04dbb925ec0bc9.zip linhes_pkgbuild-1f175a7b07b9553ce98d0546ac04dbb925ec0bc9.tar.gz linhes_pkgbuild-1f175a7b07b9553ce98d0546ac04dbb925ec0bc9.tar.bz2 |
RESYNC EXTRA:
synced extra-testing -> extra repo
Signed-off-by: James Meyer <james.meyer@operamail.com>
Diffstat (limited to 'abs/extra/sdlmame')
-rw-r--r-- | abs/extra/sdlmame/PKGBUILD | 88 | ||||
-rw-r--r-- | abs/extra/sdlmame/mame-0137-wiimote.diff | 424 | ||||
-rw-r--r-- | abs/extra/sdlmame/sdlmame.install | 3 |
3 files changed, 480 insertions, 35 deletions
diff --git a/abs/extra/sdlmame/PKGBUILD b/abs/extra/sdlmame/PKGBUILD index cb9d65b..2718a57 100644 --- a/abs/extra/sdlmame/PKGBUILD +++ b/abs/extra/sdlmame/PKGBUILD @@ -1,65 +1,89 @@ -# $Id: PKGBUILD,v 1.19 2009/04/24 15:05:30 sergej Exp $ +# $Id: PKGBUILD 12909 2010-03-15 11:46:58Z spupykin $ # Contributor: robb_force <robb_force@holybuffalo.net> # Maintainer: JJDaNiMoTh <jjdanimoth@gmail.com> pkgname=sdlmame -pkgver=0.131 -pkgrel=1 +pkgver=0.137 +_basever=0137 +pkgrel=3 pkgdesc="A port of the popular Multiple Arcade Machine Emulator using SDL with OpenGL support." -url="http://rbelmont.mameworld.info/?page_id=163" +url="http://mamedev.org/" license=('custom:MAME License') arch=('i686' 'x86_64') depends=('sdl>=1.2.11' 'libxinerama' 'gconf') makedepends=('unzip' 'nasm' 'mesa') -DLAGENTS=('http::/usr/bin/wget -U "" -c -t 3 --waitretry=3') -options=('!makeflags' 'force') +DLAGENTS=('http::/usr/bin/wget -U "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.2) Gecko/20090804 Shiretoko/3.5.2" -c -t 3 --waitretry=3') +options=('force') install=sdlmame.install -source=(http://rbelmont.mameworld.info/${pkgname}${pkgver%.*}${pkgver#*.}.zip \ - sdlmame.sh \ - extras.tar.gz) -md5sums=('d4891999ec2ee11cb0d75a1596e17060' - '3119ccfa1e970eba4467df31208adaf0' - '420b61240bf5ae11615ba7c6100ee00d') +source=("http://aarongiles.com/mirror/releases/mame0137s.zip" +#"mame${_basever}s.zip::http://mamedev.org/downloader.php?&file=mame${_basever}s.zip" +# "http://mamedev.org/updates/0136u1_diff.zip" +# "http://mamedev.org/updates/0136u2_diff.zip" +# "http://mamedev.org/updates/0136u3_diff.zip" + "sdlmame.sh" + "extras.tar.gz" + "mame-0137-wiimote.diff") build() { - cd ${startdir}/src/${pkgname}${pkgver%.*}${pkgver#*.} + cd $srcdir/ - sed -i 's/-Werror//' makefile || return 1 + if [ $NOEXTRACT -eq 0 ]; then + unzip mame.zip +# find . -type f -not -name uismall.png | xargs perl -pi -e 's/\r\n?/\n/g' +# patch -p0 -E <0136u1.diff +# patch -p0 -E <0136u2.diff +# patch -p0 -E <0136u3.diff + patch -p1 < ../mame-0137-wiimote.diff || return 1 + sed -i 's/-Werror//' makefile || return 1 + fi # Modify the make options based on the user's architecture if [ "$CARCH" == "x86_64" ]; then echo "Compiling for AMD64..." make AMD64=1 PTR64=1 || return 1 + make tools AMD64=1 PTR64=1 || return 1 elif [ "$CARCH" == "i686" ]; then make I686=1 || return 1 + make tools I686=1 || return 1 else echo "Compiling for i386..." make PM=1 || return 1 + make tools PM=1 || return 1 fi # Install the sdlmame script - install -Dm755 ${startdir}/src/${pkgname}.sh ${startdir}/pkg/usr/bin/${pkgname} || return 1 + install -Dm755 $srcdir/${pkgname}.sh $pkgdir/usr/bin/${pkgname} || return 1 # Install the applications and the UI font in /usr/share - install -Dm755 mame* ${startdir}/pkg/usr/share/${pkgname}/${pkgname} && \ - install -m755 chdman ${startdir}/pkg/usr/share/${pkgname}/chdman && \ - install -m755 jedutil ${startdir}/pkg/usr/share/${pkgname}/jedutil && \ -# install -m755 makemeta ${startdir}/pkg/usr/share/${pkgname}/makemeta && \ - install -m755 regrep ${startdir}/pkg/usr/share/${pkgname}/regrep && \ - install -m755 romcmp ${startdir}/pkg/usr/share/${pkgname}/romcmp && \ - install -m755 runtest ${startdir}/pkg/usr/share/${pkgname}/runtest && \ - install -m755 testkeys ${startdir}/pkg/usr/share/${pkgname}/testkeys && \ - install -m755 src2html ${startdir}/pkg/usr/share/${pkgname}/src2html && \ - install -m755 srcclean ${startdir}/pkg/usr/share/${pkgname}/srcclean && \ - install -m755 ldverify ${startdir}/pkg/usr/share/${pkgname}/ldverify && \ - install -m644 ui.bdf ${startdir}/pkg/usr/share/${pkgname}/ui.bdf || return 1 + install -Dm755 mame $pkgdir/usr/share/${pkgname}/${pkgname} || \ + install -Dm755 mame64 $pkgdir/usr/share/${pkgname}/${pkgname} || return 1 + + install -m755 chdman $pkgdir/usr/share/${pkgname}/chdman && \ + install -m755 jedutil $pkgdir/usr/share/${pkgname}/jedutil && \ + install -m755 regrep $pkgdir/usr/share/${pkgname}/regrep && \ + install -m755 romcmp $pkgdir/usr/share/${pkgname}/romcmp && \ + install -m755 testkeys $pkgdir/usr/share/${pkgname}/testkeys && \ + install -m755 src2html $pkgdir/usr/share/${pkgname}/src2html && \ + install -m755 srcclean $pkgdir/usr/share/${pkgname}/srcclean && \ + install -m755 ldverify $pkgdir/usr/share/${pkgname}/ldverify && \ + install -m755 ldresample $pkgdir/usr/share/${pkgname}/ldresample || return 1 + +# install -m755 makemeta $pkgdir/usr/share/${pkgname}/makemeta && \ +# install -m755 runtest $pkgdir/usr/share/${pkgname}/runtest && \ +# install -m644 ui.bdf $pkgdir/usr/share/${pkgname}/ui.bdf || return 1 # Install the extra bits - install -d ${startdir}/pkg/usr/share/${pkgname}/{artwork,ctrlr,keymaps} && \ - install -m644 ${startdir}/src/artwork/* ${startdir}/pkg/usr/share/${pkgname}/artwork/ && \ - install -m644 ${startdir}/src/ctrlr/* ${startdir}/pkg/usr/share/${pkgname}/ctrlr/ && \ - install -m644 keymaps/* ${startdir}/pkg/usr/share/${pkgname}/keymaps/ || return 1 + install -d $pkgdir/usr/share/${pkgname}/{artwork,ctrlr,keymaps} && \ + install -m644 $srcdir/artwork/* $pkgdir/usr/share/${pkgname}/artwork/ && \ + install -m644 $srcdir/ctrlr/* $pkgdir/usr/share/${pkgname}/ctrlr/ || return 1 + install -m644 src/osd/sdl/keymaps/* $pkgdir/usr/share/${pkgname}/keymaps/ || return 1 # Include the license - install -Dm644 docs/license.txt $startdir/pkg/usr/share/licenses/${pkgname}/license.txt + install -Dm644 docs/license.txt $startdir/pkg/usr/share/licenses/${pkgname}/license.txt || return 1 + + find $pkgdir -type f -exec strip {} \; } +md5sums=('ce9e5359e882d5a8219821e39bd4f27a' + '3119ccfa1e970eba4467df31208adaf0' + '420b61240bf5ae11615ba7c6100ee00d' + '07ba30c6054bf864f7c1300bfef03b81') diff --git a/abs/extra/sdlmame/mame-0137-wiimote.diff b/abs/extra/sdlmame/mame-0137-wiimote.diff new file mode 100644 index 0000000..8f29b8e --- /dev/null +++ b/abs/extra/sdlmame/mame-0137-wiimote.diff @@ -0,0 +1,424 @@ +diff -BNburp mame-org/makefile mame-wiimote/makefile +diff -BNburp mame-org/src/osd/sdl/input.c mame-wiimote/src/osd/sdl/input.c +--- mame-org/src/osd/sdl/input.c 2010-02-28 04:16:40.000000000 +0100 ++++ mame-wiimote/src/osd/sdl/input.c 2010-05-07 13:53:59.000000000 +0200 +@@ -17,6 +17,12 @@ + #include <ctype.h>
+ #include <stddef.h>
+
++// for xinput ++#include <X11/Xlib.h> ++#include <X11/extensions/XInput.h> ++#include <X11/Xutil.h> ++ ++ + // MAME headers
+ #include "emu.h"
+ #include "ui.h"
+@@ -53,6 +59,16 @@ enum
+ #define MAX_POV 4
+ #define MAX_DEVMAP_ENTRIES 16
+
++//For xinput ++#define INVALID_EVENT_TYPE -1 ++static int motion_type = INVALID_EVENT_TYPE; ++static int button_press_type = INVALID_EVENT_TYPE; ++static int button_release_type = INVALID_EVENT_TYPE; ++static int key_press_type = INVALID_EVENT_TYPE; ++static int key_release_type = INVALID_EVENT_TYPE; ++static int proximity_in_type = INVALID_EVENT_TYPE; ++static int proximity_out_type = INVALID_EVENT_TYPE; ++ + //============================================================
+ // MACROS
+ //============================================================
+@@ -86,6 +102,16 @@ struct _mouse_state
+ INT32 buttons[MAX_BUTTONS];
+ };
+
++// state information for a lightgun ++typedef struct _lightgun_state lightgun_state; ++struct _lightgun_state ++{ ++ INT32 lX, lY; ++ INT32 buttons[MAX_BUTTONS]; ++ XID deviceid; //Xinput device id ++ INT32 maxx,maxy; ++ INT32 minx,miny; ++}; +
+ // state information for a joystick; DirectInput state must be first element
+ typedef struct _joystick_state joystick_state;
+@@ -115,6 +141,7 @@ struct _device_info
+ keyboard_state keyboard;
+ mouse_state mouse;
+ joystick_state joystick;
++ lightgun_state lightgun; + };
+ };
+
+@@ -164,10 +191,13 @@ struct _device_map_t
+
+ static device_map_t joy_map;
+ static device_map_t mouse_map;
++static device_map_t lightgun_map; + static device_map_t keyboard_map;
+
+ static int sixaxis_mode;
+
++Display *XDisplay; ++ +
+ //============================================================
+ // PROTOTYPES
+@@ -671,6 +703,244 @@ static device_info *devmap_class_registe + return devinfo;
+ }
+
++//============================================================ ++// WiiMote lightgun stuff ++//============================================================ ++ ++//Copypasted from xinfo ++XDeviceInfo* ++find_device_info(Display *display, ++ char *name, ++ Bool only_extended) ++{ ++ XDeviceInfo *devices; ++ XDeviceInfo *found = NULL; ++ int loop; ++ int num_devices; ++ int len = strlen(name); ++ Bool is_id = True; ++ XID id=0; ++ ++ for(loop=0; loop<len; loop++) { ++ if (!isdigit(name[loop])) { ++ is_id = False; ++ break; ++ } ++ } ++ ++ if (is_id) { ++ id = atoi(name); ++ } ++ ++ devices = XListInputDevices(display, &num_devices); ++ ++ for(loop=0; loop<num_devices; loop++) { ++ if ((!only_extended || (devices[loop].use >= IsXExtensionDevice)) && ++ ((!is_id && strcmp(devices[loop].name, name) == 0) || ++ (is_id && devices[loop].id == id))) { ++ if (found) { ++ fprintf(stderr, ++ "Warning: There are multiple devices named \"%s\".\n" ++ "To ensure the correct one is selected, please use " ++ "the device ID instead.\n\n", name); ++ } else { ++ found = &devices[loop]; ++ } ++ } ++ } ++ return found; ++} ++ ++//Copypasted from xinfo ++static int ++register_events(Display *dpy, ++ XDeviceInfo *info, ++ char *dev_name, ++ Bool handle_proximity) ++{ ++ int number = 0; /* number of events registered */ ++ XEventClass event_list[7]; ++ int i; ++ XDevice *device; ++ Window root_win; ++ unsigned long screen; ++ XInputClassInfo *ip; ++ ++ screen = DefaultScreen(dpy); ++ root_win = RootWindow(dpy, screen); ++ ++ device = XOpenDevice(dpy, info->id); ++ ++ if (!device) { ++ fprintf(stderr, "unable to open device %s\n", dev_name); ++ return 0; ++ } ++ ++ if (device->num_classes > 0) { ++ for (ip = device->classes, i=0; i<info->num_classes; ip++, i++) { ++ switch (ip->input_class) { ++ case KeyClass: ++ DeviceKeyPress(device, key_press_type, event_list[number]); number++; ++ DeviceKeyRelease(device, key_release_type, event_list[number]); number++; ++ break; ++ ++ case ButtonClass: ++ DeviceButtonPress(device, button_press_type, event_list[number]); number++; ++ DeviceButtonRelease(device, button_release_type, event_list[number]); number++; ++ break; ++ ++ case ValuatorClass: ++ DeviceMotionNotify(device, motion_type, event_list[number]); number++; ++ fprintf(stderr, "Motion = %i\n",motion_type); ++ if (handle_proximity) { ++ ProximityIn(device, proximity_in_type, event_list[number]); number++; ++ ProximityOut(device, proximity_out_type, event_list[number]); number++; ++ } ++ break; ++ ++ default: ++ fprintf(stderr, "unknown class\n"); ++ break; ++ } ++ } ++ ++ if (XSelectExtensionEvent(dpy, root_win, event_list, number)) { ++ fprintf(stderr, "error selecting extended events\n"); ++ return 0; ++ } ++ } ++ return number; ++} ++ ++ ++ ++static void sdlinput_register_lightguns(running_machine *machine) ++{ ++ int index; ++ XExtensionVersion *version; ++ ++ lightgun_enabled = options_get_bool(mame_options(), OPTION_LIGHTGUN); ++ devmap_init(machine, &lightgun_map, SDLOPTION_LIGHTGUNINDEX, 8, "Lightgun mapping"); ++ ++ XDisplay = XOpenDisplay(NULL); ++ ++ if (XDisplay == NULL) { ++ fprintf(stderr, "Unable to connect to X server\n"); ++ return; ++ } ++ ++ version = XGetExtensionVersion(XDisplay, INAME); ++ ++ if (!version || (version == (XExtensionVersion*) NoSuchExtension)) { ++ fprintf(stderr, "xinput extension not available!\n"); ++ return; ++ } ++ ++ ++ for (index=0; index<8; index++) { ++ XDeviceInfo *info; ++ if (strlen(lightgun_map.map[index].name)!=0) { ++ device_info *devinfo; ++ char *name=lightgun_map.map[index].name; ++ char defname[512]; ++ devinfo = devmap_class_register(machine, &lightgun_map, index, &lightgun_list, DEVICE_CLASS_LIGHTGUN); ++ fprintf(stderr, "%i: %s\n",index, name); ++ info=find_device_info(XDisplay, name, 0); ++ if (!info) continue; ++ ++ //Grab device info and translate to stuff mame can use ++ if (info->num_classes > 0) { ++ XAnyClassPtr any = (XAnyClassPtr) (info->inputclassinfo); ++ int i; ++ for (i=0; i<info->num_classes; i++) { ++ int button; ++ XValuatorInfoPtr v; ++ XAxisInfoPtr a; ++ int j; ++ XButtonInfoPtr b; ++ switch (any->c_class) { ++ case ButtonClass: ++ b = (XButtonInfoPtr) any; ++ for (button = 0; button < b->num_buttons; button++) ++ { ++ input_item_id itemid; ++ sprintf(defname, "B%d", button + 1); ++ itemid=(input_item_id) (ITEM_ID_BUTTON1+button); ++ input_device_item_add(devinfo->device, defname, &devinfo->lightgun.buttons[button], itemid, generic_button_get_state); ++ } ++ break; ++ case ValuatorClass: ++ v = (XValuatorInfoPtr) any; ++ a = (XAxisInfoPtr) ((char *) v + sizeof (XValuatorInfo)); ++ for (j=0; j<v->num_axes; j++, a++) { ++ if (j==0) { ++ devinfo->lightgun.maxx=a->max_value; ++ devinfo->lightgun.minx=a->min_value; ++ } ++ if (j==1) { ++ devinfo->lightgun.maxy=a->max_value; ++ devinfo->lightgun.miny=a->min_value; ++ } ++ } ++ break; ++ } ++ any = (XAnyClassPtr) ((char *) any + any->length); ++ } ++ } ++ ++ ++ sprintf(defname, "X %s", devinfo->name); ++ input_device_item_add(devinfo->device, defname, &devinfo->lightgun.lX, ITEM_ID_XAXIS, generic_axis_get_state); ++ sprintf(defname, "Y %s", devinfo->name); ++ input_device_item_add(devinfo->device, defname, &devinfo->lightgun.lY, ITEM_ID_YAXIS, generic_axis_get_state); ++ ++ ++ devinfo->lightgun.deviceid=info->id; ++ if (!info) { ++ fprintf(stderr, "Can't find device %s!\n", lightgun_map.map[index].name); ++ } else { ++ fprintf(stderr, "Device %i: Registered %i events.\n",(int)info->id, register_events(XDisplay, info, lightgun_map.map[index].name, 0)); ++ } ++ } ++ } ++ mame_printf_verbose("Lightgun: End initialization\n"); ++} ++ ++device_info *get_lightgun_info_for_deviceid(XID deviceid) { ++ device_info *devinfo; ++ int index; ++ //Find lightgun according to device id ++ for (index=0; ; index++) { ++ devinfo = generic_device_find_index(lightgun_list, index); ++ if (devinfo==NULL) break; ++ if (devinfo->lightgun.deviceid==deviceid) break; ++ } ++ return devinfo; ++} ++ ++int normalize_absolute_axis(int raw, int rawmin, int rawmax) ++{ ++ int center = (rawmax + rawmin) / 2; ++ ++ // make sure we have valid data ++ if (rawmin >= rawmax) ++ return raw; ++ ++ // above center ++ if (raw >= center) ++ { ++ int result = (long)(raw - center) * (long)INPUT_ABSOLUTE_MAX / (long)(rawmax - center); ++ return MIN(result, INPUT_ABSOLUTE_MAX); ++ } ++ ++ // below center ++ else ++ { ++ int result = -((long)(center - raw) * (long)-INPUT_ABSOLUTE_MIN / (long)(center - rawmin)); ++ return MAX(result, INPUT_ABSOLUTE_MIN); ++ } ++} ++ +
+ //============================================================
+ // sdlinput_register_joysticks
+@@ -1115,6 +1385,9 @@ void sdlinput_init(running_machine *mach + // register the mice
+ sdlinput_register_mice(machine);
+
++ // register the lightguns ++ sdlinput_register_lightguns(machine); ++ + if (machine->debug_flags & DEBUG_FLAG_OSD_ENABLED)
+ {
+ mame_printf_warning("Debug Build: Disabling input grab for -debug\n");
+@@ -1131,6 +1404,7 @@ void sdlinput_init(running_machine *mach + device_list_reset_devices(keyboard_list);
+ device_list_reset_devices(mouse_list);
+ device_list_reset_devices(joystick_list);
++ device_list_reset_devices(lightgun_list); +
+ }
+
+@@ -1248,6 +1522,7 @@ void sdlinput_poll(running_machine *mach + device_info *devinfo;
+ SDL_Event event;
+ int index;
++ XEvent xevent; +
+ // only for SDLMAME_EVENTS_IN_WORKER_THREAD
+ SDL_Event loc_event_buf[MAX_BUF_EVENTS];
+@@ -1263,6 +1538,21 @@ void sdlinput_poll(running_machine *mach + devinfo->mouse.lY = 0;
+ }
+
++ //Get XInput events ++ while (XPending(XDisplay)!=0) { ++ XNextEvent(XDisplay, &xevent); ++ if (xevent.type==motion_type) { ++ XDeviceMotionEvent *motion = (XDeviceMotionEvent *) &xevent; ++ devinfo=get_lightgun_info_for_deviceid(motion->deviceid); ++ devinfo->lightgun.lX=normalize_absolute_axis(motion->axis_data[0], devinfo->lightgun.minx, devinfo->lightgun.maxx); ++ devinfo->lightgun.lY=normalize_absolute_axis(motion->axis_data[1], devinfo->lightgun.miny, devinfo->lightgun.maxy); ++ } else if (xevent.type==button_press_type || xevent.type==button_release_type) { ++ XDeviceButtonEvent *button = (XDeviceButtonEvent *) &xevent; ++ devinfo=get_lightgun_info_for_deviceid(button->deviceid); ++ devinfo->lightgun.buttons[button->button]=(xevent.type==button_press_type)?0x80:0; ++ } ++ } ++ + if (SDLMAME_EVENTS_IN_WORKER_THREAD)
+ {
+ osd_lock_acquire(input_lock);
+diff -BNburp mame-org/src/osd/sdl/osdsdl.h mame-wiimote/src/osd/sdl/osdsdl.h +--- mame-org/src/osd/sdl/osdsdl.h 2010-02-12 14:42:32.000000000 +0100 ++++ mame-wiimote/src/osd/sdl/osdsdl.h 2010-05-07 08:53:34.000000000 +0200 +@@ -130,3 +130,4 @@ void sdlaudio_init(running_machine *mach + extern int sdl_num_processors;
+
+ #endif
++#define SDLOPTION_LIGHTGUNINDEX "lightgun_index" +diff -BNburp mame-org/src/osd/sdl/sdlmain.c mame-wiimote/src/osd/sdl/sdlmain.c +--- mame-org/src/osd/sdl/sdlmain.c 2010-02-13 12:19:16.000000000 +0100 ++++ mame-wiimote/src/osd/sdl/sdlmain.c 2010-05-07 08:54:03.000000000 +0200 +@@ -190,6 +190,17 @@ static const options_entry mame_sdl_opti + { SDLOPTION_JOYINDEX "8", SDLOPTVAL_AUTO, 0, "name of joystick mapped to joystick #8" },
+ { SDLOPTION_SIXAXIS, "0", OPTION_BOOLEAN, "Use special handling for PS3 Sixaxis controllers" },
+
++ { NULL, NULL, OPTION_HEADER, "SDL LIGHTGUN MAPPING" }, ++ { SDLOPTION_LIGHTGUNINDEX "1", SDLOPTVAL_AUTO, 0, "name of lightgun mapped to lightgun #1" }, ++ { SDLOPTION_LIGHTGUNINDEX "2", SDLOPTVAL_AUTO, 0, "name of lightgun mapped to lightgun #2" }, ++ { SDLOPTION_LIGHTGUNINDEX "3", SDLOPTVAL_AUTO, 0, "name of lightgun mapped to lightgun #3" }, ++ { SDLOPTION_LIGHTGUNINDEX "4", SDLOPTVAL_AUTO, 0, "name of lightgun mapped to lightgun #4" }, ++ { SDLOPTION_LIGHTGUNINDEX "5", SDLOPTVAL_AUTO, 0, "name of lightgun mapped to lightgun #5" }, ++ { SDLOPTION_LIGHTGUNINDEX "6", SDLOPTVAL_AUTO, 0, "name of lightgun mapped to lightgun #6" }, ++ { SDLOPTION_LIGHTGUNINDEX "7", SDLOPTVAL_AUTO, 0, "name of lightgun mapped to lightgun #7" }, ++ { SDLOPTION_LIGHTGUNINDEX "8", SDLOPTVAL_AUTO, 0, "name of lightgun mapped to lightgun #8" }, ++ ++ + #if (SDL_VERSION_ATLEAST(1,3,0))
+ { NULL, NULL, OPTION_HEADER, "SDL MOUSE MAPPING" },
+ { SDLOPTION_MOUSEINDEX "1", SDLOPTVAL_AUTO, 0, "name of mouse mapped to mouse #1" },
+diff -BNburp mame-org/src/osd/sdl/window.c mame-wiimote/src/osd/sdl/window.c +--- mame-org/src/osd/sdl/window.c 2010-02-12 07:40:12.000000000 +0100 ++++ mame-wiimote/src/osd/sdl/window.c 2010-05-07 08:54:54.000000000 +0200 +@@ -659,8 +659,17 @@ static void sdlwindow_update_cursor_stat + }
+
+ #else
++ //Hack for wii-lightguns: they stop working with a grabbed mouse; even a ShowCursor(SDL_DISABLE) already ++ //does this. To make the cursor disappear, we'll just set an empty cursor image. ++ unsigned char data[]={0,0,0,0,0,0,0,0}; ++ SDL_Cursor *c; ++ c=SDL_CreateCursor(data, data, 8, 8, 0, 0); ++ SDL_SetCursor(c); ++ ++ + // do not do mouse capture if the debugger's enabled to avoid
+ // the possibility of losing control
++/* + if (!(machine->debug_flags & DEBUG_FLAG_OSD_ENABLED))
+ {
+ if ( window->fullscreen || sdlinput_should_hide_mouse(machine) )
+@@ -680,6 +689,7 @@ static void sdlwindow_update_cursor_stat + }
+ }
+ }
++*/ + #endif
+ }
+
diff --git a/abs/extra/sdlmame/sdlmame.install b/abs/extra/sdlmame/sdlmame.install index eedae49..6103018 100644 --- a/abs/extra/sdlmame/sdlmame.install +++ b/abs/extra/sdlmame/sdlmame.install @@ -27,6 +27,3 @@ post_upgrade() echo "" } -op=$1 -shift -$op $* |