git: 2565f80c712f - main - games/vvvvvv: update to 2.4
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 28 Jan 2024 23:24:42 UTC
The branch main has been updated by fuz:
URL: https://cgit.FreeBSD.org/ports/commit/?id=2565f80c712ff7ead8b6455c9b6a1c2c90ec4c9d
commit 2565f80c712ff7ead8b6455c9b6a1c2c90ec4c9d
Author: Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2024-01-27 15:54:00 +0000
Commit: Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2024-01-28 23:24:18 +0000
games/vvvvvv: update to 2.4
Changelog: https://vsix.dev/wiki/Version_2.4
---
games/vvvvvv/Makefile | 41 ++--
games/vvvvvv/distinfo | 18 +-
games/vvvvvv/files/patch-CMakeLists.txt | 21 +-
games/vvvvvv/files/patch-src_FileSystemUtils.cpp | 56 +++---
games/vvvvvv/files/patch-src_Music.cpp | 28 +++
games/vvvvvv/files/patch-src_main.cpp | 16 +-
games/vvvvvv/pkg-plist | 237 +++++++++++++++++++++++
7 files changed, 353 insertions(+), 64 deletions(-)
diff --git a/games/vvvvvv/Makefile b/games/vvvvvv/Makefile
index c061c493f10d..dce9b0b72ada 100644
--- a/games/vvvvvv/Makefile
+++ b/games/vvvvvv/Makefile
@@ -1,52 +1,64 @@
PORTNAME= VVVVVV
-DISTVERSION= 2.3.6
-PORTREVISION= 3
+DISTVERSION= 2.4
CATEGORIES= games
.if ${FLAVOR:U} == makeandplay
# The data file may only be distributed if the MAKEANDPLAY define is set.
# See https://github.com/TerryCavanagh/VVVVVV/blob/master/License%20exceptions.md
MASTER_SITES= https://thelettervsixtim.es/makeandplay/data.zip?dummy=/:datafile
DISTFILES= VVVVVV-data-${DISTVERSION}.zip:datafile
-EXTRACT_ONLY= ${GH_ACCOUNT}-${GH_PROJECT}-${DISTVERSION}_GH0.tar.gz
+EXTRACT_ONLY= ${_DISTFILES:NVVVVVV-data-${DISTVERSION}.zip}
.endif
-MAINTAINER= manu@FreeBSD.org
+MAINTAINER= fuz@FreeBSD.org
COMMENT= 2D Platformer game
WWW= https://thelettervsixtim.es/
-LICENSE= VVVVVV BSD3CLAUSE
+LICENSE= VVVVVV APACHE20 BSD3CLAUSE ZLIB
LICENSE_COMB= multi
LICENSE_NAME_VVVVVV= VVVVVV Source Code License v1.0
LICENSE_FILE_VVVVVV= ${WRKSRC}/../LICENSE.md
-LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/../third_party/lodepng/LICENSE.txt
+LICENSE_FILE_APACHE20= ${WRKSRC}/../third_party/SheenBidi/LICENSE
+LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/../third_party/c-hashmap/LICENSE
+# physfs is ZLIB, too
+LICENSE_FILE_ZLIB= ${WRKSRC}/../third_party/lodepng/LICENSE
LICENSE_PERMS_VVVVVV= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept
.if defined(NO_LICENSES_INSTALL)
IGNORE= license requires that the license be shipped
.endif
-BUILD_DEPENDS= utf8cpp>=4.0.3:devel/utf8cpp
-LIB_DEPENDS= libtinyxml2.so:textproc/tinyxml2 \
+BUILD_DEPENDS= ${LOCALBASE}/include/stb/stb_vorbis.c:devel/stb
+LIB_DEPENDS= libFAudio.so:audio/faudio \
+ libtinyxml2.so:textproc/tinyxml2 \
libphysfs.so:devel/physfs
FLAVORS= commercial makeandplay
+FLAVOR?= ${FLAVORS:[1]}
makeandplay_PKGNAMESUFFIX= -makeandplay
USES= sdl cmake localbase:ldflags
USE_GITHUB= yes
GH_ACCOUNT= TerryCavanagh
-GH_PROJECT= ${PORTNAME}
-USE_SDL= sdl2 mixer2
+# physfs is unbundled, but the code still needs extras/physfsrwops.c, which is not
+# compiled into libphysfs.so
+GH_TUPLE= lvandeve:lodepng:18964554bc769255401942e0e6dfd09f2fab2093:lodepng/../third_party/lodepng \
+ Tehreer:SheenBidi:v2.7:SheenBidi/../third_party/SheenBidi \
+ Mashpoe:c-hashmap:dedf70e0a769bc52a17a36da840d96770fc26d12:chashmap/../third_party/c-hashmap \
+ icculus:physfs:bfa7997c671957eb0a340ff1cf3c634e6269904a:physfs/../third_party/physfs
+USE_SDL= sdl2
-CFLAGS+= -DASSETSPATH='\"${DATADIR}/data.zip\"' -I${LOCALBASE}/include/utf8cpp
-CMAKE_OFF= BUNDLE_DEPENDENCIES
+CFLAGS+= -DDATADIR='\"${DATADIR}\"'
+CMAKE_OFF= BUNDLE_DEPENDENCIES GIT_FOUND
.if ${FLAVOR:U} == makeandplay
CMAKE_ON= MAKEANDPLAY
.endif
WRKSRC_SUBDIR= desktop_version
-PLIST_FILES= bin/VVVVVV${PKGNAMESUFFIX} \
- ${"${FLAVOR}"=="makeandplay:?${DATADIR_REL}/data.zip:}
+commercial_PLIST_FILES= bin/VVVVVV
+makeandplay_PLIST_FILES= ${DATADIR_REL}/data.zip \
+ bin/VVVVVV-makeandplay
+PLIST_FILES= ${${FLAVOR}_PLIST_FILES}
+
SUB_FILES= pkg-message
do-install:
@@ -55,5 +67,6 @@ do-install:
${MKDIR} ${STAGEDIR}${DATADIR}
${INSTALL_DATA} ${DISTDIR}/VVVVVV-data-${DISTVERSION}.zip ${STAGEDIR}${DATADIR}/data.zip
.endif
+ (cd ${WRKSRC} && ${COPYTREE_SHARE} "fonts lang" ${STAGEDIR}${DATADIR}/)
.include <bsd.port.mk>
diff --git a/games/vvvvvv/distinfo b/games/vvvvvv/distinfo
index 59b65e4f9314..5acaf727230c 100644
--- a/games/vvvvvv/distinfo
+++ b/games/vvvvvv/distinfo
@@ -1,5 +1,13 @@
-TIMESTAMP = 1673609398
-SHA256 (VVVVVV-data-2.3.6.zip) = c767809594f6472da9f56136e76657e38640d584164a46112250ac6293ecc0ea
-SIZE (VVVVVV-data-2.3.6.zip) = 61405423
-SHA256 (TerryCavanagh-VVVVVV-2.3.6_GH0.tar.gz) = a3366aab9e8462d330044ab1ec63927e9f5c3801c0ed96b24f08c553dcb911e9
-SIZE (TerryCavanagh-VVVVVV-2.3.6_GH0.tar.gz) = 1725842
+TIMESTAMP = 1706370408
+SHA256 (VVVVVV-data-2.4.zip) = c767809594f6472da9f56136e76657e38640d584164a46112250ac6293ecc0ea
+SIZE (VVVVVV-data-2.4.zip) = 61405423
+SHA256 (TerryCavanagh-VVVVVV-2.4_GH0.tar.gz) = ff4443dc9b993f882e5a7aec15ee33ba472a8ccbdcc13bb462f202d4c06df70d
+SIZE (TerryCavanagh-VVVVVV-2.4_GH0.tar.gz) = 4436178
+SHA256 (lvandeve-lodepng-18964554bc769255401942e0e6dfd09f2fab2093_GH0.tar.gz) = 58f4bce09556fc8039be04e4632c228695a9ead4b4e8d292957e3f59b26269a9
+SIZE (lvandeve-lodepng-18964554bc769255401942e0e6dfd09f2fab2093_GH0.tar.gz) = 246337
+SHA256 (Tehreer-SheenBidi-v2.7_GH0.tar.gz) = 620f732141fd62354361f921a67ba932c44d94e73f127379a0c73ad40c7fa6e0
+SIZE (Tehreer-SheenBidi-v2.7_GH0.tar.gz) = 2192472
+SHA256 (Mashpoe-c-hashmap-dedf70e0a769bc52a17a36da840d96770fc26d12_GH0.tar.gz) = 858e0245169de8504e71e59216f255605c3275082b2a216d3d8b1a22f066f835
+SIZE (Mashpoe-c-hashmap-dedf70e0a769bc52a17a36da840d96770fc26d12_GH0.tar.gz) = 8358
+SHA256 (icculus-physfs-bfa7997c671957eb0a340ff1cf3c634e6269904a_GH0.tar.gz) = e3c99716b7920dbb8e068464e71f96b6a3f2b00eb552c33084347414b6b74a6b
+SIZE (icculus-physfs-bfa7997c671957eb0a340ff1cf3c634e6269904a_GH0.tar.gz) = 243130
diff --git a/games/vvvvvv/files/patch-CMakeLists.txt b/games/vvvvvv/files/patch-CMakeLists.txt
index 87e3b1b9cf56..084d599e48ac 100644
--- a/games/vvvvvv/files/patch-CMakeLists.txt
+++ b/games/vvvvvv/files/patch-CMakeLists.txt
@@ -1,20 +1,11 @@
---- CMakeLists.txt.orig 2021-12-22 13:20:25 UTC
+--- CMakeLists.txt.orig 2024-01-27 15:19:24 UTC
+++ CMakeLists.txt
-@@ -181,7 +181,7 @@ if(APPLE)
- endif()
- set(PNG_SRC ../third_party/lodepng/lodepng.c)
+@@ -205,7 +205,7 @@ set(SBIDI_SRC ../third_party/SheenBidi/Source/SheenBid
+ set(CHM_SRC ../third_party/c-hashmap/map.c)
+ set(SBIDI_SRC ../third_party/SheenBidi/Source/SheenBidi.c)
-if(NOT OFFICIAL_BUILD)
+if(FALSE)
- # Add interim commit hash and its date to the build
+ # Add interim commit hash and its date to the build
- # find_package sets GIT_FOUND and GIT_EXECUTABLE
-@@ -296,7 +296,7 @@ if(BUNDLE_DEPENDENCIES)
- else()
- find_package(utf8cpp CONFIG)
-
-- target_link_libraries(VVVVVV physfs tinyxml2 utf8cpp lodepng-static)
-+ target_link_libraries(VVVVVV physfs tinyxml2 lodepng-static)
- endif()
-
- # SDL2 Dependency (Detection pulled from FAudio)
+ # find_package sets GIT_FOUND and GIT_EXECUTABLE
diff --git a/games/vvvvvv/files/patch-src_FileSystemUtils.cpp b/games/vvvvvv/files/patch-src_FileSystemUtils.cpp
index a93f7e9e794d..fb9c9619add1 100644
--- a/games/vvvvvv/files/patch-src_FileSystemUtils.cpp
+++ b/games/vvvvvv/files/patch-src_FileSystemUtils.cpp
@@ -1,29 +1,37 @@
---- src/FileSystemUtils.cpp.orig 2021-12-22 13:20:25 UTC
+--- src/FileSystemUtils.cpp.orig 2024-01-10 16:27:34 UTC
+++ src/FileSystemUtils.cpp
-@@ -1,3 +1,4 @@
+@@ -1,10 +1,12 @@
+ #include "FileSystemUtils.h"
+
+#include <errno.h>
- #include <iostream>
- #include <iterator>
#include <physfs.h>
-@@ -154,6 +155,12 @@ int FILESYSTEM_init(char *argvZero, char* baseDir, cha
- }
+ #include <SDL.h>
+ #include <stdarg.h>
+ #include <stdio.h>
+ #include <tinyxml2.h>
++#include <unistd.h>
+
+ #include "Alloc.h"
+ #include "BinaryBlob.h"
+@@ -315,6 +317,12 @@ int FILESYSTEM_init(char *argvZero, char* baseDir, cha
+ doesFontsDirExist = mount_pre_datazip(NULL, "fonts", "graphics/", fontsDir);
- /* Mount the stock content last */
-+ if (assetsPath && access(assetsPath, R_OK) == -1) {
-+ printf("%s: %s\n", assetsPath, strerror(errno));
-+ printf("Trying %sdata.zip instead.\n", output);
-+ assetsPath = NULL;
-+ }
+ /* Mount the stock content last */
++ if (assetsPath && access(assetsPath, R_OK) == -1) {
++ vlog_info("%s: %s", assetsPath, strerror(errno));
++ vlog_info("Trying %sdata.zip instead.", output);
++ assetsPath = NULL;
++ }
+
- if (assetsPath)
- {
- SDL_strlcpy(output, assetsPath, sizeof(output));
-@@ -161,7 +168,7 @@ int FILESYSTEM_init(char *argvZero, char* baseDir, cha
- else
- {
- SDL_snprintf(output, sizeof(output), "%s%s",
-- basePath,
-+ output,
- "data.zip"
- );
- }
+ if (assetsPath)
+ {
+ SDL_strlcpy(output, assetsPath, sizeof(output));
+@@ -322,7 +330,7 @@ int FILESYSTEM_init(char *argvZero, char* baseDir, cha
+ else
+ {
+ SDL_snprintf(output, sizeof(output), "%s%s",
+- basePath,
++ output,
+ "data.zip"
+ );
+ }
diff --git a/games/vvvvvv/files/patch-src_Music.cpp b/games/vvvvvv/files/patch-src_Music.cpp
new file mode 100644
index 000000000000..6a93e33d3396
--- /dev/null
+++ b/games/vvvvvv/files/patch-src_Music.cpp
@@ -0,0 +1,28 @@
+--- src/Music.cpp.orig 2024-01-10 16:27:34 UTC
++++ src/Music.cpp
+@@ -69,13 +69,24 @@
+ #define fread(dst, size, count, io) SDL_RWread(io, dst, size, count)
+ #define fseek(io, offset, whence) SDL_RWseek(io, offset, whence)
+ #define ftell(io) SDL_RWtell(io)
++#define fgetc(stream) VVVVVV_fgetc(stream)
+
++static int VVVVVV_fgetc(SDL_RWops *stream)
++{
++ size_t n;
++ unsigned char buf;
++
++ n = stream->read(stream, &buf, 1, 1);
++
++ return (n == 1 ? buf : -1);
++}
++
+ #define FAudio_alloca(x) SDL_stack_alloc(uint8_t, x)
+ #define FAudio_dealloca(x) SDL_stack_free(x)
+
+ #define STB_VORBIS_NO_PUSHDATA_API 1
+ #define STB_VORBIS_NO_INTEGER_CONVERSION 1
+-#include <stb_vorbis.h>
++#include <stb/stb_vorbis.c>
+
+ /* End stb_vorbis include */
+
diff --git a/games/vvvvvv/files/patch-src_main.cpp b/games/vvvvvv/files/patch-src_main.cpp
index 437afa0e181f..a5207d569931 100644
--- a/games/vvvvvv/files/patch-src_main.cpp
+++ b/games/vvvvvv/files/patch-src_main.cpp
@@ -1,11 +1,15 @@
---- src/main.cpp.orig 2021-12-28 09:43:31 UTC
+--- src/main.cpp.orig 2024-01-10 16:27:34 UTC
+++ src/main.cpp
-@@ -342,7 +342,7 @@ static void cleanup(void);
+@@ -366,9 +366,9 @@ int main(int argc, char *argv[])
int main(int argc, char *argv[])
{
char* baseDir = NULL;
- char* assetsPath = NULL;
-+ char* assetsPath = (char*)ASSETSPATH;
-
- for (int i = 1; i < argc; ++i)
- {
+- char* langDir = NULL;
+- char* fontsDir = NULL;
++ char* assetsPath = (char *) DATADIR "/data.zip";
++ char* langDir = (char *) DATADIR "/lang";
++ char* fontsDir = (char *) DATADIR "/fonts";
+ bool seed_use_sdl_getticks = false;
+ #ifdef _WIN32
+ bool open_console = false;
diff --git a/games/vvvvvv/pkg-plist b/games/vvvvvv/pkg-plist
new file mode 100644
index 000000000000..d64abd25bacc
--- /dev/null
+++ b/games/vvvvvv/pkg-plist
@@ -0,0 +1,237 @@
+%%DATADIR%%/fonts/README.txt
+%%DATADIR%%/fonts/buttons_10x10.fontmeta
+%%DATADIR%%/fonts/buttons_10x10.png
+%%DATADIR%%/fonts/buttons_12x12.fontmeta
+%%DATADIR%%/fonts/buttons_12x12.png
+%%DATADIR%%/fonts/buttons_8x8.fontmeta
+%%DATADIR%%/fonts/buttons_8x8.png
+%%DATADIR%%/fonts/font.fontmeta
+%%DATADIR%%/fonts/font.png
+%%DATADIR%%/fonts/font_ar.fontmeta
+%%DATADIR%%/fonts/font_ar.png
+%%DATADIR%%/fonts/font_ja.fontmeta
+%%DATADIR%%/fonts/font_ja.png
+%%DATADIR%%/fonts/font_ko.fontmeta
+%%DATADIR%%/fonts/font_ko.png
+%%DATADIR%%/fonts/font_ko_license.txt
+%%DATADIR%%/fonts/font_sc.fontmeta
+%%DATADIR%%/fonts/font_sc.png
+%%DATADIR%%/lang/README-programmers.txt
+%%DATADIR%%/lang/README-translators.txt
+%%DATADIR%%/lang/ar/cutscenes.xml
+%%DATADIR%%/lang/ar/graphics/flipsprites.png
+%%DATADIR%%/lang/ar/graphics/sprites.png
+%%DATADIR%%/lang/ar/graphics/spritesmask.xml
+%%DATADIR%%/lang/ar/meta.xml
+%%DATADIR%%/lang/ar/numbers.xml
+%%DATADIR%%/lang/ar/roomnames.xml
+%%DATADIR%%/lang/ar/roomnames_special.xml
+%%DATADIR%%/lang/ar/strings.xml
+%%DATADIR%%/lang/ar/strings_plural.xml
+%%DATADIR%%/lang/ca/cutscenes.xml
+%%DATADIR%%/lang/ca/graphics/flipsprites.png
+%%DATADIR%%/lang/ca/graphics/sprites.png
+%%DATADIR%%/lang/ca/graphics/spritesmask.xml
+%%DATADIR%%/lang/ca/meta.xml
+%%DATADIR%%/lang/ca/numbers.xml
+%%DATADIR%%/lang/ca/roomnames.xml
+%%DATADIR%%/lang/ca/roomnames_special.xml
+%%DATADIR%%/lang/ca/strings.xml
+%%DATADIR%%/lang/ca/strings_plural.xml
+%%DATADIR%%/lang/cy/cutscenes.xml
+%%DATADIR%%/lang/cy/graphics/flipsprites.png
+%%DATADIR%%/lang/cy/graphics/sprites.png
+%%DATADIR%%/lang/cy/graphics/spritesmask.xml
+%%DATADIR%%/lang/cy/meta.xml
+%%DATADIR%%/lang/cy/numbers.xml
+%%DATADIR%%/lang/cy/roomnames.xml
+%%DATADIR%%/lang/cy/roomnames_special.xml
+%%DATADIR%%/lang/cy/strings.xml
+%%DATADIR%%/lang/cy/strings_plural.xml
+%%DATADIR%%/lang/de/cutscenes.xml
+%%DATADIR%%/lang/de/graphics/flipsprites.png
+%%DATADIR%%/lang/de/graphics/sprites.png
+%%DATADIR%%/lang/de/graphics/spritesmask.xml
+%%DATADIR%%/lang/de/meta.xml
+%%DATADIR%%/lang/de/numbers.xml
+%%DATADIR%%/lang/de/roomnames.xml
+%%DATADIR%%/lang/de/roomnames_special.xml
+%%DATADIR%%/lang/de/strings.xml
+%%DATADIR%%/lang/de/strings_plural.xml
+%%DATADIR%%/lang/en/cutscenes.xml
+%%DATADIR%%/lang/en/meta.xml
+%%DATADIR%%/lang/en/numbers.xml
+%%DATADIR%%/lang/en/roomnames.xml
+%%DATADIR%%/lang/en/roomnames_special.xml
+%%DATADIR%%/lang/en/strings.xml
+%%DATADIR%%/lang/en/strings_plural.xml
+%%DATADIR%%/lang/eo/cutscenes.xml
+%%DATADIR%%/lang/eo/graphics/flipsprites.png
+%%DATADIR%%/lang/eo/graphics/sprites.png
+%%DATADIR%%/lang/eo/graphics/spritesmask.xml
+%%DATADIR%%/lang/eo/meta.xml
+%%DATADIR%%/lang/eo/numbers.xml
+%%DATADIR%%/lang/eo/roomnames.xml
+%%DATADIR%%/lang/eo/roomnames_special.xml
+%%DATADIR%%/lang/eo/strings.xml
+%%DATADIR%%/lang/eo/strings_plural.xml
+%%DATADIR%%/lang/es/cutscenes.xml
+%%DATADIR%%/lang/es/graphics/flipsprites.png
+%%DATADIR%%/lang/es/graphics/sprites.png
+%%DATADIR%%/lang/es/graphics/spritesmask.xml
+%%DATADIR%%/lang/es/meta.xml
+%%DATADIR%%/lang/es/numbers.xml
+%%DATADIR%%/lang/es/roomnames.xml
+%%DATADIR%%/lang/es/roomnames_special.xml
+%%DATADIR%%/lang/es/strings.xml
+%%DATADIR%%/lang/es/strings_plural.xml
+%%DATADIR%%/lang/fr/cutscenes.xml
+%%DATADIR%%/lang/fr/graphics/flipsprites.png
+%%DATADIR%%/lang/fr/graphics/sprites.png
+%%DATADIR%%/lang/fr/graphics/spritesmask.xml
+%%DATADIR%%/lang/fr/meta.xml
+%%DATADIR%%/lang/fr/numbers.xml
+%%DATADIR%%/lang/fr/roomnames.xml
+%%DATADIR%%/lang/fr/roomnames_special.xml
+%%DATADIR%%/lang/fr/strings.xml
+%%DATADIR%%/lang/fr/strings_plural.xml
+%%DATADIR%%/lang/ga/cutscenes.xml
+%%DATADIR%%/lang/ga/graphics/flipsprites.png
+%%DATADIR%%/lang/ga/graphics/sprites.png
+%%DATADIR%%/lang/ga/graphics/spritesmask.xml
+%%DATADIR%%/lang/ga/meta.xml
+%%DATADIR%%/lang/ga/numbers.xml
+%%DATADIR%%/lang/ga/roomnames.xml
+%%DATADIR%%/lang/ga/roomnames_special.xml
+%%DATADIR%%/lang/ga/strings.xml
+%%DATADIR%%/lang/ga/strings_plural.xml
+%%DATADIR%%/lang/it/cutscenes.xml
+%%DATADIR%%/lang/it/graphics/flipsprites.png
+%%DATADIR%%/lang/it/graphics/sprites.png
+%%DATADIR%%/lang/it/graphics/spritesmask.xml
+%%DATADIR%%/lang/it/meta.xml
+%%DATADIR%%/lang/it/numbers.xml
+%%DATADIR%%/lang/it/roomnames.xml
+%%DATADIR%%/lang/it/roomnames_special.xml
+%%DATADIR%%/lang/it/strings.xml
+%%DATADIR%%/lang/it/strings_plural.xml
+%%DATADIR%%/lang/ja/cutscenes.xml
+%%DATADIR%%/lang/ja/graphics/flipsprites.png
+%%DATADIR%%/lang/ja/graphics/sprites.png
+%%DATADIR%%/lang/ja/graphics/spritesmask.xml
+%%DATADIR%%/lang/ja/meta.xml
+%%DATADIR%%/lang/ja/numbers.xml
+%%DATADIR%%/lang/ja/roomnames.xml
+%%DATADIR%%/lang/ja/roomnames_special.xml
+%%DATADIR%%/lang/ja/strings.xml
+%%DATADIR%%/lang/ja/strings_plural.xml
+%%DATADIR%%/lang/ko/cutscenes.xml
+%%DATADIR%%/lang/ko/graphics/flipsprites.png
+%%DATADIR%%/lang/ko/graphics/sprites.png
+%%DATADIR%%/lang/ko/graphics/spritesmask.xml
+%%DATADIR%%/lang/ko/meta.xml
+%%DATADIR%%/lang/ko/numbers.xml
+%%DATADIR%%/lang/ko/roomnames.xml
+%%DATADIR%%/lang/ko/roomnames_special.xml
+%%DATADIR%%/lang/ko/strings.xml
+%%DATADIR%%/lang/ko/strings_plural.xml
+%%DATADIR%%/lang/nl/cutscenes.xml
+%%DATADIR%%/lang/nl/graphics/flipsprites.png
+%%DATADIR%%/lang/nl/graphics/sprites.png
+%%DATADIR%%/lang/nl/graphics/spritesmask.xml
+%%DATADIR%%/lang/nl/meta.xml
+%%DATADIR%%/lang/nl/numbers.xml
+%%DATADIR%%/lang/nl/roomnames.xml
+%%DATADIR%%/lang/nl/roomnames_special.xml
+%%DATADIR%%/lang/nl/strings.xml
+%%DATADIR%%/lang/nl/strings_plural.xml
+%%DATADIR%%/lang/pl/cutscenes.xml
+%%DATADIR%%/lang/pl/graphics/flipsprites.png
+%%DATADIR%%/lang/pl/graphics/sprites.png
+%%DATADIR%%/lang/pl/graphics/spritesmask.xml
+%%DATADIR%%/lang/pl/meta.xml
+%%DATADIR%%/lang/pl/numbers.xml
+%%DATADIR%%/lang/pl/roomnames.xml
+%%DATADIR%%/lang/pl/roomnames_special.xml
+%%DATADIR%%/lang/pl/strings.xml
+%%DATADIR%%/lang/pl/strings_plural.xml
+%%DATADIR%%/lang/pt_BR/cutscenes.xml
+%%DATADIR%%/lang/pt_BR/graphics/flipsprites.png
+%%DATADIR%%/lang/pt_BR/graphics/sprites.png
+%%DATADIR%%/lang/pt_BR/graphics/spritesmask.xml
+%%DATADIR%%/lang/pt_BR/meta.xml
+%%DATADIR%%/lang/pt_BR/numbers.xml
+%%DATADIR%%/lang/pt_BR/roomnames.xml
+%%DATADIR%%/lang/pt_BR/roomnames_special.xml
+%%DATADIR%%/lang/pt_BR/strings.xml
+%%DATADIR%%/lang/pt_BR/strings_plural.xml
+%%DATADIR%%/lang/pt_PT/cutscenes.xml
+%%DATADIR%%/lang/pt_PT/graphics/flipsprites.png
+%%DATADIR%%/lang/pt_PT/graphics/sprites.png
+%%DATADIR%%/lang/pt_PT/graphics/spritesmask.xml
+%%DATADIR%%/lang/pt_PT/meta.xml
+%%DATADIR%%/lang/pt_PT/numbers.xml
+%%DATADIR%%/lang/pt_PT/roomnames.xml
+%%DATADIR%%/lang/pt_PT/roomnames_special.xml
+%%DATADIR%%/lang/pt_PT/strings.xml
+%%DATADIR%%/lang/pt_PT/strings_plural.xml
+%%DATADIR%%/lang/ru/cutscenes.xml
+%%DATADIR%%/lang/ru/graphics/flipsprites.png
+%%DATADIR%%/lang/ru/graphics/sprites.png
+%%DATADIR%%/lang/ru/graphics/spritesmask.xml
+%%DATADIR%%/lang/ru/meta.xml
+%%DATADIR%%/lang/ru/numbers.xml
+%%DATADIR%%/lang/ru/roomnames.xml
+%%DATADIR%%/lang/ru/roomnames_special.xml
+%%DATADIR%%/lang/ru/strings.xml
+%%DATADIR%%/lang/ru/strings_plural.xml
+%%DATADIR%%/lang/szl/cutscenes.xml
+%%DATADIR%%/lang/szl/graphics/flipsprites.png
+%%DATADIR%%/lang/szl/graphics/sprites.png
+%%DATADIR%%/lang/szl/graphics/spritesmask.xml
+%%DATADIR%%/lang/szl/meta.xml
+%%DATADIR%%/lang/szl/numbers.xml
+%%DATADIR%%/lang/szl/roomnames.xml
+%%DATADIR%%/lang/szl/roomnames_special.xml
+%%DATADIR%%/lang/szl/strings.xml
+%%DATADIR%%/lang/szl/strings_plural.xml
+%%DATADIR%%/lang/tr/cutscenes.xml
+%%DATADIR%%/lang/tr/graphics/flipsprites.png
+%%DATADIR%%/lang/tr/graphics/sprites.png
+%%DATADIR%%/lang/tr/graphics/spritesmask.xml
+%%DATADIR%%/lang/tr/meta.xml
+%%DATADIR%%/lang/tr/numbers.xml
+%%DATADIR%%/lang/tr/roomnames.xml
+%%DATADIR%%/lang/tr/roomnames_special.xml
+%%DATADIR%%/lang/tr/strings.xml
+%%DATADIR%%/lang/tr/strings_plural.xml
+%%DATADIR%%/lang/uk/cutscenes.xml
+%%DATADIR%%/lang/uk/graphics/flipsprites.png
+%%DATADIR%%/lang/uk/graphics/sprites.png
+%%DATADIR%%/lang/uk/graphics/spritesmask.xml
+%%DATADIR%%/lang/uk/meta.xml
+%%DATADIR%%/lang/uk/numbers.xml
+%%DATADIR%%/lang/uk/roomnames.xml
+%%DATADIR%%/lang/uk/roomnames_special.xml
+%%DATADIR%%/lang/uk/strings.xml
+%%DATADIR%%/lang/uk/strings_plural.xml
+%%DATADIR%%/lang/zh/cutscenes.xml
+%%DATADIR%%/lang/zh/graphics/flipsprites.png
+%%DATADIR%%/lang/zh/graphics/sprites.png
+%%DATADIR%%/lang/zh/graphics/spritesmask.xml
+%%DATADIR%%/lang/zh/meta.xml
+%%DATADIR%%/lang/zh/numbers.xml
+%%DATADIR%%/lang/zh/roomnames.xml
+%%DATADIR%%/lang/zh/roomnames_special.xml
+%%DATADIR%%/lang/zh/strings.xml
+%%DATADIR%%/lang/zh/strings_plural.xml
+%%DATADIR%%/lang/zh_TW/cutscenes.xml
+%%DATADIR%%/lang/zh_TW/graphics/flipsprites.png
+%%DATADIR%%/lang/zh_TW/graphics/sprites.png
+%%DATADIR%%/lang/zh_TW/graphics/spritesmask.xml
+%%DATADIR%%/lang/zh_TW/meta.xml
+%%DATADIR%%/lang/zh_TW/numbers.xml
+%%DATADIR%%/lang/zh_TW/roomnames.xml
+%%DATADIR%%/lang/zh_TW/roomnames_special.xml
+%%DATADIR%%/lang/zh_TW/strings.xml
+%%DATADIR%%/lang/zh_TW/strings_plural.xml