Index: /orxonox/trunk/ToDo
===================================================================
--- /orxonox/trunk/ToDo	(revision 1903)
+++ /orxonox/trunk/ToDo	(revision 1904)
@@ -6,4 +6,6 @@
 
 - perspective change: smooth glide back in zero mode (pb)
+- efficency in garbage collection ShootLaser
+- player speed, *speed setting smoother (now taking current fps rate): average
 
 
Index: /orxonox/trunk/article.txt
===================================================================
--- /orxonox/trunk/article.txt	(revision 1904)
+++ /orxonox/trunk/article.txt	(revision 1904)
@@ -0,0 +1,28 @@
+
+Open Source Projekt Orxonox
+
+Ihr wisst alle, was Open Source Software ist. Das sagt euch nichts? Lasst es mich kurz erklren: Open Source beinhaltet die Freiheit, Software gratis benutzen, verbessern und weiterentwickeln zu drfen. 
+In der Praxis heisst das, ihr erhaltet den Source Code, ihr macht daraus was ihr wollt und stellt es der Welt wieder zur Verfgung. Durch diese Freiheiten knnen mehrere Programmierer ihre Strken ausspielen, damit das Endprodukt optimal wird. Nun, das war noch nicht die ganze Wahrheit. Open Source ist nicht nur eine bestimmte Art Software zu entwickeln, es ist bei verschiedenen Programmierern schon zu einer Art Religion geworden. Open Source Programmierer werden beflgelt von der Idee, dass ein Programmiercode, der von tausenden von Menschen auf der Erde angesehen und verbessert wurde, eine Reife erhlt, die nicht von Einzelpersonen oder Teams erbracht werden knnte. Dazu kommt der Gedanke, dass viele Menschen, oft verstreut ber den ganzen Globus, an einem Problem arbeiten, was das globale Verstndnis frdert.
+
+Dass eine Zusammenarbeit, ohne dass man sich sehen kann, etwas Kompliziertes ist, leuchtet euch wohl allen ein. Was sind die Voraussetzungen, damit man Millionen von Lichtjahren Distanzen zum Trotz, miteinander arbeiten kann? Kommunikation und Teilen des erzeugten Codes. Im Verlaufe der Jahre haben sich mehrere Mglichkeiten durchgesetzt, um diese Voraussetzungen zu erfllen. Fr die Kommunikation sind dies: Email, Mailing-Lists und IRC oder aber ein neuartigeres Chatprogramm (ICQ, AIM, MSN, Yahoo,...).
+Der Urvater der Kaffeekrnzchen, IRC ist alt, sehr alt. Sehr wahrscheinlich haben schon die alten Griechen IRC gebraucht, um ihre Erfindungen untereinander auszutauschen (eine Art altmodische Open Source Community). 
+Fr das Abstimmen der Arbeit aufeinander werden die Programme CVS und SVN (Subversion) gebraucht. Diese beiden Programme sind Versionskontrollprogramme. Sie helfen ein Projekt immer auf dem neuesten Stand zu halten und verhindern, dass der eine mit seinen nderungen berschreibt, was der andere geschrieben hat (das kennt ihr sicher von Word oder von sonstwo). Diese Programme ermglichen also beispielsweise, dass beliebig viele Personen gleichzeitig an einem File arbeiten.
+
+Jetzt hab ich euch sicher soweit, dass ihr entweder angewidert den "Blitz" zuschlgt oder aber ihr erliegt dem Lockruf der Open Source Software Community.
+Eine Erhhung des Geekfaktors ntig? Lest weiter...
+
+Zugegeben, ich schreibe diesen Artikel nicht nur, um die Aufmerksamkeit auf Open Source zu lenken. Ein Teil der Aufmerksamkeit wrde ich gerne auf ein eigenes Open Source Projekt lenken: Orxonox.
+Trommelwirbel, Fanfare: Orxonox ist unser eigenes kleines Open Source Projekt, ein Game, dessen Genre schon fast am aussterben ist: Ein Arcade Game. 
+Environment: OpenGL, Linux X11, Windows, Mac
+License: GNU Public Licence (GPL)
+Operating System: Linux (primary), Windows (secondary), MacOSX (wenn mglich)
+Language: C++ OOP (Objektorientiert :) )
+Team: Unter "wir" verstehen wir momentan Patrick Bnzli, Benjamin Grauer, Johannes Bader, Simon Hofmann, Adrian Buerli und David Grtter.
+
+Seit etwa einem Monat arbeiten wir pausenlos an einem Framework fr dieses Game. Und wir nun haben wir es vollbracht: man kann einen Wrfel steuern, der seinerseits kleine Wrfel abschiessen kann, whrend am Boden ein paar schwer erahnbare Berge vorbeisausen. Die Grafik ist in OpenGL implementiert und zeichnet unsere Welt in 3D, momentan noch in Wireframe (alles Striche, noch keine Oberflchen). Ihr werden jetzt vielleicht sagen: Also was soll denn das fr ein Game werden?
+1. Das sind die Grundlagen, am besten macht man alles schn Schritt fr Schritt...
+2. Orxonox soll nicht das mega-ultra-krasse Arcade Game werden, dass uns alle berhmt machen soll. Es macht Spass daran zu arbeiten. Es macht Spass naechtelang an kleinen Algorithmen sich die Zaehne auszubeissen und dann am schluss stolz 2fps mehr aufweisen zu duerfen.
+
+And now, I'll make you an offer, you can't refuse :) Wir suchen Programmierinnen und Modler, Soundarchitekten und Grafiker mit Geek-Level 4.3, die Lust htten bei uns mitzumachen. Wenn du dich angesprochen fhlst, oder einfach nur Lust hast, dann bist du sehr willkommen.
+Du willst nichts mit dem Computer machen und trotzdem helfen? Hmm... Wir freuen uns natrlich immer ber kleinere nicht-finanzielle Gaben wie Bier, Wein, Kaffee, Teddybren, Grill-Artikel, nette Mails, bse Mails, Bugreports, Opfergaben, etc.
+Wir fuehren am Donnerstag, 09.06.04 
Index: /orxonox/trunk/core/Makefile
===================================================================
--- /orxonox/trunk/core/Makefile	(revision 1903)
+++ /orxonox/trunk/core/Makefile	(revision 1904)
@@ -42,5 +42,6 @@
 	input_output.o \
 	environment.o \
-	shoot_laser.o
+	shoot_laser.o \
+	ai.o
 
 TARGET = orxonox
Index: /orxonox/trunk/core/ai.cc
===================================================================
--- /orxonox/trunk/core/ai.cc	(revision 1904)
+++ /orxonox/trunk/core/ai.cc	(revision 1904)
@@ -0,0 +1,32 @@
+
+
+/* 
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Patrick Boenzli
+   co-programmer: ...
+*/
+
+
+#include "ai.h"
+
+
+using namespace std;
+
+
+
+AI::AI () {}
+
+
+
+AI::~AI () {}
+
+
Index: /orxonox/trunk/core/ai.h
===================================================================
--- /orxonox/trunk/core/ai.h	(revision 1904)
+++ /orxonox/trunk/core/ai.h	(revision 1904)
@@ -0,0 +1,15 @@
+
+#ifndef AI_H
+#define AI_H
+
+#include "data_tank.h"
+
+class AI {
+
+ public:
+  AI ();
+  ~AI ();
+
+};
+
+#endif
Index: /orxonox/trunk/core/data_tank.h
===================================================================
--- /orxonox/trunk/core/data_tank.h	(revision 1903)
+++ /orxonox/trunk/core/data_tank.h	(revision 1904)
@@ -6,5 +6,5 @@
 class DataTank {
 
- private:
+ public:
   DataTank ();
   ~DataTank ();
Index: /orxonox/trunk/core/environment.h
===================================================================
--- /orxonox/trunk/core/environment.h	(revision 1903)
+++ /orxonox/trunk/core/environment.h	(revision 1904)
@@ -6,5 +6,5 @@
 #define ENVIRONEMENT_H
 
-
+#include "data_tank.h"
 
 class Environment {
Index: /orxonox/trunk/core/input_output.h
===================================================================
--- /orxonox/trunk/core/input_output.h	(revision 1903)
+++ /orxonox/trunk/core/input_output.h	(revision 1904)
@@ -9,4 +9,5 @@
 #include "player.h"
 
+#include "data_tank.h"
 
 class InputOutput {
Index: /orxonox/trunk/core/npc.cc
===================================================================
--- /orxonox/trunk/core/npc.cc	(revision 1903)
+++ /orxonox/trunk/core/npc.cc	(revision 1904)
@@ -53,4 +53,9 @@
 
 
+void NPC::addAI(AI* ai)
+{
+
+}
+
 
 void NPC::drawNPC(void) 
Index: /orxonox/trunk/core/npc.h
===================================================================
--- /orxonox/trunk/core/npc.h	(revision 1903)
+++ /orxonox/trunk/core/npc.h	(revision 1904)
@@ -5,4 +5,7 @@
 /* openGL Headers */
 #include <GL/glut.h>
+
+#include "ai.h"
+#include "data_tank.h"
 
 class NPC {
@@ -22,4 +25,5 @@
   void setPosition(float x, float y, float z);
   void getPosition(float* x, float* y, float* z);
+  void addAI(AI* ai);
   void setCollisionRadius(float r);
   float getCollisionRadius();
Index: /orxonox/trunk/core/player.h
===================================================================
--- /orxonox/trunk/core/player.h	(revision 1903)
+++ /orxonox/trunk/core/player.h	(revision 1904)
@@ -7,5 +7,5 @@
 
 #include "shoot_laser.h"
-//#include "world.h"
+#include "data_tank.h"
 
 class Player {
Index: /orxonox/trunk/core/proto_class.h
===================================================================
--- /orxonox/trunk/core/proto_class.h	(revision 1903)
+++ /orxonox/trunk/core/proto_class.h	(revision 1904)
@@ -3,8 +3,9 @@
 #define PROTO_CLASS_H
 
+#include "data_tank.h"
 
 class ProtoClass {
 
- private:
+ public:
   ProtoClass ();
   ~ProtoClass ();
Index: /orxonox/trunk/core/shoot_laser.h
===================================================================
--- /orxonox/trunk/core/shoot_laser.h	(revision 1903)
+++ /orxonox/trunk/core/shoot_laser.h	(revision 1904)
@@ -7,4 +7,5 @@
 
 #include "stdincl.h"
+#include "data_tank.h"
 
 class ShootLaser {
Index: /orxonox/trunk/core/world.h
===================================================================
--- /orxonox/trunk/core/world.h	(revision 1903)
+++ /orxonox/trunk/core/world.h	(revision 1904)
@@ -13,4 +13,5 @@
 #include "shoot_laser.h"
 #include "stdincl.h"
+#include "data_tank.h"
 
 class World {
