pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/emulators/xmame Update xmame to 0.85.
details: https://anonhg.NetBSD.org/pkgsrc/rev/1a88cdcaf035
branches: trunk
changeset: 479409:1a88cdcaf035
user: kristerw <kristerw%pkgsrc.org@localhost>
date: Sat Aug 14 00:25:13 2004 +0000
description:
Update xmame to 0.85.
Changes since 0.84.1nb1:
- Everything from MAME 0.85 (http://x.mame.net/changes-mame.html) and
MESS 0.85 (http://x.mame.net/changes-mess.html).
- Added a 2x sinc-based 6-tap filter effect with scanlines, enabled
via "-effect 8" or "-ef 8". (Richard Goedeken)
- Reworked the input code so that it more closely resembles its Windows
counterpart. This adds support for "-steadykey", "-a2d_deadzone" and
"-digital".
- Increased the maximum number of joysticks from 6 to 8 and the maximum
number of buttons per joystick from 16 to 32.
- Mouse buttons may not have been working in recent releases for games
such as Missile Command; they should work now.
- Network support is broken for the time being because of the core
input changes, so please disable XMAME_NET in your makefile. If
you're interested in fixing this, have a look at src/unix/network.c
and the XMAME_NET sections of an older src/inptport.c.
diffstat:
emulators/xmame/Makefile | 10 +-
emulators/xmame/distinfo | 7 +-
emulators/xmame/patches/patch-ab | 409 ---------------------------------------
3 files changed, 9 insertions(+), 417 deletions(-)
diffs (truncated from 458 to 300 lines):
diff -r 3b955bc4086d -r 1a88cdcaf035 emulators/xmame/Makefile
--- a/emulators/xmame/Makefile Fri Aug 13 22:34:28 2004 +0000
+++ b/emulators/xmame/Makefile Sat Aug 14 00:25:13 2004 +0000
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.115 2004/07/26 18:40:06 dillo Exp $
+# $NetBSD: Makefile,v 1.116 2004/08/14 00:25:13 kristerw Exp $
#
-DISTNAME= xmame-0.84.1
-PKGREVISION= 1
+DISTNAME= xmame-0.85
CATEGORIES= emulators games x11
MASTER_SITES= http://x.mame.net/download/
EXTRACT_SUFX= .tar.bz2
@@ -34,7 +33,9 @@
MAKE_FLAGS+= LIBS="${LDFLAGS} ${LIBS}"
MAKE_FLAGS+= CFLAGS="${CFLAGS}"
MAKE_FLAGS+= X11INC= X11LIB=
-MAKE_FLAGS+= XMAME_NET=1
+
+# Network support is broken in xmame-0.85
+#MAKE_FLAGS+= XMAME_NET=1
.if !empty(USE_ESOUND:M[Yy][Ee][Ss])
MAKE_FLAGS+= SOUND_ESOUND=1
@@ -120,4 +121,5 @@
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/xmame
${INSTALL_DATA} ${WRKSRC}/doc/xmame-doc.txt ${PREFIX}/share/doc/xmame
+.include "../../textproc/expat/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff -r 3b955bc4086d -r 1a88cdcaf035 emulators/xmame/distinfo
--- a/emulators/xmame/distinfo Fri Aug 13 22:34:28 2004 +0000
+++ b/emulators/xmame/distinfo Sat Aug 14 00:25:13 2004 +0000
@@ -1,7 +1,6 @@
-$NetBSD: distinfo,v 1.53 2004/07/26 18:40:06 dillo Exp $
+$NetBSD: distinfo,v 1.54 2004/08/14 00:25:13 kristerw Exp $
-SHA1 (xmame-0.84.1.tar.bz2) = 51b9c091a9c6bae72695482ad1672ea98d9dec43
-Size (xmame-0.84.1.tar.bz2) = 14456105 bytes
+SHA1 (xmame-0.85.tar.bz2) = 6d8b198ee4f97a197a1173860c981283947dbcb6
+Size (xmame-0.85.tar.bz2) = 14447207 bytes
SHA1 (patch-aa) = 0b9ffcb7c4305e7c349f229b2646acb31553d549
-SHA1 (patch-ab) = af88f3d9a907ae2719df89b15f4eba3d79b2494c
SHA1 (patch-ae) = df9ce91871bfcff611ff8f616482d4ff2e8204a3
diff -r 3b955bc4086d -r 1a88cdcaf035 emulators/xmame/patches/patch-ab
--- a/emulators/xmame/patches/patch-ab Fri Aug 13 22:34:28 2004 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,409 +0,0 @@
-$NetBSD: patch-ab,v 1.26 2004/07/26 18:40:06 dillo Exp $
-
---- src/unix/joystick-drivers/joy_usb.c.orig 2004-07-02 19:09:36.000000000 +0200
-+++ src/unix/joystick-drivers/joy_usb.c
-@@ -2,12 +2,18 @@
- * X-Mame USB HID joystick driver for NetBSD.
- *
- * Written by Krister Walfridsson <cato%df.lth.se@localhost>
-+ * Improved by Dieter Baron <dillo%giga.or.at@localhost>
- */
- #include "xmame.h"
- #include "devices.h"
-
-+static int calibrate=0;
-+
- struct rc_option joy_usb_opts[] = {
- /* name, shortname, type, dest, deflt, min, max, func, help */
-+ { "joyusb-calibrate", NULL, rc_bool, &calibrate,
-+ "0", 0, 0, NULL,
-+ "Manually calibrate USB joysticks" },
- { NULL, NULL, rc_end, NULL,
- NULL, 0, 0, NULL,
- NULL }
-@@ -16,8 +22,7 @@ struct rc_option joy_usb_opts[] = {
- #ifdef USB_JOYSTICK
-
- #if !defined(__ARCH_netbsd) && !defined(__ARCH_freebsd)
--#error "USB joysticks are only supported under NetBSD and FreeBSD. "
-- "Patches to support other archs are welcome ;)"
-+#error "USB joysticks are only supported under NetBSD and FreeBSD. Patches to support other archs are welcome ;)"
- #endif
-
- #if defined(HAVE_USBHID_H) || defined(HAVE_LIBUSBHID_H)
-@@ -44,14 +49,26 @@ struct rc_option joy_usb_opts[] = {
- #include <dev/usb/usb.h>
- #include <dev/usb/usbhid.h>
-
-+int axis_usage[] = {
-+ HUG_X, HUG_Y, HUG_Z,
-+ HUG_RX, HUG_RY, HUG_RZ,
-+ HUG_SLIDER,
-+};
-+
-+int axis_max = sizeof(axis_usage)/sizeof(axis_usage[0]);
-+
- struct priv_joydata_struct
- {
-- struct hid_item *hids;
- int dlen;
- int offset;
- char *data_buf;
-+ struct hid_item *axis_item[JOY_AXIS];
-+ struct hid_item *button_item[JOY_BUTTONS];
-+ struct hid_item *hat_item;
-+ int hat_axis;
- } priv_joy_data[JOY];
-
-+static struct hid_item *itemdup(struct hid_item *s);
- static int joy_initialize_hid(int i);
- static void joy_usb_poll(void);
- static int joy_read(int fd, int i);
-@@ -88,7 +105,10 @@ static int joy_initialize_hid(int i)
- int size, is_joystick, report_id = 0;
- struct hid_data *d;
- struct hid_item h;
-+ struct hid_item *axis_item[axis_max];
- report_desc_t rd;
-+ int got_something;
-+ int j, n;
-
- if ((rd = hid_get_report_desc(joy_data[i].fd)) == 0)
- {
-@@ -96,8 +116,6 @@ static int joy_initialize_hid(int i)
- return FALSE;
- }
-
-- priv_joy_data[i].hids = NULL;
--
- #if defined(HAVE_USBHID_H) || defined(HAVE_LIBUSBHID_H)
- #if defined(__ARCH_netbsd) || (defined(__ARCH_freebsd) && __FreeBSD_version > 500000)
- if (ioctl(joy_data[i].fd, USB_GET_REPORT_ID, &report_id) < 0)
-@@ -121,7 +139,16 @@ static int joy_initialize_hid(int i)
- }
- priv_joy_data[i].dlen = size;
-
-+ for (j=0; j<axis_max; j++)
-+ axis_item[j] = NULL;
-+ priv_joy_data[i].hat_item = NULL;
-+ for (j=0; j<JOY_AXIS; j++)
-+ priv_joy_data[i].axis_item[j] = NULL;
-+ for (j=0; j<JOY_BUTTONS; j++)
-+ priv_joy_data[i].button_item[j] = NULL;
-+
- is_joystick = 0;
-+ got_something = 0;
- #if defined(HAVE_USBHID_H)
- for (d = hid_start_parse(rd, 1 << hid_input, report_id);
- hid_get_item(d, &h); )
-@@ -129,7 +156,7 @@ static int joy_initialize_hid(int i)
- for (d = hid_start_parse(rd, 1 << hid_input); hid_get_item(d, &h); )
- #endif
- {
-- int axis, usage, page, interesting_hid;
-+ int axis, usage, page;
-
- page = HID_PAGE(h.usage);
- usage = HID_USAGE(h.usage);
-@@ -147,92 +174,135 @@ static int joy_initialize_hid(int i)
- if (!is_joystick)
- continue;
-
-- interesting_hid = TRUE;
- if (page == HUP_GENERIC_DESKTOP)
- {
-- if (usage == HUG_X || usage == HUG_RX)
-- axis = 0;
-- else if (usage == HUG_Y || usage == HUG_RY)
-- axis = 1;
-- else if (usage == HUG_Z || usage == HUG_RZ)
-- axis = 2;
-+ if (usage == HUG_HAT_SWITCH)
-+ {
-+ got_something = 1;
-+ if (priv_joy_data[i].hat_item == NULL)
-+ priv_joy_data[i].hat_item = itemdup(&h);
-+ }
- else
-- interesting_hid = FALSE;
--
-- if (interesting_hid)
- {
-- joy_data[i].axis[axis].min = h.logical_minimum;
-- joy_data[i].axis[axis].max = h.logical_maximum;
--
-- /* Set the theoretical center. This will be used in case
-- * the heuristic below fails. */
-- joy_data[i].axis[axis].center =
-- (h.logical_minimum + h.logical_maximum) / 2;
--
-- if (joy_data[i].num_axis < (axis + 1))
-- joy_data[i].num_axis = axis + 1;
-+ for (j=0; j<axis_max; j++)
-+ if (usage == axis_usage[j])
-+ {
-+ got_something = 1;
-+ if (axis_item[j] == NULL)
-+ axis_item[j] = itemdup(&h);
-+ break;
-+ }
- }
- }
- else if (page == HUP_BUTTON)
- {
-- interesting_hid = (usage > 0) && (usage <= JOY_BUTTONS);
--
-- if (interesting_hid && usage > joy_data[i].num_buttons)
-- joy_data[i].num_buttons = usage;
-- }
--
-- if (interesting_hid)
-- {
-- h.next = priv_joy_data[i].hids;
-- priv_joy_data[i].hids = malloc(sizeof *(priv_joy_data[i].hids));
-- if (priv_joy_data[i].hids == NULL)
-+ if ((usage > 0) && (usage <= JOY_BUTTONS))
- {
-- fprintf(stderr_file, "error: Not enough memory for joystick. "
-- "Your joystick may fail to work correctly.\n");
-- break;
-+ got_something = 1;
-+ if (priv_joy_data[i].button_item[usage-1] == NULL)
-+ priv_joy_data[i].button_item[usage-1] = itemdup(&h);
-+ if (usage > joy_data[i].num_buttons)
-+ joy_data[i].num_buttons = usage;
- }
-- *(priv_joy_data[i].hids) = h;
- }
- }
- hid_end_parse(d);
-
-- if (priv_joy_data[i].hids != NULL)
-+ if (!got_something)
- {
-- /* We'll approximate the center with the current joystick value if
-- * that can be read (some HID devices returns no data if the state
-- * has not changed since the last time it was read.) */
-- if (joy_read(joy_data[i].fd, i))
-- {
-- joy_data[i].axis[0].center = joy_data[i].axis[0].val;
-- joy_data[i].axis[1].center = joy_data[i].axis[1].val;
-- joy_data[i].axis[2].center = joy_data[i].axis[2].val;
-+ free(priv_joy_data[i].data_buf);
-+ return 0;
-+ }
-+
-+
-+ for (j=0; j<axis_max; j++)
-+ {
-+ if (axis_item[j])
-+ {
-+ n = joy_data[i].num_axis++;
-+ priv_joy_data[i].axis_item[n] = axis_item[j];
-+
-+ joy_data[i].axis[n].min
-+ = priv_joy_data[i].axis_item[n]->logical_minimum;
-+ joy_data[i].axis[n].max
-+ = priv_joy_data[i].axis_item[n]->logical_maximum;
-+ joy_data[i].axis[n].center
-+ = ((joy_data[i].axis[n].max-joy_data[i].axis[n].min+1)/2
-+ + joy_data[i].axis[n].min);
-+ joy_data[i].axis[n].val = joy_data[i].axis[n].center;
-+ }
-+ }
-+
-+ if (priv_joy_data[i].hat_item)
-+ {
-+ if (joy_data[i].num_axis < JOY_AXIS-2)
-+ {
-+ n = joy_data[i].num_axis;
-+ joy_data[i].num_axis += 2;
-+ priv_joy_data[i].hat_axis = n;
-+ for (j=0; j<2; j++)
-+ {
-+ joy_data[i].axis[n+j].min = -1;
-+ joy_data[i].axis[n+j].max = 1;
-+ joy_data[i].axis[n+j].center = 0;
-+ joy_data[i].axis[n+j].val = 0;
-+ }
- }
- else
-- {
-- /* Assume that the joystick is positioned in the center.
-- * This is needed, or else the system will think that the
-- * joystick is in position left/up (or something) until it
-- * is moved the first time. */
-- joy_data[i].axis[0].val = joy_data[i].axis[0].center;
-- joy_data[i].axis[1].val = joy_data[i].axis[1].center;
-- joy_data[i].axis[2].val = joy_data[i].axis[2].center;
-+ {
-+ /* too many axes to support hat */
-+ free(priv_joy_data[i].hat_item);
-+ priv_joy_data[i].hat_item = NULL;
- }
--
-- /* Approximate min/max values. Observe that we cannot use the
-- * max/min values that the HID reports, since that is theoretical
-- * values that may be wrong for analogs joystics (especially if
-- * you have a joystick -> USB adaptor.) We cannot use greater delta
-- * values than +/- 1, since it is OK for a gamepad (or my USB TAC 2)
-- * to reports directions as center +/- 1. */
-- joy_data[i].axis[0].min = joy_data[i].axis[0].center - 1;
Home |
Main Index |
Thread Index |
Old Index