Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Jan 2015 03:45:23 +0000 (UTC)
From:      "Vanilla I. Shu" <vanilla@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r377975 - in head/devel: . godot godot/files
Message-ID:  <201501270345.t0R3jNnT067230@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: vanilla
Date: Tue Jan 27 03:45:23 2015
New Revision: 377975
URL: https://svnweb.freebsd.org/changeset/ports/377975
QAT: https://qat.redports.org/buildarchive/r377975/

Log:
  Add godot 1.0, game engine and development environment.
  
  PR:		ports/197114
  Submitted by:	Shane Ambler <FreeBSD@Shaneware.biz>

Added:
  head/devel/godot/
  head/devel/godot/Makefile   (contents, props changed)
  head/devel/godot/distinfo   (contents, props changed)
  head/devel/godot/files/
  head/devel/godot/files/patch-SConstruct   (contents, props changed)
  head/devel/godot/files/patch-core_variant.h   (contents, props changed)
  head/devel/godot/files/patch-drivers_unix_ip__unix.cpp   (contents, props changed)
  head/devel/godot/files/patch-drivers_unix_os__unix.cpp   (contents, props changed)
  head/devel/godot/files/patch-platform_x11_detect.py   (contents, props changed)
  head/devel/godot/pkg-descr   (contents, props changed)
  head/devel/godot/pkg-plist   (contents, props changed)
Modified:
  head/devel/Makefile

Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile	Tue Jan 27 03:23:08 2015	(r377974)
+++ head/devel/Makefile	Tue Jan 27 03:45:23 2015	(r377975)
@@ -596,6 +596,7 @@
     SUBDIR += go-uuid
     SUBDIR += gob2
     SUBDIR += gobject-introspection
+    SUBDIR += godot
     SUBDIR += goffice
     SUBDIR += goffice010
     SUBDIR += google-gdata

Added: head/devel/godot/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/godot/Makefile	Tue Jan 27 03:45:23 2015	(r377975)
@@ -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>

Added: head/devel/godot/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/godot/distinfo	Tue Jan 27 03:45:23 2015	(r377975)
@@ -0,0 +1,2 @@
+SHA256 (godot-1.0.tar.gz) = 7bb636992ffb0c7c9d6b290c9a87b1edb3de3a60fa4dee316ba9f00b2cd5076c
+SIZE (godot-1.0.tar.gz) = 25113914

Added: head/devel/godot/files/patch-SConstruct
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/godot/files/patch-SConstruct	Tue Jan 27 03:45:23 2015	(r377975)
@@ -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'] = ''

Added: head/devel/godot/files/patch-core_variant.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/godot/files/patch-core_variant.h	Tue Jan 27 03:45:23 2015	(r377975)
@@ -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; };

Added: head/devel/godot/files/patch-drivers_unix_ip__unix.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/godot/files/patch-drivers_unix_ip__unix.cpp	Tue Jan 27 03:45:23 2015	(r377975)
@@ -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) {

Added: head/devel/godot/files/patch-drivers_unix_os__unix.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/godot/files/patch-drivers_unix_os__unix.cpp	Tue Jan 27 03:45:23 2015	(r377975)
@@ -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();

Added: head/devel/godot/files/patch-platform_x11_detect.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/godot/files/patch-platform_x11_detect.py	Tue Jan 27 03:45:23 2015	(r377975)
@@ -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') } )

Added: head/devel/godot/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/godot/pkg-descr	Tue Jan 27 03:45:23 2015	(r377975)
@@ -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

Added: head/devel/godot/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/godot/pkg-plist	Tue Jan 27 03:45:23 2015	(r377975)
@@ -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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201501270345.t0R3jNnT067230>