diff --git a/Makefile b/Makefile index 507b408f0aa..6427f854f56 100644 --- a/Makefile +++ b/Makefile @@ -134,7 +134,7 @@ endif .PHONY: print-dists print-executables print-version print-distversion print-dists: - @echo $(DIST_FILES_DOCS) $(DIST_FILES_THEMES) $(DIST_FILES_NETWORKING) $(DIST_FILES_VKEYBD) $(DIST_FILES_ENGINEDATA) $(DIST_FILES_ENGINEDATA_BIG) $(DIST_FILES_PLATFORM) $(srcdir)/doc + @echo $(DIST_FILES_DOCS) $(DIST_FILES_THEMES) $(DIST_FILES_NETWORKING) $(DIST_FILES_VKEYBD) $(DIST_FILES_ENGINEDATA) $(DIST_FILES_ENGINEDATA_BIG) $(DIST_FILES_SOUNDFONTS) $(DIST_FILES_PLATFORM) $(srcdir)/doc print-executables: @echo $(if $(DIST_EXECUTABLES),$(DIST_EXECUTABLES),$(EXECUTABLE) $(PLUGINS)) diff --git a/Makefile.common b/Makefile.common index a9d8568362d..0ba3541a262 100644 --- a/Makefile.common +++ b/Makefile.common @@ -535,4 +535,11 @@ DIST_FILES_SHADERS+=$(wildcard $(srcdir)/engines/freescape/shaders/*) endif endif +# Soundfonts +DIST_FILES_SOUNDFONTS= +ifdef USE_FLUIDSYNTH +DIST_FILES_SOUNDFONTS:=$(addprefix $(srcdir)/dists/soundfonts/,Roland_SC-55.sf2) +DIST_FILES_DOCS+=$(addprefix $(srcdir)/dists/soundfonts/,COPYRIGHT.Roland_SC-55) +endif + .PHONY: all clean distclean plugins dist-src clean-toplevel manual diff --git a/backends/platform/android/android.mk b/backends/platform/android/android.mk index c8a348b3510..838294e0cbf 100644 --- a/backends/platform/android/android.mk +++ b/backends/platform/android/android.mk @@ -27,9 +27,9 @@ $(PATH_BUILD_GRADLE): $(GRADLE_FILES) | $(PATH_BUILD) $(ECHO) "android.enableJetifier=true\n" >> $(PATH_BUILD)/gradle.properties $(ECHO) "sdk.dir=$(realpath $(ANDROID_SDK_ROOT))\n" > $(PATH_BUILD)/local.properties -$(PATH_BUILD_ASSETS): $(DIST_FILES_THEMES) $(DIST_FILES_ENGINEDATA) $(DIST_FILES_ENGINEDATA_BIG) $(DIST_FILES_NETWORKING) $(DIST_FILES_VKEYBD) $(DIST_FILES_DOCS) $(DIST_FILES_HELP) | $(PATH_BUILD) +$(PATH_BUILD_ASSETS): $(DIST_FILES_THEMES) $(DIST_FILES_ENGINEDATA) $(DIST_FILES_ENGINEDATA_BIG) $(DIST_FILES_SOUNDFONTS) $(DIST_FILES_NETWORKING) $(DIST_FILES_VKEYBD) $(DIST_FILES_DOCS) $(DIST_FILES_HELP) | $(PATH_BUILD) $(INSTALL) -d $(PATH_BUILD_ASSETS) - $(INSTALL) -c -m 644 $(DIST_FILES_THEMES) $(DIST_FILES_ENGINEDATA) $(DIST_FILES_ENGINEDATA_BIG) $(DIST_FILES_NETWORKING) $(DIST_FILES_VKEYBD) $(DIST_FILES_DOCS) $(DIST_FILES_HELP) $(PATH_BUILD_ASSETS)/ + $(INSTALL) -c -m 644 $(DIST_FILES_THEMES) $(DIST_FILES_ENGINEDATA) $(DIST_FILES_ENGINEDATA_BIG) $(DIST_FILES_SOUNDFONTS) $(DIST_FILES_NETWORKING) $(DIST_FILES_VKEYBD) $(DIST_FILES_DOCS) $(DIST_FILES_HELP) $(PATH_BUILD_ASSETS)/ ifneq ($(DIST_FILES_SHADERS),) $(INSTALL) -d $(PATH_BUILD_ASSETS)/shaders $(INSTALL) -c -m 644 $(DIST_FILES_SHADERS) $(PATH_BUILD_ASSETS)/shaders diff --git a/backends/platform/libretro/scripts/bundle_datafiles.sh b/backends/platform/libretro/scripts/bundle_datafiles.sh index 1cbaed359da..6a83093f3bd 100755 --- a/backends/platform/libretro/scripts/bundle_datafiles.sh +++ b/backends/platform/libretro/scripts/bundle_datafiles.sh @@ -73,11 +73,13 @@ BUNDLE_LOCAL_DATAFILES_DIR="${BUILD_PATH}/dist" # Retrieve data file info from ScummVM source THEMES_LIST=$(cat "${SCUMMVM_PATH}/dists/scummvm.rc" 2>/dev/null | grep FILE.*gui/themes.*\* | sed "s|.*\"\(.*\)\"|${SCUMMVM_PATH}/\1|g") DATAFILES_LIST=$(cat "${SCUMMVM_PATH}/dists/scummvm.rc" 2>/dev/null| grep FILE.*dists/engine-data | sed "s|.*\"\(.*\)\"|${SCUMMVM_PATH}/\1|g") +SOUNDFONTS_LIST=$(cat "${SCUMMVM_PATH}/dists/scummvm.rc" 2>/dev/null| grep FILE.*dists/soundfonts | sed "s|.*\"\(.*\)\"|${SCUMMVM_PATH}/\1|g") # Put retrieved data into arrays set +e read -a THEME_ARRAY -d '' -r <<< "${THEMES_LIST}" read -a DATAFILES_ARRAY -d '' -r <<< "$DATAFILES_LIST" +read -a SOUNDFONTS_ARRAY -d '' -r <<< "$SOUNDFONTS_LIST" set -e # Add specific data files @@ -93,6 +95,7 @@ count=0 # Process datafiles process_group "$BUNDLE_DATAFILES_DIR" $3 ${DATAFILES_ARRAY[@]} + process_group "$BUNDLE_DATAFILES_DIR" $3 ${SOUNDFONTS_ARRAY[@]} # Process additional local bundle files if [ -d "$BUNDLE_LOCAL_DATAFILES_DIR" -a ! -z "$(ls -A ${BUNDLE_LOCAL_DATAFILES_DIR} 2>/dev/null)" ] ; then diff --git a/backends/platform/sdl/switch/switch.mk b/backends/platform/sdl/switch/switch.mk index 2dbd47b88d7..e4a3fb50d37 100644 --- a/backends/platform/sdl/switch/switch.mk +++ b/backends/platform/sdl/switch/switch.mk @@ -13,6 +13,9 @@ endif ifdef DIST_FILES_ENGINEDATA_BIG cp $(DIST_FILES_ENGINEDATA_BIG) ./switch_release/scummvm/data endif +ifdef DIST_FILES_SOUNDFONTS + cp $(DIST_FILES_SOUNDFONTS) ./switch_release/scummvm/data +endif ifdef DIST_FILES_NETWORKING cp $(DIST_FILES_NETWORKING) ./switch_release/scummvm/data endif diff --git a/base/commandLine.cpp b/base/commandLine.cpp index 8cdffb04108..1e82b438539 100644 --- a/base/commandLine.cpp +++ b/base/commandLine.cpp @@ -328,6 +328,10 @@ void registerDefaults() { ConfMan.registerDefault("enable_unsupported_game_warning", true); +#ifdef USE_FLUIDSYNTH + ConfMan.registerDefault("soundfont", "Roland_SC-55.sf2"); +#endif + // Game specific ConfMan.registerDefault("path", ""); ConfMan.registerDefault("platform", Common::kPlatformDOS); @@ -2132,6 +2136,7 @@ bool processSettings(Common::String &command, Common::StringMap &settings, Commo ADD_DEFAULT_PATH("themepath", "gui/themes/") ADD_DEFAULT_PATH("extrapath", "dists/engine-data/") + ADD_DEFAULT_PATH("soundfontpath", "dists/soundfonts/") #endif return false; diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp index c3bcd2db849..be81f53c396 100644 --- a/devtools/create_project/xcode.cpp +++ b/devtools/create_project/xcode.cpp @@ -1150,6 +1150,10 @@ XcodeProvider::ValueList& XcodeProvider::getResourceFiles(const BuildSetup &setu files.push_back("engines/freescape/shaders/freescape_triangle.fragment"); files.push_back("engines/freescape/shaders/freescape_triangle.vertex"); } + if (CONTAINS_DEFINE(setup.defines, "USE_FLUIDSYNTH")) { + files.push_back("dists/soundfonts/Roland_SC-55.sf2"); + files.push_back("dists/soundfonts/COPYRIGHT.Roland_SC-55"); + } files.push_back("icons/scummvm.icns"); files.push_back("AUTHORS"); files.push_back("COPYING"); diff --git a/dists/scummvm.rc b/dists/scummvm.rc index 41bfcfaca11..504ae321843 100644 --- a/dists/scummvm.rc +++ b/dists/scummvm.rc @@ -31,6 +31,10 @@ encoding.dat FILE "dists/engine-data/encoding.dat" macgui.dat FILE "dists/engine-data/macgui.dat" classicmacfonts.dat FILE "dists/engine-data/classicmacfonts.dat" +#ifdef USE_FLUIDSYNTH +Roland_SC-55.sf2 FILE "dists/soundfonts/Roland_SC-55.sf2" +#endif + // Engine or feature specific resources #ifdef BUILTIN_RESOURCES #if PLUGIN_ENABLED_STATIC(FREESCAPE) diff --git a/backends/platform/libretro/dist/README.md b/dists/soundfonts/COPYRIGHT.Roland_SC-55 similarity index 100% rename from backends/platform/libretro/dist/README.md rename to dists/soundfonts/COPYRIGHT.Roland_SC-55 diff --git a/backends/platform/libretro/dist/Roland_SC-55.sf2 b/dists/soundfonts/Roland_SC-55.sf2 similarity index 100% rename from backends/platform/libretro/dist/Roland_SC-55.sf2 rename to dists/soundfonts/Roland_SC-55.sf2 diff --git a/ports.mk b/ports.mk index 4fd3aa6bf52..faef1752519 100644 --- a/ports.mk +++ b/ports.mk @@ -15,7 +15,7 @@ install-data: $(INSTALL) -d "$(DESTDIR)$(docdir)" $(INSTALL) -c -m 644 $(DIST_FILES_DOCS) "$(DESTDIR)$(docdir)" $(INSTALL) -d "$(DESTDIR)$(datadir)" - $(INSTALL) -c -m 644 $(DIST_FILES_THEMES) $(DIST_FILES_NETWORKING) $(DIST_FILES_VKEYBD) $(DIST_FILES_ENGINEDATA) $(DIST_FILES_ENGINEDATA_BIG) "$(DESTDIR)$(datadir)/" + $(INSTALL) -c -m 644 $(DIST_FILES_THEMES) $(DIST_FILES_NETWORKING) $(DIST_FILES_VKEYBD) $(DIST_FILES_ENGINEDATA) $(DIST_FILES_ENGINEDATA_BIG) $(DIST_FILES_SOUNDFONTS) "$(DESTDIR)$(datadir)/" $(INSTALL) -d "$(DESTDIR)$(datarootdir)/applications" $(INSTALL) -c -m 644 "$(srcdir)/dists/org.scummvm.scummvm.desktop" "$(DESTDIR)$(datarootdir)/applications/org.scummvm.scummvm.desktop" $(INSTALL) -d "$(DESTDIR)$(datarootdir)/metainfo" @@ -75,6 +75,9 @@ endif ifdef DIST_FILES_VKEYBD cp $(DIST_FILES_VKEYBD) ./dist-generic/scummvm/data endif +ifdef DIST_FILES_SOUNDFONTS + cp $(DIST_FILES_SOUNDFONTS) ./dist-generic/scummvm/data +endif ifdef DIST_FILES_SHADERS mkdir -p ./dist-generic/scummvm/data/shaders cp $(DIST_FILES_SHADERS) ./dist-generic/scummvm/data/shaders @@ -163,6 +166,9 @@ endif ifdef DIST_FILES_VKEYBD cp $(DIST_FILES_VKEYBD) $(bundle_name)/Contents/Resources/ endif +ifdef DIST_FILES_SOUNDFONTS + cp $(DIST_FILES_SOUNDFONTS) $(bundle_name)/Contents/Resources/ +endif ifneq ($(DIST_FILES_SHADERS),) mkdir -p $(bundle_name)/Contents/Resources/shaders cp $(DIST_FILES_SHADERS) $(bundle_name)/Contents/Resources/shaders/ @@ -297,6 +303,9 @@ endif ifdef DIST_FILES_VKEYBD cp $(DIST_FILES_VKEYBD) $(bundle_name)/ endif +ifdef DIST_FILES_SOUNDFONTS + cp $(DIST_FILES_SOUNDFONTS) $(bundle_name)/ +endif ifneq ($(DIST_FILES_SHADERS),) cp $(DIST_FILES_SHADERS) $(bundle_name)/ endif @@ -391,6 +400,9 @@ endif ifdef DIST_FILES_VKEYBD cp $(DIST_FILES_VKEYBD) $(bundle_name)/ endif +ifdef DIST_FILES_SOUNDFONTS + cp $(DIST_FILES_SOUNDFONTS) $(bundle_name)/ +endif ifneq ($(DIST_FILES_SHADERS),) cp $(DIST_FILES_SHADERS) $(bundle_name)/ endif