From owner-freebsd-ports-bugs@FreeBSD.ORG Fri Nov 21 12:10:21 2003 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E42E716A4CE for ; Fri, 21 Nov 2003 12:10:20 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9732D43FEA for ; Fri, 21 Nov 2003 12:10:19 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id hALKAJFY008194 for ; Fri, 21 Nov 2003 12:10:19 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id hALKAJYd008193; Fri, 21 Nov 2003 12:10:19 -0800 (PST) (envelope-from gnats) Date: Fri, 21 Nov 2003 12:10:19 -0800 (PST) Message-Id: <200311212010.hALKAJYd008193@freefall.freebsd.org> To: freebsd-ports-bugs@FreeBSD.org From: Travis Poppe Subject: Re: ports/59558: [FIX PORT] Patched to support newer xmame versions X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Travis Poppe List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 21 Nov 2003 20:10:21 -0000 The following reply was made to PR ports/59558; it has been noted by GNATS. From: Travis Poppe To: freebsd-gnats-submit@FreeBSD.org Cc: Subject: Re: ports/59558: [FIX PORT] Patched to support newer xmame versions Date: Fri, 21 Nov 2003 13:04:21 -0700 (MST) I'm not sure if you meant for me to submit the diff that fixes xmame compatibility, or if you wanted me to submit a diff to make my port use %%DOCSDIR%% I have re-submitted my fixed port as an sh archive, and below is the unified diff to fix xmame compatibility. Hope it works this time :-) diff -urNp gxmame-0.33/src/gxmame.h gxmame-0.33.7274fixed/src/gxmame.h --- gxmame-0.33/src/gxmame.h 2003-05-29 21:41:28.000000000 +0100 +++ gxmame-0.33.7274fixed/src/gxmame.h 2003-09-21 00:43:38.000000000 +0100 @@ -519,6 +519,7 @@ typedef struct _xmame_game_options { gboolean mouse; /* Enable/disable mouse (if supported) */ gboolean hotrod; /* Enable HotRod joystick support */ gboolean hotrodse; /* Select HotRod SE joystick support */ + gboolean newhotrodusage; /* 0.74.1 has new hotrod options */ gboolean usbpspad; /* The Joystick(s) are USB PS Game Pads */ gboolean rapidfire; /* Enable rapid-fire support for joysticks */ @@ -645,6 +646,8 @@ typedef struct _xmame_available_options gboolean list_mixer_plugins; /* list mixer plugins */ gboolean keyboard_leds; /* use keyboard leds */ gboolean dirty; /* dirty not in 0.61 pr1 */ + gboolean newx11modeusage; /* for 0.72.1 -x11-mode changes */ + gboolean newhotrodusage; /* for 0.74.1 -hotrod[se] changes */ gboolean xvext; /* xv extension 0.60 + patch from Alastair M. Robinson*/ gboolean vidix; /* another target from Alastair M. Robinson diff -urNp gxmame-0.33/src/mameio.c gxmame-0.33.7274fixed/src/mameio.c --- gxmame-0.33/src/mameio.c 2003-05-29 21:32:26.000000000 +0100 +++ gxmame-0.33.7274fixed/src/mameio.c 2003-09-21 00:43:38.000000000 +0100 @@ -32,8 +32,6 @@ #include #define BUFFER_SIZE 1000 - - gboolean create_game_list_file(void) { FILE *xmame_pipe=NULL; @@ -957,6 +955,18 @@ gboolean get_mame_options(void) version=atof(p); g_free(opt); + /* version 0.72.1 introduces new syntax for the -x11-mode option */ + if (version>=0.72) + available_options.newx11modeusage=TRUE; + else + available_options.newx11modeusage=FALSE; + + /* version 0.74.1 introduces new syntax for -hotrod[se] options */ + if (version>=0.74) + available_options.newhotrodusage=TRUE; + else + available_options.newhotrodusage=FALSE; + /* do not test anymore if the executable is valid since its already tested previously */ /* to be able to load the 0.68 options */ if (version==0.68) @@ -989,7 +999,16 @@ gboolean get_mame_options(void) available_options.list_mixer_plugins = FALSE; available_options.keyboard_leds = FALSE; available_options.dirty = FALSE; - available_options.xvext = FALSE; + if (version>=0.72) + { + available_options.xvext=TRUE; + available_options.fullscreen=TRUE; + } + else + { + available_options.xvext = FALSE; + available_options.fullscreen = FALSE; + } available_options.vidix = FALSE; available_options.yuv = FALSE; available_options.yv12 = FALSE; @@ -999,7 +1018,7 @@ gboolean get_mame_options(void) available_options.x11joyname = FALSE; available_options.joydevname = FALSE; available_options.video_mode = FALSE; - available_options.fullscreen = FALSE; + available_options.cfgname = FALSE; available_options.grabmouse = FALSE; available_options.grabkeyboard = FALSE; diff -urNp gxmame-0.33/src/options.c gxmame-0.33.7274fixed/src/options.c --- gxmame-0.33/src/options.c 2003-06-08 19:48:37.000000000 +0100 +++ gxmame-0.33.7274fixed/src/options.c 2003-09-21 00:45:33.000000000 +0100 @@ -34,6 +34,7 @@ #include #include "gxmame.h" +#include "mameio.h" #include "options.h" #include "io.h" #include "callbacks.h" @@ -6267,6 +6268,7 @@ char *create_Renderer_Related_options_st *vidix=NULL, *geometry = NULL, *newext = NULL; + int x11mode = 0; if (available_options.mitshm) { @@ -6276,7 +6278,21 @@ char *create_Renderer_Related_options_st /* put the new extention option (xv and vidix) in a string*/ if (target->xvgeom_flag && strcmp(target->geometry,"")) geometry = g_strdup_printf("-geometry %s",target->geometry); - newext = g_strdup_printf("%s " /* fullscreen */ + /* 0.72 removes -fullscreen option in favour of new */ + /* -x11-mode values */ + if (available_options.newx11modeusage) + { + newext = g_strdup_printf("%s " /* geometry */ + "%s " /* yuv */ + "%s", /* yv12 */ + geometry?geometry:"", + available_options.yuv?((target->yuv)?"-yuv":"-noyuv"):"", + available_options.yv12?((target->yv12)?"-yv12":"-noyv12"):"" + ); + } + else + { + newext = g_strdup_printf("%s " /* fullscreen */ "%s " /* geometry */ "%s " /* yuv */ "%s", /* yv12 */ @@ -6285,6 +6301,7 @@ char *create_Renderer_Related_options_st available_options.yuv?((target->yuv)?"-yuv":"-noyuv"):"", available_options.yv12?((target->yv12)?"-yv12":"-noyv12"):"" ); + } if (available_options.xvext) { @@ -6304,8 +6321,47 @@ char *create_Renderer_Related_options_st Video_Mode_option = create_Video_Mode_Related_options_string(); - - option_string = g_strdup_printf ("-x11-mode %i " + + /* 0.72 introduces new usage of -x11-mode: */ + /* 0 = normal windowed */ + /* 1 = DGA fullscreen */ + /* 2 = Xv windowed */ + /* 3 = Xv fullscreen */ + if (available_options.newx11modeusage) + { + x11mode=target->x11_mode; + if (target->xvext) + { + x11mode=2; + if (target->xvfullscreen) + x11mode=3; + } + + option_string = g_strdup_printf ("-x11-mode %i " + "-%scursor " + "%s " /* mitshm */ + "%s " /* vidix */ + "%s " /* newext */ + "-%sxsync " + "-%sprivatecmap " + "-%sxil " + "-%smtxil " + "%s ", /* Video mode */ + x11mode, + (target->cursor)?"":"no", + mitshm?mitshm:"", + vidix?vidix:"", + newext?newext:"", + (target->xsync)?"":"no", + (target->privatecmap)?"":"no", + (target->xil)?"":"no", + (target->mtxil)?"":"no", + Video_Mode_option?Video_Mode_option:"" + ); + } + else + { + option_string = g_strdup_printf ("-x11-mode %i " "-%scursor " "%s " /* mitshm */ "%s " /* xvext */ @@ -6327,7 +6383,8 @@ char *create_Renderer_Related_options_st (target->xil)?"":"no", (target->mtxil)?"":"no", Video_Mode_option?Video_Mode_option:"" - ); + ); + } g_free(Video_Mode_option); g_free(xvext); g_free(vidix); @@ -6551,7 +6608,46 @@ char *create_Input_Related_options_strin (target->winkeys)?"":"no" ); } - option_string = g_strdup_printf ("-joytype %i " +//AJB + if (available_options.newhotrodusage) + { + option_string = g_strdup_printf ("-joytype %i " + "-%sanalogstick " + "%s " /* joy */ + "-%smouse " + "%s " + "%s " + "-%susbpspad " + "-%srapidfire " + "%s " /* trackball1 */ + "%s " /* trackball2 */ + "%s " /* trackball3 */ + "%s " /* trackball4 */ + "%s " /* x11_options*/ + "%s " /* grabkeyboard */ + "%s " /* keymap */ + "%s ", /* ugcicoin */ + target->joytype, + (target->analogstick)?"":"no", + joy?joy:"", + (target->mouse)?"":"no", + (target->hotrod)?"-ctrlr HotRod":"", + (target->hotrodse)?"-ctrlr HotRodSE":"", + (target->usbpspad)?"":"no", + (target->rapidfire)?"":"no", + trackball1?trackball1:"", + trackball2?trackball2:"", + trackball3?trackball3:"", + trackball4?trackball4:"", + x11_options?x11_options:"", + available_options.grabkeyboard?((target->grabkeyboard)?"-grabkeyboard":"-nograbkeyboard"):"", + keymap?keymap:"", + available_options.ugcicoin?((target->ugcicoin)?"-ugcicoin":"-nougcicoin"):"" + ); + } + else + { + option_string = g_strdup_printf ("-joytype %i " "-%sanalogstick " "%s " /* joy */ "-%smouse " @@ -6584,6 +6680,7 @@ char *create_Input_Related_options_strin keymap?keymap:"", available_options.ugcicoin?((target->ugcicoin)?"-ugcicoin":"-nougcicoin"):"" ); + } g_free(joy); g_free(trackball1);