diff options
author | vanilla <vanilla@FreeBSD.org> | 2015-01-27 11:45:23 +0800 |
---|---|---|
committer | vanilla <vanilla@FreeBSD.org> | 2015-01-27 11:45:23 +0800 |
commit | dde7a1873143d8f4c981156f463ff29e23664975 (patch) | |
tree | 169bacba1211db9693e8478be142a2a0bca26954 | |
parent | b62f2030d1fee0172f11100a589bd75e9237213f (diff) | |
download | freebsd-ports-gnome-dde7a1873143d8f4c981156f463ff29e23664975.tar.gz freebsd-ports-gnome-dde7a1873143d8f4c981156f463ff29e23664975.tar.zst freebsd-ports-gnome-dde7a1873143d8f4c981156f463ff29e23664975.zip |
Add godot 1.0, game engine and development environment.
PR: ports/197114
Submitted by: Shane Ambler <FreeBSD@Shaneware.biz>
-rw-r--r-- | devel/Makefile | 1 | ||||
-rw-r--r-- | devel/godot/Makefile | 83 | ||||
-rw-r--r-- | devel/godot/distinfo | 2 | ||||
-rw-r--r-- | devel/godot/files/patch-SConstruct | 38 | ||||
-rw-r--r-- | devel/godot/files/patch-core_variant.h | 24 | ||||
-rw-r--r-- | devel/godot/files/patch-drivers_unix_ip__unix.cpp | 20 | ||||
-rw-r--r-- | devel/godot/files/patch-drivers_unix_os__unix.cpp | 44 | ||||
-rw-r--r-- | devel/godot/files/patch-platform_x11_detect.py | 42 | ||||
-rw-r--r-- | devel/godot/pkg-descr | 6 | ||||
-rw-r--r-- | devel/godot/pkg-plist | 329 |
10 files changed, 589 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile index 082df3904697..2a7af148d4cb 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -596,6 +596,7 @@ SUBDIR += go-uuid SUBDIR += gob2 SUBDIR += gobject-introspection + SUBDIR += godot SUBDIR += goffice SUBDIR += goffice010 SUBDIR += google-gdata diff --git a/devel/godot/Makefile b/devel/godot/Makefile new file mode 100644 index 000000000000..57aacab8d91a --- /dev/null +++ b/devel/godot/Makefile @@ -0,0 +1,83 @@ +# Created by: Shane Ambler <FreeBSD@Shaneware.biz> +# $FreeBSD$ + +PORTNAME= godot +PORTVERSION= 1.0 +CATEGORIES= devel games + +MAINTAINER= FreeBSD@Shaneware.biz +COMMENT= Game engine and development environment + +LICENSE= MIT + +LIB_DEPENDS= libfreetype.so:${PORTSDIR}/print/freetype2 \ + libasound.so:${PORTSDIR}/audio/alsa-lib + +USE_GITHUB= yes +GH_ACCOUNT= okamstudio +GH_PROJECT= godot +GH_TAGNAME= ${PORTVERSION}-stable +GH_COMMIT= 7eb5d04 + +USES= scons pkgconfig compiler +USE_XORG= x11 xcursor +USE_GL= glu +USE_OPENSSL= yes +# uses pkg-config to find ssl - pkg-config only finds port version +WITH_OPENSSL_PORT= yes + +MAKE_ARGS+= platform=x11 + +OPTIONS_DEFINE= EXAMPLES TOOLS +OPTIONS_DEFAULT= EXAMPLES TOOLS +OPTIONS_SUB= yes + +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 ${COMPILER_TYPE} == clang +.if ${OSVERSION} < 900000 +BROKEN= clang fails to link on 8.x +.endif +LLSUF= .llvm +MAKE_ARGS+= use_llvm=yes +.else # clang +USE_GCC= 4.8+ +.if ${ARCH} == i386 +CXXFLAGS+= -march=i586 +.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 + +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 +.if ${PORT_OPTIONS:MEXAMPLES} + ${MKDIR} ${STAGEDIR}${DATADIR} + (cd ${WRKSRC} && ${COPYTREE_SHARE} demos ${STAGEDIR}${DATADIR}) + ${RM} ${STAGEDIR}${DATADIR}/demos/2d/hexamap/.fscache +.endif + +.include <bsd.port.post.mk> diff --git a/devel/godot/distinfo b/devel/godot/distinfo new file mode 100644 index 000000000000..54f0b4deaf78 --- /dev/null +++ b/devel/godot/distinfo @@ -0,0 +1,2 @@ +SHA256 (godot-1.0.tar.gz) = 7bb636992ffb0c7c9d6b290c9a87b1edb3de3a60fa4dee316ba9f00b2cd5076c +SIZE (godot-1.0.tar.gz) = 25113914 diff --git a/devel/godot/files/patch-SConstruct b/devel/godot/files/patch-SConstruct new file mode 100644 index 000000000000..834311c60f61 --- /dev/null +++ b/devel/godot/files/patch-SConstruct @@ -0,0 +1,38 @@ +--- SConstruct.orig 2014-12-16 05:19:18.000000000 +1030 ++++ SConstruct 2015-01-27 00:22:23.169373963 +1030 +@@ -110,7 +110,8 @@ + opts.Add('builtin_zlib','Use built-in zlib (yes/no)','yes') + opts.Add('openssl','Use OpenSSL (yes/no/builtin)','no') + opts.Add('musepack','Musepack Audio (yes/no)','yes') +-opts.Add("CXX", "Compiler"); ++opts.Add("CC", "C Compiler") ++opts.Add("CXX", "C++ Compiler"); + opts.Add("CCFLAGS", "Custom flags for the C++ compiler"); + opts.Add("CFLAGS", "Custom flags for the C compiler"); + opts.Add("LINKFLAGS", "Custom flags for the linker"); +@@ -172,15 +173,17 @@ + + env.extra_suffix="" + +- CCFLAGS = env.get('CCFLAGS', '') +- env['CCFLAGS'] = '' +- +- env.Append(CCFLAGS=string.split(str(CCFLAGS))) +- +- CFLAGS = env.get('CFLAGS', '') +- env['CFLAGS'] = '' ++ env['CC'] = os.environ['CC'] ++ ++ env['CXX'] = os.environ['CXX'] + +- env.Append(CFLAGS=string.split(str(CFLAGS))) ++ CFLAGS = os.environ['CFLAGS'] ++ env['CFLAGS'] = [] ++ env.Append(CFLAGS=string.split(CFLAGS)) ++ ++ CCFLAGS = os.environ['CXXFLAGS'] ++ env['CCFLAGS'] = [] ++ env.Append(CCFLAGS=string.split(CCFLAGS)) + + LINKFLAGS = env.get('LINKFLAGS', '') + env['LINKFLAGS'] = '' diff --git a/devel/godot/files/patch-core_variant.h b/devel/godot/files/patch-core_variant.h new file mode 100644 index 000000000000..9aa0479b142b --- /dev/null +++ b/devel/godot/files/patch-core_variant.h @@ -0,0 +1,24 @@ +--- core/variant.h.orig 2014-12-15 18:49:18 UTC ++++ core/variant.h +@@ -167,8 +167,9 @@ public: + static String get_type_name(Variant::Type p_type); + static bool can_convert(Type p_type_from,Type p_type_to); + ++#if defined(_MSC_VER) + #pragma runtime_checks( "", off ) +- ++#endif + template<class T> + static Type get_type_for() { + +@@ -177,8 +178,9 @@ public: + Type r = v.get_type(); + return r; + } ++#if defined(_MSC_VER) + #pragma runtime_checks( "", restore ) +- ++#endif + bool is_ref() const; + _FORCE_INLINE_ bool is_num() const { return type==INT || type==REAL; }; + _FORCE_INLINE_ bool is_array() const { return type>=ARRAY; }; diff --git a/devel/godot/files/patch-drivers_unix_ip__unix.cpp b/devel/godot/files/patch-drivers_unix_ip__unix.cpp new file mode 100644 index 000000000000..c1a924dfe7b3 --- /dev/null +++ b/devel/godot/files/patch-drivers_unix_ip__unix.cpp @@ -0,0 +1,20 @@ +--- drivers/unix/ip_unix.cpp.orig 2014-12-15 18:49:18 UTC ++++ drivers/unix/ip_unix.cpp +@@ -50,11 +50,16 @@ + #ifdef ANDROID_ENABLED + #include "platform/android/ifaddrs_android.h" + #else ++ #ifdef __FreeBSD__ ++ #include <sys/types.h> ++ #endif + #include <ifaddrs.h> + #endif + #include <arpa/inet.h> + #include <sys/socket.h> +- ++ #ifdef __FreeBSD__ ++ #include <netinet/in.h> ++ #endif + #endif + + IP_Address IP_Unix::_resolve_hostname(const String& p_hostname) { 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..27ec3b403ef0 --- /dev/null +++ b/devel/godot/files/patch-drivers_unix_os__unix.cpp @@ -0,0 +1,44 @@ +--- drivers/unix/os_unix.cpp.orig 2014-12-15 18:49:18 UTC ++++ drivers/unix/os_unix.cpp +@@ -44,7 +44,9 @@ + #include "stream_peer_tcp_posix.h" + #include "packet_peer_udp_posix.h" + +- ++#ifdef __FreeBSD__ ++#include <sys/param.h> ++#endif + #include <stdarg.h> + #include <sys/time.h> + #include <sys/wait.h> +@@ -305,7 +307,17 @@ 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(); +@@ -415,6 +427,12 @@ String OS_Unix::get_executable_path() co + return OS::get_executable_path(); + } + return b; ++#elif defined(__FreeBSD__) ++ char resolved_path[MAXPATHLEN]; ++ ++ realpath(OS::get_executable_path().utf8().get_data(), resolved_path); ++ ++ return String(resolved_path); + #else + ERR_PRINT("Warning, don't know how to obtain executable path on this OS! Please override this function properly."); + return OS::get_executable_path(); diff --git a/devel/godot/files/patch-platform_x11_detect.py b/devel/godot/files/patch-platform_x11_detect.py new file mode 100644 index 000000000000..06e97469f716 --- /dev/null +++ b/devel/godot/files/patch-platform_x11_detect.py @@ -0,0 +1,42 @@ +--- platform/x11/detect.py.orig 2014-12-16 05:19:18.000000000 +1030 ++++ platform/x11/detect.py 2015-01-23 16:08:21.497280349 +1030 +@@ -72,17 +72,16 @@ + + env.Append(CPPPATH=['#platform/x11']) + if (env["use_llvm"]=="yes"): +- env["CC"]="clang" +- env["CXX"]="clang++" +- env["LD"]="clang++" +- if (env["use_sanitizer"]=="yes"): +- env.Append(CXXFLAGS=['-fsanitize=address','-fno-omit-frame-pointer']) +- env.Append(LINKFLAGS=['-fsanitize=address']) +- env.extra_suffix=".llvms" +- else: +- env.extra_suffix=".llvm" +- +- ++ if 'clang++' not in env['CXX']: ++ env["CC"]="clang" ++ env["CXX"]="clang++" ++ env["LD"]="clang++" ++ env.Append(CPPFLAGS=['-DTYPED_METHOD_BIND']) ++ env.extra_suffix=".llvm" ++ ++ if (env["use_sanitizer"]=="yes"): ++ env.Append(CCFLAGS=['-fsanitize=address','-fno-omit-frame-pointer']) ++ env.Append(LINKFLAGS='-fsanitize=address') + + + #if (env["tools"]=="no"): +@@ -128,11 +127,6 @@ + env.Append(LINKFLAGS=['-m64','-L/usr/lib/i686-linux-gnu']) + + +- if (env["CXX"]=="clang++"): +- env.Append(CPPFLAGS=['-DTYPED_METHOD_BIND']) +- env["CC"]="clang" +- env["LD"]="clang++" +- + import methods + + env.Append( BUILDERS = { 'GLSL120' : env.Builder(action = methods.build_legacygl_headers, suffix = 'glsl.h',src_suffix = '.glsl') } ) diff --git a/devel/godot/pkg-descr b/devel/godot/pkg-descr new file mode 100644 index 000000000000..712e60c5eba2 --- /dev/null +++ b/devel/godot/pkg-descr @@ -0,0 +1,6 @@ +Godot is a multi-platform 2D and 3D game engine. It also provides a feature rich +development environment. + +Easily deploy your game on IOS, android, OSX, Linux, Windows or PS3. + +WWW: http://www.godotengine.org diff --git a/devel/godot/pkg-plist b/devel/godot/pkg-plist new file mode 100644 index 000000000000..7c1722f2f71d --- /dev/null +++ b/devel/godot/pkg-plist @@ -0,0 +1,329 @@ +bin/godot +bin/godot.x11%%BINSUFF%% +%%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.scn +%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/tiles.scn +%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/tileset.res +%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/troll.gd +%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/troll.png +%%EXAMPLES%%%%DATADIR%%/demos/2d/hexamap/troll.scn +%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric/bastiles.res +%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric/dungeon.scn +%%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.scn +%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric/troll.gd +%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric/troll.png +%%EXAMPLES%%%%DATADIR%%/demos/2d/isometric/troll.scn +%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/colworld.gd +%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/colworld.scn +%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/engine.cfg +%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/icon.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.scn +%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_char/princess.png +%%EXAMPLES%%%%DATADIR%%/demos/2d/kinematic_col/colworld.scn +%%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.scn +%%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.xml +%%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.xml +%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/coin.gd +%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/coin.png +%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/coin.xml +%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/enemy.gd +%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/enemy.png +%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/enemy.xml +%%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.xml +%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/music.ogg +%%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.xml +%%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.xml +%%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.xml +%%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.xml +%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/tiles_demo.png +%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/tileset.xml +%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/tileset_edit.xml +%%EXAMPLES%%%%DATADIR%%/demos/2d/platformer/types.cache +%%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.xml +%%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.xml +%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/box.xml +%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/domino.xml +%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/engine.cfg +%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/icon.png +%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/pendulum.xml +%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/platform.xml +%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/rubegoldberg.xml +%%EXAMPLES%%%%DATADIR%%/demos/2d/rubegoldberg/seesaw.xml +%%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.scn +%%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/splash.xml +%%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/tetris/block.png +%%EXAMPLES%%%%DATADIR%%/demos/2d/tetris/engine.cfg +%%EXAMPLES%%%%DATADIR%%/demos/2d/tetris/grid.gd +%%EXAMPLES%%%%DATADIR%%/demos/2d/tetris/grid.xml +%%EXAMPLES%%%%DATADIR%%/demos/2d/tetris/tetris.png +%%EXAMPLES%%%%DATADIR%%/demos/2d/tetris/tetris.xml +%%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/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.xml +%%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.xml +%%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/sat_test.xml +%%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/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/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/joysticks/engine.cfg +%%EXAMPLES%%%%DATADIR%%/demos/misc/joysticks/icon.png +%%EXAMPLES%%%%DATADIR%%/demos/misc/joysticks/joysticks.gd +%%EXAMPLES%%%%DATADIR%%/demos/misc/joysticks/joysticks.scn +%%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/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.xml +%%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/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.xml +%%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/main.scn +%%EXAMPLES%%%%DATADIR%%/demos/viewport/3d_in_2d/player.scn +%%EXAMPLES%%%%DATADIR%%/demos/viewport/3d_in_2d/player.xml +%%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 |