Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37892730
en ru br
Репозитории ALT
S:1.8.5-alt1
5.1: 1.4.2-alt1
4.1: 1.3-alt3
4.0: 1.3-alt3
www.altlinux.org/Changes

Группа :: Система/Библиотеки
Пакет: libirrlicht

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: irrlicht-1.3-alt-autotools.patch
Скачать


diff --git a/irrlicht/Makefile.am b/irrlicht/Makefile.am
new file mode 100644
index 0000000..f2af1bd
--- /dev/null
+++ b/irrlicht/Makefile.am
@@ -0,0 +1,2 @@
+SUBDIRS = source examples media include
+EXTRA_DIST= changes.txt readme.txt doc examples.net
diff --git a/irrlicht/config.h.in b/irrlicht/config.h.in
new file mode 100644
index 0000000..1549c3a
--- /dev/null
+++ b/irrlicht/config.h.in
@@ -0,0 +1,67 @@
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the `GL' library (-lGL). */
+#undef HAVE_LIBGL
+
+/* Define to 1 if you have the `GLU' library (-lGLU). */
+#undef HAVE_LIBGLU
+
+/* Define to 1 if you have the `z' library (-lz). */
+#undef HAVE_LIBZ
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* "Directory for media files" */
+#undef MEDIADIR
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Version number of package */
+#undef VERSION
diff --git a/irrlicht/configure.ac b/irrlicht/configure.ac
new file mode 100644
index 0000000..a63159b
--- /dev/null
+++ b/irrlicht/configure.ac
@@ -0,0 +1,50 @@
+AC_INIT(Irrlicht, 1.3)
+AC_CONFIG_HEADER([config.h])
+AC_CONFIG_SRCDIR(include/irrlicht.h)
+AM_INIT_AUTOMAKE([foreign])
+
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_LIBTOOL
+
+AC_PATH_X
+if test x$no_x = xyes; then
+	AC_MSG_ERROR("Irrlicht needs X11 to compile")
+fi
+if test x$prefix = xNONE 
+then
+	prefix=/usr/local
+fi
+
+PKG_CHECK_MODULES([XXF86VM],[xxf86vm])
+PKG_CHECK_MODULES([PNG],[libpng])
+AC_CHECK_LIB(z, deflate)
+AC_CHECK_LIB(GLU, gluBeginCurve)
+AC_CHECK_LIB(GL, glBegin)
+AC_DEFINE_UNQUOTED(MEDIADIR,"$prefix/share/$PACKAGE/media", ["Directory for media files"])
+AC_SUBST(mediadir, "\${datadir}/$PACKAGE/media")
+AC_CONFIG_FILES(
+		Makefile
+		media/Makefile
+		source/Makefile
+		source/Irrlicht/Makefile
+		examples/Makefile
+		include/Makefile
+		examples/01.HelloWorld/Makefile
+		examples/02.Quake3Map/Makefile
+		examples/03.CustomSceneNode/Makefile
+		examples/04.Movement/Makefile
+		examples/05.UserInterface/Makefile
+		examples/06.2DGraphics/Makefile
+		examples/07.Collision/Makefile
+		examples/08.SpecialFX/Makefile
+		examples/09.Meshviewer/Makefile
+		examples/10.Shaders/Makefile
+		examples/11.PerPixelLighting/Makefile
+		examples/12.TerrainRendering/Makefile
+		examples/13.RenderToTexture/Makefile
+		examples/15.LoadIrrFile/Makefile
+		examples/16.Quake3MapShader/Makefile
+		examples/Demo/Makefile
+		)
+AC_OUTPUT
diff --git a/irrlicht/examples/01.HelloWorld/Makefile.am b/irrlicht/examples/01.HelloWorld/Makefile.am
new file mode 100644
index 0000000..a939286
--- /dev/null
+++ b/irrlicht/examples/01.HelloWorld/Makefile.am
@@ -0,0 +1,7 @@
+bin_PROGRAMS=irrlicht-HelloWorld
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_HelloWorld_SOURCES = main.cpp
+irrlicht_HelloWorld_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+
+EXTRA_DIST=tutorial.html
diff --git a/irrlicht/examples/01.HelloWorld/main.cpp b/irrlicht/examples/01.HelloWorld/main.cpp
index 9b1011c..2934664 100644
--- a/irrlicht/examples/01.HelloWorld/main.cpp
+++ b/irrlicht/examples/01.HelloWorld/main.cpp
@@ -40,6 +40,7 @@ develop applications with the Irrlicht Engine.
 
 */
 #include <irrlicht.h>
+#include <config.h>
 
 /*
 In the Irrlicht Engine, everything can be found in the namespace
@@ -145,7 +146,7 @@ int main()
 	By the way, that cool Quake 2 model called sydney was modelled
 	by Brian Collins.
 	*/
-	IAnimatedMesh* mesh = smgr->getMesh("../../media/sydney.md2");
+	IAnimatedMesh* mesh = smgr->getMesh(MEDIADIR "/sydney.md2");
 	IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
 
 	/*
@@ -160,7 +161,7 @@ int main()
 	{
 		node->setMaterialFlag(EMF_LIGHTING, false);
 		node->setMD2Animation ( scene::EMAT_STAND );
-		node->setMaterialTexture( 0, driver->getTexture("../../media/sydney.bmp") );
+		node->setMaterialTexture( 0, driver->getTexture(MEDIADIR "/sydney.bmp") );
 	}
 
 	/*
diff --git a/irrlicht/examples/02.Quake3Map/Makefile.am b/irrlicht/examples/02.Quake3Map/Makefile.am
new file mode 100644
index 0000000..72e7805
--- /dev/null
+++ b/irrlicht/examples/02.Quake3Map/Makefile.am
@@ -0,0 +1,7 @@
+bin_PROGRAMS=irrlicht-Quake3Map
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_Quake3Map_SOURCES = main.cpp
+irrlicht_Quake3Map_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+
+EXTRA_DIST=tutorial.html
diff --git a/irrlicht/examples/02.Quake3Map/main.cpp b/irrlicht/examples/02.Quake3Map/main.cpp
index 5ec8f51..766fc07 100644
--- a/irrlicht/examples/02.Quake3Map/main.cpp
+++ b/irrlicht/examples/02.Quake3Map/main.cpp
@@ -9,6 +9,7 @@ to ask the user for a driver type using the console.
 */
 #include <irrlicht.h>
 #include <iostream>
+#include <config.h>
 
 /*
 As already written in the HelloWorld example, in the Irrlicht
@@ -92,7 +93,7 @@ int main()
 	we are able to read from the files in that archive as they would
 	directly be stored on disk.
 	*/
-	device->getFileSystem()->addZipFileArchive("../../media/map-20kdm2.pk3");
+	device->getFileSystem()->addZipFileArchive(MEDIADIR "/map-20kdm2.pk3");
 
 	/* 
 	Now we can load the mesh by calling getMesh(). We get a pointer returned
diff --git a/irrlicht/examples/03.CustomSceneNode/Makefile.am b/irrlicht/examples/03.CustomSceneNode/Makefile.am
new file mode 100644
index 0000000..e9e3e0e
--- /dev/null
+++ b/irrlicht/examples/03.CustomSceneNode/Makefile.am
@@ -0,0 +1,7 @@
+bin_PROGRAMS=irrlicht-CustomSceneNode
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_CustomSceneNode_SOURCES = main.cpp
+irrlicht_CustomSceneNode_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+
+EXTRA_DIST=tutorial.html
diff --git a/irrlicht/examples/04.Movement/Makefile.am b/irrlicht/examples/04.Movement/Makefile.am
new file mode 100644
index 0000000..5428715
--- /dev/null
+++ b/irrlicht/examples/04.Movement/Makefile.am
@@ -0,0 +1,7 @@
+bin_PROGRAMS=irrlicht-Movement
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_Movement_SOURCES = main.cpp
+irrlicht_Movement_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+
+EXTRA_DIST=tutorial.html
diff --git a/irrlicht/examples/04.Movement/main.cpp b/irrlicht/examples/04.Movement/main.cpp
index 9d9ce14..58cd501 100644
--- a/irrlicht/examples/04.Movement/main.cpp
+++ b/irrlicht/examples/04.Movement/main.cpp
@@ -8,6 +8,7 @@ and tell the linker to link with the .lib file.
 */
 #include <irrlicht.h>
 #include <iostream>
+#include <config.h>
 
 using namespace irr;
 
@@ -119,7 +120,7 @@ int main()
 	*/
 	node = smgr->addSphereSceneNode();
 	node->setPosition(core::vector3df(0,0,30));
-	node->setMaterialTexture(0, driver->getTexture("../../media/wall.bmp"));
+	node->setMaterialTexture(0, driver->getTexture(MEDIADIR "/wall.bmp"));
 	node->setMaterialFlag(video::EMF_LIGHTING, false);
 
 
@@ -136,7 +137,7 @@ int main()
 
 	if (n)
 	{
-		n->setMaterialTexture(0, driver->getTexture("../../media/t351sml.jpg"));
+		n->setMaterialTexture(0, driver->getTexture(MEDIADIR "/t351sml.jpg"));
 		n->setMaterialFlag(video::EMF_LIGHTING, false);
 		scene::ISceneNodeAnimator* anim =
 			smgr->createFlyCircleAnimator(core::vector3df(0,0,30), 20.0f);
@@ -148,7 +149,7 @@ int main()
 	The last scene node we add to show possibilities of scene node animators is 
 	a md2 model, which uses a 'fly straight' animator to run between to points.
 	*/
-	scene::IAnimatedMeshSceneNode* anms = smgr->addAnimatedMeshSceneNode(smgr->getMesh("../../media/sydney.md2"));
+	scene::IAnimatedMeshSceneNode* anms = smgr->addAnimatedMeshSceneNode(smgr->getMesh(MEDIADIR "/sydney.md2"));
 
 	if (anms)
 	{
@@ -175,7 +176,7 @@ int main()
 		anms->setMD2Animation(scene::EMAT_RUN);
 
 		anms->setRotation(core::vector3df(0,180.0f,0));
-		anms->setMaterialTexture(0, driver->getTexture("../../media/sydney.bmp"));
+		anms->setMaterialTexture(0, driver->getTexture(MEDIADIR "/sydney.bmp"));
 
 	}
 
@@ -192,7 +193,7 @@ int main()
 	Add a colorful irrlicht logo
 	*/
 	device->getGUIEnvironment()->addImage(
-		driver->getTexture("../../media/irrlichtlogoalpha2.tga"),
+		driver->getTexture(MEDIADIR "/irrlichtlogoalpha2.tga"),
 		core::position2d<s32>(10,10));
 
 	/*
diff --git a/irrlicht/examples/05.UserInterface/Makefile.am b/irrlicht/examples/05.UserInterface/Makefile.am
new file mode 100644
index 0000000..5415252
--- /dev/null
+++ b/irrlicht/examples/05.UserInterface/Makefile.am
@@ -0,0 +1,7 @@
+bin_PROGRAMS=irrlicht-UserInterface
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_UserInterface_SOURCES = main.cpp
+irrlicht_UserInterface_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+
+EXTRA_DIST=tutorial.html
diff --git a/irrlicht/examples/05.UserInterface/main.cpp b/irrlicht/examples/05.UserInterface/main.cpp
index 1859e99..5770a68 100644
--- a/irrlicht/examples/05.UserInterface/main.cpp
+++ b/irrlicht/examples/05.UserInterface/main.cpp
@@ -11,6 +11,7 @@ and a pointer to a listbox.
 */
 #include <irrlicht.h>
 #include <iostream>
+#include <config.h>
 
 using namespace irr;
 
@@ -187,7 +188,7 @@ int main()
 	*/
 
 	IGUISkin* skin = env->getSkin();
-	IGUIFont* font = env->getFont("../../media/fonthaettenschweiler.bmp");
+	IGUIFont* font = env->getFont(MEDIADIR "/fonthaettenschweiler.bmp");
 	if (font)
 		skin->setFont(font);
 
@@ -222,7 +223,7 @@ int main()
 	env->addEditBox(L"Editable Text", rect<s32>(350, 80, 550, 100));
 
 	// add the engine logo
-	env->addImage(driver->getTexture("../../media/irrlichtlogo2.png"),
+	env->addImage(driver->getTexture(MEDIADIR "/irrlichtlogo2.png"),
 			position2d<int>(10,10));
 
 
diff --git a/irrlicht/examples/06.2DGraphics/Makefile.am b/irrlicht/examples/06.2DGraphics/Makefile.am
new file mode 100644
index 0000000..e16c90c
--- /dev/null
+++ b/irrlicht/examples/06.2DGraphics/Makefile.am
@@ -0,0 +1,7 @@
+bin_PROGRAMS=irrlicht-2DGraphics
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_2DGraphics_SOURCES = main.cpp
+irrlicht_2DGraphics_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+
+EXTRA_DIST=tutorial.html
diff --git a/irrlicht/examples/06.2DGraphics/main.cpp b/irrlicht/examples/06.2DGraphics/main.cpp
index d8db53e..55e0336 100644
--- a/irrlicht/examples/06.2DGraphics/main.cpp
+++ b/irrlicht/examples/06.2DGraphics/main.cpp
@@ -10,6 +10,7 @@ and tell the linker to link with the .lib file.
 */
 #include <irrlicht.h>
 #include <iostream>
+#include <config.h>
 
 using namespace irr;
 
@@ -69,7 +70,7 @@ int main()
 	e.g. all black pixels transparent. Please note, that makeColorKeyTexture
 	just creates an alpha channel based on the color. 
 */
-	video::ITexture* images = driver->getTexture("../../media/2ddemo.bmp");
+	video::ITexture* images = driver->getTexture(MEDIADIR "/2ddemo.bmp");
 	driver->makeColorKeyTexture(images, core::position2d<s32>(0,0));
 
 	
@@ -81,7 +82,7 @@ int main()
 	images of the red imps (little flying creatures) in the texture.
 */
 	gui::IGUIFont* font = device->getGUIEnvironment()->getBuiltInFont();
-	gui::IGUIFont* font2 = device->getGUIEnvironment()->getFont("../../media/fonthaettenschweiler.bmp");
+	gui::IGUIFont* font2 = device->getGUIEnvironment()->getFont(MEDIADIR "/fonthaettenschweiler.bmp");
 
 	core::rect<s32> imp1(349,15,385,78);
 	core::rect<s32> imp2(387,15,423,78);
diff --git a/irrlicht/examples/07.Collision/Makefile.am b/irrlicht/examples/07.Collision/Makefile.am
new file mode 100644
index 0000000..521c4bb
--- /dev/null
+++ b/irrlicht/examples/07.Collision/Makefile.am
@@ -0,0 +1,6 @@
+bin_PROGRAMS=irrlicht-Collision
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_Collision_SOURCES = main.cpp
+irrlicht_Collision_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+EXTRA_DIST=tutorial.html
diff --git a/irrlicht/examples/07.Collision/main.cpp b/irrlicht/examples/07.Collision/main.cpp
index e932980..95fa2e6 100644
--- a/irrlicht/examples/07.Collision/main.cpp
+++ b/irrlicht/examples/07.Collision/main.cpp
@@ -13,6 +13,7 @@ a quake 3 level. I will not explain it, because it should already be known from
 */
 #include <irrlicht.h>
 #include <iostream>
+#include <config.h>
 
 using namespace irr;
 
@@ -56,7 +57,7 @@ int main()
 	scene::ISceneManager* smgr = device->getSceneManager();
 
 	
-	device->getFileSystem()->addZipFileArchive("../../media/map-20kdm2.pk3");
+	device->getFileSystem()->addZipFileArchive(MEDIADIR "/map-20kdm2.pk3");
 
 	
 	scene::IAnimatedMesh* q3levelmesh = smgr->getMesh("20kdm2.bsp");
@@ -147,7 +148,7 @@ int main()
 
 	scene::IBillboardSceneNode * bill = smgr->addBillboardSceneNode();
 	bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR );
-	bill->setMaterialTexture(0, driver->getTexture("../../media/particle.bmp"));
+	bill->setMaterialTexture(0, driver->getTexture(MEDIADIR "/particle.bmp"));
 	bill->setMaterialFlag(video::EMF_LIGHTING, false);
 	bill->setMaterialFlag(video::EMF_ZBUFFER, false);
 	bill->setSize(core::dimension2d<f32>(20.0f, 20.0f));
@@ -155,11 +156,11 @@ int main()
 	// add 3 animated faeries.
 
 	video::SMaterial material;
-	material.Textures[0] = driver->getTexture("../../media/faerie2.bmp");
+	material.Textures[0] = driver->getTexture(MEDIADIR "/faerie2.bmp");
 	material.Lighting = true;
 
 	scene::IAnimatedMeshSceneNode* node = 0;
-	scene::IAnimatedMesh* faerie = smgr->getMesh("../../media/faerie.md2");
+	scene::IAnimatedMesh* faerie = smgr->getMesh(MEDIADIR "/faerie.md2");
 
 	if (faerie)
 	{
diff --git a/irrlicht/examples/08.SpecialFX/Makefile.am b/irrlicht/examples/08.SpecialFX/Makefile.am
new file mode 100644
index 0000000..13e1f2b
--- /dev/null
+++ b/irrlicht/examples/08.SpecialFX/Makefile.am
@@ -0,0 +1,6 @@
+bin_PROGRAMS=irrlicht-SpecialFX
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_SpecialFX_SOURCES = main.cpp
+irrlicht_SpecialFX_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+EXTRA_DIST=tutorial.html
diff --git a/irrlicht/examples/08.SpecialFX/main.cpp b/irrlicht/examples/08.SpecialFX/main.cpp
index 8c13cb7..9c47fa6 100644
--- a/irrlicht/examples/08.SpecialFX/main.cpp
+++ b/irrlicht/examples/08.SpecialFX/main.cpp
@@ -11,6 +11,7 @@ on your hardware.*/
 
 #include <irrlicht.h>
 #include <iostream>
+#include <config.h>
 
 using namespace irr;
 
@@ -74,7 +75,7 @@ int main()
 	*/
 
 	scene::IAnimatedMesh* mesh = smgr->getMesh(
-		"../../media/room.3ds");
+		MEDIADIR "/room.3ds");
 
 	smgr->getMeshManipulator()->makePlanarTextureMapping(
 		mesh->getMesh(0), 0.004f);
@@ -82,7 +83,7 @@ int main()
 	scene::ISceneNode* node = 0;
 
 	node = smgr->addAnimatedMeshSceneNode(mesh);
-	node->setMaterialTexture(0,	driver->getTexture("../../media/wall.jpg"));
+	node->setMaterialTexture(0,	driver->getTexture(MEDIADIR "/wall.jpg"));
 	node->getMaterial(0).SpecularColor.set(0,0,0,0);
 
 	/*
@@ -106,8 +107,8 @@ int main()
 	node = smgr->addWaterSurfaceSceneNode(mesh->getMesh(0), 3.0f, 300.0f, 30.0f);
 	node->setPosition(core::vector3df(0,7,0));
 
-	node->setMaterialTexture(0, driver->getTexture("../../media/stones.jpg"));
-	node->setMaterialTexture(1, driver->getTexture("../../media/water.jpg"));
+	node->setMaterialTexture(0, driver->getTexture(MEDIADIR "/stones.jpg"));
+	node->setMaterialTexture(1, driver->getTexture(MEDIADIR "/water.jpg"));
 
 	node->setMaterialType(video::EMT_REFLECTION_2_LAYER);
 
@@ -132,7 +133,7 @@ int main()
 	node = smgr->addBillboardSceneNode(node, core::dimension2d<f32>(50, 50));
 	node->setMaterialFlag(video::EMF_LIGHTING, false);
 	node->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
-	node->setMaterialTexture(0, driver->getTexture("../../media/particlewhite.bmp"));
+	node->setMaterialTexture(0, driver->getTexture(MEDIADIR "/particlewhite.bmp"));
 
 	/*
 	The next special effect is a lot more interesting: A particle system. The particle
@@ -187,7 +188,7 @@ int main()
 	paf->drop();
 
 	ps->setMaterialFlag(video::EMF_LIGHTING, false);
-	ps->setMaterialTexture(0, driver->getTexture("../../media/fire.bmp"));
+	ps->setMaterialTexture(0, driver->getTexture(MEDIADIR "/fire.bmp"));
 	ps->setMaterialType(video::EMT_TRANSPARENT_VERTEX_ALPHA);
 
 	/*
@@ -206,7 +207,7 @@ int main()
 
 	// add animated character
 
-	mesh = smgr->getMesh("../../media/dwarf.x");
+	mesh = smgr->getMesh(MEDIADIR "/dwarf.x");
 	scene::IAnimatedMeshSceneNode* anode = 0;
 
 	anode = smgr->addAnimatedMeshSceneNode(mesh);
diff --git a/irrlicht/examples/09.Meshviewer/Makefile.am b/irrlicht/examples/09.Meshviewer/Makefile.am
new file mode 100644
index 0000000..d8079d6
--- /dev/null
+++ b/irrlicht/examples/09.Meshviewer/Makefile.am
@@ -0,0 +1,6 @@
+bin_PROGRAMS=irrlicht-Meshviewer
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_Meshviewer_SOURCES = main.cpp resource.h
+irrlicht_Meshviewer_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+EXTRA_DIST=tutorial.html 9.Meshviewer.rc icon.ico
diff --git a/irrlicht/examples/09.Meshviewer/main.cpp b/irrlicht/examples/09.Meshviewer/main.cpp
index c7b16b5..d6e24e6 100644
--- a/irrlicht/examples/09.Meshviewer/main.cpp
+++ b/irrlicht/examples/09.Meshviewer/main.cpp
@@ -13,6 +13,7 @@
 */
 #include <irrlicht.h>
 #include <iostream>
+#include <config.h>
 
 
 using namespace irr;
@@ -435,7 +436,7 @@ int main()
 	smgr->addLightSceneNode();
 	smgr->addLightSceneNode(0, core::vector3df(50,-50,100), video::SColorf(1.0f,1.0f,1.0f),20000);
 	// add our media directory as "search path"
-	Device->getFileSystem()->addFolderFileArchive ( "../../media/" );
+	Device->getFileSystem()->addFolderFileArchive ( MEDIADIR "/" );
 
 	/*
 		The next step is to read the configuration file. It is stored in the xml 
diff --git a/irrlicht/examples/10.Shaders/Makefile.am b/irrlicht/examples/10.Shaders/Makefile.am
new file mode 100644
index 0000000..a536e40
--- /dev/null
+++ b/irrlicht/examples/10.Shaders/Makefile.am
@@ -0,0 +1,6 @@
+bin_PROGRAMS=irrlicht-Shaders
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_Shaders_SOURCES = main.cpp
+irrlicht_Shaders_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+EXTRA_DIST=tutorial.html
diff --git a/irrlicht/examples/10.Shaders/main.cpp b/irrlicht/examples/10.Shaders/main.cpp
index 7e9fb6b..859982c 100644
--- a/irrlicht/examples/10.Shaders/main.cpp
+++ b/irrlicht/examples/10.Shaders/main.cpp
@@ -12,6 +12,7 @@ in nearly all other tutorials:
 */
 #include <irrlicht.h>
 #include <iostream>
+#include <config.h>
 
 
 using namespace irr;
@@ -174,32 +175,32 @@ int main()
 	switch(driverType)
 	{
 	case video::EDT_DIRECT3D8:
-		psFileName = "../../media/d3d8.psh";
-		vsFileName = "../../media/d3d8.vsh";
+		psFileName = MEDIADIR "/d3d8.psh";
+		vsFileName = MEDIADIR "/d3d8.vsh";
 		break;
 	case video::EDT_DIRECT3D9:
 		if (UseHighLevelShaders)
 		{
-			psFileName = "../../media/d3d9.hlsl";
+			psFileName = MEDIADIR "/d3d9.hlsl";
 			vsFileName = psFileName; // both shaders are in the same file
 		}
 		else
 		{
-			psFileName = "../../media/d3d9.psh";
-			vsFileName = "../../media/d3d9.vsh";
+			psFileName = MEDIADIR "/d3d9.psh";
+			vsFileName = MEDIADIR "/d3d9.vsh";
 		}
 		break;
 
 	case video::EDT_OPENGL:
 		if (UseHighLevelShaders)
 		{
-			psFileName = "../../media/opengl.frag";
-			vsFileName = "../../media/opengl.vert";
+			psFileName = MEDIADIR "/opengl.frag";
+			vsFileName = MEDIADIR "/opengl.vert";
 		}
 		else
 		{
-			psFileName = "../../media/opengl.psh";
-			vsFileName = "../../media/opengl.vsh";
+			psFileName = MEDIADIR "/opengl.psh";
+			vsFileName = MEDIADIR "/opengl.vsh";
 		}
 		break;
 	}
@@ -303,7 +304,7 @@ int main()
 
 	scene::ISceneNode* node = smgr->addCubeSceneNode(50);
 	node->setPosition(core::vector3df(0,0,0));
-	node->setMaterialTexture(0, driver->getTexture("../../media/wall.bmp"));
+	node->setMaterialTexture(0, driver->getTexture(MEDIADIR "/wall.bmp"));
 	node->setMaterialFlag(video::EMF_LIGHTING, false);
 	node->setMaterialType((video::E_MATERIAL_TYPE)newMaterialType1);
 
@@ -324,7 +325,7 @@ int main()
 
 	node = smgr->addCubeSceneNode(50);
 	node->setPosition(core::vector3df(0,-10,50));
-	node->setMaterialTexture(0, driver->getTexture("../../media/wall.bmp"));
+	node->setMaterialTexture(0, driver->getTexture(MEDIADIR "/wall.bmp"));
 	node->setMaterialFlag(video::EMF_LIGHTING, false);
 	node->setMaterialType((video::E_MATERIAL_TYPE)newMaterialType2);
 
@@ -345,7 +346,7 @@ int main()
 
 	node = smgr->addCubeSceneNode(50);
 	node->setPosition(core::vector3df(0,50,25));
-	node->setMaterialTexture(0, driver->getTexture("../../media/wall.bmp"));
+	node->setMaterialTexture(0, driver->getTexture(MEDIADIR "/wall.bmp"));
 	node->setMaterialFlag(video::EMF_LIGHTING, false);
 	smgr->addTextSceneNode(gui->getBuiltInFont(), L"NO SHADER",
 		video::SColor(255,255,255,255), node);
@@ -361,12 +362,12 @@ int main()
 	driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false);
 
 	smgr->addSkyBoxSceneNode(
-		driver->getTexture("../../media/irrlicht2_up.jpg"),
-		driver->getTexture("../../media/irrlicht2_dn.jpg"),
-		driver->getTexture("../../media/irrlicht2_lf.jpg"),
-		driver->getTexture("../../media/irrlicht2_rt.jpg"),
-		driver->getTexture("../../media/irrlicht2_ft.jpg"),
-		driver->getTexture("../../media/irrlicht2_bk.jpg"));
+		driver->getTexture(MEDIADIR "/irrlicht2_up.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_dn.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_lf.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_rt.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_ft.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_bk.jpg"));
 
 	driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, true);
 
diff --git a/irrlicht/examples/11.PerPixelLighting/Makefile.am b/irrlicht/examples/11.PerPixelLighting/Makefile.am
new file mode 100644
index 0000000..084985f
--- /dev/null
+++ b/irrlicht/examples/11.PerPixelLighting/Makefile.am
@@ -0,0 +1,6 @@
+bin_PROGRAMS=irrlicht-PerPixelLighting
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_PerPixelLighting_SOURCES = main.cpp
+irrlicht_PerPixelLighting_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+EXTRA_DIST=tutorial.html
diff --git a/irrlicht/examples/11.PerPixelLighting/main.cpp b/irrlicht/examples/11.PerPixelLighting/main.cpp
index 4112803..a04082c 100644
--- a/irrlicht/examples/11.PerPixelLighting/main.cpp
+++ b/irrlicht/examples/11.PerPixelLighting/main.cpp
@@ -9,6 +9,7 @@ in nearly all other tutorials.
 */
 #include <irrlicht.h>
 #include <iostream>
+#include <config.h>
 
 
 using namespace irr;
@@ -36,7 +37,7 @@ public:
 
 		// set a nicer font
 		gui::IGUISkin* skin = env->getSkin();
-		gui::IGUIFont* font = env->getFont("../../media/fonthaettenschweiler.bmp");
+		gui::IGUIFont* font = env->getFont(MEDIADIR "/fonthaettenschweiler.bmp");
 		if (font)
 			skin->setFont(font);
 
@@ -200,7 +201,7 @@ int main()
 	driver->setTextureCreationFlag(video::ETCF_ALWAYS_32_BIT, true);
 
 	// add irrlicht logo
-	env->addImage(driver->getTexture("../../media/irrlichtlogo2.png"),
+	env->addImage(driver->getTexture(MEDIADIR "/irrlichtlogo2.png"),
 		core::position2d<s32>(10,10));
 		
 	// add camera
@@ -232,7 +233,7 @@ int main()
 	*/
 
 	scene::IAnimatedMesh* roomMesh = smgr->getMesh(
-		"../../media/room.3ds");
+		MEDIADIR "/room.3ds");
 	scene::ISceneNode* room = 0;
 
 	if (roomMesh)
@@ -254,8 +255,8 @@ int main()
 		If you set it to a bigger value, the map will look more rocky.
 		*/		
 
-		video::ITexture* colorMap = driver->getTexture("../../media/rockwall.bmp");
-		video::ITexture* normalMap = driver->getTexture("../../media/rockwall_height.bmp");
+		video::ITexture* colorMap = driver->getTexture(MEDIADIR "/rockwall.bmp");
+		video::ITexture* normalMap = driver->getTexture(MEDIADIR "/rockwall_height.bmp");
 		
 		driver->makeNormalMapTexture(normalMap, 9.0f);
 
@@ -299,7 +300,7 @@ int main()
 
 	// add earth sphere
 
-	scene::IAnimatedMesh* earthMesh = smgr->getMesh("../../media/earth.x");
+	scene::IAnimatedMesh* earthMesh = smgr->getMesh(MEDIADIR "/earth.x");
 	if (earthMesh)
 	{
 		//perform various task with the mesh manipulator
@@ -322,7 +323,7 @@ int main()
 		sphere->setPosition(core::vector3df(-70,130,45));
 
 		// load heightmap, create normal map from it and set it
-		video::ITexture* earthNormalMap = driver->getTexture("../../media/earthbump.bmp");
+		video::ITexture* earthNormalMap = driver->getTexture(MEDIADIR "/earthbump.bmp");
 		driver->makeNormalMapTexture(earthNormalMap, 20.0f);
 		sphere->setMaterialTexture(1, earthNormalMap);
 
@@ -365,7 +366,7 @@ int main()
 
 	bill->setMaterialFlag(video::EMF_LIGHTING, false);
 	bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
-	bill->setMaterialTexture(0, driver->getTexture("../../media/particlered.bmp"));
+	bill->setMaterialTexture(0, driver->getTexture(MEDIADIR "/particlered.bmp"));
 
 	/*
 	Now the same again, with the second light. The difference is that we add a particle
@@ -393,7 +394,7 @@ int main()
 	bill = smgr->addBillboardSceneNode(light2, core::dimension2d<f32>(120, 120));
 	bill->setMaterialFlag(video::EMF_LIGHTING, false);
 	bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
-	bill->setMaterialTexture(0, driver->getTexture("../../media/particlewhite.bmp"));
+	bill->setMaterialTexture(0, driver->getTexture(MEDIADIR "/particlewhite.bmp"));
 
 	// add particle system
 	scene::IParticleSystemSceneNode* ps = 
@@ -418,7 +419,7 @@ int main()
 
 	// adjust some material settings
 	ps->setMaterialFlag(video::EMF_LIGHTING, false);
-	ps->setMaterialTexture(0, driver->getTexture("../../media/fireball.bmp"));
+	ps->setMaterialTexture(0, driver->getTexture(MEDIADIR "/fireball.bmp"));
 	ps->setMaterialType(video::EMT_TRANSPARENT_VERTEX_ALPHA);
 
 
diff --git a/irrlicht/examples/12.TerrainRendering/Makefile.am b/irrlicht/examples/12.TerrainRendering/Makefile.am
new file mode 100644
index 0000000..038cb00
--- /dev/null
+++ b/irrlicht/examples/12.TerrainRendering/Makefile.am
@@ -0,0 +1,6 @@
+bin_PROGRAMS=irrlicht-TerrainRendering
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_TerrainRendering_SOURCES = main.cpp
+irrlicht_TerrainRendering_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+EXTRA_DIST=tutorial.html
diff --git a/irrlicht/examples/12.TerrainRendering/main.cpp b/irrlicht/examples/12.TerrainRendering/main.cpp
index 9019883..e84dce9 100644
--- a/irrlicht/examples/12.TerrainRendering/main.cpp
+++ b/irrlicht/examples/12.TerrainRendering/main.cpp
@@ -13,6 +13,7 @@ mode and if he presses 'D' we toggle to material between solid and detail mapped
 */
 #include <irrlicht.h>
 #include <iostream>
+#include <config.h>
 
 using namespace irr;
 
@@ -110,11 +111,11 @@ int main()
 	driver->setTextureCreationFlag(video::ETCF_ALWAYS_32_BIT, true);
 
 	// add irrlicht logo
-	env->addImage(driver->getTexture("../../media/irrlichtlogo2.png"),
+	env->addImage(driver->getTexture(MEDIADIR "/irrlichtlogo2.png"),
 		core::position2d<s32>(10,10));
 
 	//set other font
-	env->getSkin()->setFont(env->getFont("../../media/fontlucida.png"));
+	env->getSkin()->setFont(env->getFont(MEDIADIR "/fontlucida.png"));
 
 	// add some help text
 	gui::IGUIStaticText* text = env->addStaticText(
@@ -148,7 +149,7 @@ int main()
 
 	// add terrain scene node
 	scene::ITerrainSceneNode* terrain = smgr->addTerrainSceneNode( 
-		"../../media/terrain-heightmap.bmp",
+		MEDIADIR "/terrain-heightmap.bmp",
 		0,										// parent node
 		-1,										// node id
 		core::vector3df(0.f, 0.f, 0.f),			// position
@@ -162,8 +163,8 @@ int main()
 
 	terrain->setMaterialFlag(video::EMF_LIGHTING, false);
 
-	terrain->setMaterialTexture(0, driver->getTexture("../../media/terrain-texture.jpg"));
-	terrain->setMaterialTexture(1, driver->getTexture("../../media/detailmap3.jpg"));
+	terrain->setMaterialTexture(0, driver->getTexture(MEDIADIR "/terrain-texture.jpg"));
+	terrain->setMaterialTexture(1, driver->getTexture(MEDIADIR "/detailmap3.jpg"));
 	
 	terrain->setMaterialType(video::EMT_DETAIL_MAP);
 
@@ -207,12 +208,12 @@ int main()
 	driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false);
 
 	smgr->addSkyBoxSceneNode(
-		driver->getTexture("../../media/irrlicht2_up.jpg"),
-		driver->getTexture("../../media/irrlicht2_dn.jpg"),
-		driver->getTexture("../../media/irrlicht2_lf.jpg"),
-		driver->getTexture("../../media/irrlicht2_rt.jpg"),
-		driver->getTexture("../../media/irrlicht2_ft.jpg"),
-		driver->getTexture("../../media/irrlicht2_bk.jpg"));
+		driver->getTexture(MEDIADIR "/irrlicht2_up.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_dn.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_lf.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_rt.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_ft.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_bk.jpg"));
 
 	driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, true);
 
diff --git a/irrlicht/examples/13.RenderToTexture/Makefile.am b/irrlicht/examples/13.RenderToTexture/Makefile.am
new file mode 100644
index 0000000..22e1c21
--- /dev/null
+++ b/irrlicht/examples/13.RenderToTexture/Makefile.am
@@ -0,0 +1,6 @@
+bin_PROGRAMS=irrlicht-RenderToTexture
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_RenderToTexture_SOURCES = main.cpp
+irrlicht_RenderToTexture_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+EXTRA_DIST=tutorial.html
diff --git a/irrlicht/examples/13.RenderToTexture/main.cpp b/irrlicht/examples/13.RenderToTexture/main.cpp
index 2ea36b1..0ba3fa3 100644
--- a/irrlicht/examples/13.RenderToTexture/main.cpp
+++ b/irrlicht/examples/13.RenderToTexture/main.cpp
@@ -9,6 +9,7 @@ driver, create the Irrlicht Device:
 
 #include <irrlicht.h>
 #include <iostream>
+#include <config.h>
 
 using namespace irr;
 
@@ -63,11 +64,11 @@ int main()
 	// load and display animated fairy mesh
 
 	scene::IAnimatedMeshSceneNode* fairy = smgr->addAnimatedMeshSceneNode(
-		smgr->getMesh("../../media/faerie.md2"));
+		smgr->getMesh(MEDIADIR "/faerie.md2"));
 
 	if (fairy)
 	{
-		fairy->setMaterialTexture(0, driver->getTexture("../../media/faerie2.bmp")); // set diffuse texture
+		fairy->setMaterialTexture(0, driver->getTexture(MEDIADIR "/faerie2.bmp")); // set diffuse texture
 		fairy->setMaterialFlag(video::EMF_LIGHTING, true); // enable dynamic lighting
 		fairy->getMaterial(0).Shininess = 20.0f; // set size of specular highlights
 		fairy->setPosition(core::vector3df(-10,0,-100));
@@ -143,7 +144,7 @@ int main()
 	{
 		// create problem text
 		gui::IGUISkin* skin = env->getSkin();
-		gui::IGUIFont* font = env->getFont("../../media/fonthaettenschweiler.bmp");
+		gui::IGUIFont* font = env->getFont(MEDIADIR "/fonthaettenschweiler.bmp");
 		if (font)
 			skin->setFont(font);
 
diff --git a/irrlicht/examples/15.LoadIrrFile/Makefile.am b/irrlicht/examples/15.LoadIrrFile/Makefile.am
new file mode 100644
index 0000000..269c416
--- /dev/null
+++ b/irrlicht/examples/15.LoadIrrFile/Makefile.am
@@ -0,0 +1,6 @@
+bin_PROGRAMS=irrlicht-LoadIrrFile
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_LoadIrrFile_SOURCES = main.cpp
+irrlicht_LoadIrrFile_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+EXTRA_DIST=tutorial.html
diff --git a/irrlicht/examples/15.LoadIrrFile/main.cpp b/irrlicht/examples/15.LoadIrrFile/main.cpp
index 6a004eb..47320ef 100644
--- a/irrlicht/examples/15.LoadIrrFile/main.cpp
+++ b/irrlicht/examples/15.LoadIrrFile/main.cpp
@@ -11,6 +11,7 @@ Lets start: Create an Irrlicht device and setup the window.
 
 #include <irrlicht.h>
 #include <iostream>
+#include <config.h>
 using namespace irr;
 
 #pragma comment(lib, "Irrlicht.lib")
@@ -65,7 +66,7 @@ int main()
 
 	// load the scene
 
-	smgr->loadScene("../../media/example.irr");
+	smgr->loadScene(MEDIADIR "/example.irr");
 
 	/* 
 	That was it already. Now add a camera and draw the scene
diff --git a/irrlicht/examples/16.Quake3MapShader/Makefile.am b/irrlicht/examples/16.Quake3MapShader/Makefile.am
new file mode 100644
index 0000000..eae8e2f
--- /dev/null
+++ b/irrlicht/examples/16.Quake3MapShader/Makefile.am
@@ -0,0 +1,6 @@
+bin_PROGRAMS=irrlicht-Quake3MapShader
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_Quake3MapShader_SOURCES = main.cpp
+irrlicht_Quake3MapShader_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+EXTRA_DIST=tutorial.html
diff --git a/irrlicht/examples/16.Quake3MapShader/main.cpp b/irrlicht/examples/16.Quake3MapShader/main.cpp
index 1cc4345..07494f9 100644
--- a/irrlicht/examples/16.Quake3MapShader/main.cpp
+++ b/irrlicht/examples/16.Quake3MapShader/main.cpp
@@ -9,6 +9,7 @@ to ask the user for a driver type using the console.
 */
 #include <irrlicht.h>
 #include <iostream>
+#include <config.h>
 
 
 /*
@@ -137,7 +138,7 @@ int IRRCALLCONV main(int argc, char* argv[])
 	scene::ISceneManager* smgr = device->getSceneManager();
 
 	//! add our private media directory to the file system
-	device->getFileSystem()->addFolderFileArchive("../../media/");
+	device->getFileSystem()->addFolderFileArchive(MEDIADIR "/");
 
 	/*
 	To display the Quake 3 map, we first need to load it. Quake 3 maps
@@ -146,7 +147,7 @@ int IRRCALLCONV main(int argc, char* argv[])
 	we are able to read from the files in that archive as they would
 	directly be stored on disk.
 	*/
-	device->getFileSystem()->addZipFileArchive("../../media/map-20kdm2.pk3");
+	device->getFileSystem()->addZipFileArchive(MEDIADIR "/map-20kdm2.pk3");
 	//device->getFileSystem()->addFolderFileArchive("/baseq3/");
 	
 	/* 
diff --git a/irrlicht/examples/Demo/CDemo.cpp b/irrlicht/examples/Demo/CDemo.cpp
index 40db30d..956b9c1 100644
--- a/irrlicht/examples/Demo/CDemo.cpp
+++ b/irrlicht/examples/Demo/CDemo.cpp
@@ -2,6 +2,7 @@
 // This file is not documentated.
 
 #include "CDemo.h"
+#include <config.h>
 
 CDemo::CDemo(bool f, bool m, bool s, bool a, bool v, video::E_DRIVER_TYPE d)
 : fullscreen(f), driverType(d), currentScene(-2),
@@ -44,9 +45,9 @@ void CDemo::run()
 	device = createDevice(driverType,resolution, 32, fullscreen, shadows, vsync, this);
 
 	device->getFileSystem()->addZipFileArchive("irrlicht.dat");
-	device->getFileSystem()->addZipFileArchive("../../media/irrlicht.dat");
+	device->getFileSystem()->addZipFileArchive(MEDIADIR "/irrlicht.dat");
 	device->getFileSystem()->addZipFileArchive("map-20kdm2.pk3");
-	device->getFileSystem()->addZipFileArchive("../../media/map-20kdm2.pk3");
+	device->getFileSystem()->addZipFileArchive(MEDIADIR "/map-20kdm2.pk3");
 
 	video::IVideoDriver* driver = device->getVideoDriver();
 	scene::ISceneManager* smgr = device->getSceneManager();
@@ -395,13 +396,13 @@ void CDemo::loadSceneData()
 	// load sydney model and create 2 instances
 
 	scene::IAnimatedMesh* mesh = 0;
-	mesh = sm->getMesh("../../media/sydney.md2");
+	mesh = sm->getMesh(MEDIADIR "/sydney.md2");
 	if (mesh)
 	{
 		model1 = sm->addAnimatedMeshSceneNode(mesh);
 		if (model1)
 		{
-			model1->setMaterialTexture(0, driver->getTexture("../../media/spheremap.jpg"));
+			model1->setMaterialTexture(0, driver->getTexture(MEDIADIR "/spheremap.jpg"));
 			model1->setPosition(core::vector3df(100,40,-80));
 			model1->setScale(core::vector3df(2,2,2));
 			model1->setMD2Animation(scene::EMAT_STAND);
@@ -417,7 +418,7 @@ void CDemo::loadSceneData()
 			model2->setPosition(core::vector3df(180,15,-60));
 			model2->setScale(core::vector3df(2,2,2));
 			model2->setMD2Animation(scene::EMAT_RUN);
-			model2->setMaterialTexture(0, device->getVideoDriver()->getTexture("../../media/sydney.bmp"));
+			model2->setMaterialTexture(0, device->getVideoDriver()->getTexture(MEDIADIR "/sydney.bmp"));
 			model2->setMaterialFlag(video::EMF_LIGHTING, true);
 			model2->addShadowVolumeSceneNode();
 			model2->setAutomaticCulling ( scene::EAC_BOX );
@@ -429,12 +430,12 @@ void CDemo::loadSceneData()
 	// create sky box
 	driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false);
 	skyboxNode = sm->addSkyBoxSceneNode(
-		driver->getTexture("../../media/irrlicht2_up.jpg"),
-		driver->getTexture("../../media/irrlicht2_dn.jpg"),
-		driver->getTexture("../../media/irrlicht2_lf.jpg"),
-		driver->getTexture("../../media/irrlicht2_rt.jpg"),
-		driver->getTexture("../../media/irrlicht2_ft.jpg"),
-		driver->getTexture("../../media/irrlicht2_bk.jpg"));
+		driver->getTexture(MEDIADIR "/irrlicht2_up.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_dn.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_lf.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_rt.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_ft.jpg"),
+		driver->getTexture(MEDIADIR "/irrlicht2_bk.jpg"));
 	driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, true);
 
 	//driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, true);
@@ -459,7 +460,7 @@ void CDemo::loadSceneData()
 	for (s32 g=1; g<8; ++g)
 	{
 		char tmp[64];
-		sprintf(tmp, "../../media/portal%d.bmp", g);
+		sprintf(tmp, MEDIADIR "/portal%d.bmp", g);
 		video::ITexture* t = driver->getTexture(tmp);
 		textures.push_back(t);
 	}
@@ -475,7 +476,7 @@ void CDemo::loadSceneData()
 		bill = sm->addBillboardSceneNode(0, core::dimension2d<f32>(100,100),
 			waypoint[r]+ core::vector3df(0,20,0));
 		bill->setMaterialFlag(video::EMF_LIGHTING, false);
-		bill->setMaterialTexture(0, driver->getTexture("../../media/portal1.bmp"));
+		bill->setMaterialTexture(0, driver->getTexture(MEDIADIR "/portal1.bmp"));
 		bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
 		bill->addAnimator(anim);
 	}
@@ -498,7 +499,7 @@ void CDemo::loadSceneData()
 	bill = device->getSceneManager()->addBillboardSceneNode(
 		light, core::dimension2d<f32>(40,40));
 	bill->setMaterialFlag(video::EMF_LIGHTING, false);
-	bill->setMaterialTexture(0, driver->getTexture("../../media/particlewhite.bmp"));
+	bill->setMaterialTexture(0, driver->getTexture(MEDIADIR "/particlewhite.bmp"));
 	bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
 
 	// create meta triangle selector with all triangles selectors in it.
@@ -526,7 +527,7 @@ void CDemo::loadSceneData()
 	paf->drop();
 
 	campFire->setMaterialFlag(video::EMF_LIGHTING, false);
-	campFire->setMaterialTexture(0, driver->getTexture("../../media/fireball.bmp"));
+	campFire->setMaterialTexture(0, driver->getTexture(MEDIADIR "/fireball.bmp"));
 	campFire->setMaterialType(video::EMT_TRANSPARENT_VERTEX_ALPHA);
 
 	// load music
@@ -560,7 +561,7 @@ void CDemo::createLoadingScreen()
 	inOutFader->setColor(backColor,	video::SColor ( 0, 230, 230, 230 ));
 
 	// irrlicht logo
-	device->getGUIEnvironment()->addImage(device->getVideoDriver()->getTexture("../../media/irrlichtlogo2.png"),
+	device->getGUIEnvironment()->addImage(device->getVideoDriver()->getTexture(MEDIADIR "/irrlichtlogo2.png"),
 		core::position2d<s32>(5,5));
 
 	// loading text
@@ -577,7 +578,7 @@ void CDemo::createLoadingScreen()
 	// load bigger font
 
 	device->getGUIEnvironment()->getSkin()->setFont(
-		device->getGUIEnvironment()->getFont("../../media/fonthaettenschweiler.bmp"));
+		device->getGUIEnvironment()->getFont(MEDIADIR "/fonthaettenschweiler.bmp"));
 
 	// set new font color
 
@@ -639,7 +640,7 @@ void CDemo::shoot()
 		core::dimension2d<f32>(25,25), start);
 
 	node->setMaterialFlag(video::EMF_LIGHTING, false);
-	node->setMaterialTexture(0, device->getVideoDriver()->getTexture("../../media/fireball.bmp"));
+	node->setMaterialTexture(0, device->getVideoDriver()->getTexture(MEDIADIR "/fireball.bmp"));
 	node->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
 
 	f32 length = (f32)(end - start).getLength();
@@ -706,7 +707,7 @@ void CDemo::createParticleImpacts()
 			paf->drop();
 
 			pas->setMaterialFlag(video::EMF_LIGHTING, false);
-			pas->setMaterialTexture(0, device->getVideoDriver()->getTexture("../../media/smoke.bmp"));
+			pas->setMaterialTexture(0, device->getVideoDriver()->getTexture(MEDIADIR "/smoke.bmp"));
 			pas->setMaterialType(video::EMT_TRANSPARENT_VERTEX_ALPHA);
 
 			scene::ISceneNodeAnimator* anim = sm->createDeleteAnimator(2000);
@@ -752,7 +753,7 @@ void CDemo::startIrrKlang()
 
 	// play music
 
-	audio::ISound* snd = irrKlang->play2D("../../media/IrrlichtTheme.ogg", true, false, true);
+	audio::ISound* snd = irrKlang->play2D(MEDIADIR "/IrrlichtTheme.ogg", true, false, true);
 	if ( !snd )
 		snd = irrKlang->play2D("IrrlichtTheme.ogg", true, false, true);
 
@@ -764,8 +765,8 @@ void CDemo::startIrrKlang()
 
 	// preload both sound effects
 
-	ballSound = irrKlang->getSoundSource("../../media/ball.wav");
-	impactSound = irrKlang->getSoundSource("../../media/impact.wav");
+	ballSound = irrKlang->getSoundSource(MEDIADIR "/ball.wav");
+	impactSound = irrKlang->getSoundSource(MEDIADIR "/impact.wav");
 }
 #endif
 
@@ -782,12 +783,12 @@ void CDemo::startSound()
 	if (Mix_OpenAudio(22050, AUDIO_S16, 2, 128))
 		return;
 
-	stream = Mix_LoadMUS("../../media/IrrlichtTheme.ogg");
+	stream = Mix_LoadMUS(MEDIADIR "/IrrlichtTheme.ogg");
 	if (stream)
 		Mix_PlayMusic(stream, -1);
 
-	ballSound = Mix_LoadWAV("../../media/ball.wav");
-	impactSound = Mix_LoadWAV("../../media/impact.wav");
+	ballSound = Mix_LoadWAV(MEDIADIR "/ball.wav");
+	impactSound = Mix_LoadWAV(MEDIADIR "/impact.wav");
 }
 
 void CDemo::playSound(Mix_Chunk *sample)
diff --git a/irrlicht/examples/Demo/CDemo.h b/irrlicht/examples/Demo/CDemo.h
index ba9c514..88eb4e3 100644
--- a/irrlicht/examples/Demo/CDemo.h
+++ b/irrlicht/examples/Demo/CDemo.h
@@ -4,7 +4,7 @@
 #ifndef __C_DEMO_H_INCLUDED__
 #define __C_DEMO_H_INCLUDED__
 
-#define USE_IRRKLANG
+#undef USE_IRRKLANG
 //#define USE_SDL_MIXER
 
 #include <irrlicht.h>
diff --git a/irrlicht/examples/Demo/CMainMenu.cpp b/irrlicht/examples/Demo/CMainMenu.cpp
index 82ff36a..e972314 100644
--- a/irrlicht/examples/Demo/CMainMenu.cpp
+++ b/irrlicht/examples/Demo/CMainMenu.cpp
@@ -2,6 +2,7 @@
 // This file is not documentated.
 
 #include "CMainMenu.h"
+#include <config.h>
 
 
 //! we want the lights follow the model when it's moving
@@ -83,7 +84,7 @@ bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
 		core::dimension2d<s32>(512, 384), 16, false, false, false, this);
 
 	device->getFileSystem()->addZipFileArchive("irrlicht.dat");
-	device->getFileSystem()->addZipFileArchive("../../media/irrlicht.dat");
+	device->getFileSystem()->addZipFileArchive(MEDIADIR "/irrlicht.dat");
 
 	video::IVideoDriver* driver = device->getVideoDriver();
 	scene::ISceneManager* smgr = device->getSceneManager();
@@ -99,7 +100,7 @@ bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
 	newskin->drop();
 
 	// load font
-	gui::IGUIFont* font = guienv->getFont("../../media/fonthaettenschweiler.bmp");
+	gui::IGUIFont* font = guienv->getFont(MEDIADIR "/fonthaettenschweiler.bmp");
 	if (font)
 		guienv->getSkin()->setFont(font);
 
@@ -168,12 +169,12 @@ bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
 
 	// add md2 model
 
-	scene::IAnimatedMesh* mesh = smgr->getMesh("../../media/faerie.md2");
+	scene::IAnimatedMesh* mesh = smgr->getMesh(MEDIADIR "/faerie.md2");
 	scene::IAnimatedMeshSceneNode* modelNode = smgr->addAnimatedMeshSceneNode(mesh);
 	if (modelNode)
 	{
 		modelNode->setPosition ( core::vector3df ( 0.f, 0.f, -5.f ) );
-		modelNode->setMaterialTexture(0, driver->getTexture("../../media/faerie2.bmp"));
+		modelNode->setMaterialTexture(0, driver->getTexture(MEDIADIR "/faerie2.bmp"));
 		modelNode->setMaterialFlag(video::EMF_LIGHTING, true);
 		modelNode->getMaterial(0).Shininess = 28.f;
 		modelNode->getMaterial(0).NormalizeNormals = true;
@@ -207,7 +208,7 @@ bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
 	bill = smgr->addBillboardSceneNode(light1, core::dimension2d<f32>(10, 10));
 	bill->setMaterialFlag(video::EMF_LIGHTING, false);
 	bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
-	bill->setMaterialTexture(0, driver->getTexture("../../media/particlered.bmp"));
+	bill->setMaterialTexture(0, driver->getTexture(MEDIADIR "/particlered.bmp"));
 
 #if 1
 	// add light 2 (nearly red)
@@ -230,7 +231,7 @@ bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
 	bill = smgr->addBillboardSceneNode(light2, core::dimension2d<f32>(10, 10));
 	bill->setMaterialFlag(video::EMF_LIGHTING, false);
 	bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
-	bill->setMaterialTexture(0, driver->getTexture("../../media/particlered.bmp"));
+	bill->setMaterialTexture(0, driver->getTexture(MEDIADIR "/particlered.bmp"));
 
 	// add light 3 (nearly blue)
 	scene::ILightSceneNode* light3 =
@@ -252,7 +253,7 @@ bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
 
 	bill->setMaterialFlag(video::EMF_LIGHTING, false);
 	bill->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
-	bill->setMaterialTexture(0, driver->getTexture("../../media/portal1.bmp"));
+	bill->setMaterialTexture(0, driver->getTexture(MEDIADIR "/portal1.bmp"));
 #endif
 
 	// create a fixed camera
@@ -263,10 +264,10 @@ bool CMainMenu::run(bool& outFullscreen, bool& outMusic, bool& outShadows,
 	bool oldMipMapState = driver->getTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS);
 	driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, false);
 
-	guienv->addImage(driver->getTexture("../../media/irrlichtlogo2.png"),
+	guienv->addImage(driver->getTexture(MEDIADIR "/irrlichtlogo2.png"),
 		core::position2d<s32>(5,5));
 
-	video::ITexture* irrlichtBack = driver->getTexture("../../media/demoback.jpg");
+	video::ITexture* irrlichtBack = driver->getTexture(MEDIADIR "/demoback.jpg");
 
 	driver->setTextureCreationFlag(video::ETCF_CREATE_MIP_MAPS, oldMipMapState);
 
diff --git a/irrlicht/examples/Demo/Makefile.am b/irrlicht/examples/Demo/Makefile.am
new file mode 100644
index 0000000..8a99a6e
--- /dev/null
+++ b/irrlicht/examples/Demo/Makefile.am
@@ -0,0 +1,6 @@
+bin_PROGRAMS=irrlicht-Demo
+INCLUDES=-I$(top_srcdir)/include
+irrlicht_Demo_SOURCES = main.cpp resource.h CDemo.cpp CDemo.h CMainMenu.cpp CMainMenu.h
+irrlicht_Demo_LDADD = $(top_builddir)/source/Irrlicht/libIrrlicht.la
+
+EXTRA_DIST = resscript.rc icon.ico
diff --git a/irrlicht/examples/Makefile.am b/irrlicht/examples/Makefile.am
new file mode 100644
index 0000000..4402f40
--- /dev/null
+++ b/irrlicht/examples/Makefile.am
@@ -0,0 +1,19 @@
+SUBDIRS= 01.HelloWorld \
+	 02.Quake3Map \
+	 03.CustomSceneNode \
+	 04.Movement \
+	 05.UserInterface \
+	 06.2DGraphics \
+	 07.Collision \
+	 08.SpecialFX \
+	 09.Meshviewer \
+	 10.Shaders \
+	 11.PerPixelLighting \
+	 12.TerrainRendering \
+	 13.RenderToTexture \
+	 15.LoadIrrFile \
+	 16.Quake3MapShader \
+	 Demo
+
+EXTRA_DIST = 14.Win32Window
+
diff --git a/irrlicht/include/Makefile.am b/irrlicht/include/Makefile.am
new file mode 100644
index 0000000..37e17aa
--- /dev/null
+++ b/irrlicht/include/Makefile.am
@@ -0,0 +1,129 @@
+pkginclude_HEADERS = aabbox3d.h \
+		coreutil.h \
+		dimension2d.h \
+		EDriverTypes.h \
+		EGUIElementTypes.h \
+		ESceneNodeAnimatorTypes.h \
+		ESceneNodeTypes.h \
+		ETerrainElements.h \
+		fast_atof.h \
+		heapsort.h \
+		IAnimatedMeshB3d.h \
+		IAnimatedMesh.h \
+		IAnimatedMeshMD2.h \
+		IAnimatedMeshMD3.h \
+		IAnimatedMeshMS3D.h \
+		IAnimatedMeshSceneNode.h \
+		IAnimatedMeshX.h \
+		IAttributeExchangingObject.h \
+		IAttributes.h \
+		IBillboardSceneNode.h \
+		ICameraSceneNode.h \
+		ICursorControl.h \
+		IDummyTransformationSceneNode.h \
+		IEventReceiver.h \
+		IFileList.h \
+		IFileSystem.h \
+		IGPUProgrammingServices.h \
+		IGUIButton.h \
+		IGUICheckBox.h \
+		IGUIColorSelectDialog.h \
+		IGUIComboBox.h \
+		IGUIContextMenu.h \
+		IGUIEditBox.h \
+		IGUIElementFactory.h \
+		IGUIElement.h \
+		IGUIEnvironment.h \
+		IGUIFileOpenDialog.h \
+		IGUIFontBitmap.h \
+		IGUIFont.h \
+		IGUIImage.h \
+		IGUIInOutFader.h \
+		IGUIListBox.h \
+		IGUIMeshViewer.h \
+		IGUIScrollBar.h \
+		IGUISkin.h \
+		IGUISpriteBank.h \
+		IGUIStaticText.h \
+		IGUITabControl.h \
+		IGUIToolbar.h \
+		IGUIWindow.h \
+		IImage.h \
+		IImageLoader.h \
+		IImageWriter.h \
+		ILightSceneNode.h \
+		ILogger.h \
+		IMaterialRenderer.h \
+		IMaterialRendererServices.h \
+		IMeshBuffer.h \
+		IMeshCache.h \
+		IMesh.h \
+		IMeshLoader.h \
+		IMeshManipulator.h \
+		IMeshSceneNode.h \
+		IMetaTriangleSelector.h \
+		IOSOperator.h \
+		IParticleAffector.h \
+		IParticleEmitter.h \
+		IParticleSystemSceneNode.h \
+		IQ3LevelMesh.h \
+		IQ3Shader.h \
+		IReadFile.h \
+		irrAllocator.h \
+		irrArray.h \
+		IrrCompileConfig.h \
+		IrrlichtDevice.h \
+		irrlicht.h \
+		irrList.h \
+		irrMap.h \
+		irrMath.h \
+		irrString.h \
+		irrTypes.h \
+		irrXML.h \
+		ISceneCollisionManager.h \
+		ISceneManager.h \
+		ISceneNodeAnimatorCollisionResponse.h \
+		ISceneNodeAnimatorFactory.h \
+		ISceneNodeAnimator.h \
+		ISceneNodeFactory.h \
+		ISceneNode.h \
+		ISceneUserDataSerializer.h \
+		IShaderConstantSetCallBack.h \
+		IShadowVolumeSceneNode.h \
+		ITerrainSceneNode.h \
+		ITextSceneNode.h \
+		ITexture.h \
+		ITimer.h \
+		ITriangleSelector.h \
+		IUnknown.h \
+		IVideoDriver.h \
+		IVideoModeList.h \
+		IWriteFile.h \
+		IXMLReader.h \
+		IXMLWriter.h \
+		Keycodes.h \
+		line2d.h \
+		line3d.h \
+		matrix4.h \
+		plane3d.h \
+		position2d.h \
+		quaternion.h \
+		rect.h \
+		S3DVertex.h \
+		SAnimatedMesh.h \
+		SceneParameters.h \
+		SColor.h \
+		SExposedVideoData.h \
+		SIrrCreationParameters.h \
+		SKeyMap.h \
+		SLight.h \
+		SMaterial.h \
+		SMeshBuffer.h \
+		SMeshBufferLightMap.h \
+		SMeshBufferTangents.h \
+		SMesh.h \
+		SParticle.h \
+		SViewFrustum.h \
+		triangle3d.h \
+		vector2d.h \
+		vector3d.h
diff --git a/irrlicht/media/Makefile.am b/irrlicht/media/Makefile.am
new file mode 100644
index 0000000..67e3afb
--- /dev/null
+++ b/irrlicht/media/Makefile.am
@@ -0,0 +1,105 @@
+dist_media_DATA = 001shot.jpg \
+		 002shot.jpg \
+		 003shot.jpg \
+		 004shot.jpg \
+		 005shot.jpg \
+		 006shot.jpg \
+		 007shot.jpg \
+		 008shot.jpg \
+		 009shot.jpg \
+		 010shot.jpg \
+		 011shot.jpg \
+		 012shot.jpg \
+		 013shot.jpg \
+		 014shot.jpg \
+		 015shot.jpg \
+		 2ddemo.bmp \
+		 axe.jpg \
+		 ball.wav \
+		 bigfont.png \
+		 burninglogo.png \
+		 config.xml \
+		 d3d8.psh \
+		 d3d8.vsh \
+		 d3d9.hlsl \
+		 d3d9.psh \
+		 d3d9.vsh \
+		 demoback.bmp \
+		 detailmap3.jpg \
+		 directxlogo.png \
+		 dotnetback.jpg \
+		 dwarf.jpg \
+		 dwarf-Read-Me.txt \
+		 dwarf.x \
+		 earth.bmp \
+		 earthbump.bmp \
+		 earth.x \
+		 enano.jpg \
+		 example.irr \
+		 faerie2.bmp \
+		 Faerie5.BMP \
+		 faerie.md2 \
+		 fireball.bmp \
+		 fire.bmp \
+		 fontcourier.bmp \
+		 fonthaettenschweiler.bmp \
+		 fontlucida.png \
+		 help.png \
+		 impact.wav \
+		 irr.ico \
+		 irrlicht2_bk.jpg \
+		 irrlicht2_dn.jpg \
+		 irrlicht2_ft.jpg \
+		 irrlicht2_lf.jpg \
+		 irrlicht2_rt.jpg \
+		 irrlicht2_up.jpg \
+		 irrlicht.dat \
+		 irrlichtlogo2.png \
+		 irrlichtlogoaligned.jpg \
+		 irrlichtlogoalpha2.tga \
+		 irrlichtlogoalpha.tga \
+		 irrlichtlogo.BMP \
+		 irrlichtlogo.jpg \
+		 IrrlichtTheme.ogg \
+		 lucida0.png \
+		 lucida.xml \
+		 map-20kdm2.pk3 \
+		 map-20kdm2.txt \
+		 opengl.frag \
+		 opengllogo.png \
+		 opengl.psh \
+		 opengl.vert \
+		 opengl.vsh \
+		 open.png \
+		 particle.bmp \
+		 particlered.bmp \
+		 Particle.tga \
+		 particlewhite.bmp \
+		 portal1.bmp \
+		 portal2.bmp \
+		 portal3.bmp \
+		 portal4.bmp \
+		 portal5.bmp \
+		 portal6.bmp \
+		 portal7.bmp \
+		 rockwall.bmp \
+		 rockwall_height.bmp \
+		 room.3ds \
+		 rsptnback.jpg \
+		 smoke.bmp \
+		 sphere.3ds \
+		 spheremap.jpg \
+		 stones.jpg \
+		 sydney.bmp \
+		 sydney.md2 \
+		 t351sml.jpg \
+		 terrain-heightmap.bmp \
+		 terrain-texture.jpg \
+		 tools.png \
+		 vc6include.jpg \
+		 vc6optionsdir.jpg \
+		 vcnetinclude.jpg \
+		 wall.bmp \
+		 wall.jpg \
+		 water.jpg \
+		 zip.png
diff --git a/irrlicht/source/Irrlicht/Makefile.am b/irrlicht/source/Irrlicht/Makefile.am
new file mode 100644
index 0000000..39c0d50
--- /dev/null
+++ b/irrlicht/source/Irrlicht/Makefile.am
@@ -0,0 +1,353 @@
+
+lib_LTLIBRARIES = \
+		  libIrrlicht.la 
+
+AM_LDFLAGS = --no-export-all-symbols --add-stdcall-alias
+INCLUDES = $(PNG_CFLAGS) $(XXF86VM_CFLAGS) -I$(top_srcdir)/include
+
+
+libIrrlicht_la_SOURCES = COpenGLDriver.cpp \
+			       COpenGLNormalMapRenderer.cpp \
+			       COpenGLParallaxMapRenderer.cpp \
+			       COpenGLShaderMaterialRenderer.cpp \
+			       COpenGLTexture.cpp \
+			       COpenGLSLMaterialRenderer.cpp \
+			       CD3D8Driver.cpp \
+			       CD3D8NormalMapRenderer.cpp \
+			       CD3D8ParallaxMapRenderer.cpp \
+			       CD3D8ShaderMaterialRenderer.cpp \
+			       IBurningShader.cpp \
+			       CD3D8Texture.cpp \
+			       CColorConverter.cpp \
+			       CFPSCounter.cpp \
+			       CImage.cpp \
+			       CImageLoaderBMP.cpp \
+			       CImageLoaderJPG.cpp \
+			       CImageLoaderPCX.cpp \
+			       CImageLoaderPNG.cpp \
+			       CImageLoaderPSD.cpp \
+			       CImageLoaderTGA.cpp \
+			       CImageWriterBMP.cpp \
+			       CImageWriterJPG.cpp \
+			       CImageWriterPCX.cpp \
+			       CImageWriterPNG.cpp \
+			       CImageWriterPPM.cpp \
+			       CImageWriterPSD.cpp \
+			       CImageWriterTGA.cpp \
+			       CNullDriver.cpp \
+			       CD3D9Driver.cpp \
+			       CD3D9HLSLMaterialRenderer.cpp \
+			       CD3D9NormalMapRenderer.cpp \
+			       CD3D9ParallaxMapRenderer.cpp \
+			       CD3D9ShaderMaterialRenderer.cpp \
+			       CD3D9Texture.cpp \
+			       CVideoModeList.cpp
+libIrrlicht_la_LIBADD = $(PNG_LIBS) -ljpeg
+
+libIrrlicht_la_SOURCES += CSoftwareDriver.cpp \
+				  CSoftwareTexture.cpp \
+				  CTRFlat.cpp \
+				  CTRFlatWire.cpp \
+				  CTRGouraud.cpp \
+				  CTRGouraudWire.cpp \
+				  CTRTextureFlat.cpp \
+				  CTRTextureFlatWire.cpp \
+				  CTRTextureBlend.cpp \
+				  CTRTextureGouraud.cpp \
+				  CTRTextureGouraudAdd.cpp \
+				  CTRTextureGouraudNoZ.cpp \
+				  CTRTextureGouraudAlpha.cpp \
+				  CTRTextureGouraudAlphaNoZ.cpp \
+				  CTRTextureGouraudWire.cpp \
+				  CZBuffer.cpp \
+				  CDepthBuffer.cpp \
+				  CTRTextureGouraudVertexAlpha2.cpp \
+				  CTRTextureGouraudNoZ2.cpp \
+				  CTRTextureLightMap2_M2.cpp \
+				  CTRTextureLightMap2_M4.cpp \
+				  CTRTextureLightMap2_M1.cpp \
+				  CTRTextureLightMapGouraud2_M4.cpp \
+				  CSoftwareDriver2.cpp \
+				  CSoftwareTexture2.cpp \
+				  CTRTextureGouraud2.cpp \
+				  CTRGouraud2.cpp \
+				  CTRGouraudAlpha2.cpp \
+				  CTRGouraudAlphaNoZ2.cpp \
+				  CTRTextureDetailMap2.cpp \
+				  CTRTextureGouraudAdd2.cpp \
+				  CTRTextureGouraudAddNoZ2.cpp \
+				  CTRTextureWire2.cpp \
+				  CTRTextureLightMap2_Add.cpp
+
+libIrrlicht_la_SOURCES += CFileList.cpp \
+			   CFileSystem.cpp \
+			   CLimitReadFile.cpp \
+			   CMemoryReadFile.cpp \
+			   CReadFile.cpp \
+			   CWriteFile.cpp \
+			   CXMLReader.cpp \
+			   CXMLWriter.cpp \
+			   CZipReader.cpp \
+			   CPakReader.cpp \
+			   irrXML.cpp \
+			   CAttributes.cpp
+libIrrlicht_la_SOURCES += CIrrDeviceLinux.cpp \
+			       CIrrDeviceStub.cpp \
+			       CIrrDeviceWin32.cpp \
+			       CLogger.cpp \
+			       COSOperator.cpp \
+			       Irrlicht.cpp \
+			       os.cpp
+libIrrlicht_la_LIBADD += $(XXF86VM_LIBS)
+libIrrlicht_la_SOURCES += CGUIButton.cpp \
+			     CGUICheckBox.cpp \
+			     CGUIColorSelectDialog.cpp \
+			     CGUIComboBox.cpp \
+			     CGUIContextMenu.cpp \
+			     CGUIEditBox.cpp \
+			     CGUIEnvironment.cpp \
+			     CGUIFileOpenDialog.cpp \
+			     CGUIFont.cpp \
+			     CGUIImage.cpp \
+			     CGUIInOutFader.cpp \
+			     CGUIListBox.cpp \
+			     CGUIMenu.cpp \
+			     CGUIMeshViewer.cpp \
+			     CGUIMessageBox.cpp \
+			     CGUIModalScreen.cpp \
+			     CGUIScrollBar.cpp \
+			     CGUISkin.cpp \
+			     CGUISpriteBank.cpp \
+			     CGUIStaticText.cpp \
+			     CGUITabControl.cpp \
+			     CGUIToolBar.cpp \
+			     CGUIWindow.cpp \
+			     CDefaultGUIElementFactory.cpp
+libIrrlicht_la_SOURCES += C3DSMeshFileLoader.cpp \
+			 COgreMeshFileLoader.cpp \
+			 COBJMeshFileLoader.cpp \
+			 CMD3MeshFileLoader.cpp \
+			 CAnimatedMeshMD2.cpp \
+			 CAnimatedMeshMD3.cpp \
+			 CAnimatedMeshMS3D.cpp \
+			 CAnimatedMeshB3d.cpp \
+			 CAnimatedMeshSceneNode.cpp \
+			 CBillboardSceneNode.cpp \
+			 CCameraFPSSceneNode.cpp \
+			 CCameraMayaSceneNode.cpp \
+			 CCameraSceneNode.cpp \
+			 CQuake3ShaderSceneNode.cpp \
+			 CColladaFileLoader.cpp \
+			 CCSMLoader.cpp \
+			 CDefaultMeshFormatLoader.cpp \
+			 CDMFLoader.cpp \
+			 CDummyTransformationSceneNode.cpp \
+			 CEmptySceneNode.cpp \
+			 CGeometryCreator.cpp \
+			 CLightSceneNode.cpp \
+			 CLMTSMeshFileLoader.cpp \
+			 CMeshManipulator.cpp \
+			 CMeshSceneNode.cpp \
+			 CMetaTriangleSelector.cpp \
+			 CMY3DMeshFileLoader.cpp \
+			 COCTLoader.cpp \
+			 COctTreeSceneNode.cpp \
+			 COctTreeTriangleSelector.cpp \
+			 CParticleBoxEmitter.cpp \
+			 CParticleFadeOutAffector.cpp \
+			 CParticleGravityAffector.cpp \
+			 CParticlePointEmitter.cpp \
+			 CParticleSystemSceneNode.cpp \
+			 CQ3LevelMesh.cpp \
+			 CSceneCollisionManager.cpp \
+			 CSceneManager.cpp \
+			 CSceneNodeAnimatorCollisionResponse.cpp \
+			 CSceneNodeAnimatorDelete.cpp \
+			 CSceneNodeAnimatorFlyCircle.cpp \
+			 CSceneNodeAnimatorFlyStraight.cpp \
+			 CSceneNodeAnimatorFollowSpline.cpp \
+			 CSceneNodeAnimatorRotation.cpp \
+			 CSceneNodeAnimatorTexture.cpp \
+			 CShadowVolumeSceneNode.cpp \
+			 CSkyBoxSceneNode.cpp \
+			 CSkyDomeSceneNode.cpp \
+			 CTerrainSceneNode.cpp \
+			 CTerrainTriangleSelector.cpp \
+			 CCubeSceneNode.cpp \
+			 CSphereSceneNode.cpp \
+			 CTextSceneNode.cpp \
+			 CTriangleBBSelector.cpp \
+			 CTriangleSelector.cpp \
+			 CWaterSurfaceSceneNode.cpp \
+			 CXAnimationPlayer.cpp \
+			 CXFileReader.cpp \
+			 CXMeshFileLoader.cpp \
+			 CMeshCache.cpp \
+			 CDefaultSceneNodeAnimatorFactory.cpp \
+			 CDefaultSceneNodeFactory.cpp
+
+
+# JPEGLIBOBJ = jpeglib/jcapimin.o jpeglib/jcapistd.o jpeglib/jccoefct.o jpeglib/jccolor.o jpeglib/jcdctmgr.o jpeglib/jchuff.o jpeglib/jcinit.o jpeglib/jcmainct.o jpeglib/jcmarker.o jpeglib/jcmaster.o jpeglib/jcomapi.o jpeglib/jcparam.o jpeglib/jcphuff.o jpeglib/jcprepct.o jpeglib/jcsample.o jpeglib/jctrans.o jpeglib/jdapimin.o jpeglib/jdapistd.o jpeglib/jdatadst.o jpeglib/jdatasrc.o jpeglib/jdcoefct.o jpeglib/jdcolor.o jpeglib/jddctmgr.o jpeglib/jdhuff.o jpeglib/jdinput.o jpeglib/jdmainct.o jpeglib/jdmarker.o jpeglib/jdmaster.o jpeglib/jdmerge.o jpeglib/jdphuff.o jpeglib/jdpostct.o jpeglib/jdsample.o jpeglib/jdtrans.o jpeglib/jerror.o jpeglib/jfdctflt.o jpeglib/jfdctfst.o jpeglib/jfdctint.o jpeglib/jidctflt.o jpeglib/jidctfst.o jpeglib/jidctint.o jpeglib/jidctred.o jpeglib/jmemmgr.o jpeglib/jmemnobs.o jpeglib/jquant1.o jpeglib/jquant2.o jpeglib/jutils.o jpeglib/rdbmp.o jpeglib/rdcolmap.o jpeglib/rdgif.o jpeglib/rdppm.o jpeglib/rdrle.o jpeglib/rdswitch.o jpeglib/rdtarga.o jpeglib/transupp.o jpeglib/wrbmp.o jpeglib/wrgif.o jpeglib/wrppm.o jpeglib/wrrle.o jpeglib/wrtarga.o
+libIrrlicht_la_SOURCES += BuildInFont.h \
+			  C3DSMeshFileLoader.h \
+			  CAnimatedMeshB3d.h \
+			  CAnimatedMeshMD2.h \
+			  CAnimatedMeshMS3D.h \
+			  CAnimatedMeshSceneNode.h \
+			  CAttributeImpl.h \
+			  CAttributes.h \
+			  CBillboardSceneNode.h \
+			  CCameraFPSSceneNode.h \
+			  CCameraMayaSceneNode.h \
+			  CCameraSceneNode.h \
+			  CColladaFileLoader.h \
+			  CColorConverter.h \
+			  CCSMLoader.h \
+			  CCubeSceneNode.h \
+			  CD3D8Driver.h \
+			  CD3D8MaterialRenderer.h \
+			  CD3D8NormalMapRenderer.h \
+			  CD3D8ParallaxMapRenderer.h \
+			  CD3D8ShaderMaterialRenderer.h \
+			  CD3D8Texture.h \
+			  CD3D9Driver.h \
+			  CD3D9HLSLMaterialRenderer.h \
+			  CD3D9MaterialRenderer.h \
+			  CD3D9NormalMapRenderer.h \
+			  CD3D9ParallaxMapRenderer.h \
+			  CD3D9ShaderMaterialRenderer.h \
+			  CD3D9Texture.h \
+			  CDefaultMeshFormatLoader.h \
+			  CDefaultSceneNodeAnimatorFactory.h \
+			  CDefaultSceneNodeFactory.h \
+			  CDMFLoader.h \
+			  CDummyTransformationSceneNode.h \
+			  CEmptySceneNode.h \
+			  CFileList.h \
+			  CFileSystem.h \
+			  CFPSCounter.h \
+			  CGeometryCreator.h \
+			  CGUIButton.h \
+			  CGUICheckBox.h \
+			  CGUIComboBox.h \
+			  CGUIContextMenu.h \
+			  CGUIEditBox.h \
+			  CGUIEnvironment.h \
+			  CGUIFileOpenDialog.h \
+			  CGUIFont.h \
+			  CGUIImage.h \
+			  CGUIInOutFader.h \
+			  CGUIListBox.h \
+			  CGUIMenu.h \
+			  CGUIMeshViewer.h \
+			  CGUIMessageBox.h \
+			  CGUIModalScreen.h \
+			  CGUIScrollBar.h \
+			  CGUISkin.h \
+			  CGUIStaticText.h \
+			  CGUITabControl.h \
+			  CGUIToolBar.h \
+			  CGUIWindow.h \
+			  CImage.h \
+			  CImageLoaderBMP.h \
+			  CImageLoaderJPG.h \
+			  CImageLoaderPCX.h \
+			  CImageLoaderPNG.h \
+			  CImageLoaderPSD.h \
+			  CImageLoaderTGA.h \
+			  CImageWriterBMP.h \
+			  CImageWriterJPG.h \
+			  CImageWriterPCX.h \
+			  CImageWriterPNG.h \
+			  CImageWriterPPM.h \
+			  CImageWriterPSD.h \
+			  CImageWriterTGA.h \
+			  CIrrDeviceLinux.h \
+			  CIrrDeviceStub.h \
+			  CIrrDeviceWin32.h \
+			  CLightSceneNode.h \
+			  CLimitReadFile.h \
+			  CLMTSMeshFileLoader.h \
+			  CLogger.h \
+			  CMemoryReadFile.h \
+			  CMeshCache.h \
+			  CMeshManipulator.h \
+			  CMeshSceneNode.h \
+			  CMetaTriangleSelector.h \
+			  CMY3DHelper.h \
+			  CMY3DMeshFileLoader.h \
+			  CMY3DStuff.h \
+			  CNullDriver.h \
+			  COBJMeshFileLoader.h \
+			  COCTLoader.h \
+			  COctTreeSceneNode.h \
+			  COctTreeTriangleSelector.h \
+			  COgreMeshFileLoader.h \
+			  COpenGLDriver.h \
+			  COpenGLMaterialRenderer.h \
+			  COpenGLNormalMapRenderer.h \
+			  COpenGLParallaxMapRenderer.h \
+			  COpenGLShaderMaterialRenderer.h \
+			  COpenGLSLMaterialRenderer.h \
+			  COpenGLTexture.h \
+			  COSOperator.h \
+			  CPakReader.h \
+			  CParticleBoxEmitter.h \
+			  CParticleFadeOutAffector.h \
+			  CParticleGravityAffector.h \
+			  CParticlePointEmitter.h \
+			  CParticleSystemSceneNode.h \
+			  CQ3LevelMesh.h \
+			  CReadFile.h \
+			  CSceneCollisionManager.h \
+			  CSceneManager.h \
+			  CSceneNodeAnimatorCollisionResponse.h \
+			  CSceneNodeAnimatorDelete.h \
+			  CSceneNodeAnimatorFlyCircle.h \
+			  CSceneNodeAnimatorFlyStraight.h \
+			  CSceneNodeAnimatorFollowSpline.h \
+			  CSceneNodeAnimatorRotation.h \
+			  CSceneNodeAnimatorTexture.h \
+			  CShadowVolumeSceneNode.h \
+			  CSkyBoxSceneNode.h \
+			  CSkyDomeSceneNode.h \
+			  CSoftware2MaterialRenderer.h \
+			  CSoftwareDriver2.h \
+			  CSoftwareDriver.h \
+			  CSoftwareTexture2.h \
+			  CSoftwareTexture.h \
+			  CSphereSceneNode.h \
+			  CTerrainSceneNode.h \
+			  CTerrainTriangleSelector.h \
+			  CTextSceneNode.h \
+			  CTimer.h \
+			  CTriangleBBSelector.h \
+			  CTriangleSelector.h \
+			  CTRTextureGouraud.h \
+			  CVideoModeList.h \
+			  CWaterSurfaceSceneNode.h \
+			  CWriteFile.h \
+			  CXAnimationPlayer.h \
+			  CXFileReader.h \
+			  CXMeshFileLoader.h \
+			  CXMLReader.h \
+			  CXMLReaderImpl.h \
+			  CXMLWriter.h \
+			  CZBuffer2.h \
+			  CZBuffer.h \
+			  CZipReader.h \
+			  dmfsupport.h \
+			  fast_atof.h \
+			  glext.h \
+			  GUIIcons.h \
+			  IImagePresenter.h \
+			  ITriangleRenderer2.h \
+			  ITriangleRenderer.h \
+			  IZBuffer2.h \
+			  IZBuffer.h \
+			  OctTree.h \
+			  os.h \
+			  S2DVertex.h \
+			  S4DVertex.h \
+			  SoftwareDriver2_compile_config.h \
+			  SoftwareDriver2_helper.h
diff --git a/irrlicht/source/Makefile.am b/irrlicht/source/Makefile.am
new file mode 100644
index 0000000..89de5bb
--- /dev/null
+++ b/irrlicht/source/Makefile.am
@@ -0,0 +1 @@
+SUBDIRS=Irrlicht
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin