summaryrefslogtreecommitdiff
path: root/pcr/reicast-multilib-git
diff options
context:
space:
mode:
authorcoadde [Márcio Alexandre Silva Delgado] <coadde@parabola.nu>2015-09-16 13:17:54 -0300
committerAndré Fabian Silva Delgado <emulatorman@parabola.nu>2015-09-22 16:15:05 -0300
commitf3f5876239ae98af61562c09425373b9a2fdfb57 (patch)
treedb49712f3cd40e05983bc9599c9305ede5b7a0be /pcr/reicast-multilib-git
parent764522271778b59ebc16c7bc3087ffe5e17a432b (diff)
pcr/reicast-git: rebuild pkgbuild and add multilib pkg
Diffstat (limited to 'pcr/reicast-multilib-git')
-rw-r--r--pcr/reicast-multilib-git/PKGBUILD53
-rw-r--r--pcr/reicast-multilib-git/enable_multiplayer_support.patch37
2 files changed, 90 insertions, 0 deletions
diff --git a/pcr/reicast-multilib-git/PKGBUILD b/pcr/reicast-multilib-git/PKGBUILD
new file mode 100644
index 000000000..e2663fdb3
--- /dev/null
+++ b/pcr/reicast-multilib-git/PKGBUILD
@@ -0,0 +1,53 @@
+# Maintainer (Arch): carstene1ns <arch carsten-teibes de> - http://git.io/ctPKG
+# Maintainer: André Silva <emulatorman@parabola.nu>
+# Maintainer: Márcio Silva <coadde@parabola.nu>
+
+pkgname=reicast-multilib-git
+pkgver=r1651.56f8ffa
+pkgrel=2
+pkgdesc="A multiplatform Sega Dreamcast emulator"
+arch=('x86_64')
+url="http://reicast.com/"
+license=('GPL2')
+provides=('reicast')
+conflicts=('reicast')
+makedepends=('git' 'gcc-multilib')
+depends=('lib32-libgl' 'lib32-alsa-plugins' 'lib32-libpulse' 'python-evdev' )
+source=(reicast::"git+https://github.com/reicast/reicast-emulator.git"
+ 'enable_multiplayer_support.patch')
+sha256sums=('SKIP'
+ '12bfc58e12b3ee79b0c82159cdc70c76a4b6804f5c6986853156602bb0e6beb0')
+
+pkgver() {
+ cd reicast
+ printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
+}
+
+prepare () {
+ cd reicast
+
+ # Remove nonfree fp.h header
+ rm -v core/deps/libpng/fp.h
+
+ # Add Multiplayer support
+ patch -Np1 -i "$srcdir"/enable_multiplayer_support.patch
+
+ # Add experimental shadow support: http://github.com/reicast-emulator/issues/94
+ sed -i 's|//DrawModVols|DrawModVols|' core/rend/gles/gldraw.cpp
+
+ # Fix Xbox Input Axis
+ sed -i 's|DC_AXIS_LT, 0, 0, DC_AXIS_RT|0, 0, DC_AXIS_RT, DC_AXIS_LT|' core/linux-dist/joystick.cpp
+
+ # Enable Pulseaudio
+ sed -i 's|#USE_PULSEAUDIO|USE_PULSEAUDIO|' shell/linux/Makefile
+}
+
+build () {
+ mkdir -vm 0755 "$srcdir"/pkgbuild-dir
+ linux32 make -C reicast/shell/linux PREFIX=/usr DESTDIR="$srcdir"/pkgbuild-dir install
+}
+
+package () {
+ cp -va "$srcdir"/pkgbuild-dir/* "$pkgdir"
+ install -Dm 644 reicast/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
diff --git a/pcr/reicast-multilib-git/enable_multiplayer_support.patch b/pcr/reicast-multilib-git/enable_multiplayer_support.patch
new file mode 100644
index 000000000..57794d1eb
--- /dev/null
+++ b/pcr/reicast-multilib-git/enable_multiplayer_support.patch
@@ -0,0 +1,37 @@
+diff -Nur a/core/hw/maple/maple_cfg.cpp b/core/hw/maple/maple_cfg.cpp
+--- a/core/hw/maple/maple_cfg.cpp 2015-08-27 12:17:34.718561243 -0300
++++ b/core/hw/maple/maple_cfg.cpp 2015-08-27 15:57:10.233166402 -0300
+@@ -22,10 +22,12 @@
+ */
+ void UpdateInputState(u32 port);
+
+-extern u16 kcode[4];
+-extern u32 vks[4];
+-extern s8 joyx[4],joyy[4];
+-extern u8 rt[4],lt[4];
++#define NUM_PORTS 4
++
++extern u16 kcode[NUM_PORTS];
++extern u32 vks[NUM_PORTS];
++extern s8 joyx[NUM_PORTS],joyy[NUM_PORTS];
++extern u8 rt[NUM_PORTS],lt[NUM_PORTS];
+
+ u8 GetBtFromSgn(s8 val)
+ {
+@@ -69,10 +71,13 @@
+ void mcfg_CreateDevices()
+ {
+ #if DC_PLATFORM == DC_PLATFORM_DREAMCAST
+- mcfg_Create(MDT_SegaController,0,5);
++ for (int i = 0; i < NUM_PORTS; i++)
++ {
++ mcfg_Create(MDT_SegaController,i,5);
+
+- mcfg_Create(MDT_SegaVMU,0,0);
+- mcfg_Create(MDT_SegaVMU,0,1);
++ mcfg_Create(MDT_SegaVMU,i,0);
++ mcfg_Create(MDT_SegaVMU,i,1);
++ }
+ #else
+ mcfg_Create(MDT_NaomiJamma, 0, 5);
+ #endif