From 190c50e6feed0524a41267cbd415a7d8d8b2b677 Mon Sep 17 00:00:00 2001 From: Alex Warren Date: Fri, 30 Jan 2015 18:14:05 +0000 Subject: [PATCH] Include .svg in .quest file Also add publishfileextensions field so this can be controlled by a game author. --- WorldModel/WorldModel/Core/CoreTypes.aslx | 3 ++- WorldModel/WorldModel/Fields.cs | 1 + WorldModel/WorldModel/GameLoader/Packager.cs | 6 +++++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/WorldModel/WorldModel/Core/CoreTypes.aslx b/WorldModel/WorldModel/Core/CoreTypes.aslx index 8ddfa9729..cda67514c 100644 --- a/WorldModel/WorldModel/Core/CoreTypes.aslx +++ b/WorldModel/WorldModel/Core/CoreTypes.aslx @@ -66,7 +66,8 @@ false false false - false + false + *.jpg;*.jpeg;*.png;*.gif;*.js;*.wav;*.mp3;*.htm;*.html;*.svg diff --git a/WorldModel/WorldModel/Fields.cs b/WorldModel/WorldModel/Fields.cs index fe9eee1c7..f13c82ba8 100644 --- a/WorldModel/WorldModel/Fields.cs +++ b/WorldModel/WorldModel/Fields.cs @@ -115,6 +115,7 @@ public static class FieldDefinitions public static IField IsBaseTemplate = new FieldDef("isbasetemplate"); public static IField DisplayVerb = new FieldDef("displayverb"); public static IField Cover = new FieldDef("cover"); + public static IField PublishFileExtensions = new FieldDef("publishfileextensions"); } public static class MetaFieldDefinitions diff --git a/WorldModel/WorldModel/GameLoader/Packager.cs b/WorldModel/WorldModel/GameLoader/Packager.cs index 39dbb9c2a..a301c841a 100644 --- a/WorldModel/WorldModel/GameLoader/Packager.cs +++ b/WorldModel/WorldModel/GameLoader/Packager.cs @@ -27,7 +27,11 @@ public bool CreatePackage(string filename, bool includeWalkthrough, out string e using (ZipFile zip = new ZipFile(filename)) { zip.AddEntry("game.aslx", data, Encoding.UTF8); - foreach (string file in m_worldModel.GetAvailableExternalFiles("*.jpg;*.jpeg;*.png;*.gif;*.js;*.wav;*.mp3;*.htm;*.html")) + + var fileTypesToInclude = m_worldModel.Game.Fields[FieldDefinitions.PublishFileExtensions] ?? + "*.jpg;*.jpeg;*.png;*.gif;*.js;*.wav;*.mp3;*.htm;*.html;*.svg"; + + foreach (string file in m_worldModel.GetAvailableExternalFiles(fileTypesToInclude)) { zip.AddFile(System.IO.Path.Combine(baseFolder, file), ""); }