diff options
author | pi <pi@FreeBSD.org> | 2016-08-25 03:21:11 +0800 |
---|---|---|
committer | pi <pi@FreeBSD.org> | 2016-08-25 03:21:11 +0800 |
commit | 1135e4fd7cd8cce9a6b9d847d32dfef4e1ad39b4 (patch) | |
tree | c6d2a1b41e9b67032a0943e07d762feaaa6bc35b /devel | |
parent | e8dbb4059606d2b01b2e99d2419a6d1585ac989f (diff) | |
download | freebsd-ports-gnome-1135e4fd7cd8cce9a6b9d847d32dfef4e1ad39b4.tar.gz freebsd-ports-gnome-1135e4fd7cd8cce9a6b9d847d32dfef4e1ad39b4.tar.zst freebsd-ports-gnome-1135e4fd7cd8cce9a6b9d847d32dfef4e1ad39b4.zip |
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
Diffstat (limited to 'devel')
-rw-r--r-- | devel/Makefile | 1 | ||||
-rw-r--r-- | devel/godot-tools/Makefile | 13 | ||||
-rw-r--r-- | devel/godot/Makefile | 120 | ||||
-rw-r--r-- | devel/godot/distinfo | 8 | ||||
-rw-r--r-- | devel/godot/files/patch-SConstruct | 4 | ||||
-rw-r--r-- | devel/godot/files/patch-drivers_rtaudio_RtAudio.cpp | 89 | ||||
-rw-r--r-- | devel/godot/files/patch-drivers_rtaudio_RtAudio.h | 16 | ||||
-rw-r--r-- | devel/godot/files/patch-drivers_rtaudio_audio__driver__rtaudio.cpp | 18 | ||||
-rw-r--r-- | devel/godot/files/patch-drivers_unix_os__unix.cpp | 50 | ||||
-rw-r--r-- | devel/godot/files/patch-main_main.cpp | 11 | ||||
-rw-r--r-- | devel/godot/files/patch-platform_x11_detect.py | 48 | ||||
-rw-r--r-- | devel/godot/pkg-plist | 720 |
12 files changed, 319 insertions, 779 deletions
diff --git a/devel/Makefile b/devel/Makefile index f0e8b0a14f8f..2490d63567d9 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 000000000000..509724bd384f --- /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 c9593486299c..eb4dc55fe96f 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 9183668c7c7b..70347853f887 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 de10c67a8f61..545e84118aa4 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 000000000000..c211e2ef0489 --- /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 000000000000..5eb1b84d069b --- /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 000000000000..39fbefd0727f --- /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 000000000000..e052b6f903e5 --- /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 000000000000..f18169389e0e --- /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 ccb76da5293c..05dc281728b5 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 dd1784e6b218..000000000000 --- 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 |