Merge pull request #9718 from orgads/scummvm-2.5
scummvm: Update to 2.5.0
This commit is contained in:
@@ -1,197 +0,0 @@
|
||||
From fc3b42adf326a892f512f87a135acd75b824d110 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Torbj=C3=B6rn=20Andersson?=
|
||||
<eriktorbjorn@users.sourceforge.net>
|
||||
Date: Wed, 13 Jan 2021 09:44:44 +0100
|
||||
Subject: [PATCH] fix
|
||||
|
||||
We replace deprecated functions as well
|
||||
---
|
||||
audio/softsynth/fluidsynth.cpp | 93 ++++++++++++++++++++++++++++++++--
|
||||
1 file changed, 89 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/audio/softsynth/fluidsynth.cpp b/audio/softsynth/fluidsynth.cpp
|
||||
index e0d7c4e3df..f01dd8c736 100644
|
||||
--- a/audio/softsynth/fluidsynth.cpp
|
||||
+++ b/audio/softsynth/fluidsynth.cpp
|
||||
@@ -46,6 +46,42 @@
|
||||
#include "backends/platform/ios7/ios7_common.h"
|
||||
#endif
|
||||
|
||||
+// We assume here Fluidsynth minor will never be above 255 and
|
||||
+// that micro versions won't break API compatibility
|
||||
+#if defined(FLUIDSYNTH_VERSION_MAJOR) && defined(FLUIDSYNTH_VERSION_MINOR)
|
||||
+#define FS_API_VERSION ((FLUIDSYNTH_VERSION_MAJOR << 8) | FLUIDSYNTH_VERSION_MINOR)
|
||||
+#else
|
||||
+#define FS_API_VERSION 0
|
||||
+#endif
|
||||
+
|
||||
+#if FS_API_VERSION >= 0x0200
|
||||
+static void logHandler(int level, const char *message, void *data)
|
||||
+#else
|
||||
+static void logHandler(int level, char *message, void *data)
|
||||
+#endif
|
||||
+{
|
||||
+ switch (level) {
|
||||
+ case FLUID_PANIC:
|
||||
+ error("FluidSynth: %s", message);
|
||||
+ break;
|
||||
+ case FLUID_ERR:
|
||||
+ warning("FluidSynth: %s", message);
|
||||
+ break;
|
||||
+ case FLUID_WARN:
|
||||
+ debug(1, "FluidSynth: %s", message);
|
||||
+ break;
|
||||
+ case FLUID_INFO:
|
||||
+ debug(2, "FluidSynth: %s", message);
|
||||
+ break;
|
||||
+ case FLUID_DBG:
|
||||
+ debug(3, "FluidSynth: %s", message);
|
||||
+ break;
|
||||
+ default:
|
||||
+ fluid_default_log_function(level, message, data);
|
||||
+ break;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
class MidiDriver_FluidSynth : public MidiDriver_Emulated {
|
||||
private:
|
||||
MidiChannel_MPU401 _midiChannels[16];
|
||||
@@ -75,7 +111,7 @@ public:
|
||||
|
||||
void setEngineSoundFont(Common::SeekableReadStream *soundFontData) override;
|
||||
bool acceptsSoundFontData() override {
|
||||
-#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
|
||||
+#if FS_API_VERSION >= 0x0200
|
||||
return true;
|
||||
#else
|
||||
return false;
|
||||
@@ -134,7 +170,7 @@ void MidiDriver_FluidSynth::setStr(const char *name, const char *val) {
|
||||
|
||||
// Soundfont memory loader callback functions.
|
||||
|
||||
-#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
|
||||
+#if FS_API_VERSION >= 0x0200
|
||||
static void *SoundFontMemLoader_open(const char *filename) {
|
||||
void *p;
|
||||
if (filename[0] != '&') {
|
||||
@@ -144,11 +180,19 @@ static void *SoundFontMemLoader_open(const char *filename) {
|
||||
return p;
|
||||
}
|
||||
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+static int SoundFontMemLoader_read(void *buf, fluid_long_long_t count, void *handle) {
|
||||
+#else
|
||||
static int SoundFontMemLoader_read(void *buf, int count, void *handle) {
|
||||
+#endif
|
||||
return ((Common::SeekableReadStream *) handle)->read(buf, count) == (uint32)count ? FLUID_OK : FLUID_FAILED;
|
||||
}
|
||||
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+static int SoundFontMemLoader_seek(void *handle, fluid_long_long_t offset, int origin) {
|
||||
+#else
|
||||
static int SoundFontMemLoader_seek(void *handle, long offset, int origin) {
|
||||
+#endif
|
||||
return ((Common::SeekableReadStream *) handle)->seek(offset, origin) ? FLUID_OK : FLUID_FAILED;
|
||||
}
|
||||
|
||||
@@ -157,7 +201,11 @@ static int SoundFontMemLoader_close(void *handle) {
|
||||
return FLUID_OK;
|
||||
}
|
||||
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+static fluid_long_long_t SoundFontMemLoader_tell(void *handle) {
|
||||
+#else
|
||||
static long SoundFontMemLoader_tell(void *handle) {
|
||||
+#endif
|
||||
return ((Common::SeekableReadStream *) handle)->pos();
|
||||
}
|
||||
#endif
|
||||
@@ -166,7 +214,13 @@ int MidiDriver_FluidSynth::open() {
|
||||
if (_isOpen)
|
||||
return MERR_ALREADY_OPEN;
|
||||
|
||||
-#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
|
||||
+ fluid_set_log_function(FLUID_PANIC, logHandler, NULL);
|
||||
+ fluid_set_log_function(FLUID_ERR, logHandler, NULL);
|
||||
+ fluid_set_log_function(FLUID_WARN, logHandler, NULL);
|
||||
+ fluid_set_log_function(FLUID_INFO, logHandler, NULL);
|
||||
+ fluid_set_log_function(FLUID_DBG, logHandler, NULL);
|
||||
+
|
||||
+#if FS_API_VERSION >= 0x0200
|
||||
// When provided with in-memory SoundFont data, only use the configured
|
||||
// SoundFont instead if it's explicitly configured on the current game.
|
||||
bool isUsingInMemorySoundFontData = _engineSoundFontData && !ConfMan.getActiveDomain()->contains("soundfont");
|
||||
@@ -195,7 +249,11 @@ int MidiDriver_FluidSynth::open() {
|
||||
_synth = new_fluid_synth(_settings);
|
||||
|
||||
if (ConfMan.getBool("fluidsynth_chorus_activate")) {
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+ fluid_synth_chorus_on(_synth, -1, 1);
|
||||
+#else
|
||||
fluid_synth_set_chorus_on(_synth, 1);
|
||||
+#endif
|
||||
|
||||
int chorusNr = ConfMan.getInt("fluidsynth_chorus_nr");
|
||||
double chorusLevel = (double)ConfMan.getInt("fluidsynth_chorus_level") / 100.0;
|
||||
@@ -210,22 +268,49 @@ int MidiDriver_FluidSynth::open() {
|
||||
chorusType = FLUID_CHORUS_MOD_TRIANGLE;
|
||||
}
|
||||
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+ fluid_synth_set_chorus_group_nr(_synth, -1, chorusNr);
|
||||
+ fluid_synth_set_chorus_group_level(_synth, -1, chorusLevel);
|
||||
+ fluid_synth_set_chorus_group_speed(_synth, -1, chorusSpeed);
|
||||
+ fluid_synth_set_chorus_group_depth(_synth, -1, chorusDepthMs);
|
||||
+ fluid_synth_set_chorus_group_type(_synth, -1, chorusType);
|
||||
+#else
|
||||
fluid_synth_set_chorus(_synth, chorusNr, chorusLevel, chorusSpeed, chorusDepthMs, chorusType);
|
||||
+#endif
|
||||
} else {
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+ fluid_synth_chorus_on(_synth, -1, 0);
|
||||
+#else
|
||||
fluid_synth_set_chorus_on(_synth, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
if (ConfMan.getBool("fluidsynth_reverb_activate")) {
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+ fluid_synth_reverb_on(_synth, -1, 1);
|
||||
+#else
|
||||
fluid_synth_set_reverb_on(_synth, 1);
|
||||
+#endif
|
||||
|
||||
double reverbRoomSize = (double)ConfMan.getInt("fluidsynth_reverb_roomsize") / 100.0;
|
||||
double reverbDamping = (double)ConfMan.getInt("fluidsynth_reverb_damping") / 100.0;
|
||||
int reverbWidth = ConfMan.getInt("fluidsynth_reverb_width");
|
||||
double reverbLevel = (double)ConfMan.getInt("fluidsynth_reverb_level") / 100.0;
|
||||
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+ fluid_synth_set_reverb_group_roomsize(_synth, -1, reverbRoomSize);
|
||||
+ fluid_synth_set_reverb_group_damp(_synth, -1, reverbDamping);
|
||||
+ fluid_synth_set_reverb_group_width(_synth, -1, reverbWidth);
|
||||
+ fluid_synth_set_reverb_group_level(_synth, -1, reverbLevel);
|
||||
+#else
|
||||
fluid_synth_set_reverb(_synth, reverbRoomSize, reverbDamping, reverbWidth, reverbLevel);
|
||||
+#endif
|
||||
} else {
|
||||
+#if FS_API_VERSION >= 0x0202
|
||||
+ fluid_synth_reverb_on(_synth, -1, 0);
|
||||
+#else
|
||||
fluid_synth_set_reverb_on(_synth, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
Common::String interpolation = ConfMan.get("fluidsynth_misc_interpolation");
|
||||
@@ -246,7 +331,7 @@ int MidiDriver_FluidSynth::open() {
|
||||
const char *soundfont = !isUsingInMemorySoundFontData ?
|
||||
ConfMan.get("soundfont").c_str() : Common::String::format("&%p", (void *)_engineSoundFontData).c_str();
|
||||
|
||||
-#if defined(FLUIDSYNTH_VERSION_MAJOR) && FLUIDSYNTH_VERSION_MAJOR > 1
|
||||
+#if FS_API_VERSION >= 0x0200
|
||||
if (isUsingInMemorySoundFontData) {
|
||||
fluid_sfloader_t *soundFontMemoryLoader = new_fluid_defsfloader(_settings);
|
||||
fluid_sfloader_set_callbacks(soundFontMemoryLoader,
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
_realname=scummvm
|
||||
pkgbase=mingw-w64-${_realname}
|
||||
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
|
||||
pkgver=2.2.0
|
||||
pkgrel=3
|
||||
pkgver=2.5.0
|
||||
pkgrel=1
|
||||
pkgdesc="A program which allows you to run certain classic graphical point-and-click adventure games (mingw-w64)"
|
||||
arch=('any')
|
||||
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
|
||||
@@ -14,10 +14,14 @@ makedepends=("${MINGW_PACKAGE_PREFIX}-binutils"
|
||||
"${MINGW_PACKAGE_PREFIX}-gcc"
|
||||
"${MINGW_PACKAGE_PREFIX}-gcc-libs"
|
||||
"${MINGW_PACKAGE_PREFIX}-pkg-config")
|
||||
depends=("${MINGW_PACKAGE_PREFIX}-faad2"
|
||||
depends=("${MINGW_PACKAGE_PREFIX}-a52dec"
|
||||
"${MINGW_PACKAGE_PREFIX}-curl"
|
||||
"${MINGW_PACKAGE_PREFIX}-faad2"
|
||||
"${MINGW_PACKAGE_PREFIX}-freetype"
|
||||
"${MINGW_PACKAGE_PREFIX}-flac"
|
||||
"${MINGW_PACKAGE_PREFIX}-fluidsynth"
|
||||
"${MINGW_PACKAGE_PREFIX}-fribidi"
|
||||
"${MINGW_PACKAGE_PREFIX}-glew"
|
||||
"${MINGW_PACKAGE_PREFIX}-libjpeg-turbo"
|
||||
"${MINGW_PACKAGE_PREFIX}-libogg"
|
||||
"${MINGW_PACKAGE_PREFIX}-libvorbis"
|
||||
@@ -28,19 +32,10 @@ depends=("${MINGW_PACKAGE_PREFIX}-faad2"
|
||||
"${MINGW_PACKAGE_PREFIX}-nasm"
|
||||
"${MINGW_PACKAGE_PREFIX}-readline"
|
||||
"${MINGW_PACKAGE_PREFIX}-SDL2"
|
||||
"${MINGW_PACKAGE_PREFIX}-SDL2_net"
|
||||
"${MINGW_PACKAGE_PREFIX}-zlib")
|
||||
source=("https://downloads.scummvm.org/frs/scummvm/${pkgver}/scummvm-${pkgver}.tar.xz"
|
||||
"0001-fluidsynth-2-fixes.patch")
|
||||
sha256sums=('1469657e593bd8acbcfac0b839b086f640ebf120633e93f116cab652b5b27387'
|
||||
'73dcf95911f41ca6c2702cae71056118129db014fb6e2cc37a51133f71cc8f36')
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/${_realname}-${pkgver}"
|
||||
|
||||
# https://github.com/scummvm/scummvm/pull/2915
|
||||
# + some previous commits to make it apply
|
||||
patch -p1 -i "${srcdir}/0001-fluidsynth-2-fixes.patch"
|
||||
}
|
||||
source=("https://downloads.scummvm.org/frs/scummvm/${pkgver}/scummvm-${pkgver}.tar.xz")
|
||||
sha256sums=('b47ee4b195828d2c358e38a4088eda49886dc37a04f1cc17b981345a59e0d623')
|
||||
|
||||
build() {
|
||||
mkdir -p "${srcdir}/build-${MINGW_CHOST}"
|
||||
@@ -49,7 +44,6 @@ build() {
|
||||
--prefix=${MINGW_PREFIX} \
|
||||
--enable-release \
|
||||
--enable-optimizations \
|
||||
--disable-cloud \
|
||||
--disable-debug
|
||||
|
||||
make
|
||||
|
||||
Reference in New Issue
Block a user