DISTS: Move engine data defs to dedicated files

This commit is contained in:
elasota 2023-12-19 00:47:52 -05:00 committed by Eugene Sandulenko
parent d5220a9624
commit 4dc9ef2771
12 changed files with 347 additions and 229 deletions

2
.gitignore vendored
View File

@ -121,6 +121,8 @@ project.xcworkspace
/dists/engine-data/testbed-audiocd-files/testbed.out
/dists/engine-data/playground3d
/dists/scummvm_rc_*.rh
/doc/*.aux
/doc/*.dvi

View File

@ -406,110 +406,20 @@ DIST_FILES_VKEYBD:=$(addprefix $(srcdir)/backends/vkeybd/packs/,vkeybd_default.z
endif
# Engine data files
DIST_FILES_ENGINEDATA=
ifdef ENABLE_ACCESS
DIST_FILES_ENGINEDATA+=access.dat
endif
ifdef ENABLE_CRYO
DIST_FILES_ENGINEDATA+=cryo.dat
endif
ifdef ENABLE_CRYOMNI3D
DIST_FILES_ENGINEDATA+=cryomni3d.dat
endif
ifdef ENABLE_DRASCULA
DIST_FILES_ENGINEDATA+=drascula.dat
endif
ifdef ENABLE_HADESCH
DIST_FILES_ENGINEDATA+=hadesch_translations.dat
endif
ifdef ENABLE_HUGO
DIST_FILES_ENGINEDATA+=hugo.dat
endif
ifdef ENABLE_KYRA
DIST_FILES_ENGINEDATA+=kyra.dat
endif
ifdef ENABLE_LURE
DIST_FILES_ENGINEDATA+=lure.dat
endif
ifdef ENABLE_MACVENTURE
DIST_FILES_ENGINEDATA+=macventure.dat
endif
ifdef ENABLE_MORTEVIELLE
DIST_FILES_ENGINEDATA+=mort.dat
endif
ifdef ENABLE_NANCY
DIST_FILES_ENGINEDATA+=nancy.dat
endif
ifdef ENABLE_NEVERHOOD
DIST_FILES_ENGINEDATA+=neverhood.dat
endif
ifdef ENABLE_PRINCE
DIST_FILES_ENGINEDATA+=prince_translation.dat
endif
ifdef ENABLE_QUEEN
DIST_FILES_ENGINEDATA+=queen.tbl
endif
ifdef ENABLE_SKY
DIST_FILES_ENGINEDATA+=sky.cpt
endif
ifdef ENABLE_SUPERNOVA
DIST_FILES_ENGINEDATA+=supernova.dat
endif
ifdef ENABLE_TEENAGENT
DIST_FILES_ENGINEDATA+=teenagent.dat
endif
ifdef ENABLE_TITANIC
DIST_FILES_ENGINEDATA+=titanic.dat
endif
ifdef ENABLE_TONY
DIST_FILES_ENGINEDATA+=tony.dat
endif
ifdef ENABLE_TOON
DIST_FILES_ENGINEDATA+=toon.dat
endif
ifdef ENABLE_ULTIMA
DIST_FILES_ENGINEDATA+=ultima.dat
DIST_FILES_ENGINEDATA+=ultima8.dat
endif
ifdef ENABLE_WINTERMUTE
DIST_FILES_ENGINEDATA+=wintermute.zip
endif
ifdef ENABLE_MM
DIST_FILES_ENGINEDATA+=mm.dat
endif
ifdef ENABLE_FREESCAPE
DIST_FILES_ENGINEDATA+=freescape.dat
endif
ifdef USE_FREETYPE2
DIST_FILES_ENGINEDATA+=fonts.dat
endif
ifdef ENABLE_GRIM
DIST_FILES_ENGINEDATA+=grim-patch.lab
endif
ifdef ENABLE_MONKEY4
DIST_FILES_ENGINEDATA+=monkey4-patch.m4b
endif
ifdef ENABLE_MYST3
DIST_FILES_ENGINEDATA+=myst3.dat
endif
DIST_FILES_ENGINEDATA+=achievements.dat
DIST_FILES_ENGINEDATA+=classicmacfonts.dat
DIST_FILES_ENGINEDATA+=encoding.dat
DIST_FILES_ENGINEDATA+=helpdialog.zip
DIST_FILES_ENGINEDATA+=macgui.dat
DIST_FILES_ENGINEDATA:=$(addprefix $(srcdir)/dists/engine-data/,$(DIST_FILES_ENGINEDATA))
DIST_FILES_LIST=
-include $(srcdir)/dists/engine-data/engine_data_core.mk
DIST_FILES_ENGINEDATA_BASE_CORE:=$(DIST_FILES_LIST)
# pred.dic is currently only used for the AGI engine
ifdef ENABLE_AGI
DIST_FILES_ENGINEDATA+=$(srcdir)/dists/pred.dic
endif
DIST_FILES_LIST=
-include $(srcdir)/dists/engine-data/engine_data.mk
DIST_FILES_ENGINEDATA_BASE:=$(DIST_FILES_LIST)
# fonts-cjk.dat is used only on systems with plenty of memory
ifdef USE_FREETYPE2
DIST_FILES_ENGINEDATA_BIG+=fonts-cjk.dat
endif
DIST_FILES_LIST=
-include $(srcdir)/dists/engine-data/engine_data_big.mk
DIST_FILES_ENGINEDATA_BASE_BIG:=$(DIST_FILES_LIST)
DIST_FILES_ENGINEDATA_BIG:=$(addprefix $(srcdir)/dists/engine-data/,$(DIST_FILES_ENGINEDATA_BIG))
DIST_FILES_ENGINEDATA:=$(addprefix $(srcdir)/,$(DIST_FILES_ENGINEDATA_BASE_CORE) $(DIST_FILES_ENGINEDATA_BASE))
DIST_FILES_ENGINEDATA_BIG:=$(addprefix $(srcdir)/,$(DIST_FILES_ENGINEDATA_BASE_BIG))
# Shaders: install if USE_OPENGL_SHADERS is defined
DIST_FILES_SHADERS=

View File

@ -4,6 +4,32 @@
WIN32PATH ?= $(DESTDIR)
clean-win32-resource-embed:
clean: clean-win32-resource-embed
.PHONY: clean-win32-resource-embed
define win32-resource-embed-macro=
$(1): configure.stamp
@echo ' GENERATE' $$@
@echo $$(foreach filename,$$($(2)),$$(filename)) | sed -e 's/ /\n/g' | sed -E 's/(.*\/)(.+)/\2 FILE "\1\2"/g' >> $$@
dists/scummvm.o: $(1)
clean-win32-resource-embed-$(1):
$(RM) $(srcdir)/$(1)
clean-win32-resource-embed: clean-win32-resource-embed-$(1)
.PHONY: clean-win32-resource-embed-$(1)
endef
$(eval $(call win32-resource-embed-macro,dists/scummvm_rc_engine_data_core.rh,DIST_FILES_ENGINEDATA_BASE_CORE))
$(eval $(call win32-resource-embed-macro,dists/scummvm_rc_engine_data.rh,DIST_FILES_ENGINEDATA_BASE))
$(eval $(call win32-resource-embed-macro,dists/scummvm_rc_engine_data_big.rh,DIST_FILES_ENGINEDATA_BASE_BIG))
# Special target to create a win32 snapshot binary (for Inno Setup)
win32-data: all
mkdir -p $(WIN32PATH)

View File

@ -1638,6 +1638,11 @@ void ProjectProvider::createProject(BuildSetup &setup) {
_allProjUuidMap[detProject] = _engineUuidMap[detProject] = detUUID;
}
// Scan for resources
for (int i = 0; i < kEngineDataGroupCount; i++) {
createDataFilesList(static_cast<EngineDataGroup>(i), setup.srcDir, setup.defines, _engineDataGroupDefs[i].dataFiles, _engineDataGroupDefs[i].winHeaderPath);
}
createWorkspace(setup);
StringList in, ex, pchDirs, pchEx;
@ -2264,6 +2269,117 @@ void ProjectProvider::createModuleList(const std::string &moduleDir, const Strin
error("Malformed file " + moduleMkFile);
}
static EngineDataGroupResolution s_engineDataResolutions[] = {
{kEngineDataGroupNormal, "dists/engine-data/engine_data.mk", "dists/scummvm_rc_engine_data.rh"},
{kEngineDataGroupBig, "dists/engine-data/engine_data_big.mk", "dists/scummvm_rc_engine_data_big.rh"},
{kEngineDataGroupCore, "dists/engine-data/engine_data_core.mk", "dists/scummvm_rc_engine_data_core.rh"},
};
void ProjectProvider::createDataFilesList(EngineDataGroup engineDataGroup, const std::string &baseDir, const StringList &defines, StringList &outDataFiles, std::string &outWinHeaderPath) const {
outDataFiles.clear();
const EngineDataGroupResolution *resolution = nullptr;
for (const EngineDataGroupResolution &resolutionCandidate : s_engineDataResolutions) {
if (resolutionCandidate.engineDataGroup == engineDataGroup) {
resolution = &resolutionCandidate;
break;
}
}
if (!resolution)
error("Engine data group resolution wasn't defined");
std::string mkFile = baseDir + "/" + resolution->mkFilePath;
std::ifstream moduleMk(mkFile.c_str());
if (!moduleMk)
error(mkFile + " is not present");
outWinHeaderPath = resolution->winHeaderPath;
std::stack<bool> shouldInclude;
shouldInclude.push(true);
std::string line;
for (;;) {
std::getline(moduleMk, line);
if (moduleMk.eof())
break;
if (moduleMk.fail())
error(std::string("Failed while reading from ") + mkFile);
TokenList tokens = tokenize(line);
if (tokens.empty())
continue;
TokenList::const_iterator i = tokens.begin();
if (*i == "DIST_FILES_LIST") {
if (tokens.size() < 3)
error("Malformed DIST_FILES_LIST definition in " + mkFile);
++i;
if (*i != "+=")
error("Malformed DIST_FILES_LIST definition in " + mkFile);
++i;
while (i != tokens.end()) {
if (*i == "\\") {
std::getline(moduleMk, line);
tokens = tokenize(line);
i = tokens.begin();
} else {
const std::string filename = unifyPath(*i);
if (shouldInclude.top()) {
outDataFiles.push_back(filename);
}
++i;
}
}
} else if (*i == "ifdef") {
if (tokens.size() < 2)
error("Malformed ifdef in " + mkFile);
++i;
if (std::find(defines.begin(), defines.end(), *i) == defines.end())
shouldInclude.push(false);
else
shouldInclude.push(true && shouldInclude.top());
} else if (*i == "ifndef") {
if (tokens.size() < 2)
error("Malformed ifndef in " + mkFile);
++i;
if (std::find(defines.begin(), defines.end(), *i) == defines.end())
shouldInclude.push(true && shouldInclude.top());
else
shouldInclude.push(false);
} else if (*i == "else") {
bool last = shouldInclude.top();
shouldInclude.pop();
shouldInclude.push(!last && shouldInclude.top());
} else if (*i == "endif") {
if (shouldInclude.size() <= 1)
error("endif without ifdef found in " + mkFile);
shouldInclude.pop();
} else if (*i == "elif") {
error("Unsupported operation 'elif' in " + mkFile);
} else if (*i == "ifeq" || *i == "ifneq") {
// XXX
shouldInclude.push(false);
} else if (*i == "#") {
// Comment, ignore
} else
error("Unknown definition line in " + mkFile);
}
if (shouldInclude.size() != 1)
error("Malformed file " + mkFile);
}
void ProjectProvider::createEnginePluginsTable(const BuildSetup &setup) {
// First we need to create the "engines" directory.
createDirectory(setup.outputDir + "/engines");

View File

@ -107,6 +107,9 @@ struct EngineDesc {
bool operator==(const std::string &n) const {
return (name == n);
}
EngineDesc() : enable(false) {
}
};
typedef std::list<EngineDesc> EngineDescList;
@ -315,6 +318,20 @@ enum MSVC_Architecture {
std::string getMSVCArchName(MSVC_Architecture arch);
std::string getMSVCConfigName(MSVC_Architecture arch);
enum EngineDataGroup {
kEngineDataGroupNormal,
kEngineDataGroupCore,
kEngineDataGroupBig,
kEngineDataGroupCount,
};
struct EngineDataGroupResolution {
EngineDataGroup engineDataGroup;
const char *mkFilePath;
const char *winHeaderPath;
};
/**
* Creates a list of all supported versions of Visual Studio.
*
@ -500,6 +517,11 @@ struct FileNode {
class ProjectProvider {
public:
struct EngineDataGroupDef {
StringList dataFiles;
std::string winHeaderPath;
};
typedef std::map<std::string, std::string> UUIDMap;
/**
@ -536,6 +558,8 @@ protected:
UUIDMap _engineUuidMap; ///< List of (project name, UUID) pairs
UUIDMap _allProjUuidMap;
EngineDataGroupDef _engineDataGroupDefs[kEngineDataGroupCount];
/**
* Create workspace/solution file
*
@ -623,6 +647,16 @@ protected:
*/
void createModuleList(const std::string &moduleDir, const StringList &defines, StringList &testDirs, StringList &includeList, StringList &excludeList, StringList &pchDirs, StringList &pchExclude, bool forDetection = false) const;
/**
* Creates a list of data files from a specified .mk file
*
* @param makeFilePath Path to the engine data makefile.
* @param defines List of set defines.
* @param outDataFiles Output list of data files.
* @param outWinHeaderPath Output Windows resource header path.
*/
void createDataFilesList(EngineDataGroup engineDataGroup, const std::string &baseDir, const StringList &defines, StringList &outDataFiles, std::string &outWinHeaderPath) const;
/**
* Creates an UUID for every enabled engine of the
* passed build description.

View File

@ -227,11 +227,19 @@ void MSVCProvider::createOtherBuildFiles(const BuildSetup &setup) {
createBuildProp(setup, false, *arch, "Analysis");
createBuildProp(setup, false, *arch, "LLVM");
}
createResourceEmbeds(setup);
}
void MSVCProvider::addResourceFiles(const BuildSetup &setup, StringList &includeList, StringList &excludeList) {
includeList.push_back(setup.srcDir + "/icons/" + setup.projectName + ".ico");
includeList.push_back(setup.srcDir + "/dists/" + setup.projectName + ".rc");
for (int i = 0; i < kEngineDataGroupCount; i++) {
const EngineDataGroupDef &groupDef = _engineDataGroupDefs[i];
includeList.push_back(setup.srcDir + "/" + groupDef.winHeaderPath);
}
}
void MSVCProvider::createGlobalProp(const BuildSetup &setup) {
@ -314,4 +322,33 @@ std::string MSVCProvider::getPostBuildEvent(MSVC_Architecture arch, const BuildS
return cmdLine;
}
void MSVCProvider::createResourceEmbeds(const BuildSetup &setup) const {
for (int i = 0; i < kEngineDataGroupCount; i++) {
const EngineDataGroupDef &groupDef = _engineDataGroupDefs[i];
std::string outPath = setup.srcDir + "/" + groupDef.winHeaderPath;
std::ofstream resEmbedFile(outPath.c_str());
if (!resEmbedFile || !resEmbedFile.is_open()) {
error("Could not open \"" + outPath + "\" for writing");
return;
}
resEmbedFile << "// This file was generated by create_project" << std::endl;
resEmbedFile << "// Do not edit this file manually" << std::endl;
resEmbedFile << std::endl;
for (const std::string &fileName : groupDef.dataFiles) {
size_t lastSlashPos = fileName.find_last_of('/');
if (lastSlashPos == std::string::npos)
error("Data file definition " + fileName + " wasn't located in a subdirectory");
std::string shortName = fileName.substr(lastSlashPos + 1);
resEmbedFile << shortName << " FILE \"" << fileName << "\"" << std::endl;
}
}
}
} // namespace CreateProjectTool

View File

@ -118,6 +118,11 @@ protected:
* @return The post build event.
*/
std::string getPostBuildEvent(MSVC_Architecture arch, const BuildSetup &setup, bool isRelease) const;
/**
* Creates resource embed files
*/
void createResourceEmbeds(const BuildSetup &setup) const;
};
} // namespace CreateProjectTool

View File

@ -1038,45 +1038,9 @@ XcodeProvider::ValueList& XcodeProvider::getResourceFiles(const BuildSetup &setu
files.push_back("gui/themes/gui-icons.dat");
files.push_back("gui/themes/shaders.dat");
files.push_back("gui/themes/translations.dat");
files.push_back("dists/engine-data/access.dat");
files.push_back("dists/engine-data/achievements.dat");
files.push_back("dists/engine-data/classicmacfonts.dat");
files.push_back("dists/engine-data/cryo.dat");
files.push_back("dists/engine-data/cryomni3d.dat");
files.push_back("dists/engine-data/drascula.dat");
files.push_back("dists/engine-data/encoding.dat");
files.push_back("dists/engine-data/fonts.dat");
files.push_back("dists/engine-data/fonts-cjk.dat");
files.push_back("dists/engine-data/freescape.dat");
files.push_back("dists/engine-data/hadesch_translations.dat");
files.push_back("dists/engine-data/helpdialog.zip");
files.push_back("dists/engine-data/hugo.dat");
files.push_back("dists/engine-data/kyra.dat");
files.push_back("dists/engine-data/lure.dat");
files.push_back("dists/engine-data/macgui.dat");
files.push_back("dists/engine-data/myst3.dat");
files.push_back("dists/engine-data/monkey4-patch.m4b");
files.push_back("dists/engine-data/grim-patch.lab");
files.push_back("dists/engine-data/macventure.dat");
files.push_back("dists/engine-data/mm.dat");
files.push_back("dists/engine-data/mort.dat");
files.push_back("dists/engine-data/nancy.dat");
files.push_back("dists/engine-data/neverhood.dat");
files.push_back("dists/engine-data/prince_translation.dat");
files.push_back("dists/engine-data/queen.tbl");
files.push_back("dists/engine-data/sky.cpt");
files.push_back("dists/engine-data/supernova.dat");
files.push_back("dists/engine-data/teenagent.dat");
files.push_back("dists/engine-data/titanic.dat");
files.push_back("dists/engine-data/tony.dat");
files.push_back("dists/engine-data/toon.dat");
files.push_back("dists/engine-data/ultima.dat");
files.push_back("dists/engine-data/ultima8.dat");
files.push_back("dists/engine-data/wintermute.zip");
files.push_back("dists/ios7/ios-help.zip");
files.push_back("dists/ios7/LaunchScreen_ios.storyboard");
files.push_back("dists/tvos/LaunchScreen_tvos.storyboard");
files.push_back("dists/pred.dic");
files.push_back("dists/networking/wwwroot.zip");
if (CONTAINS_DEFINE(setup.defines, "ENABLE_GRIM")) {
files.push_back("engines/grim/shaders/grim_dim.fragment");
@ -1184,7 +1148,17 @@ XcodeProvider::ValueList& XcodeProvider::getResourceFiles(const BuildSetup &setu
files.push_back("LICENSES/CatharonLicense.txt");
files.push_back("NEWS.md");
files.push_back("README.md");
for (int i = 0; i < kEngineDataGroupCount; i++) {
for (const std::string &filename : _engineDataGroupDefs[i].dataFiles) {
if (std::find(files.begin(), files.end(), filename) != files.end())
error("Resource file " + filename + " was included multiple times");
files.push_back(filename);
}
}
}
return files;
}

View File

@ -0,0 +1,91 @@
ifdef ENABLE_ACCESS
DIST_FILES_LIST += dists/engine-data/access.dat
endif
ifdef ENABLE_CRYO
DIST_FILES_LIST += dists/engine-data/cryo.dat
endif
ifdef ENABLE_CRYOMNI3D
DIST_FILES_LIST += dists/engine-data/cryomni3d.dat
endif
ifdef ENABLE_DRASCULA
DIST_FILES_LIST += dists/engine-data/drascula.dat
endif
ifdef ENABLE_HADESCH
DIST_FILES_LIST += dists/engine-data/hadesch_translations.dat
endif
ifdef ENABLE_HUGO
DIST_FILES_LIST += dists/engine-data/hugo.dat
endif
ifdef ENABLE_KYRA
DIST_FILES_LIST += dists/engine-data/kyra.dat
endif
ifdef ENABLE_LURE
DIST_FILES_LIST += dists/engine-data/lure.dat
endif
ifdef ENABLE_MACVENTURE
DIST_FILES_LIST += dists/engine-data/macventure.dat
endif
ifdef ENABLE_MORTEVIELLE
DIST_FILES_LIST += dists/engine-data/mort.dat
endif
ifdef ENABLE_NANCY
DIST_FILES_LIST += dists/engine-data/nancy.dat
endif
ifdef ENABLE_NEVERHOOD
DIST_FILES_LIST += dists/engine-data/neverhood.dat
endif
ifdef ENABLE_PRINCE
DIST_FILES_LIST += dists/engine-data/prince_translation.dat
endif
ifdef ENABLE_QUEEN
DIST_FILES_LIST += dists/engine-data/queen.tbl
endif
ifdef ENABLE_SKY
DIST_FILES_LIST += dists/engine-data/sky.cpt
endif
ifdef ENABLE_SUPERNOVA
DIST_FILES_LIST += dists/engine-data/supernova.dat
endif
ifdef ENABLE_TEENAGENT
DIST_FILES_LIST += dists/engine-data/teenagent.dat
endif
ifdef ENABLE_TITANIC
DIST_FILES_LIST += dists/engine-data/titanic.dat
endif
ifdef ENABLE_TONY
DIST_FILES_LIST += dists/engine-data/tony.dat
endif
ifdef ENABLE_TOON
DIST_FILES_LIST += dists/engine-data/toon.dat
endif
ifdef ENABLE_ULTIMA
DIST_FILES_LIST += dists/engine-data/ultima.dat
DIST_FILES_LIST += dists/engine-data/ultima8.dat
endif
ifdef ENABLE_WINTERMUTE
DIST_FILES_LIST += dists/engine-data/wintermute.zip
endif
ifdef ENABLE_MM
DIST_FILES_LIST += dists/engine-data/mm.dat
endif
ifdef ENABLE_FREESCAPE
DIST_FILES_LIST += dists/engine-data/freescape.dat
endif
ifdef USE_FREETYPE2
DIST_FILES_LIST += dists/engine-data/fonts.dat
endif
ifdef ENABLE_GRIM
DIST_FILES_LIST += dists/engine-data/grim-patch.lab
endif
ifdef ENABLE_MONKEY4
DIST_FILES_LIST += dists/engine-data/monkey4-patch.m4b
endif
ifdef ENABLE_MYST3
DIST_FILES_LIST += dists/engine-data/myst3.dat
endif
# pred.dic is currently only used for the AGI engine
ifdef ENABLE_AGI
DIST_FILES_LIST += dists/pred.dic
endif

View File

@ -0,0 +1,4 @@
# fonts-cjk.dat is used only on systems with plenty of memory
ifdef USE_FREETYPE2
DIST_FILES_LIST += dists/engine-data/fonts-cjk.dat
endif

View File

@ -0,0 +1,5 @@
DIST_FILES_LIST += dists/engine-data/achievements.dat
DIST_FILES_LIST += dists/engine-data/classicmacfonts.dat
DIST_FILES_LIST += dists/engine-data/encoding.dat
DIST_FILES_LIST += dists/engine-data/helpdialog.zip
DIST_FILES_LIST += dists/engine-data/macgui.dat

View File

@ -26,11 +26,8 @@ scummremastered.zip FILE "gui/themes/scummremastered.zip"
residualvm.zip FILE "gui/themes/residualvm.zip"
gui-icons.dat FILE "gui/themes/gui-icons.dat"
shaders.dat FILE "gui/themes/shaders.dat"
achievements.dat FILE "dists/engine-data/achievements.dat"
encoding.dat FILE "dists/engine-data/encoding.dat"
helpdialog.zip FILE "dists/engine-data/helpdialog.zip"
macgui.dat FILE "dists/engine-data/macgui.dat"
classicmacfonts.dat FILE "dists/engine-data/classicmacfonts.dat"
#include "dists/scummvm_rc_engine_data_core.rh"
#ifdef USE_FLUIDSYNTH
Roland_SC-55.sf2 FILE "dists/soundfonts/Roland_SC-55.sf2"
@ -38,100 +35,17 @@ Roland_SC-55.sf2 FILE "dists/soundfonts/Roland_SC-55.sf2"
// Engine or feature specific resources
#ifdef BUILTIN_RESOURCES
#if PLUGIN_ENABLED_STATIC(FREESCAPE)
freescape.dat FILE "dists/engine-data/freescape.dat"
#endif
#if PLUGIN_ENABLED_STATIC(GRIM)
grim-patch.lab FILE "dists/engine-data/grim-patch.lab"
monkey4-patch.m4b FILE "dists/engine-data/monkey4-patch.m4b"
#endif
#if PLUGIN_ENABLED_STATIC(MYST3)
myst3.dat FILE "dists/engine-data/myst3.dat"
#endif
#include "dists/scummvm_rc_engine_data.rh"
#include "dists/scummvm_rc_engine_data_big.rh"
#ifdef USE_TRANSLATION
translations.dat FILE "gui/themes/translations.dat"
#endif
#ifdef USE_SDL_NET
wwwroot.zip FILE "dists/networking/wwwroot.zip"
#endif
#ifdef USE_FREETYPE2
fonts.dat FILE "dists/engine-data/fonts.dat"
fonts-cjk.dat FILE "dists/engine-data/fonts-cjk.dat"
#endif
#if PLUGIN_ENABLED_STATIC(ACCESS)
access.dat FILE "dists/engine-data/access.dat"
#endif
#if PLUGIN_ENABLED_STATIC(CRYO)
cryo.dat FILE "dists/engine-data/cryo.dat"
#endif
#if PLUGIN_ENABLED_STATIC(CRYOMNI3D)
cryomni3d.dat FILE "dists/engine-data/cryomni3d.dat"
#endif
#if PLUGIN_ENABLED_STATIC(DRASCULA)
drascula.dat FILE "dists/engine-data/drascula.dat"
#endif
#if PLUGIN_ENABLED_STATIC(HADESCH)
hadesch_translations.dat FILE "dists/engine-data/hadesch_translations.dat"
#endif
#if PLUGIN_ENABLED_STATIC(HUGO)
hugo.dat FILE "dists/engine-data/hugo.dat"
#endif
#if PLUGIN_ENABLED_STATIC(KYRA)
kyra.dat FILE "dists/engine-data/kyra.dat"
#endif
#if PLUGIN_ENABLED_STATIC(LURE)
lure.dat FILE "dists/engine-data/lure.dat"
#endif
#if PLUGIN_ENABLED_STATIC(MACVENTURE)
macventure.dat FILE "dists/engine-data/macventure.dat"
#endif
#if PLUGIN_ENABLED_STATIC(MORTEVIELLE)
mort.dat FILE "dists/engine-data/mort.dat"
#endif
#if PLUGIN_ENABLED_STATIC(NANCY)
nancy.dat FILE "dists/engine-data/nancy.dat"
#endif
#if PLUGIN_ENABLED_STATIC(NEVERHOOD)
neverhood.dat FILE "dists/engine-data/neverhood.dat"
#endif
#if PLUGIN_ENABLED_STATIC(PRINCE)
prince_translation.dat FILE "dists/engine-data/prince_translation.dat"
#endif
#if PLUGIN_ENABLED_STATIC(QUEEN)
queen.tbl FILE "dists/engine-data/queen.tbl"
#endif
#if PLUGIN_ENABLED_STATIC(SKY)
sky.cpt FILE "dists/engine-data/sky.cpt"
#endif
#if PLUGIN_ENABLED_STATIC(SUPERNOVA)
supernova.dat FILE "dists/engine-data/supernova.dat"
#endif
#if PLUGIN_ENABLED_STATIC(TEENAGENT)
teenagent.dat FILE "dists/engine-data/teenagent.dat"
#endif
#if PLUGIN_ENABLED_STATIC(TITANIC)
titanic.dat FILE "dists/engine-data/titanic.dat"
#endif
#if PLUGIN_ENABLED_STATIC(TONY)
tony.dat FILE "dists/engine-data/tony.dat"
#endif
#if PLUGIN_ENABLED_STATIC(TOON)
toon.dat FILE "dists/engine-data/toon.dat"
#endif
#if PLUGIN_ENABLED_STATIC(ULTIMA)
ultima.dat FILE "dists/engine-data/ultima.dat"
ultima8.dat FILE "dists/engine-data/ultima8.dat"
#endif
#if PLUGIN_ENABLED_STATIC(WINTERMUTE)
wintermute.zip FILE "dists/engine-data/wintermute.zip"
#endif
#if PLUGIN_ENABLED_STATIC(MM)
mm.dat FILE "dists/engine-data/mm.dat"
#endif
#if PLUGIN_ENABLED_STATIC(AGI)
pred.dic FILE "dists/pred.dic"
#endif
#if defined(USE_OPENGL_SHADERS)
#if PLUGIN_ENABLED_STATIC(GRIM)
shaders/grim_dim.fragment FILE "engines/grim/shaders/grim_dim.fragment"