summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpi <pi@FreeBSD.org>2016-08-24 19:21:11 +0000
committerpi <pi@FreeBSD.org>2016-08-24 19:21:11 +0000
commit1135e4fd7cd8cce9a6b9d847d32dfef4e1ad39b4 (patch)
treec6d2a1b41e9b67032a0943e07d762feaaa6bc35b
parente8dbb4059606d2b01b2e99d2419a6d1585ac989f (diff)
downloadFreeBSD-ports-1135e4fd7cd8cce9a6b9d847d32dfef4e1ad39b4.zip
FreeBSD-ports-1135e4fd7cd8cce9a6b9d847d32dfef4e1ad39b4.tar.gz
devel/godot: Update to 2.1 and add minimal devel/godot-tools slave port
- Update to 2.1 release - Add LICENSE_FILE for MIT license - Add CCBYv3 license for logo - Add devel/xdg-user-dirs, devel/xdg-utils and x11/xmessage to RUN_DEPENDS - Add xrandr to USE_XORG - Replace USE_OPENSSL=yes with USES+=ssl - Add gl to USE_GL - Remove GLU dependency - glu.h was included from imported glew.h but GLU components are not used - Add DEBUG option and clarify build targets - Replace TOOLS option with devel/godot-tools port, while devel/godot port used as runtime - Allow to build ALSA and PulseAudio drivers independently - Allow to build RtAudio driver with OSS or ALSA or PulseAudio - Set OSS option by default - Add desktop entry for godot-tools - Add sed patch to fix executable paths inside of ${WRKSRC}/platform/x11/os_x11.cpp file - Remove mkdir, because of COPYTREE_SHARE usage, which recreates destination directories - Remove RM command for demos/2d/hexamap/.fscache file, because the file is not available for current version - Add patch to enable OSS usage for RtAudio driver on FreeBSD - Add patch to fix issue(s) with OS_Unix::execute and OS_Unix::get_executable_path functions on FreeBSD - Add patch to fix layout of --help text - Remove pkg-plist and use dynamic package list with PORTDATA and PLIST_FILES - Use current head commit of 2.1 branch from new github repo godotengine/godot-demo-projects to install examples (this was previously part of godot repo) PR: 209742 Submitted by: lightside@gmx.com Approved by: FreeBSD@Shaneware.biz
-rw-r--r--devel/Makefile1
-rw-r--r--devel/godot-tools/Makefile13
-rw-r--r--devel/godot/Makefile120
-rw-r--r--devel/godot/distinfo8
-rw-r--r--devel/godot/files/patch-SConstruct4
-rw-r--r--devel/godot/files/patch-drivers_rtaudio_RtAudio.cpp89
-rw-r--r--devel/godot/files/patch-drivers_rtaudio_RtAudio.h16
-rw-r--r--devel/godot/files/patch-drivers_rtaudio_audio__driver__rtaudio.cpp18
-rw-r--r--devel/godot/files/patch-drivers_unix_os__unix.cpp50
-rw-r--r--devel/godot/files/patch-main_main.cpp11
-rw-r--r--devel/godot/files/patch-platform_x11_detect.py48
-rw-r--r--devel/godot/pkg-plist720
12 files changed, 319 insertions, 779 deletions
diff --git a/devel/Makefile b/devel/Makefile
index f0e8b0a..2490d63 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -753,6 +753,7 @@
SUBDIR += gobject-introspection
SUBDIR += godep
SUBDIR += godot
+ SUBDIR += godot-tools
SUBDIR += goffice
SUBDIR += goffice010
SUBDIR += google-gdata
diff --git a/devel/godot-tools/Makefile b/devel/godot-tools/Makefile
new file mode 100644
index 0000000..509724b
--- /dev/null
+++ b/devel/godot-tools/Makefile
@@ -0,0 +1,13 @@
+# Created by: Shane Ambler <FreeBSD@Shaneware.biz>
+# $FreeBSD$
+
+PKGNAMESUFFIX= -tools
+
+COMMENT= Game integrated development environment
+
+OPTIONS_EXCLUDE= #
+OPTIONS_SLAVE= TOOLS
+
+MASTERDIR= ${.CURDIR}/../godot
+
+.include "${MASTERDIR}/Makefile"
diff --git a/devel/godot/Makefile b/devel/godot/Makefile
index c959348..eb4dc55 100644
--- a/devel/godot/Makefile
+++ b/devel/godot/Makefile
@@ -2,76 +2,94 @@
# $FreeBSD$
PORTNAME= godot
-PORTVERSION= 2.0.3
+PORTVERSION= 2.1
DISTVERSIONSUFFIX= -stable
CATEGORIES= devel games
MAINTAINER= FreeBSD@Shaneware.biz
-COMMENT= Game engine and development environment
+COMMENT?= Game runtime engine
-LICENSE= MIT
+LICENSE= MIT CCBYv3
+LICENSE_COMB= multi
+LICENSE_NAME_CCBYv3= Creative Commons Attribution 3.0 Unported license
+LICENSE_FILE_CCBYv3= ${WRKSRC}/LOGO_LICENSE.md
+LICENSE_FILE_MIT= ${WRKSRC}/LICENSE.md
+LICENSE_PERMS_CCBYv3= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
-LIB_DEPENDS= libfreetype.so:print/freetype2 \
- libasound.so:audio/alsa-lib
+LIB_DEPENDS= libfreetype.so:print/freetype2
+RUN_DEPENDS= xdg-user-dir:devel/xdg-user-dirs \
+ xdg-open:devel/xdg-utils \
+ xmessage:x11/xmessage
USE_GITHUB= yes
GH_ACCOUNT= godotengine
-USES= scons pkgconfig compiler
-USE_XORG= x11 xcursor xinerama
-USE_GL= glu
-USE_OPENSSL= yes
+USES= compiler:c++11-lib pkgconfig scons ssl
+USE_XORG= x11 xcursor xinerama xrandr
+USE_GL= gl
MAKE_ARGS+= platform=x11
-CXXFLAGS+= -DRTAUDIO_ENABLED
+MAKE_ARGS+= ${MAKE_ARGS_${CHOSEN_COMPILER_TYPE}}
+MAKE_ARGS_clang= use_llvm=yes
+CXXFLAGS+= -DGLEW_NO_GLU -DRTAUDIO_ENABLED
+CXXFLAGS_i386= ${CXXFLAGS_i386_${CHOSEN_COMPILER_TYPE}}
+CXXFLAGS_i386_gcc= -march=i586
OPTIONS_DEFINE= EXAMPLES TOOLS
-OPTIONS_DEFAULT= TOOLS
-OPTIONS_SUB= yes
-
+OPTIONS_DEFAULT= OSS
+# Moved to devel/godot-tools
+OPTIONS_EXCLUDE?= EXAMPLES TOOLS
+OPTIONS_GROUP= AUDIO
+OPTIONS_GROUP_AUDIO= ALSA OSS PULSEAUDIO
+
+EXAMPLES_GH_PROJECT= godot-demo-projects:DEMOS
+# Branch HEAD for PORTVERSION
+EXAMPLES_GH_TAGNAME= dfa1274:DEMOS
+EXAMPLES_PORTEXAMPLES= *
TOOLS_DESC= Include development tools (IDE)
-TOOLS_MAKE_ARGS_ON= tools=yes
-TOOLS_MAKE_ARGS_OFF= tools=no target=release
-
-.include <bsd.port.pre.mk>
-
-.if ${ARCH}==amd64 || ${ARCH}==powerpc64 || ${ARCH}==sparc64 || ${ARCH}==ia64
-BITSUF= .64
-.else
-BITSUF= .32
-.endif
-
-.if ${CHOSEN_COMPILER_TYPE} == clang
-LLSUF= .llvm
-MAKE_ARGS+= use_llvm=yes
-.else # clang
-USE_GCC= yes
-.if ${ARCH} == i386
-CXXFLAGS+= -march=i586
+TOOLS_MAKE_ARGS= target=release_debug tools=yes
+TOOLS_MAKE_ARGS_OFF= target=release tools=no
+TOOLS_DESKTOP_ENTRIES= "Godot" "${COMMENT}" "${GODOTFILE}" \
+ "${GODOTFILE}" "Development;IDE;" ""
+TOOLS_PLIST_FILES= share/pixmaps/${GODOTFILE}.png \
+ share/pixmaps/${GODOTFILE}.svg
+
+AUDIO_DESC= Audio support
+ALSA_LIB_DEPENDS= libasound.so:audio/alsa-lib
+ALSA_MAKE_ARGS= alsa=yes
+OSS_MAKE_ARGS= oss=yes
+PULSEAUDIO_LIB_DEPENDS= libpulse-simple.so:audio/pulseaudio
+PULSEAUDIO_MAKE_ARGS= pulseaudio=yes
+
+GODOTFILE= ${PORTNAME}${PKGNAMESUFFIX}
+PLIST_FILES= bin/${GODOTFILE}
+
+.ifmake makesum
+# Always include optional distfiles
+.MAKEFLAGS: WITH="${OPTIONS_DEFINE}" OPTIONS_EXCLUDE=
.endif
-.endif # clang
-
-.if ${PORT_OPTIONS:MTOOLS}
-TOOLSUF= .tools
-.else
-TOOLSUF= .opt
-.endif
-
-BINSUFFIX= ${TOOLSUF}${BITSUF}${LLSUF}
-PLIST_SUB+= BINSUFF=${BINSUFFIX}
post-patch:
- @${REINPLACE_CMD} -e 's|custom_build|${OPSYS}_Ports_build|' ${WRKSRC}/methods.py
-
+ @${REINPLACE_CMD} -e 's|custom_build|${OPSYS}_Ports_build|' \
+ ${WRKSRC}/methods.py
+ @${REINPLACE_CMD} -e 's|/usr/bin|${PREFIX}/bin|' \
+ ${WRKSRC}/platform/x11/os_x11.cpp
+
+# The official godot binary name reflects options used to compile
+# We just want a simple name matching the portname
+# This gives us bin/godot for runtime and bin/godot-tools for the IDE
do-install:
- @cd ${WRKSRC}/bin && ${INSTALL_PROGRAM} godot.x11${BINSUFFIX} \
- ${STAGEDIR}/${PREFIX}/bin/godot.x11${BINSUFFIX}
- @${LN} ${STAGEDIR}/${PREFIX}/bin/godot.x11${BINSUFFIX} \
- ${STAGEDIR}/${PREFIX}/bin/godot
+ @cd ${WRKSRC}/bin && ${INSTALL_PROGRAM} godot.x11* \
+ ${STAGEDIR}/${PREFIX}/bin/${GODOTFILE}
do-install-EXAMPLES-on:
- ${MKDIR} ${STAGEDIR}${DATADIR}
- (cd ${WRKSRC} && ${COPYTREE_SHARE} demos ${STAGEDIR}${DATADIR})
- ${RM} ${STAGEDIR}${DATADIR}/demos/2d/hexamap/.fscache
+ (cd ${WRKSRC_DEMOS} && ${COPYTREE_SHARE} "${PORTEXAMPLES}" \
+ ${STAGEDIR}${EXAMPLESDIR})
+
+do-install-TOOLS-on:
+ ${INSTALL_DATA} ${WRKSRC}/icon.png \
+ ${STAGEDIR}${PREFIX}/share/pixmaps/${GODOTFILE}.png
+ ${INSTALL_DATA} ${WRKSRC}/icon.svg \
+ ${STAGEDIR}${PREFIX}/share/pixmaps/${GODOTFILE}.svg
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/devel/godot/distinfo b/devel/godot/distinfo
index 9183668..7034785 100644
--- a/devel/godot/distinfo
+++ b/devel/godot/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1463653508
-SHA256 (godotengine-godot-2.0.3-stable_GH0.tar.gz) = 8112742141fc5b3467e19206c677aa81738eded0681280d7c3817520afedc383
-SIZE (godotengine-godot-2.0.3-stable_GH0.tar.gz) = 32804039
+TIMESTAMP = 1470729135
+SHA256 (godotengine-godot-2.1-stable_GH0.tar.gz) = 0d2a6f5a3689a818cb4859e7655e64a4d603940fae1bdf16a18b980c22b0b6fe
+SIZE (godotengine-godot-2.1-stable_GH0.tar.gz) = 17917448
+SHA256 (godotengine-godot-demo-projects-dfa1274_GH0.tar.gz) = 42420f7f473b1391a13f226473d1cc850605f24d2865220e4c5acde05f1c340c
+SIZE (godotengine-godot-demo-projects-dfa1274_GH0.tar.gz) = 18423807
diff --git a/devel/godot/files/patch-SConstruct b/devel/godot/files/patch-SConstruct
index de10c67..545e841 100644
--- a/devel/godot/files/patch-SConstruct
+++ b/devel/godot/files/patch-SConstruct
@@ -1,6 +1,6 @@
---- SConstruct.orig 2016-02-29 11:52:09 UTC
+--- SConstruct.orig 2016-08-09 07:52:15 UTC
+++ SConstruct
-@@ -223,15 +223,17 @@ if selected_platform in platform_list:
+@@ -231,15 +231,17 @@ if selected_platform in platform_list:
if env["extra_suffix"] != '' :
env.extra_suffix += '.'+env["extra_suffix"]
diff --git a/devel/godot/files/patch-drivers_rtaudio_RtAudio.cpp b/devel/godot/files/patch-drivers_rtaudio_RtAudio.cpp
new file mode 100644
index 0000000..c211e2e
--- /dev/null
+++ b/devel/godot/files/patch-drivers_rtaudio_RtAudio.cpp
@@ -0,0 +1,89 @@
+--- drivers/rtaudio/RtAudio.cpp.orig 2016-08-09 07:52:15 UTC
++++ drivers/rtaudio/RtAudio.cpp
+@@ -8589,6 +8589,12 @@ bool RtApiPulse::probeDeviceOpen( unsign
+ #include <errno.h>
+ #include <math.h>
+
++#if defined(__FreeBSD__)
++#define SND_DEVICE "/dev/dsp"
++#else
++#define SND_DEVICE "/dev/mixer"
++#endif
++
+ static void *ossCallbackHandler(void * ptr);
+
+ // A structure to hold various information related to the OSS API
+@@ -8615,9 +8621,11 @@ RtApiOss :: ~RtApiOss()
+
+ unsigned int RtApiOss :: getDeviceCount( void )
+ {
+- int mixerfd = open( "/dev/mixer", O_RDWR, 0 );
++ int mixerfd = open( SND_DEVICE, O_RDWR, 0 );
+ if ( mixerfd == -1 ) {
+- errorText_ = "RtApiOss::getDeviceCount: error opening '/dev/mixer'.";
++ errorText_ = "RtApiOss::getDeviceCount: error opening '";
++ errorText_ += SND_DEVICE;
++ errorText_ += "'.";
+ error( RtAudioError::WARNING );
+ return 0;
+ }
+@@ -8639,9 +8647,11 @@ RtAudio::DeviceInfo RtApiOss :: getDevic
+ RtAudio::DeviceInfo info;
+ info.probed = false;
+
+- int mixerfd = open( "/dev/mixer", O_RDWR, 0 );
++ int mixerfd = open( SND_DEVICE, O_RDWR, 0 );
+ if ( mixerfd == -1 ) {
+- errorText_ = "RtApiOss::getDeviceInfo: error opening '/dev/mixer'.";
++ errorText_ = "RtApiOss::getDeviceInfo: error opening '";
++ errorText_ += SND_DEVICE;
++ errorText_ += "'.";
+ error( RtAudioError::WARNING );
+ return info;
+ }
+@@ -8697,8 +8707,10 @@ RtAudio::DeviceInfo RtApiOss :: getDevic
+ info.nativeFormats |= RTAUDIO_SINT8;
+ if ( mask & AFMT_S32_LE || mask & AFMT_S32_BE )
+ info.nativeFormats |= RTAUDIO_SINT32;
++#if defined(AFMT_FLOAT)
+ if ( mask & AFMT_FLOAT )
+ info.nativeFormats |= RTAUDIO_FLOAT32;
++#endif
+ if ( mask & AFMT_S24_LE || mask & AFMT_S24_BE )
+ info.nativeFormats |= RTAUDIO_SINT24;
+
+@@ -8757,9 +8769,11 @@ bool RtApiOss :: probeDeviceOpen( unsign
+ RtAudioFormat format, unsigned int *bufferSize,
+ RtAudio::StreamOptions *options )
+ {
+- int mixerfd = open( "/dev/mixer", O_RDWR, 0 );
++ int mixerfd = open( SND_DEVICE, O_RDWR, 0 );
+ if ( mixerfd == -1 ) {
+- errorText_ = "RtApiOss::probeDeviceOpen: error opening '/dev/mixer'.";
++ errorText_ = "RtApiOss::probeDeviceOpen: error opening '";
++ errorText_ += SND_DEVICE;
++ errorText_ += "'.";
+ return FAILURE;
+ }
+
+@@ -8787,7 +8801,11 @@ bool RtApiOss :: probeDeviceOpen( unsign
+ }
+
+ oss_audioinfo ainfo;
++#if defined(__FreeBSD__)
++ ainfo.dev = -1; // specify -1 to get default device
++#else
+ ainfo.dev = device;
++#endif
+ result = ioctl( mixerfd, SNDCTL_AUDIOINFO, &ainfo );
+ close( mixerfd );
+ if ( result == -1 ) {
+@@ -9025,7 +9043,7 @@ bool RtApiOss :: probeDeviceOpen( unsign
+ }
+
+ // Verify the sample rate setup worked.
+- if ( abs( srate - sampleRate ) > 100 ) {
++ if ( abs( srate - (int)sampleRate ) > 100 ) {
+ close( fd );
+ errorStream_ << "RtApiOss::probeDeviceOpen: device (" << ainfo.name << ") does not support sample rate (" << sampleRate << ").";
+ errorText_ = errorStream_.str();
diff --git a/devel/godot/files/patch-drivers_rtaudio_RtAudio.h b/devel/godot/files/patch-drivers_rtaudio_RtAudio.h
new file mode 100644
index 0000000..5eb1b84
--- /dev/null
+++ b/devel/godot/files/patch-drivers_rtaudio_RtAudio.h
@@ -0,0 +1,16 @@
+--- drivers/rtaudio/RtAudio.h.orig 2016-08-09 07:52:15 UTC
++++ drivers/rtaudio/RtAudio.h
+@@ -5,7 +5,13 @@
+ #if defined(OSX_ENABLED)
+ #define __MACOSX_CORE__
+ #elif defined(UNIX_ENABLED)
++#if defined(OSS_ENABLED)
++ #define __LINUX_OSS__
++#elif defined(ALSA_ENABLED)
+ #define __LINUX_ALSA__
++#elif defined(PULSEAUDIO_ENABLED)
++ #define __LINUX_PULSE__
++#endif
+ #elif defined(WINDOWS_ENABLED)
+ #if defined(WINRT_ENABLED)
+ #define __RTAUDIO_DUMMY__
diff --git a/devel/godot/files/patch-drivers_rtaudio_audio__driver__rtaudio.cpp b/devel/godot/files/patch-drivers_rtaudio_audio__driver__rtaudio.cpp
new file mode 100644
index 0000000..39fbefd
--- /dev/null
+++ b/devel/godot/files/patch-drivers_rtaudio_audio__driver__rtaudio.cpp
@@ -0,0 +1,18 @@
+--- drivers/rtaudio/audio_driver_rtaudio.cpp.orig 2016-08-09 07:52:15 UTC
++++ drivers/rtaudio/audio_driver_rtaudio.cpp
+@@ -35,8 +35,14 @@ const char* AudioDriverRtAudio::get_name
+
+ #ifdef OSX_ENABLED
+ return "RtAudio-OSX";
+-#elif defined(UNIX_ENABLED)
++#elif defined(UNIX_ENABLED) && (defined(ALSA_ENABLED) || defined(PULSEAUDIO_ENABLED) || defined(OSS_ENABLED))
++#if defined(OSS_ENABLED)
++ return "RtAudio-OSS";
++#elif defined(ALSA_ENABLED)
+ return "RtAudio-ALSA";
++#elif defined(PULSEAUDIO_ENABLED)
++ return "RtAudio-PulseAudio";
++#endif
+ #elif defined(WINDOWS_ENABLED)
+ return "RtAudio-DirectSound";
+ #else
diff --git a/devel/godot/files/patch-drivers_unix_os__unix.cpp b/devel/godot/files/patch-drivers_unix_os__unix.cpp
new file mode 100644
index 0000000..e052b6f
--- /dev/null
+++ b/devel/godot/files/patch-drivers_unix_os__unix.cpp
@@ -0,0 +1,50 @@
+--- drivers/unix/os_unix.cpp.orig 2016-08-09 07:52:15 UTC
++++ drivers/unix/os_unix.cpp
+@@ -50,6 +50,7 @@
+
+ #ifdef __FreeBSD__
+ #include <sys/param.h>
++#include <sys/sysctl.h>
+ #endif
+ #include <stdarg.h>
+ #include <sys/time.h>
+@@ -371,17 +372,7 @@ Error OS_Unix::execute(const String& p_p
+ args.push_back((char*)cs[i].get_data());// shitty C cast
+ args.push_back(0);
+
+-#ifdef __FreeBSD__
+- if(p_path.find("/")) {
+- // exec name contains path so use it
+- execv(p_path.utf8().get_data(),&args[0]);
+- }else{
+- // use program name and search through PATH to find it
+- execvp(getprogname(),&args[0]);
+- }
+-#else
+ execv(p_path.utf8().get_data(),&args[0]);
+-#endif
+ // still alive? something failed..
+ fprintf(stderr,"**ERROR** OS_Unix::execute - Could not create child process while executing: %s\n",p_path.utf8().get_data());
+ abort();
+@@ -503,11 +494,16 @@ String OS_Unix::get_executable_path() co
+ }
+ return b;
+ #elif defined(__FreeBSD__)
+- char resolved_path[MAXPATHLEN];
+-
+- realpath(OS::get_executable_path().utf8().get_data(), resolved_path);
+-
+- return String(resolved_path);
++ int mib[4] = { CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1 };
++ char buf[MAXPATHLEN];
++ size_t len = sizeof(buf);
++ if (sysctl(mib, 4, buf, &len, NULL, 0) != 0) {
++ WARN_PRINT("Couldn't get executable path from sysctl");
++ return OS::get_executable_path();
++ }
++ String b;
++ b.parse_utf8(buf);
++ return b;
+ #elif defined(__APPLE__)
+ char temp_path[1];
+ uint32_t buff_size=1;
diff --git a/devel/godot/files/patch-main_main.cpp b/devel/godot/files/patch-main_main.cpp
new file mode 100644
index 0000000..f181693
--- /dev/null
+++ b/devel/godot/files/patch-main_main.cpp
@@ -0,0 +1,11 @@
+--- main/main.cpp.orig 2016-08-09 07:52:15 UTC
++++ main/main.cpp
+@@ -161,7 +161,7 @@ void Main::print_help(const char* p_bina
+ }
+ OS::get_singleton()->print(")\n");
+ OS::get_singleton()->print("\t-ldpi\t : Force low-dpi mode (OSX Only)");
+-
++ OS::get_singleton()->print("\n");
+ OS::get_singleton()->print("\t-ad DRIVER\t : Audio Driver (");
+ for (int i=0;i<OS::get_singleton()->get_audio_driver_count();i++) {
+
diff --git a/devel/godot/files/patch-platform_x11_detect.py b/devel/godot/files/patch-platform_x11_detect.py
index ccb76da..05dc281 100644
--- a/devel/godot/files/patch-platform_x11_detect.py
+++ b/devel/godot/files/patch-platform_x11_detect.py
@@ -1,4 +1,4 @@
---- platform/x11/detect.py.orig 2016-02-29 16:49:54 UTC
+--- platform/x11/detect.py.orig 2016-08-09 07:52:15 UTC
+++ platform/x11/detect.py
@@ -30,11 +30,6 @@ def can_build():
print("X11 not found.. x11 disabled.")
@@ -12,8 +12,19 @@
x11_error=os.system("pkg-config xcursor --modversion > /dev/null ")
if (x11_error):
print("xcursor not found.. x11 disabled.")
-@@ -133,7 +128,7 @@ def configure(env):
- env.ParseConfig('pkg-config xcursor --cflags --libs')
+@@ -60,7 +55,9 @@ def get_opts():
+ ('use_static_cpp','link stdc++ statically','no'),
+ ('use_sanitizer','Use llvm compiler sanitize address','no'),
+ ('use_leak_sanitizer','Use llvm compiler sanitize memory leaks','no'),
+- ('pulseaudio','Detect & Use pulseaudio','yes'),
++ ('alsa','Detect & Use alsa audio','no'),
++ ('oss','Detect & Use OSS audio','no'),
++ ('pulseaudio','Detect & Use pulseaudio','no'),
+ ('udev','Use udev for gamepad connection callbacks','no'),
+ ('debug_release', 'Add debug symbols to release version','no'),
+ ]
+@@ -141,7 +138,7 @@ def configure(env):
+ env.ParseConfig('pkg-config xrandr --cflags --libs')
if (env["openssl"]=="yes"):
- env.ParseConfig('pkg-config openssl --cflags --libs')
@@ -21,3 +32,34 @@
if (env["freetype"]=="yes"):
+@@ -152,12 +149,13 @@ def configure(env):
+
+ env.Append(CPPFLAGS=['-DOPENGL_ENABLED'])
+
+- if os.system("pkg-config --exists alsa")==0:
+- print("Enabling ALSA")
+- env.Append(CPPFLAGS=["-DALSA_ENABLED"])
+- env.Append(LIBS=['asound'])
+- else:
+- print("ALSA libraries not found, disabling driver")
++ if (env["alsa"]=="yes"):
++ if os.system("pkg-config --exists alsa")==0:
++ print("Enabling ALSA")
++ env.Append(CPPFLAGS=["-DALSA_ENABLED"])
++ env.Append(LIBS=['asound'])
++ else:
++ print("ALSA libraries not found, disabling driver")
+
+ if (platform.system() == "Linux"):
+ env.Append(CPPFLAGS=["-DJOYDEV_ENABLED"])
+@@ -172,6 +170,10 @@ def configure(env):
+ else:
+ print("libudev development libraries not found, disabling udev support")
+
++ if (env["oss"]=="yes"):
++ print("Enabling OSS Audio")
++ env.Append(CPPFLAGS=["-DOSS_ENABLED"])
++
+ if (env["pulseaudio"]=="yes"):
+ if not os.system("pkg-config --exists libpulse-simple"):
+ print("Enabling PulseAudio")
diff --git a/devel/godot/pkg-plist b/devel/godot/pkg-plist
deleted file mode 100644
index dd1784e6..0000000
--- a/devel/godot/pkg-plist
+++ /dev/null
@@ -1,720 +0,0 @@
-bin/godot
-bin/godot.x11%%BINSUFF%%
-%%EXAMPLES%%%%DATADIR%%/demos/2d/area_input/box_area.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/area_input/circle_area.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/area_input/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/area_input/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/area_input/input.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/area_input/input.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/dynamic_collision_shapes/ball.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/dynamic_collision_shapes/ball.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/dynamic_collision_shapes/ball.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/dynamic_collision_shapes/box.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/dynamic_collision_shapes/circle.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/dynamic_collision_shapes/dynamic_colobjs.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/dynamic_collision_shapes/dynamic_colobjs.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/dynamic_collision_shapes/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/dynamic_collision_shapes/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/dynamic_collision_shapes/poly.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/fog_of_war/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/fog_of_war/floor.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/fog_of_war/fog.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/fog_of_war/fog.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/fog_of_war/fog.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/fog_of_war/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/fog_of_war/tileset.tres
-%%EXAMPLES%%%%DATADIR%%/demos/2d/fog_of_war/tileset_edit.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/fog_of_war/troll.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/fog_of_war/troll.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/fog_of_war/troll.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hdr/beach_cave.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hdr/beach_cave.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hdr/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hdr/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hdr/ocean_beach.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hdr/ocean_beach.png.flags
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hdr/ocean_cave.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hdr/ocean_cave.png.flags
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-01.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-02.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-03.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-04.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-05.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-06.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-07.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-08.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-09.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-10.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-11.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-12.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-13.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-14.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-15.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-16.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-17.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-18.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-19.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-20.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-21.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-22.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-23.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-24.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-25.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/WWT-26.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/map.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/tileset.tres
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/tileset_edit.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/troll.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/troll.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/troll.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric/dungeon.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric/isotiles.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric/tileset.tres
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric/tileset_edit.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric/troll.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric/troll.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric/troll.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/character_shader.tres
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/column.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0001.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0002.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0003.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0004.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0005.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0006.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0007.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0008.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0009.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0010.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0011.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0012.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0013.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0014.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0015.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0016.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0017.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0018.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0019.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0020.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0021.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0022.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0023.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0024.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0025.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0026.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0027.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0028.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0029.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0030.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0031.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0032.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0033.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0034.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0035.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0036.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0037.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0038.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0039.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0040.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0041.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0042.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0043.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0044.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0045.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0046.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0047.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0048.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0049.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0050.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0051.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0052.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0053.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0054.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0055.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0056.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0057.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0058.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0059.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/idle0060.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0001.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0002.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0003.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0004.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0005.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0006.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0007.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0008.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0009.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0010.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0011.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0012.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0013.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0014.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0015.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0016.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0017.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0018.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0019.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-b-0020.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0001.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0002.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0003.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0004.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0005.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0006.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0007.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0008.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0009.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0010.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0011.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0012.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0013.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0014.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0015.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0016.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0017.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0018.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0019.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-bl-0020.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0001.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0002.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0003.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0004.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0005.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0006.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0007.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0008.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0009.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0010.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0011.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0012.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0013.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0014.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0015.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0016.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0017.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0018.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0019.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-l-0020.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0001.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0002.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0003.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0004.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0005.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0006.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0007.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0008.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0009.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0010.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0011.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0012.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0013.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0014.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0015.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0016.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0017.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0018.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0019.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-u-0020.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0001.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0002.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0003.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0004.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0005.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0006.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0007.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0008.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0009.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0010.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0011.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0012.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0013.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0014.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0015.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0016.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0017.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0018.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0019.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/cubio/norm-ul-0020.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/energy.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/faceColor.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/faceMask.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/faceNormal.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/fire.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/floor_shader.tres
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/light2.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/map.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/map.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/shadow_blob.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/shoot.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/shoot.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/shoot_halo.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/tileset.tres
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/tileset_edit.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/torch.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/torch_light.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/torch_shader.tres
-%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric_light/wall_shader.tres
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/circle.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/colworld.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/colworld.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/long_obstacle.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/obstacle.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/player.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/player.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/player.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/princess.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_col/colworld.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_col/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_col/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_col/obstacle.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_col/player.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_col/player.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_col/player.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/light_mask/burano.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/light_mask/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/light_mask/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/light_mask/lightmask.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/light_mask/splat.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/lights_shadows/bg.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/lights_shadows/caster.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/lights_shadows/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/lights_shadows/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/lights_shadows/light.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/lights_shadows/light_shadows.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/lights_shadows/spot.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/lookat/arrow.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/lookat/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/lookat/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/lookat/lookat.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/lookat/lookat.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/motion/car.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/motion/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/motion/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/motion/motion.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/motion/motion.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/navpoly/agent.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/navpoly/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/navpoly/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/navpoly/navigation.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/navpoly/navigation.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/navpoly/path.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/normalmaps/diffuse.jpg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/normalmaps/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/normalmaps/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/normalmaps/light.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/normalmaps/normal.jpg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/normalmaps/normal_material.tres
-%%EXAMPLES%%%%DATADIR%%/demos/2d/normalmaps/normalmap.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/particles/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/particles/fire_particle.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/particles/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/particles/mask.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/particles/particles.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/particles/smoke_particle.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/particles/spark_particle2.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/bullet.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/bullet.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/bullet.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/coin.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/coin.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/coin.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/enemy.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/enemy.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/enemy.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/moving_platform.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/moving_platform.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/moving_platform.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/music.ogg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/one_way_platform.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/one_way_platform.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/osb_fire.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/osb_jump.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/osb_left.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/osb_right.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/parallax_bg.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/plank.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/plankpin.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/player.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/player.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/robot_demo.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/scroll_bg_cloud_1.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/scroll_bg_cloud_2.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/scroll_bg_cloud_3.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/scroll_bg_fg_1.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/scroll_bg_fg_2.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/scroll_bg_sky.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/seesaw.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/sound_coin.wav
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/sound_explode.wav
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/sound_hit.wav
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/sound_jump.wav
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/sound_shoot.wav
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/stage.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/tiles_demo.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/tiles_demo.png.flags
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/tileset.tres
-%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/tileset_edit.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/pong/ball.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/pong/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/pong/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/pong/left_pallete.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/pong/pong.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/pong/pong.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/pong/right_pallete.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/pong/separator.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/art/bowling_ball.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/art/box.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/art/domino.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/art/platform.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/art/seesaw_base.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/art/seesaw_top.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/ball.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/box.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/domino.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/pendulum.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/platform.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/rubegoldberg.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/seesaw.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/screen_space_shaders/art/burano.jpg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/screen_space_shaders/art/filmgrain.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/screen_space_shaders/art/filmgrain.png.flags
-%%EXAMPLES%%%%DATADIR%%/demos/2d/screen_space_shaders/art/forest.jpg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/screen_space_shaders/art/mountains.jpg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/screen_space_shaders/art/platformer.jpg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/screen_space_shaders/art/vignette.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/screen_space_shaders/art/white.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/screen_space_shaders/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/screen_space_shaders/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/screen_space_shaders/screen_shaders.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/screen_space_shaders/screen_shaders.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/sdf_font/KaushanScript-Regular.otf
-%%EXAMPLES%%%%DATADIR%%/demos/2d/sdf_font/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/sdf_font/font.fnt
-%%EXAMPLES%%%%DATADIR%%/demos/2d/sdf_font/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/sdf_font/sdf.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/shower_of_bullets/bullet.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/shower_of_bullets/bullets.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/shower_of_bullets/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/shower_of_bullets/face_happy.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/shower_of_bullets/face_sad.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/shower_of_bullets/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/shower_of_bullets/shower.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/shower_of_bullets/shower.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/asteroid.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/asteroid.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/bg_gradient.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/big_star.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/enemy1.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/enemy1.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/enemy1.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/enemy2.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/enemy2.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/enemy2.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/enemy_shot.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/enemy_shot.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/enemy_shot.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/explosion.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/fire.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/game_state.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/level.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/main_menu.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/main_menu.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/meteorite.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/parallax.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/rail.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/ship.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/ship.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/ship.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/shoot.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/shot.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/shot.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/small_star.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/sound_explode.wav
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/sound_shoot.wav
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/tile.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/tileset.tres
-%%EXAMPLES%%%%DATADIR%%/demos/2d/space_shooter/tileset_edit.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/bg.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/bg_layer_1.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/bg_layer_2.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/button.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/button_pressed.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/freesans.fnt
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/splash.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/splash_01.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/splash_02.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/splash_03.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/splash_04.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/splash_05.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/splash_06.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/splash_07.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/splash_08.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/splash/splash_09.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/sprite_shaders/cubio.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/sprite_shaders/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/sprite_shaders/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/sprite_shaders/sprite_shaders.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/tetris/block.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/tetris/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/tetris/grid.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/tetris/grid.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/tetris/tetris.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/tetris/tetris.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/texscreen/OpenCV_Chessboard.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/texscreen/bubble.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/texscreen/bubbles.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/texscreen/bubbles.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/2d/texscreen/burano.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/texscreen/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/2d/texscreen/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/2d/texscreen/lens.gd
-%%EXAMPLES%%%%DATADIR%%/demos/2d/texscreen/lens.tscn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/fixed_materials/brick_color.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/fixed_materials/brick_detail.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/fixed_materials/brick_detail_emission.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/fixed_materials/brick_detail_glow.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/fixed_materials/brick_emission.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/fixed_materials/brick_normal.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/fixed_materials/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/3d/fixed_materials/fixed_materials.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/fixed_materials/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/fixed_materials/refmap.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/fixed_materials/rim.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/fixed_materials/rocky_specular.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/fixed_materials/s.xml
-%%EXAMPLES%%%%DATADIR%%/demos/3d/fixed_materials/tournesol.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/kinematic_char/cubelib.res
-%%EXAMPLES%%%%DATADIR%%/demos/3d/kinematic_char/cubio.gd
-%%EXAMPLES%%%%DATADIR%%/demos/3d/kinematic_char/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/3d/kinematic_char/follow_camera.gd
-%%EXAMPLES%%%%DATADIR%%/demos/3d/kinematic_char/kinebody3d.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/kinematic_char/level.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/kinematic_char/purple_wood.tex
-%%EXAMPLES%%%%DATADIR%%/demos/3d/kinematic_char/purplecube.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/kinematic_char/twood.tex
-%%EXAMPLES%%%%DATADIR%%/demos/3d/kinematic_char/white_wood.tex
-%%EXAMPLES%%%%DATADIR%%/demos/3d/mousepick_test/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/3d/mousepick_test/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/mousepick_test/mousepick.gd
-%%EXAMPLES%%%%DATADIR%%/demos/3d/mousepick_test/mousepick.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/navmesh/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/3d/navmesh/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/navmesh/navmesh.gd
-%%EXAMPLES%%%%DATADIR%%/demos/3d/navmesh/navmesh.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/navmesh/particle.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/bullet.gd
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/bullet.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/coin.gd
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/coin.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/cutout.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/enemy.gd
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/enemy.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/follow_camera.gd
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/osb_down.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/osb_fire.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/osb_jump.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/osb_left.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/osb_right.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/osb_up.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/player.gd
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/player.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/robotrigged.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/sb.cube
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/sb_back.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/sb_bottom.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/sb_front.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/sb_left.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/sb_right.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/sb_top.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/shine.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/sound_coin.wav
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/sound_explode.wav
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/sound_hit.wav
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/sound_jump.wav
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/sound_shoot.wav
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/stage.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/texture.tex
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/tiles.res
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/tiles.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/platformer/tiles.xcf
-%%EXAMPLES%%%%DATADIR%%/demos/3d/sat_test/box.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/sat_test/capsule.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/sat_test/convex.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/sat_test/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/3d/sat_test/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/sat_test/sat_test.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/sat_test/shapes.dae
-%%EXAMPLES%%%%DATADIR%%/demos/3d/sat_test/shapes.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/sat_test/sphere.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/brick_color.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/brick_detail.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/brick_detail_emission.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/brick_detail_glow.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/brick_emission.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/brick_normal.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/refmap.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/rim.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/rocky_specular.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/s.xml
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/sb.cube
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/sb_back.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/sb_bottom.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/sb_front.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/sb_left.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/sb_right.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/sb_top.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/shader_materials.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/shader_materials/tournesol.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/car_base.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/car_select.gd
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/car_select.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/cement.tex
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/choose_tow.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/choose_trailer.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/choose_van.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/crane.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/follow_camera.gd
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/grass.tex
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/trailer_truck.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/truck_scene.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/trucktown.scn
-%%EXAMPLES%%%%DATADIR%%/demos/3d/truck_town/vehicle.gd
-%%EXAMPLES%%%%DATADIR%%/demos/LICENSE.md
-%%EXAMPLES%%%%DATADIR%%/demos/gui/drag_and_drop/drag_and_drop.scn
-%%EXAMPLES%%%%DATADIR%%/demos/gui/drag_and_drop/drag_drop_script.gd
-%%EXAMPLES%%%%DATADIR%%/demos/gui/drag_and_drop/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/gui/drag_and_drop/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/gui/input_mapping/controls.gd
-%%EXAMPLES%%%%DATADIR%%/demos/gui/input_mapping/controls.scn
-%%EXAMPLES%%%%DATADIR%%/demos/gui/input_mapping/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/gui/input_mapping/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/gui/rich_text_bbcode/OFL.txt
-%%EXAMPLES%%%%DATADIR%%/demos/gui/rich_text_bbcode/TitilliumWeb-Bold.ttf
-%%EXAMPLES%%%%DATADIR%%/demos/gui/rich_text_bbcode/TitilliumWeb-BoldItalic.ttf
-%%EXAMPLES%%%%DATADIR%%/demos/gui/rich_text_bbcode/TitilliumWeb-Italic.ttf
-%%EXAMPLES%%%%DATADIR%%/demos/gui/rich_text_bbcode/TitilliumWeb-Regular.ttf
-%%EXAMPLES%%%%DATADIR%%/demos/gui/rich_text_bbcode/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/gui/rich_text_bbcode/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/gui/rich_text_bbcode/rich_text_bbcode.gd
-%%EXAMPLES%%%%DATADIR%%/demos/gui/rich_text_bbcode/rich_text_bbcode.scn
-%%EXAMPLES%%%%DATADIR%%/demos/gui/rich_text_bbcode/titilium-bold.fnt
-%%EXAMPLES%%%%DATADIR%%/demos/gui/rich_text_bbcode/titilium-bolditalic.fnt
-%%EXAMPLES%%%%DATADIR%%/demos/gui/rich_text_bbcode/titilium-italic.fnt
-%%EXAMPLES%%%%DATADIR%%/demos/gui/rich_text_bbcode/titilium-regular.fnt
-%%EXAMPLES%%%%DATADIR%%/demos/gui/rich_text_bbcode/unicorn_icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/gui/translation/controls.gd
-%%EXAMPLES%%%%DATADIR%%/demos/gui/translation/controls.scn
-%%EXAMPLES%%%%DATADIR%%/demos/gui/translation/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/gui/translation/flag_japan.png
-%%EXAMPLES%%%%DATADIR%%/demos/gui/translation/flag_spain.png
-%%EXAMPLES%%%%DATADIR%%/demos/gui/translation/flag_uk.png
-%%EXAMPLES%%%%DATADIR%%/demos/gui/translation/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/gui/translation/main.gd
-%%EXAMPLES%%%%DATADIR%%/demos/gui/translation/main.scn
-%%EXAMPLES%%%%DATADIR%%/demos/gui/translation/noto.fnt
-%%EXAMPLES%%%%DATADIR%%/demos/gui/translation/text.csv
-%%EXAMPLES%%%%DATADIR%%/demos/gui/translation/translations/text.en.xl
-%%EXAMPLES%%%%DATADIR%%/demos/gui/translation/translations/text.es.xl
-%%EXAMPLES%%%%DATADIR%%/demos/gui/translation/translations/text.ja.xl
-%%EXAMPLES%%%%DATADIR%%/demos/misc/autoload/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/misc/autoload/global.gd
-%%EXAMPLES%%%%DATADIR%%/demos/misc/autoload/scene_a.gd
-%%EXAMPLES%%%%DATADIR%%/demos/misc/autoload/scene_a.scn
-%%EXAMPLES%%%%DATADIR%%/demos/misc/autoload/scene_b.gd
-%%EXAMPLES%%%%DATADIR%%/demos/misc/autoload/scene_b.scn
-%%EXAMPLES%%%%DATADIR%%/demos/misc/instancing/ball.scn
-%%EXAMPLES%%%%DATADIR%%/demos/misc/instancing/bowling_ball.png
-%%EXAMPLES%%%%DATADIR%%/demos/misc/instancing/container.png
-%%EXAMPLES%%%%DATADIR%%/demos/misc/instancing/container.scn
-%%EXAMPLES%%%%DATADIR%%/demos/misc/instancing/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/misc/instancing/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/misc/joysticks/diagram.png
-%%EXAMPLES%%%%DATADIR%%/demos/misc/joysticks/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/misc/joysticks/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/misc/joysticks/indicators.png
-%%EXAMPLES%%%%DATADIR%%/demos/misc/joysticks/joysticks.gd
-%%EXAMPLES%%%%DATADIR%%/demos/misc/joysticks/joysticks.scn
-%%EXAMPLES%%%%DATADIR%%/demos/misc/joysticks/jsdiagram.xscn
-%%EXAMPLES%%%%DATADIR%%/demos/misc/pause/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/misc/pause/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/misc/pause/spinpause.gd
-%%EXAMPLES%%%%DATADIR%%/demos/misc/pause/spinpause.scn
-%%EXAMPLES%%%%DATADIR%%/demos/misc/regex/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/misc/regex/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/misc/regex/regex.gd
-%%EXAMPLES%%%%DATADIR%%/demos/misc/regex/regex.scn
-%%EXAMPLES%%%%DATADIR%%/demos/misc/scene_changer/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/misc/scene_changer/scene_a.gd
-%%EXAMPLES%%%%DATADIR%%/demos/misc/scene_changer/scene_a.scn
-%%EXAMPLES%%%%DATADIR%%/demos/misc/scene_changer/scene_b.gd
-%%EXAMPLES%%%%DATADIR%%/demos/misc/scene_changer/scene_b.scn
-%%EXAMPLES%%%%DATADIR%%/demos/misc/threads/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/misc/threads/mona.png
-%%EXAMPLES%%%%DATADIR%%/demos/misc/threads/thread.gd
-%%EXAMPLES%%%%DATADIR%%/demos/misc/threads/thread.scn
-%%EXAMPLES%%%%DATADIR%%/demos/misc/tween/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/misc/tween/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/misc/tween/main.gd
-%%EXAMPLES%%%%DATADIR%%/demos/misc/tween/main.scn
-%%EXAMPLES%%%%DATADIR%%/demos/misc/udp_chat/chat.gd
-%%EXAMPLES%%%%DATADIR%%/demos/misc/udp_chat/chat.scn
-%%EXAMPLES%%%%DATADIR%%/demos/misc/udp_chat/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/misc/udp_chat/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/misc/window_management/control.gd
-%%EXAMPLES%%%%DATADIR%%/demos/misc/window_management/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/misc/window_management/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/misc/window_management/observer/observer.gd
-%%EXAMPLES%%%%DATADIR%%/demos/misc/window_management/observer/observer.scn
-%%EXAMPLES%%%%DATADIR%%/demos/misc/window_management/window_management.scn
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/2d_in_3d/ball.png
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/2d_in_3d/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/2d_in_3d/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/2d_in_3d/left_pallete.png
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/2d_in_3d/pong.gd
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/2d_in_3d/pong.scn
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/2d_in_3d/pong3d.gd
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/2d_in_3d/pong3d.scn
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/2d_in_3d/right_pallete.png
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/2d_in_3d/separator.png
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/3d_in_2d/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/3d_in_2d/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/3d_in_2d/main.scn
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/3d_in_2d/player.scn
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/3d_in_2d/player_2d.scn
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/3d_in_2d/player_3d.scn
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/3d_in_2d/robot_demo.png
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/gui_in_3d/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/gui_in_3d/gui.scn
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/gui_in_3d/gui_3d.gd
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/gui_in_3d/gui_3d.scn
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/gui_in_3d/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/screen_capture/engine.cfg
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/screen_capture/icon.png
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/screen_capture/mountains.png
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/screen_capture/screen_capture.gd
-%%EXAMPLES%%%%DATADIR%%/demos/viewport/screen_capture/screen_capture.scn
OpenPOWER on IntegriCloud