summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike MacDonald (crazymykl) <crazymykl@gmail.com>2011-12-16 06:59:02 +0000
committerMike MacDonald (crazymykl) <crazymykl@gmail.com>2011-12-16 06:59:02 +0000
commit24fa9f340c95e803ba9be5e6b8707a5060f3d7cb (patch)
tree1c29c78a7524c4794f09b41602ee88b988a9c95d /games-fps
parentapp-admin/eselect-sh: Moved to gx86. (diff)
downloadsunrise-reviewed-24fa9f340c95e803ba9be5e6b8707a5060f3d7cb.tar.gz
sunrise-reviewed-24fa9f340c95e803ba9be5e6b8707a5060f3d7cb.tar.bz2
sunrise-reviewed-24fa9f340c95e803ba9be5e6b8707a5060f3d7cb.zip
games-fps/gzdoom: Fix compilation with current fmod versions
svn path=/sunrise/; revision=12574
Diffstat (limited to 'games-fps')
-rw-r--r--games-fps/gzdoom/ChangeLog5
-rw-r--r--games-fps/gzdoom/Manifest8
-rw-r--r--games-fps/gzdoom/files/gzdoom-1.5.5-fix-new-fmod.patch134
-rw-r--r--games-fps/gzdoom/files/gzdoom-9999-fix-new-fmod.patch106
-rw-r--r--games-fps/gzdoom/gzdoom-1.5.5.ebuild1
-rw-r--r--games-fps/gzdoom/gzdoom-9999.ebuild1
6 files changed, 252 insertions, 3 deletions
diff --git a/games-fps/gzdoom/ChangeLog b/games-fps/gzdoom/ChangeLog
index 6a2060c2c..34353cb5a 100644
--- a/games-fps/gzdoom/ChangeLog
+++ b/games-fps/gzdoom/ChangeLog
@@ -2,6 +2,11 @@
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
+ 16 Dec 2011; Mike MacDonald (crazymykl) <crazymykl@gmail.com>
+ gzdoom-1.5.5.ebuild, +files/gzdoom-1.5.5-fix-new-fmod.patch,
+ gzdoom-9999.ebuild, +files/gzdoom-9999-fix-new-fmod.patch:
+ Fix compilation with current fmod versions
+
29 Jun 2011; Nathan Phillip Brink <binki@gentoo.org> Manifest:
Run `repoman manifest' for crazymykl.
diff --git a/games-fps/gzdoom/Manifest b/games-fps/gzdoom/Manifest
index 2ac6d7a7f..ac9ca8a63 100644
--- a/games-fps/gzdoom/Manifest
+++ b/games-fps/gzdoom/Manifest
@@ -1,6 +1,8 @@
+AUX gzdoom-1.5.5-fix-new-fmod.patch 4755 RMD160 1c134cc67a76b4429de9fd4af5787fb4680ffb37 SHA1 b681ccab370c3e60f3e8ac31629bfd87c85b6c1f SHA256 3f5934cc3841fd21a00a27d3c4ff5dfd8edf5b44aa981c00c6969138d47aa0b7
+AUX gzdoom-9999-fix-new-fmod.patch 4019 RMD160 3f3e43edff91dbb506ae10ac06d203dfd1ea8b93 SHA1 3091ac26e43d07827d8dc1e86e2ca6bfac151bb2 SHA256 b50b933ff655f2fdbb23ee8c905307c0783eddbd499d0963d204c97143603a4b
AUX gzdoom-respect-fluidsynth-useflag.patch 1543 RMD160 b104bca99792102fbfd4b67bbd35dc5a876c6f4b SHA1 da5bea93a8542672687c37f1fa4b3f7d39d7846b SHA256 d8ac175c57bd673e0fe1ea7c9b592c74f27b0457cfcc84cb711c819528a3469c
DIST gzdoom-1.5.5.tar.bz2 3679401 RMD160 ed361d9e49ad96e621b7aac8d6cf286d19f70ef4 SHA1 177ba109850f076ef49d792ae02480aea2b50b12 SHA256 a28afe74fa0a99714159884d3ec88db3b752cb6ba34db2e41f8a40ed64cdac4f
-EBUILD gzdoom-1.5.5.ebuild 1807 RMD160 d3866420143824fecac33407fbf5a7ced9fbca06 SHA1 abd2a4c1e70b31c3e9714b5c913ef55b23dbe6dd SHA256 646c0aff92a2eedbc02a38c3764c31cb6534bf06a43b8aa0d9c1b8b63c8e5ea6
-EBUILD gzdoom-9999.ebuild 1908 RMD160 ffff2c766717025a62977999b0d93910a027bbf4 SHA1 7d85f4d13f9838e6e97154069849bfdee76568eb SHA256 8214e3b70812215f167748978920d44ccf9cc51e5a0eca4ecf61453e71614e6a
-MISC ChangeLog 2411 RMD160 149d14092db010201e738f466a895f756bb2ff13 SHA1 7f44d47df332d645bfcbac6ddce94dc389a961df SHA256 7b4bbc4f4caa8de82349e5b2f903f3a26f625b22acbafdc6ac0c4b9544a065e9
+EBUILD gzdoom-1.5.5.ebuild 1853 RMD160 f35342260dd79f9539295abd8d4283f072fea067 SHA1 844f747f21f2d7571d37ca0f0016fd546d846ef1 SHA256 51ab0264a79a9e02077a704bc539c4405960d1c96d1865a828aa13f00b0ac65b
+EBUILD gzdoom-9999.ebuild 1954 RMD160 fbf579592841c5111f4d19ace242830bd6280969 SHA1 38cbb9c4c69bdfc6750943a45304f7f0f074797d SHA256 1c1e88c9744f6b85c1eab8519b90d70244ccd22c72ee2fbbc34d21fdc62dc128
+MISC ChangeLog 2645 RMD160 46dd39e18bc59461649b8c442f2c87ae5f5c1b5e SHA1 4728b4fe634633d699b4432fe1019c8a956c3631 SHA256 f73386289de49362faed7f8226c4c2db6c93939bb5d50805a3fcf2fff07ea9a7
MISC metadata.xml 293 RMD160 93f2f41306368e2ecaf009304527702be3e8dfa7 SHA1 2acf22407b99accddad16d864fa8660334dbc302 SHA256 2fe2749f64960afa7a1e8473fe7c10661c49ba7b047bb931e528bb94ddf757e0
diff --git a/games-fps/gzdoom/files/gzdoom-1.5.5-fix-new-fmod.patch b/games-fps/gzdoom/files/gzdoom-1.5.5-fix-new-fmod.patch
new file mode 100644
index 000000000..8d8305f6c
--- /dev/null
+++ b/games-fps/gzdoom/files/gzdoom-1.5.5-fix-new-fmod.patch
@@ -0,0 +1,134 @@
+--- src/sound/fmodsound.cpp 2010-11-17 10:13:29.000000000 -0500
++++ fmodsound.cpp.new 2011-12-16 01:48:55.361040907 -0500
+@@ -75,6 +75,14 @@
+
+ #define SPECTRUM_SIZE 256
+
++#if FMOD_VERSION < 0x43400
++#define FMOD_OPENSTATE_PLAYING FMOD_OPENSTATE_STREAMING
++#endif
++
++#if FMOD_VERSION < 0x43702
++#define FMOD_INIT_HRTF_LOWPASS FMOD_INIT_SOFTWARE_HRTF
++#endif
++
+ // TYPES -------------------------------------------------------------------
+
+ struct FEnumList
+@@ -157,7 +165,7 @@
+ { "Windows Multimedia", FMOD_OUTPUTTYPE_WINMM },
+ { "WinMM", FMOD_OUTPUTTYPE_WINMM },
+ { "WaveOut", FMOD_OUTPUTTYPE_WINMM },
+- { "OpenAL", FMOD_OUTPUTTYPE_OPENAL },
++// { "OpenAL", FMOD_OUTPUTTYPE_OPENAL },
+ { "WASAPI", FMOD_OUTPUTTYPE_WASAPI },
+ { "ASIO", FMOD_OUTPUTTYPE_ASIO },
+
+@@ -387,13 +395,13 @@
+ {
+ bool is;
+ FMOD_OPENSTATE openstate = FMOD_OPENSTATE_MAX;
+- bool starving;
++ bool starving, diskbusy;
+
+ if (Stream == NULL)
+ {
+ return true;
+ }
+- if (FMOD_OK != Stream->getOpenState(&openstate, NULL, &starving))
++ if (FMOD_OK != Stream->getOpenState(&openstate, NULL, &starving, &diskbusy))
+ {
+ openstate = FMOD_OPENSTATE_ERROR;
+ }
+@@ -436,7 +444,7 @@
+ Owner->Sys->setStreamBufferSize(16*1024, FMOD_TIMEUNIT_RAWBYTES);
+ return result != FMOD_OK;
+ }
+- if (JustStarted && openstate == FMOD_OPENSTATE_STREAMING)
++ if (JustStarted && openstate == FMOD_OPENSTATE_PLAYING)
+ {
+ JustStarted = false;
+ }
+@@ -479,15 +487,15 @@
+ FMOD_OPENSTATE openstate;
+ unsigned int percentbuffered;
+ unsigned int position;
+- bool starving;
++ bool starving, diskbusy;
+ float volume;
+ float frequency;
+ bool paused;
+ bool isplaying;
+
+- if (FMOD_OK == Stream->getOpenState(&openstate, &percentbuffered, &starving))
++ if (FMOD_OK == Stream->getOpenState(&openstate, &percentbuffered, &starving, &diskbusy))
+ {
+- stats = (openstate <= FMOD_OPENSTATE_STREAMING ? OpenStateNames[openstate] : "Unknown state");
++ stats = (openstate <= FMOD_OPENSTATE_PLAYING ? OpenStateNames[openstate] : "Unknown state");
+ stats.AppendFormat(",%3d%% buffered, %s", percentbuffered, starving ? "Starving" : "Well-fed");
+ }
+ if (Channel == NULL)
+@@ -819,7 +827,7 @@
+ result = Sys->setDriver(driver);
+ }
+ result = Sys->getDriver(&driver);
+- result = Sys->getDriverCaps(driver, &Driver_Caps, &Driver_MinFrequency, &Driver_MaxFrequency, &speakermode);
++ result = Sys->getDriverCaps(driver, &Driver_Caps, &Driver_MaxFrequency, &speakermode);
+ if (result != FMOD_OK)
+ {
+ Printf(TEXTCOLOR_BLUE"Could not ascertain driver capabilities. Some things may be weird. (Error %d)\n", result);
+@@ -899,7 +907,7 @@
+ initflags = FMOD_INIT_NORMAL;
+ if (snd_hrtf)
+ {
+- initflags |= FMOD_INIT_SOFTWARE_HRTF;
++ initflags |= FMOD_INIT_HRTF_LOWPASS;
+ }
+ if (snd_profile)
+ {
+@@ -991,7 +999,7 @@
+ }
+ else
+ {
+- result = Sys->createDSPByType(FMOD_DSP_TYPE_REVERB, &WaterReverb);
++ result = Sys->createDSPByType(FMOD_DSP_TYPE_SFXREVERB, &WaterReverb);
+ if (result != FMOD_OK)
+ {
+ Printf(TEXTCOLOR_BLUE" Could not create underwater reverb unit. (Error %d)\n", result);
+@@ -1058,8 +1066,8 @@
+ result = sfx_head->addInput(WaterReverb, NULL);
+ if (result == FMOD_OK)
+ {
+- WaterReverb->setParameter(FMOD_DSP_REVERB_ROOMSIZE, 0.001f);
+- WaterReverb->setParameter(FMOD_DSP_REVERB_DAMP, 0.2f);
++ //WaterReverb->setParameter(FMOD_DSP_REVERB_ROOMSIZE, 0.001f);
++ //WaterReverb->setParameter(FMOD_DSP_REVERB_DAMP, 0.2f);
+ WaterReverb->setActive(false);
+ }
+ }
+@@ -1210,7 +1218,7 @@
+ Printf ("Driver: "TEXTCOLOR_GREEN"%d"TEXTCOLOR_NORMAL" ("TEXTCOLOR_ORANGE"%s"TEXTCOLOR_NORMAL")\n", driver, name);
+ DumpDriverCaps(Driver_Caps, Driver_MinFrequency, Driver_MaxFrequency);
+ }
+- if (FMOD_OK == Sys->getHardwareChannels(&num2d, &num3d, &total))
++ if (FMOD_OK == Sys->getHardwareChannels(&total))
+ {
+ Printf (TEXTCOLOR_YELLOW "Hardware 2D channels: "TEXTCOLOR_GREEN"%d\n", num2d);
+ Printf (TEXTCOLOR_YELLOW "Hardware 3D channels: "TEXTCOLOR_GREEN"%d\n", num3d);
+@@ -1253,6 +1261,7 @@
+ {
+ Printf("\n");
+ }
++ /*
+ if (caps & FMOD_CAPS_REVERB_EAX2) Printf(TEXTCOLOR_OLIVE " EAX2");
+ if (caps & FMOD_CAPS_REVERB_EAX3) Printf(TEXTCOLOR_OLIVE " EAX3");
+ if (caps & FMOD_CAPS_REVERB_EAX4) Printf(TEXTCOLOR_OLIVE " EAX4");
+@@ -1261,7 +1270,7 @@
+ if (caps & (FMOD_CAPS_REVERB_EAX2 | FMOD_CAPS_REVERB_EAX3 | FMOD_CAPS_REVERB_EAX4 | FMOD_CAPS_REVERB_EAX5 | FMOD_CAPS_REVERB_I3DL2))
+ {
+ Printf("\n");
+- }
++ }*/
+ if (caps & FMOD_CAPS_REVERB_LIMITED) Printf("TEXTCOLOR_OLIVE Limited reverb\n");
+ }
+
diff --git a/games-fps/gzdoom/files/gzdoom-9999-fix-new-fmod.patch b/games-fps/gzdoom/files/gzdoom-9999-fix-new-fmod.patch
new file mode 100644
index 000000000..813a28111
--- /dev/null
+++ b/games-fps/gzdoom/files/gzdoom-9999-fix-new-fmod.patch
@@ -0,0 +1,106 @@
+Index: src/sound/fmodsound.cpp
+===================================================================
+--- src/sound/fmodsound.cpp (revision 1280)
++++ src/sound/fmodsound.cpp (working copy)
+@@ -79,6 +79,10 @@
+ #define FMOD_OPENSTATE_PLAYING FMOD_OPENSTATE_STREAMING
+ #endif
+
++#if FMOD_VERSION < 0x43702
++#define FMOD_INIT_HRTF_LOWPASS FMOD_INIT_SOFTWARE_HRTF
++#endif
++
+ // TYPES -------------------------------------------------------------------
+
+ struct FEnumList
+@@ -348,7 +352,7 @@
+ Channel->setSpeakerMix(1, 1, 1, 1, 1, 1, 1, 1);
+ Channel->setVolume(volume);
+ // Ensure reverb is disabled.
+- FMOD_REVERB_CHANNELPROPERTIES reverb = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
++ FMOD_REVERB_CHANNELPROPERTIES reverb = { 0, 0, 0, NULL};
+ if (FMOD_OK == Channel->getReverbProperties(&reverb))
+ {
+ reverb.Room = -10000;
+@@ -842,7 +846,7 @@
+ result = Sys->setDriver(driver);
+ }
+ result = Sys->getDriver(&driver);
+- result = Sys->getDriverCaps(driver, &Driver_Caps, &Driver_MinFrequency, &Driver_MaxFrequency, &speakermode);
++ result = Sys->getDriverCaps(driver, &Driver_Caps, &Driver_MaxFrequency, &speakermode);
+ if (result != FMOD_OK)
+ {
+ Printf(TEXTCOLOR_BLUE"Could not ascertain driver capabilities. Some things may be weird. (Error %d)\n", result);
+@@ -922,7 +926,7 @@
+ initflags = FMOD_INIT_NORMAL;
+ if (snd_hrtf)
+ {
+- initflags |= FMOD_INIT_SOFTWARE_HRTF;
++ initflags |= FMOD_INIT_HRTF_LOWPASS;
+ }
+ if (snd_profile)
+ {
+@@ -1014,7 +1018,7 @@
+ }
+ else
+ {
+- result = Sys->createDSPByType(FMOD_DSP_TYPE_REVERB, &WaterReverb);
++ result = Sys->createDSPByType(FMOD_DSP_TYPE_SFXREVERB, &WaterReverb);
+ if (result != FMOD_OK)
+ {
+ Printf(TEXTCOLOR_BLUE" Could not create underwater reverb unit. (Error %d)\n", result);
+@@ -1081,8 +1085,8 @@
+ result = sfx_head->addInput(WaterReverb, NULL);
+ if (result == FMOD_OK)
+ {
+- WaterReverb->setParameter(FMOD_DSP_REVERB_ROOMSIZE, 0.001f);
+- WaterReverb->setParameter(FMOD_DSP_REVERB_DAMP, 0.2f);
++ //WaterReverb->setParameter(FMOD_DSP_REVERB_ROOMSIZE, 0.001f);
++ //WaterReverb->setParameter(FMOD_DSP_REVERB_DAMP, 0.2f);
+ WaterReverb->setActive(false);
+ }
+ }
+@@ -1233,7 +1237,7 @@
+ Printf ("Driver: "TEXTCOLOR_GREEN"%d"TEXTCOLOR_NORMAL" ("TEXTCOLOR_ORANGE"%s"TEXTCOLOR_NORMAL")\n", driver, name);
+ DumpDriverCaps(Driver_Caps, Driver_MinFrequency, Driver_MaxFrequency);
+ }
+- if (FMOD_OK == Sys->getHardwareChannels(&num2d, &num3d, &total))
++ if (FMOD_OK == Sys->getHardwareChannels(&total))
+ {
+ Printf (TEXTCOLOR_YELLOW "Hardware 2D channels: "TEXTCOLOR_GREEN"%d\n", num2d);
+ Printf (TEXTCOLOR_YELLOW "Hardware 3D channels: "TEXTCOLOR_GREEN"%d\n", num3d);
+@@ -1276,6 +1280,7 @@
+ {
+ Printf("\n");
+ }
++ /*
+ if (caps & FMOD_CAPS_REVERB_EAX2) Printf(TEXTCOLOR_OLIVE " EAX2");
+ if (caps & FMOD_CAPS_REVERB_EAX3) Printf(TEXTCOLOR_OLIVE " EAX3");
+ if (caps & FMOD_CAPS_REVERB_EAX4) Printf(TEXTCOLOR_OLIVE " EAX4");
+@@ -1284,7 +1289,7 @@
+ if (caps & (FMOD_CAPS_REVERB_EAX2 | FMOD_CAPS_REVERB_EAX3 | FMOD_CAPS_REVERB_EAX4 | FMOD_CAPS_REVERB_EAX5 | FMOD_CAPS_REVERB_I3DL2))
+ {
+ Printf("\n");
+- }
++ }*/
+ if (caps & FMOD_CAPS_REVERB_LIMITED) Printf("TEXTCOLOR_OLIVE Limited reverb\n");
+ }
+
+@@ -1689,7 +1694,7 @@
+ }
+ if (flags & SNDF_NOREVERB)
+ {
+- FMOD_REVERB_CHANNELPROPERTIES reverb = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
++ FMOD_REVERB_CHANNELPROPERTIES reverb = { 0, 0, 0, NULL };
+ if (FMOD_OK == chan->getReverbProperties(&reverb))
+ {
+ reverb.Room = -10000;
+@@ -1809,7 +1814,7 @@
+ }
+ if (flags & SNDF_NOREVERB)
+ {
+- FMOD_REVERB_CHANNELPROPERTIES reverb = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
++ FMOD_REVERB_CHANNELPROPERTIES reverb = { 0, 0, 0, NULL };
+ if (FMOD_OK == chan->getReverbProperties(&reverb))
+ {
+ reverb.Room = -10000;
diff --git a/games-fps/gzdoom/gzdoom-1.5.5.ebuild b/games-fps/gzdoom/gzdoom-1.5.5.ebuild
index 7f05d446b..3bacdfa10 100644
--- a/games-fps/gzdoom/gzdoom-1.5.5.ebuild
+++ b/games-fps/gzdoom/gzdoom-1.5.5.ebuild
@@ -33,6 +33,7 @@ src_prepare() {
-e "s:/usr/local/share/:${GAMES_DATADIR}/doom-data/:" \
src/sdl/i_system.h || die
epatch "${FILESDIR}/${PN}-respect-fluidsynth-useflag.patch"
+ epatch "${FILESDIR}/${P}-fix-new-fmod.patch"
}
src_configure() {
diff --git a/games-fps/gzdoom/gzdoom-9999.ebuild b/games-fps/gzdoom/gzdoom-9999.ebuild
index 6e28673c7..02816d6b1 100644
--- a/games-fps/gzdoom/gzdoom-9999.ebuild
+++ b/games-fps/gzdoom/gzdoom-9999.ebuild
@@ -34,6 +34,7 @@ src_prepare() {
-e "s:/usr/local/share/:${GAMES_DATADIR}/doom-data/:" \
src/sdl/i_system.h || die
epatch "${FILESDIR}/${PN}-respect-fluidsynth-useflag.patch"
+ epatch "${FILESDIR}/${P}-fix-new-fmod.patch"
}
src_configure() {