Index: orxonox/trunk/core/Makefile
===================================================================
--- orxonox/trunk/core/Makefile	(revision 1849)
+++ orxonox/trunk/core/Makefile	(revision 1850)
@@ -1,4 +1,5 @@
 
-CPLUSPLUS = g++
+CC = gcc
+CXX = g++
 APP_LIB_DEPS = -lglut -lGLU -lGL -lm -L/usr/X11R6/lib -lXt -lX11
 GL_LIB = libGL.so
@@ -8,5 +9,5 @@
 OSMESA_LIB = libOSMesa.so
 
-CFLAGS = -O3 -ansi -pedantic -fPIC -ffast-math -I/usr/X11R6/include
+CFLAGS = -O3 -pedantic -fPIC -ffast-math -I/usr/X11R6/include
 CXXFLAGS = -fPIC -O3
 GLUT_CFLAGS = -fexceptions
@@ -25,15 +26,56 @@
 	orxonox \
 
+HEADERS = \
+	orxonox.h \
+	data_core.h
+	
+SOURCES = \
+	orxonox.cc \
+	data_core.cc
+
+OBJECTS = \
+	orxonox.o \
+	data_tank.o
+
+TARGET = orxonox
+
 .SUFFIXES:
 .SUFFIXES: .cc
 
-.cc: $(LIB_DEP)
-	$(CPLUSPLUS) -I$(INCDIR) $(CFLAGS) $< $(LIBS) -o $@
+#.cc: $(LIB_DEP)
+#	$(CXX) -I$(INCDIR) $(CFLAGS) $< $(LIBS) -o $@
 
-default:
-targets: $(PROGS)
+.cc.o:
+	$(CXX) -c $(CFLAGS) -I$(INCDIR) -o $@ $<
+
+
+#### build
+
+all: $(TARGET)
+
+$(TARGET): $(LIB_DEP) $(OBJECTS)
+	$(CXX) $(LIBS) -o $(TARGET) $(OBJECTS)
+
+
+help:
+	@echo "Cleaning targets:"
+	@echo "  clean		- remove most generated files"
+	@echo ""
+	@echo "Generic targets:"
+	@echo "  all		- Build all targets"
+	@echo ""
+	@echo "For further info see the README file"
 	
-
 clean:
 	rm -rf *.o *~ $(PROGS)
 
+
+####compile
+
+orxonox.o: orxonox.cc \
+		orxonox.h \
+
+data_tank.o: data_tank.cc \
+		data_tank.h	
+	
+#EOF
Index: orxonox/trunk/core/Makefile.simple
===================================================================
--- orxonox/trunk/core/Makefile.simple	(revision 1850)
+++ orxonox/trunk/core/Makefile.simple	(revision 1850)
@@ -0,0 +1,67 @@
+
+CPLUSPLUS = g++
+APP_LIB_DEPS = -lglut -lGLU -lGL -lm -L/usr/X11R6/lib -lXt -lX11
+GL_LIB = libGL.so
+GLU_LIB = libGLU.so
+GLUT_LIB = libglut.so
+GLW_LIB = libGLw.so
+OSMESA_LIB = libOSMesa.so
+
+CFLAGS = -O3 -pedantic -fPIC -ffast-math -I/usr/X11R6/include
+CXXFLAGS = -fPIC -O3
+GLUT_CFLAGS = -fexceptions
+
+TOP = ../..
+INCDIR = /usr/Mesa-6.0.1/include
+LIBDIR = /usr/Mesa-6.0.1/lib
+
+LIBS = -L$(LIBDIR) $(APP_LIB_DEPS)
+
+OSMESA_LIBS = -L$(LIBDIR) -lglut -lOSMesa -lGLU -lGL $(APP_LIB_DEPS)
+
+LIB_DEP = $(LIBDIR)/$(GL_LIB) $(LIBDIR)/$(GLU_LIB) $(LIBDIR)/$(GLUT_LIB)
+
+PROGS = \
+	orxonox \
+
+HEADERS = \
+	orxonox.h \
+	data_core.h
+	
+SOURCES = \
+	orxonox.cc \
+	data_core.cc
+
+OBJECTS = \
+	orxonox.o \
+	data_core.o
+
+TARGET = orxonox
+
+.SUFFIXES:
+.SUFFIXES: .cc
+
+.cc: $(LIB_DEP)
+	$(CPLUSPLUS) -I$(INCDIR) $(CFLAGS) $< $(LIBS) -o $@
+
+default: $(PROGS)
+
+help:
+	@echo "Cleaning targets:"
+	@echo "  clean		- remove most generated files"
+	@echo ""
+	@echo "Generic targets:"
+	@echo "  all		- Build all targets"
+	@echo ""
+	@echo "For further info see the README file"
+	
+clean:
+	rm -rf *.o *~ $(PROGS)
+
+
+orxonox.o: orxonox.cc \
+		orxonox.h \
+		data_core.cc \
+		data_core.h
+	
+#EOF
Index: orxonox/trunk/core/data_tank.cc
===================================================================
--- orxonox/trunk/core/data_tank.cc	(revision 1850)
+++ orxonox/trunk/core/data_tank.cc	(revision 1850)
@@ -0,0 +1,24 @@
+
+/* 
+   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.
+*/
+
+
+#include "data_tank.h"
+
+
+
+DataTank::DataTank () {}
+
+
+
+DataTank::~DataTank () {}
+
+
Index: orxonox/trunk/core/data_tank.h
===================================================================
--- orxonox/trunk/core/data_tank.h	(revision 1850)
+++ orxonox/trunk/core/data_tank.h	(revision 1850)
@@ -0,0 +1,14 @@
+
+#ifndef DATA_TANK_H
+#define DATA_TANK_H
+
+
+class DataTank {
+
+ private:
+  DataTank ();
+  ~DataTank ();
+
+};
+
+#endif
Index: orxonox/trunk/core/orxonox.cc
===================================================================
--- orxonox/trunk/core/orxonox.cc	(revision 1849)
+++ orxonox/trunk/core/orxonox.cc	(revision 1850)
@@ -1,2 +1,28 @@
+/* 
+   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.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software Foundation,
+   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  
+
+*/
+
+
+
+
+
+
 /* class definition header */
 #include "orxonox.h"
@@ -13,9 +39,23 @@
 
 
-Orxonox::Orxonox() {}
-Orxonox::~Orxonox() {}
+Orxonox::Orxonox () {}
 
 
-int Orxonox::globalInit(int argc, char** argv) 
+
+Orxonox::~Orxonox () {}
+
+
+/* this is a singleton class to prevent dublicates */
+Orxonox* Orxonox::singleton_ref = 0;
+Orxonox* Orxonox::getInstance (void)
+{
+  if (singleton_ref == NULL)
+    singleton_ref = new Orxonox();
+  return singleton_ref;
+}
+
+
+
+int Orxonox::globalInit (int argc, char** argv) 
 {
   glutInit(&argc, argv);
@@ -25,15 +65,19 @@
   glutCreateWindow("orxOnox");
   /* window event dispatchers */
-  /*
-    glutDisplayFunc(display);
-    glutReshapeFunc(resphape);
-    glutMainLoop();
-  */
+  glutDisplayFunc(display);
+  glutReshapeFunc(reshape);
 }
 
 
-int Orxonox::menuInit()
+
+int Orxonox::menuInit (void)
 {
   glClearColor(0.0, 0.0, 0.0, 0.0);
+}
+
+
+
+int Orxonox::gameInit (void) 
+{
 
 }
@@ -41,16 +85,30 @@
 
 
-int Orxonox::gameInit() 
+void Orxonox::display (void) 
 {
+  glClear(GL_COLOR_BUFFER_BIT);
+  glutSwapBuffers();
+} 
 
+
+
+void Orxonox::reshape (int w, int h)
+{
+  glViewport(0, 0, (GLsizei) w, (GLsizei) h);
+  glMatrixMode(GL_PROJECTION);
+  glLoadIdentity();
+  glOrtho(-50.0, 50.0, -50.0, 50.0, -1.0, 1.0);
+  glMatrixMode(GL_MODELVIEW);
+  glLoadIdentity(); //pb why a second time?
 }
 
 
-int main( int argc, char** argv ) 
+
+int main (int argc, char** argv) 
 {  
-  Orxonox orx;
-  orx.globalInit(argc, argv);
-  orx.menuInit();
-  
+  Orxonox *orx = Orxonox::getInstance();
+  (*orx).globalInit(argc, argv);
+  (*orx).menuInit();
+  glutMainLoop();
   return 0;
 }
Index: orxonox/trunk/core/orxonox.h
===================================================================
--- orxonox/trunk/core/orxonox.h	(revision 1849)
+++ orxonox/trunk/core/orxonox.h	(revision 1850)
@@ -2,15 +2,24 @@
 #define ORXONOX_H
 
+#define NULL 0
+
 class Orxonox {
 
+ private:
+  static Orxonox *singleton_ref;
+  Orxonox ();
+  ~Orxonox ();
+
  public:
-  Orxonox();
-  ~Orxonox();
 
-  int globalInit(int argc, char** argv);
-  int menuInit();
-  int gameInit();
+  static Orxonox* getInstance (void);
 
+  int globalInit (int argc, char** argv);
+  int menuInit (void);
+  int gameInit (void);
+  static void display (void);
+  static void reshape (int w, int h);
 };
 
 #endif
+
