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