/*! \file stdincl.h \brief This file includes default headers that nearly every Class needs. no Class is defined here, but many headers to classes, and more general Headers like the openGL-header. */ #ifndef _STDINCL_H #define _STDINCL_H #define null 0 //!< null typedef unsigned char byte; // this includes the information from configure/makefiles #if HAVE_CONFIG_H #include #endif #ifdef __WIN32__ #include #endif #include #include #include #include "glincl.h" #include "error.h" #include "debug.h" // MATH // #include "vector.h" #include "tinyxml.h" #include "list.h" #include "list_template.h" #include "message_structures.h" #include "orxonox.h" #include "data_tank.h" #include "base_object.h" #include "factory.h" #define CREATE_FACTORY(x) \ class x ## Factory : public Factory { \ public: \ x ## Factory (){setNext( NULL); setClassname( #x ); initialize();} \ ~x ## Factory () {}; \ private: \ BaseObject* fabricate( TiXmlElement* root) \ { \ if(!strcmp(root->Value(), getClassname())) return new x ( root); \ else if( getNext() != NULL) return getNext()->fabricate( root); \ else return NULL; \ } \ }; \ x ## Factory global_ ## x ## Factory; #endif /* _STDINCL_H */