Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 3681 in orxonox.OLD for orxonox/branches/textEngine


Ignore:
Timestamp:
Mar 30, 2005, 9:02:23 PM (20 years ago)
Author:
bensch
Message:

orxonox/branches/textEngine: merged trunk here.
merged with command:
svn merge ../trunk textEngine -r 3467:HEAD
no conflicts

Location:
orxonox/branches/textEngine
Files:
65 deleted
27 edited
167 copied

Legend:

Unmodified
Added
Removed
  • orxonox/branches/textEngine/ChangeLog

    r1956 r3681  
     12005-03-16      orxonox
     2        Finished work on version 0.2.1-pre-alpha released 0.2.2-pre-alpha
     3
     42005-03-15      Patrick Boenzli <patrick@orxonox.ethz.ch>
     5        parenting finished
     6
     72005-03-09      Patrick Boenzli <patrick@orxonox.ethz.ch>
     8        Big Cleanup again
     9       
     102005-03-01      Benjamin Grauer <bensch@orxonox.ethz.ch>
     11        Added Light Class
     12       
     132005-02-27      Benjamin Grauer <bensch@orxonox.ethz.ch>
     14        Big Configure.ac-cleanup
     15
     162005-02-22      David Gruetter <davgr@gmx.ch>
     17        Added Skysphere
     18       
     192005-01-07      Patrick Boenzli <patrick@orxonox.ethz.ch>
     20        LoadScreen implemented
     21       
     222004-12-20      Patrick Boenzli <patrick@orxonox.ethz.ch>
     23        New Version out 0.2.1-pre-alpha
     24       
     252004-12-20      Patrick Boenzli <patrick@orxonox.ethz.ch>
     26        HEAVY cleanup of the framework
     27
     282004-12-18      Patrick Boenzli <patrick@orxonox.ethz.ch>
     29        enhanced the Command Node
     30
     312004-12-15      Nico Benold <bernoldn@ee.ethz.ch>
     32        OS X support
     33       
     342004-12-15      Benjamin Grauer <bensch@orxonox.ethz.ch>
     35        Defined standard coding rules
     36
     372004-12-15      Benjamin Grauer <bensch@orxonox.ethz.ch>
     38        Added Importer for showing 3D Object.
     39
     402004-11-07      David Gruetter <davgr@gmx.ch>
     41        Shaded Terrain
     42       
     432004-10-23      Adrian Buerli <buerlia@ee.ethz.ch>
     44        Dynamic Mountains, dynamic movement.
     45       
     462004-10-18      Patrick Boenzli <patrick@orxonox.ethz.ch>
     47        Release 0.1-pre-alpha
     48
     492004-07-17      Christian Meyer <cmeyer@ee.ethz.ch>
     50        SDL-Framework
     51       
     522004-06-09      Tom of ethz
     53        Added endless Mountains
     54
     552004-06-02      Benjamin Grauer <bensch@orxonox.ethz.ch>
     56        Added Console
     57       
     582004-05-20      Patrick Boenzli <patrick@orxonox.ethz.ch>
     59        Added the ability to shoot
     60
     612004-05-05      Benjamin Grauer <bensch@orxonox.ethz.ch>
     62        Added the GUI.
     63
     642004-04-21      Patrik Boenzli <patrick@orxonox.ethz.ch>
     65        Added Makefile to orxonox
     66
     672004-04-25      Amir Guindehi <amir@guindehi.ch>
     68        Created Project Orxonox
     69       
     70
     71       
  • orxonox/branches/textEngine/INSTALL

    r1956 r3681  
     1
     2INSTALLATION INSTRUCTIONS FOR ORXONOX
     3=====================================
     4
     5INSTALLATION
     6============
     7
     8To make it quite easy for those of you who just want to install orxonox:
     9
     101. ./configure
     112. make
     123. make install
     13
     14(Further Information please see below at autoconf information)
     15
     16DEPENDENCIES
     17============
     18
     19There are some dependencies for orxonox you have to install:
     20
     211. SDL           (http://www.libsdl.org)
     222. OPENGL        (http://www.opengl.org)
     233. SDL_mixer     (http://www.libsdl.org/projects/SDL_mixer)
     244. SDL_image     (http://www.libsdl.org/projects/SDL_image)
     255. SDL_ttf       (http://www.libsdl.org/projects/SDL_ttf)
     26 a) needs libttf (http://www.freetype.org/)
     27
     28Nice to Have:
     296. Doxygen       (http://www.stack.nl/~dimitri/doxygen/)
     307. Automake      (http://www.gnu.org/software/automake/)
     318. Autoconf      (http://www.gnu.org/software/autoconf/)
     32
     33Windows Users also need the following:
     349. mingw         (http://mingw.org/)
     35
     36
     37BUGS
     38====
     39Send bug reports to orxonox-dev@mail.datacore.ch
     40
     41ORXONOX->
     42##########################################################
     43                                                <-AUTOCONF
     44
     45
     46
    147Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
    248Foundation, Inc.
  • orxonox/branches/textEngine/Makefile.am

    r3219 r3681  
    1616## doxygen stuff
    1717if DOXYGEN
    18 DOXYGEN_INPUT = "src src/gui src/importer"
     18DOXYGEN_INPUT = "src src/lib/gui/gui src/lib/graphics/importer"
    1919
    2020## Exclude the application wizard templates, and some file templates
  • orxonox/branches/textEngine/Makefile.in

    r3423 r3681  
    9494DEFS = @DEFS@
    9595DEPDIR = @DEPDIR@
     96DOCUMENTATION_FALSE = @DOCUMENTATION_FALSE@
     97DOCUMENTATION_TRUE = @DOCUMENTATION_TRUE@
    9698DOXYGEN = @DOXYGEN@
    9799DOXYGEN_FALSE = @DOXYGEN_FALSE@
     
    191193             doc/doxyconf/project
    192194
    193 @DOXYGEN_TRUE@DOXYGEN_INPUT = "src src/gui src/importer"
     195@DOXYGEN_TRUE@DOXYGEN_INPUT = "src src/lib/gui/gui src/lib/graphics/importer"
    194196@DOXYGEN_TRUE@DOXYGEN_EXCLUDE =
    195197@DOXYGEN_TRUE@DOXYGEN_EXAMPLE_PATH =
     
    658660@DOXYGEN_TRUE@clean-local:  doc-delete
    659661
    660 @DOXYGEN_TRUE@all-local: doc
     662@DOCUMENTATION_TRUE@@DOXYGEN_TRUE@all-local: doc
     663@DOCUMENTATION_FALSE@@DOXYGEN_TRUE@all-local:
    661664
    662665@DOXYGEN_TRUE@.PHONY: doc doc-config doc-delete
  • orxonox/branches/textEngine/config.h.in

    r3460 r3681  
    8989#undef HAVE__BOOL
    9090
     91/* if Modular-DUBUG mode is enabled */
     92#undef MODULAR_DEBUG
     93
    9194/* Name of package */
    9295#undef PACKAGE
  • orxonox/branches/textEngine/configure

    r3460 r3681  
    11#! /bin/sh
    22# Guess values for system-dependent variables and create Makefiles.
    3 # Generated by GNU Autoconf 2.59 for orxonox 0.2.1-pre-alpha.
     3# Generated by GNU Autoconf 2.59 for orxonox 0.2.2-pre-alpha.
    44#
    55# Report bugs to <orxonox-dev at mail.datacore.ch>.
     
    270270PACKAGE_NAME='orxonox'
    271271PACKAGE_TARNAME='orxonox'
    272 PACKAGE_VERSION='0.2.1-pre-alpha'
    273 PACKAGE_STRING='orxonox 0.2.1-pre-alpha'
     272PACKAGE_VERSION='0.2.2-pre-alpha'
     273PACKAGE_STRING='orxonox 0.2.2-pre-alpha'
    274274PACKAGE_BUGREPORT='orxonox-dev at mail.datacore.ch'
    275275
     
    312312#endif"
    313313
    314 ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP DEBUG SUB_PROJECTS_TRUE SUB_PROJECTS_FALSE DOXYGEN DOXYGEN_TRUE DOXYGEN_FALSE MSBITFIELDS GTK2_LIBS GTK2_CFLAGS HAVE_GTK2_TRUE HAVE_GTK2_FALSE GTHREAD_LIBS GTHREAD_CFLAGS HAVE_GTHREAD_TRUE HAVE_GTHREAD_FALSE CURL_LIBS CURL_CFLAGS HAVE_CURL_TRUE HAVE_CURL_FALSE LIBOBJS LTLIBOBJS'
     314ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO AMTAR install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot CXX CXXFLAGS LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CC CFLAGS ac_ct_CC CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP EGREP DEBUG SUB_PROJECTS_TRUE SUB_PROJECTS_FALSE DOCUMENTATION_TRUE DOCUMENTATION_FALSE DOXYGEN DOXYGEN_TRUE DOXYGEN_FALSE MSBITFIELDS GTK2_LIBS GTK2_CFLAGS HAVE_GTK2_TRUE HAVE_GTK2_FALSE GTHREAD_LIBS GTHREAD_CFLAGS HAVE_GTHREAD_TRUE HAVE_GTHREAD_FALSE CURL_LIBS CURL_CFLAGS HAVE_CURL_TRUE HAVE_CURL_FALSE LIBOBJS LTLIBOBJS'
    315315ac_subst_files=''
    316316
     
    789789  # This message is too long to be a string in the A/UX 3.1 sh.
    790790  cat <<_ACEOF
    791 \`configure' configures orxonox 0.2.1-pre-alpha to adapt to many kinds of systems.
     791\`configure' configures orxonox 0.2.2-pre-alpha to adapt to many kinds of systems.
    792792
    793793Usage: $0 [OPTION]... [VAR=VALUE]...
     
    856856if test -n "$ac_init_help"; then
    857857  case $ac_init_help in
    858      short | recursive ) echo "Configuration of orxonox 0.2.1-pre-alpha:";;
     858     short | recursive ) echo "Configuration of orxonox 0.2.2-pre-alpha:";;
    859859   esac
    860860  cat <<\_ACEOF
     
    867867  --enable-debug          compiles in debug mode. Lots of debug info about the
    868868                          game.
     869  --disable-modular-debug compiles in modular-debug mode, that logs
     870                          differently on the many modules of orxonox.
    869871  --enable-sub-projects   also builds the subProjects while make from srcdir
     872  --enable-documentation  also builds the sDocumentation while make from
     873                          srcdir
    870874
    871875Optional Packages:
     
    988992if $ac_init_version; then
    989993  cat <<\_ACEOF
    990 orxonox configure 0.2.1-pre-alpha
     994orxonox configure 0.2.2-pre-alpha
    991995generated by GNU Autoconf 2.59
    992996
     
    10021006running configure, to aid debugging if configure makes a mistake.
    10031007
    1004 It was created by orxonox $as_me 0.2.1-pre-alpha, which was
     1008It was created by orxonox $as_me 0.2.2-pre-alpha, which was
    10051009generated by GNU Autoconf 2.59.  Invocation command line was
    10061010
     
    17221726# Define the identity of the package.
    17231727 PACKAGE='orxonox'
    1724  VERSION='0.2.1-pre-alpha'
     1728 VERSION='0.2.2-pre-alpha'
    17251729
    17261730
     
    38603864if test x$DEBUG = xno; then
    38613865        echo "no"
    3862         echo " -> Setting debuglevel to 3. (orxonox is still in Development. It really is needed."
    3863         DEBUG=3
     3866        echo " -> Setting debuglevel to 4. (orxonox is still in Development. It really is needed."
     3867        DEBUG=4
    38643868elif test x$DEBUG = xyes; then
    38653869        echo "yes"
     
    38763880
    38773881
     3882
     3883#---------------#
     3884# Modular Debug #
     3885#---------------#
     3886MODULAR_DEBUG=yes
     3887echo "$as_me:$LINENO: checking if Modular-DEBUG-mode should be ebabled" >&5
     3888echo $ECHO_N "checking if Modular-DEBUG-mode should be ebabled... $ECHO_C" >&6
     3889# Check whether --enable-modular-debug or --disable-modular-debug was given.
     3890if test "${enable_modular_debug+set}" = set; then
     3891  enableval="$enable_modular_debug"
     3892  MODULAR_DEBUG=$enableval
     3893fi;
     3894
     3895if test x$MODULAR_DEBUG = xno; then
     3896        echo "no"
     3897elif test x$MODULAR_DEBUG = xyes; then
     3898        echo "yes"
     3899
     3900cat >>confdefs.h <<_ACEOF
     3901#define MODULAR_DEBUG 1
     3902_ACEOF
     3903
     3904fi
    38783905
    38793906#--------------#
     
    39754002  echo "no"
    39764003fi
     4004
    39774005#-------------------#
    39784006# SubProject-enable #
     
    40024030fi
    40034031
     4032
     4033#----------------------#
     4034# Documentation-enable #
     4035#----------------------#
     4036def_documentation=no
     4037echo "$as_me:$LINENO: checking if the Documentation should be build by default" >&5
     4038echo $ECHO_N "checking if the Documentation should be build by default... $ECHO_C" >&6
     4039# Check whether --enable-documentation or --disable-documentation was given.
     4040if test "${enable_documentation+set}" = set; then
     4041  enableval="$enable_documentation"
     4042  def_documentation=yes
     4043fi;
     4044if test x$def_documentation = xyes; then
     4045  echo "yes"
     4046fi
     4047if test x$def_documentation = xno; then
     4048  echo "no"
     4049fi
     4050
     4051
     4052if test x$def_documentation = xyes; then
     4053  DOCUMENTATION_TRUE=
     4054  DOCUMENTATION_FALSE='#'
     4055else
     4056  DOCUMENTATION_TRUE='#'
     4057  DOCUMENTATION_FALSE=
     4058fi
    40044059
    40054060#######################
     
    81828237## OUTPUT CONFIGURE ##
    81838238######################
    8184                                                   ac_config_files="$ac_config_files Makefile src/Makefile src/importer/Makefile src/console/Makefile src/gui/Makefile"
     8239                                                                                                    ac_config_files="$ac_config_files Makefile src/Makefile src/lib/Makefile src/lib/graphics/Makefile src/lib/graphics/importer/Makefile src/lib/gui/Makefile src/lib/gui/console/Makefile src/lib/gui/gui/Makefile src/subprojects/Makefile src/subprojects/testmain/Makefile"
    81858240
    81868241
     
    83018356Usually this means the macro was only invoked conditionally." >&5
    83028357echo "$as_me: error: conditional \"SUB_PROJECTS\" was never defined.
     8358Usually this means the macro was only invoked conditionally." >&2;}
     8359   { (exit 1); exit 1; }; }
     8360fi
     8361if test -z "${DOCUMENTATION_TRUE}" && test -z "${DOCUMENTATION_FALSE}"; then
     8362  { { echo "$as_me:$LINENO: error: conditional \"DOCUMENTATION\" was never defined.
     8363Usually this means the macro was only invoked conditionally." >&5
     8364echo "$as_me: error: conditional \"DOCUMENTATION\" was never defined.
    83038365Usually this means the macro was only invoked conditionally." >&2;}
    83048366   { (exit 1); exit 1; }; }
     
    86038665cat >&5 <<_CSEOF
    86048666
    8605 This file was extended by orxonox $as_me 0.2.1-pre-alpha, which was
     8667This file was extended by orxonox $as_me 0.2.2-pre-alpha, which was
    86068668generated by GNU Autoconf 2.59.  Invocation command line was
    86078669
     
    86668728cat >>$CONFIG_STATUS <<_ACEOF
    86678729ac_cs_version="\\
    8668 orxonox config.status 0.2.1-pre-alpha
     8730orxonox config.status 0.2.2-pre-alpha
    86698731configured by $0, generated by GNU Autoconf 2.59,
    86708732  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
     
    87788840  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
    87798841  "src/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
    8780   "src/importer/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/importer/Makefile" ;;
    8781   "src/console/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/console/Makefile" ;;
    8782   "src/gui/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/gui/Makefile" ;;
     8842  "src/lib/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lib/Makefile" ;;
     8843  "src/lib/graphics/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lib/graphics/Makefile" ;;
     8844  "src/lib/graphics/importer/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lib/graphics/importer/Makefile" ;;
     8845  "src/lib/gui/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lib/gui/Makefile" ;;
     8846  "src/lib/gui/console/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lib/gui/console/Makefile" ;;
     8847  "src/lib/gui/gui/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/lib/gui/gui/Makefile" ;;
     8848  "src/subprojects/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/subprojects/Makefile" ;;
     8849  "src/subprojects/testmain/Makefile" ) CONFIG_FILES="$CONFIG_FILES src/subprojects/testmain/Makefile" ;;
    87838850  "depfiles" ) CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
    87848851  "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
     
    89278994s,@SUB_PROJECTS_TRUE@,$SUB_PROJECTS_TRUE,;t t
    89288995s,@SUB_PROJECTS_FALSE@,$SUB_PROJECTS_FALSE,;t t
     8996s,@DOCUMENTATION_TRUE@,$DOCUMENTATION_TRUE,;t t
     8997s,@DOCUMENTATION_FALSE@,$DOCUMENTATION_FALSE,;t t
    89298998s,@DOXYGEN@,$DOXYGEN,;t t
    89308999s,@DOXYGEN_TRUE@,$DOXYGEN_TRUE,;t t
  • orxonox/branches/textEngine/configure.ac

    r3460 r3681  
    2323#########################
    2424AC_PREREQ(2.56)
    25 AC_INIT(orxonox, 0.2.1-pre-alpha, [orxonox-dev at mail.datacore.ch])
     25AC_INIT(orxonox, 0.2.2-pre-alpha, [orxonox-dev at mail.datacore.ch])
    2626
    2727## Detect the canonical host and target build environment.
     
    5656if test x$DEBUG = xno; then
    5757        echo "no"
    58         echo " -> Setting debuglevel to 3. (orxonox is still in Development. It really is needed."
    59         DEBUG=3
     58        echo " -> Setting debuglevel to 4. (orxonox is still in Development. It really is needed."
     59        DEBUG=4
    6060elif test x$DEBUG = xyes; then
    6161        echo "yes"
     
    6868
    6969AC_SUBST(DEBUG)
     70
     71#---------------#
     72# Modular Debug #
     73#---------------#
     74MODULAR_DEBUG=yes
     75AC_MSG_CHECKING([if Modular-DEBUG-mode should be ebabled])
     76AC_ARG_ENABLE([modular-debug],
     77        AC_HELP_STRING( [--disable-modular-debug], [compiles in modular-debug mode, that logs differently on the many modules of orxonox.]),
     78         MODULAR_DEBUG=$enableval)
     79
     80if test x$MODULAR_DEBUG = xno; then
     81        echo "no"
     82elif test x$MODULAR_DEBUG = xyes; then
     83        echo "yes"
     84        AC_DEFINE_UNQUOTED(MODULAR_DEBUG, 1, [if Modular-DUBUG mode is enabled])
     85fi
    7086
    7187#--------------#
     
    139155  echo "no"
    140156fi
     157
    141158#-------------------#
    142159# SubProject-enable #
     
    155172AM_CONDITIONAL(SUB_PROJECTS, test x$def_sub_projects = xyes)
    156173
     174#----------------------#
     175# Documentation-enable #
     176#----------------------#
     177def_documentation=no
     178AC_MSG_CHECKING([if the Documentation should be build by default])
     179AC_ARG_ENABLE([documentation],
     180        AC_HELP_STRING( [--enable-documentation],
     181        [also builds the sDocumentation while make from srcdir]), [def_documentation=yes])
     182if test x$def_documentation = xyes; then
     183  echo "yes"
     184fi
     185if test x$def_documentation = xno; then
     186  echo "no"
     187fi
     188AM_CONDITIONAL(DOCUMENTATION, test x$def_documentation = xyes)
    157189#######################
    158190## PROGRAMM CHECKING ##
     
    529561AC_CONFIG_FILES([Makefile
    530562                 src/Makefile
    531                  src/importer/Makefile
    532                  src/console/Makefile
    533                  src/gui/Makefile])
     563                 src/lib/Makefile
     564                 src/lib/graphics/Makefile
     565                 src/lib/graphics/importer/Makefile
     566                 src/lib/gui/Makefile
     567                 src/lib/gui/console/Makefile
     568                 src/lib/gui/gui/Makefile
     569                 src/subprojects/Makefile
     570                 src/subprojects/testmain/Makefile])
    534571
    535572AC_OUTPUT
  • orxonox/branches/textEngine/doc/documentation.am

    r3219 r3681  
    5050clean-local:  doc-delete
    5151
     52if DOCUMENTATION
    5253all-local: doc
     54else
     55all-local:
     56endif
    5357
    5458.PHONY: doc doc-config doc-delete
  • orxonox/branches/textEngine/src/INSTALL

    r1956 r3681  
    33=====================================
    44
    5 Installing an using orx is very simple: Just type:
     5INSTALLATION
     6============
    67
    7 cd ../orxonox/trunk
    8 ./configure
    9 make
    10 ./bin/orxonox
     8To make it quite easy for those of you who just want to install orxonox:
     9
     101. ./configure
     112. make
     123. make install
     13
     14DEPENDENCIES
     15============
     16
     17There are some dependencies for orxonox you have to install:
     18
     191. SDL           (http://www.libsdl.org)
     202. OPENGL        (http://www.opengl.org)
     213. SDL_mixer     (http://www.libsdl.org/projects/SDL_mixer)
     224. SDL_image     (http://www.libsdl.org/projects/SDL_image)
     235. SDL_ttf       (http://www.libsdl.org/projects/SDL_ttf)
     24 a) needs libttf (http://www.freetype.org/)
     25
     26Nice to Have:
     276. Doxygen       (http://www.stack.nl/~dimitri/doxygen/)
     287. Automake      (http://www.gnu.org/software/automake/)
     298. Autoconf      (http://www.gnu.org/software/autoconf/)
     30
     31Windows Users also need the following:
     329. mingw         (http://mingw.org/)
    1133
    1234
  • orxonox/branches/textEngine/src/Makefile.am

    r3460 r3681  
    1 #AM_CXXFLAGS=""
     1MAINSRCDIR=.
     2AM_CXXFLAGS=-I$(MAINSRCDIR)
     3AM_CXXFLAGS+=-I$(MAINSRCDIR)/world_entities
     4AM_CXXFLAGS+=-I$(MAINSRCDIR)/story_entities
     5AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib
     6AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/coord
     7AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/data
     8AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/graphics
     9AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/graphics/font
     10AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/graphics/importer
     11AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/gui
     12AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/lang
     13AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/util
     14AM_CXXFLAGS+=-I$(MAINSRCDIR)/lib/math
     15AM_CXXFLAGS+=-I$(MAINSRCDIR)/defs
     16AM_CXXFLAGS+=-I$(MAINSRCDIR)/font
     17AM_CXXFLAGS+=-I$(MAINSRCDIR)/network
     18AM_CXXFLAGS+=-I$(MAINSRCDIR)/glmenu
     19AM_CXXFLAGS+=-I$(MAINSRCDIR)/ai
     20
     21
    222AM_LDFLAGS= $(MWINDOWS)
    323
     
    828
    929orxonox_SOURCES= orxonox.cc \
    10                  world.cc \
    11                  player.cc \
    12                  collision.cc \
    13                  data_tank.cc \
    14                  world_entity.cc \
    15                  vector.cc \
     30                 game_loader.cc \
     31                 command_node.cc \
     32                 keynames.cc \
    1633                 camera.cc \
    17                  command_node.cc \
    18                  ini_parser.cc \
    19                  keynames.cc \
    20                  base_entity.cc \
    21                  game_loader.cc \
    22                  campaign.cc \
    23                  story_entity.cc \
    24                  environment.cc \
    25                  importer/model.cc \
    26                  importer/objModel.cc \
    27                  importer/array.cc \
    28                  importer/material.cc \
    29                  importer/texture.cc \
    30                  list.cc \
    31                  p_node.cc \
    32                  null_parent.cc \
    33                  base_object.cc \
    34                  helper_parent.cc \
    3534                 track_manager.cc \
    36                  matrix.cc \
    37                  curve.cc \
    38                  glmenu_imagescreen.cc \
    39                  skysphere.cc \
    40                  light.cc \
    41                  sfont/fontset.cc
     35                 track_node.cc \
     36                 simple_animation.cc \
     37                 garbage_collector.cc \
     38                 story_entities/story_entity.cc \
     39                 story_entities/campaign.cc \
     40                 story_entities/world.cc \
     41                 world_entities/world_entity.cc \
     42                 world_entities/player.cc \
     43                 world_entities/environment.cc \
     44                 world_entities/skysphere.cc \
     45                 world_entities/terrain.cc \
     46                 world_entities/weapon.cc \
     47                 world_entities/projectile.cc \
     48                 world_entities/character_attributes.cc \
     49                 world_entities/test_gun.cc \
     50                 ai/ai.cc \
     51                 lib/coord/p_node.cc \
     52                 lib/coord/null_parent.cc \
     53                 lib/coord/helper_parent.cc \
     54                 lib/data/data_tank.cc \
     55                 lib/graphics/graphics_engine.cc \
     56                 lib/graphics/light.cc \
     57                 lib/graphics/font/fontset.cc \
     58                 lib/graphics/importer/array.cc \
     59                 lib/graphics/importer/objModel.cc \
     60                 lib/graphics/importer/primitive_model.cc \
     61                 lib/graphics/importer/model.cc \
     62                 lib/graphics/importer/material.cc \
     63                 lib/graphics/importer/texture.cc \
     64                 lib/lang/base_entity.cc \
     65                 lib/lang/base_object.cc \
     66                 lib/util/ini_parser.cc \
     67                 lib/util/list.cc \
     68                 lib/util/resource_manager.cc \
     69                 lib/math/vector.cc \
     70                 lib/math/curve.cc \
     71                 glmenu/glmenu_imagescreen.cc
    4272
    43 noinst_HEADERS = ability.h \
    44                  data_tank.h \
    45                  collision.h \
    46                  npc.h \
    47                  stdincl.h \
    48                  glincl.h \
    49                  ai.h \
    50                  environment.h \
    51                  orxonox.h \
    52                  synchronisable.h \
    53                  base_entity.h \
    54                  error.h \
    55                  player.h \
     73noinst_HEADERS = orxonox.h \
     74                 game_loader.h \
     75                 track_manager.h \
     76                 ability.h \
    5677                 camera.h \
    57                  ini_parser.h \
    58                  power_up.h \
    59                  vector.h \
    6078                 keynames.h \
    61                  proto_class.h \
    62                  world.h \
    6379                 command_node.h \
    64                  list.h \
    65                  shoot_laser.h \
    66                  world_entity.h \
    6780                 message_structures.h \
    68                  shoot_rocket.h \
    69                  list_template.h \
    70                  story_entity.h \
    71                  story_def.h \
    72                  game_loader.h \
    73                  campaign.h \
    74                  p_node.h \
    75                  null_parent.h \
    76                  base_object.h \
    77                  helper_parent.h \
    7881                 track_manager.h \
    79                  matrix.h \
    80                  curve.h \
    81                  glmenu_imagescreen.h \
    82                  debug.h \
    83                  skysphere.h \
    84                  light.h \
    85                  sfont/fontset.h
     82                 track_node.h \
     83                 simple_animation.h \
     84                 garbage_collector.h \
     85                 story_entities/story_entity.h \
     86                 story_entities/story_def.h \
     87                 story_entities/campaign.h \
     88                 story_entities/world.h \
     89                 world_entities/world_entity.h \
     90                 world_entities/player.h \
     91                 world_entities/npc.h \
     92                 world_entities/environment.h \
     93                 world_entities/skysphere.h \
     94                 world_entities/power_up.h \
     95                 world_entities/terrain.h \
     96                 world_entities/weapon.h \
     97                 world_entities/projectile.h \
     98                 world_entities/character_attributes.h \
     99                 world_entities/test_gun.h \
     100                 ai/ai.h \
     101                 network/synchronisable.h \
     102                 defs/stdincl.h \
     103                 defs/glincl.h \
     104                 defs/comincl.h \
     105                 defs/error.h \
     106                 defs/debug.h \
     107                 lib/coord/p_node.h \
     108                 lib/coord/null_parent.h \
     109                 lib/coord/helper_parent.h \
     110                 lib/graphics/graphics_engine.h \
     111                 lib/graphics/light.h \
     112                 lib/graphics/font/fontset.h \
     113                 lib/data/data_tank.h \
     114                 lib/lang/base_entity.h \
     115                 lib/lang/base_object.h \
     116                 lib/util/list.h \
     117                 lib/util/list_template.h \
     118                 lib/util/resource_manager.h \
     119                 lib/util/ini_parser.h \
     120                 lib/math/vector.h \
     121                 lib/math/curve.h \
     122                 glmenu/glmenu_imagescreen.h
     123
    86124
    87125## orxonox.conf will be used from home-dir instead.
    88 EXTRA_DIST = orxonox.conf
     126EXTRA_DIST = orxonox.conf \
     127             proto/proto_class.h \
     128             proto/proto_class.cc \
     129             proto/proto_singleton.h \
     130             proto/proto_singleton.cc
    89131
    90 ### GTK_RELATED
    91 if HAVE_GTK2
    92   GTK_PROGS =console
    93 else
    94   GTK_PROGS =
    95 endif
    96132if SUB_PROJECTS
    97   SUB_PROGS = importer \
    98               gui \
    99               $(GTK_PROGS)
     133  SUB_PROGS = lib subprojects
    100134else
    101135  SUB_PROGS =
  • orxonox/branches/textEngine/src/Makefile.in

    r3460 r3681  
    5353binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
    5454PROGRAMS = $(bin_PROGRAMS)
    55 am_orxonox_OBJECTS = orxonox.$(OBJEXT) world.$(OBJEXT) \
    56         player.$(OBJEXT) collision.$(OBJEXT) data_tank.$(OBJEXT) \
    57         world_entity.$(OBJEXT) vector.$(OBJEXT) camera.$(OBJEXT) \
    58         command_node.$(OBJEXT) ini_parser.$(OBJEXT) keynames.$(OBJEXT) \
    59         base_entity.$(OBJEXT) game_loader.$(OBJEXT) campaign.$(OBJEXT) \
    60         story_entity.$(OBJEXT) environment.$(OBJEXT) model.$(OBJEXT) \
    61         objModel.$(OBJEXT) array.$(OBJEXT) material.$(OBJEXT) \
    62         texture.$(OBJEXT) list.$(OBJEXT) p_node.$(OBJEXT) \
    63         null_parent.$(OBJEXT) base_object.$(OBJEXT) \
    64         helper_parent.$(OBJEXT) track_manager.$(OBJEXT) \
    65         matrix.$(OBJEXT) curve.$(OBJEXT) glmenu_imagescreen.$(OBJEXT) \
    66         skysphere.$(OBJEXT) light.$(OBJEXT) fontset.$(OBJEXT)
     55am_orxonox_OBJECTS = orxonox.$(OBJEXT) game_loader.$(OBJEXT) \
     56        command_node.$(OBJEXT) keynames.$(OBJEXT) camera.$(OBJEXT) \
     57        track_manager.$(OBJEXT) track_node.$(OBJEXT) \
     58        simple_animation.$(OBJEXT) garbage_collector.$(OBJEXT) \
     59        story_entity.$(OBJEXT) campaign.$(OBJEXT) world.$(OBJEXT) \
     60        world_entity.$(OBJEXT) player.$(OBJEXT) environment.$(OBJEXT) \
     61        skysphere.$(OBJEXT) terrain.$(OBJEXT) weapon.$(OBJEXT) \
     62        projectile.$(OBJEXT) character_attributes.$(OBJEXT) \
     63        test_gun.$(OBJEXT) ai.$(OBJEXT) p_node.$(OBJEXT) \
     64        null_parent.$(OBJEXT) helper_parent.$(OBJEXT) \
     65        data_tank.$(OBJEXT) graphics_engine.$(OBJEXT) light.$(OBJEXT) \
     66        fontset.$(OBJEXT) array.$(OBJEXT) objModel.$(OBJEXT) \
     67        primitive_model.$(OBJEXT) model.$(OBJEXT) material.$(OBJEXT) \
     68        texture.$(OBJEXT) base_entity.$(OBJEXT) base_object.$(OBJEXT) \
     69        ini_parser.$(OBJEXT) list.$(OBJEXT) resource_manager.$(OBJEXT) \
     70        vector.$(OBJEXT) curve.$(OBJEXT) glmenu_imagescreen.$(OBJEXT)
    6771orxonox_OBJECTS = $(am_orxonox_OBJECTS)
    6872orxonox_LDADD = $(LDADD)
     
    7074depcomp = $(SHELL) $(top_srcdir)/depcomp
    7175am__depfiles_maybe = depfiles
    72 @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/array.Po \
     76@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/ai.Po ./$(DEPDIR)/array.Po \
    7377@AMDEP_TRUE@    ./$(DEPDIR)/base_entity.Po \
    7478@AMDEP_TRUE@    ./$(DEPDIR)/base_object.Po ./$(DEPDIR)/camera.Po \
    75 @AMDEP_TRUE@    ./$(DEPDIR)/campaign.Po ./$(DEPDIR)/collision.Po \
     79@AMDEP_TRUE@    ./$(DEPDIR)/campaign.Po \
     80@AMDEP_TRUE@    ./$(DEPDIR)/character_attributes.Po \
    7681@AMDEP_TRUE@    ./$(DEPDIR)/command_node.Po ./$(DEPDIR)/curve.Po \
    7782@AMDEP_TRUE@    ./$(DEPDIR)/data_tank.Po \
    7883@AMDEP_TRUE@    ./$(DEPDIR)/environment.Po ./$(DEPDIR)/fontset.Po \
    7984@AMDEP_TRUE@    ./$(DEPDIR)/game_loader.Po \
     85@AMDEP_TRUE@    ./$(DEPDIR)/garbage_collector.Po \
    8086@AMDEP_TRUE@    ./$(DEPDIR)/glmenu_imagescreen.Po \
     87@AMDEP_TRUE@    ./$(DEPDIR)/graphics_engine.Po \
    8188@AMDEP_TRUE@    ./$(DEPDIR)/helper_parent.Po \
    8289@AMDEP_TRUE@    ./$(DEPDIR)/ini_parser.Po ./$(DEPDIR)/keynames.Po \
    8390@AMDEP_TRUE@    ./$(DEPDIR)/light.Po ./$(DEPDIR)/list.Po \
    84 @AMDEP_TRUE@    ./$(DEPDIR)/material.Po ./$(DEPDIR)/matrix.Po \
    85 @AMDEP_TRUE@    ./$(DEPDIR)/model.Po ./$(DEPDIR)/null_parent.Po \
    86 @AMDEP_TRUE@    ./$(DEPDIR)/objModel.Po ./$(DEPDIR)/orxonox.Po \
    87 @AMDEP_TRUE@    ./$(DEPDIR)/p_node.Po ./$(DEPDIR)/player.Po \
     91@AMDEP_TRUE@    ./$(DEPDIR)/material.Po ./$(DEPDIR)/model.Po \
     92@AMDEP_TRUE@    ./$(DEPDIR)/null_parent.Po ./$(DEPDIR)/objModel.Po \
     93@AMDEP_TRUE@    ./$(DEPDIR)/orxonox.Po ./$(DEPDIR)/p_node.Po \
     94@AMDEP_TRUE@    ./$(DEPDIR)/player.Po \
     95@AMDEP_TRUE@    ./$(DEPDIR)/primitive_model.Po \
     96@AMDEP_TRUE@    ./$(DEPDIR)/projectile.Po \
     97@AMDEP_TRUE@    ./$(DEPDIR)/resource_manager.Po \
     98@AMDEP_TRUE@    ./$(DEPDIR)/simple_animation.Po \
    8899@AMDEP_TRUE@    ./$(DEPDIR)/skysphere.Po \
    89 @AMDEP_TRUE@    ./$(DEPDIR)/story_entity.Po ./$(DEPDIR)/texture.Po \
    90 @AMDEP_TRUE@    ./$(DEPDIR)/track_manager.Po ./$(DEPDIR)/vector.Po \
    91 @AMDEP_TRUE@    ./$(DEPDIR)/world.Po ./$(DEPDIR)/world_entity.Po
     100@AMDEP_TRUE@    ./$(DEPDIR)/story_entity.Po ./$(DEPDIR)/terrain.Po \
     101@AMDEP_TRUE@    ./$(DEPDIR)/test_gun.Po ./$(DEPDIR)/texture.Po \
     102@AMDEP_TRUE@    ./$(DEPDIR)/track_manager.Po \
     103@AMDEP_TRUE@    ./$(DEPDIR)/track_node.Po ./$(DEPDIR)/vector.Po \
     104@AMDEP_TRUE@    ./$(DEPDIR)/weapon.Po ./$(DEPDIR)/world.Po \
     105@AMDEP_TRUE@    ./$(DEPDIR)/world_entity.Po
    92106CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
    93107        $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
     
    106120ETAGS = etags
    107121CTAGS = ctags
    108 DIST_SUBDIRS = . importer gui console
     122DIST_SUBDIRS = . lib subprojects
    109123DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
    110124ACLOCAL = @ACLOCAL@
     
    130144DEFS = @DEFS@
    131145DEPDIR = @DEPDIR@
     146DOCUMENTATION_FALSE = @DOCUMENTATION_FALSE@
     147DOCUMENTATION_TRUE = @DOCUMENTATION_TRUE@
    132148DOXYGEN = @DOXYGEN@
    133149DOXYGEN_FALSE = @DOXYGEN_FALSE@
     
    214230target_os = @target_os@
    215231target_vendor = @target_vendor@
    216 
    217 #AM_CXXFLAGS=""
     232MAINSRCDIR = .
     233AM_CXXFLAGS = -I$(MAINSRCDIR) -I$(MAINSRCDIR)/world_entities -I$(MAINSRCDIR)/story_entities -I$(MAINSRCDIR)/lib -I$(MAINSRCDIR)/lib/coord -I$(MAINSRCDIR)/lib/data -I$(MAINSRCDIR)/lib/graphics -I$(MAINSRCDIR)/lib/graphics/font -I$(MAINSRCDIR)/lib/graphics/importer -I$(MAINSRCDIR)/lib/gui -I$(MAINSRCDIR)/lib/lang -I$(MAINSRCDIR)/lib/util -I$(MAINSRCDIR)/lib/math -I$(MAINSRCDIR)/defs -I$(MAINSRCDIR)/font -I$(MAINSRCDIR)/network -I$(MAINSRCDIR)/glmenu -I$(MAINSRCDIR)/ai
    218234AM_LDFLAGS = $(MWINDOWS)
    219235orxonox_SOURCES = orxonox.cc \
    220                  world.cc \
    221                  player.cc \
    222                  collision.cc \
    223                  data_tank.cc \
    224                  world_entity.cc \
    225                  vector.cc \
     236                 game_loader.cc \
     237                 command_node.cc \
     238                 keynames.cc \
    226239                 camera.cc \
    227                  command_node.cc \
    228                  ini_parser.cc \
    229                  keynames.cc \
    230                  base_entity.cc \
    231                  game_loader.cc \
    232                  campaign.cc \
    233                  story_entity.cc \
    234                  environment.cc \
    235                  importer/model.cc \
    236                  importer/objModel.cc \
    237                  importer/array.cc \
    238                  importer/material.cc \
    239                  importer/texture.cc \
    240                  list.cc \
    241                  p_node.cc \
    242                  null_parent.cc \
    243                  base_object.cc \
    244                  helper_parent.cc \
    245240                 track_manager.cc \
    246                  matrix.cc \
    247                  curve.cc \
    248                  glmenu_imagescreen.cc \
    249                  skysphere.cc \
    250                  light.cc \
    251                  sfont/fontset.cc
    252 
    253 noinst_HEADERS = ability.h \
    254                  data_tank.h \
    255                  collision.h \
    256                  npc.h \
    257                  stdincl.h \
    258                  glincl.h \
    259                  ai.h \
    260                  environment.h \
    261                  orxonox.h \
    262                  synchronisable.h \
    263                  base_entity.h \
    264                  error.h \
    265                  player.h \
     241                 track_node.cc \
     242                 simple_animation.cc \
     243                 garbage_collector.cc \
     244                 story_entities/story_entity.cc \
     245                 story_entities/campaign.cc \
     246                 story_entities/world.cc \
     247                 world_entities/world_entity.cc \
     248                 world_entities/player.cc \
     249                 world_entities/environment.cc \
     250                 world_entities/skysphere.cc \
     251                 world_entities/terrain.cc \
     252                 world_entities/weapon.cc \
     253                 world_entities/projectile.cc \
     254                 world_entities/character_attributes.cc \
     255                 world_entities/test_gun.cc \
     256                 ai/ai.cc \
     257                 lib/coord/p_node.cc \
     258                 lib/coord/null_parent.cc \
     259                 lib/coord/helper_parent.cc \
     260                 lib/data/data_tank.cc \
     261                 lib/graphics/graphics_engine.cc \
     262                 lib/graphics/light.cc \
     263                 lib/graphics/font/fontset.cc \
     264                 lib/graphics/importer/array.cc \
     265                 lib/graphics/importer/objModel.cc \
     266                 lib/graphics/importer/primitive_model.cc \
     267                 lib/graphics/importer/model.cc \
     268                 lib/graphics/importer/material.cc \
     269                 lib/graphics/importer/texture.cc \
     270                 lib/lang/base_entity.cc \
     271                 lib/lang/base_object.cc \
     272                 lib/util/ini_parser.cc \
     273                 lib/util/list.cc \
     274                 lib/util/resource_manager.cc \
     275                 lib/math/vector.cc \
     276                 lib/math/curve.cc \
     277                 glmenu/glmenu_imagescreen.cc
     278
     279noinst_HEADERS = orxonox.h \
     280                 game_loader.h \
     281                 track_manager.h \
     282                 ability.h \
    266283                 camera.h \
    267                  ini_parser.h \
    268                  power_up.h \
    269                  vector.h \
    270284                 keynames.h \
    271                  proto_class.h \
    272                  world.h \
    273285                 command_node.h \
    274                  list.h \
    275                  shoot_laser.h \
    276                  world_entity.h \
    277286                 message_structures.h \
    278                  shoot_rocket.h \
    279                  list_template.h \
    280                  story_entity.h \
    281                  story_def.h \
    282                  game_loader.h \
    283                  campaign.h \
    284                  p_node.h \
    285                  null_parent.h \
    286                  base_object.h \
    287                  helper_parent.h \
    288287                 track_manager.h \
    289                  matrix.h \
    290                  curve.h \
    291                  glmenu_imagescreen.h \
    292                  debug.h \
    293                  skysphere.h \
    294                  light.h \
    295                  sfont/fontset.h
    296 
    297 EXTRA_DIST = orxonox.conf
    298 @HAVE_GTK2_FALSE@GTK_PROGS =
    299 
    300 ### GTK_RELATED
    301 @HAVE_GTK2_TRUE@GTK_PROGS = console
     288                 track_node.h \
     289                 simple_animation.h \
     290                 garbage_collector.h \
     291                 story_entities/story_entity.h \
     292                 story_entities/story_def.h \
     293                 story_entities/campaign.h \
     294                 story_entities/world.h \
     295                 world_entities/world_entity.h \
     296                 world_entities/player.h \
     297                 world_entities/npc.h \
     298                 world_entities/environment.h \
     299                 world_entities/skysphere.h \
     300                 world_entities/power_up.h \
     301                 world_entities/terrain.h \
     302                 world_entities/weapon.h \
     303                 world_entities/projectile.h \
     304                 world_entities/character_attributes.h \
     305                 world_entities/test_gun.h \
     306                 ai/ai.h \
     307                 network/synchronisable.h \
     308                 defs/stdincl.h \
     309                 defs/glincl.h \
     310                 defs/comincl.h \
     311                 defs/error.h \
     312                 defs/debug.h \
     313                 lib/coord/p_node.h \
     314                 lib/coord/null_parent.h \
     315                 lib/coord/helper_parent.h \
     316                 lib/graphics/graphics_engine.h \
     317                 lib/graphics/light.h \
     318                 lib/graphics/font/fontset.h \
     319                 lib/data/data_tank.h \
     320                 lib/lang/base_entity.h \
     321                 lib/lang/base_object.h \
     322                 lib/util/list.h \
     323                 lib/util/list_template.h \
     324                 lib/util/resource_manager.h \
     325                 lib/util/ini_parser.h \
     326                 lib/math/vector.h \
     327                 lib/math/curve.h \
     328                 glmenu/glmenu_imagescreen.h
     329
     330EXTRA_DIST = orxonox.conf \
     331             proto/proto_class.h \
     332             proto/proto_class.cc \
     333             proto/proto_singleton.h \
     334             proto/proto_singleton.cc
     335
    302336@SUB_PROJECTS_FALSE@SUB_PROGS =
    303 @SUB_PROJECTS_TRUE@SUB_PROGS = importer \
    304 @SUB_PROJECTS_TRUE@           gui \
    305 @SUB_PROJECTS_TRUE@           $(GTK_PROGS)
    306 
     337@SUB_PROJECTS_TRUE@SUB_PROGS = lib subprojects
    307338SUBDIRS = . \
    308339          $(SUB_PROGS)
     
    374405        -rm -f *.tab.c
    375406
     407@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ai.Po@am__quote@
    376408@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/array.Po@am__quote@
    377409@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/base_entity.Po@am__quote@
     
    379411@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/camera.Po@am__quote@
    380412@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/campaign.Po@am__quote@
    381 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collision.Po@am__quote@
     413@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/character_attributes.Po@am__quote@
    382414@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/command_node.Po@am__quote@
    383415@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/curve.Po@am__quote@
     
    386418@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontset.Po@am__quote@
    387419@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/game_loader.Po@am__quote@
     420@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/garbage_collector.Po@am__quote@
    388421@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/glmenu_imagescreen.Po@am__quote@
     422@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/graphics_engine.Po@am__quote@
    389423@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/helper_parent.Po@am__quote@
    390424@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ini_parser.Po@am__quote@
     
    393427@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@
    394428@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/material.Po@am__quote@
    395 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matrix.Po@am__quote@
    396429@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/model.Po@am__quote@
    397430@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/null_parent.Po@am__quote@
     
    400433@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/p_node.Po@am__quote@
    401434@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/player.Po@am__quote@
     435@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/primitive_model.Po@am__quote@
     436@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/projectile.Po@am__quote@
     437@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resource_manager.Po@am__quote@
     438@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_animation.Po@am__quote@
    402439@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/skysphere.Po@am__quote@
    403440@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/story_entity.Po@am__quote@
     441@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terrain.Po@am__quote@
     442@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_gun.Po@am__quote@
    404443@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/texture.Po@am__quote@
    405444@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/track_manager.Po@am__quote@
     445@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/track_node.Po@am__quote@
    406446@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vector.Po@am__quote@
     447@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/weapon.Po@am__quote@
    407448@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/world.Po@am__quote@
    408449@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/world_entity.Po@am__quote@
     
    424465@am__fastdepCXX_FALSE@  $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
    425466
    426 model.o: importer/model.cc
    427 @am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT model.o -MD -MP -MF "$(DEPDIR)/model.Tpo" -c -o model.o `test -f 'importer/model.cc' || echo '$(srcdir)/'`importer/model.cc; \
     467story_entity.o: story_entities/story_entity.cc
     468@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT story_entity.o -MD -MP -MF "$(DEPDIR)/story_entity.Tpo" -c -o story_entity.o `test -f 'story_entities/story_entity.cc' || echo '$(srcdir)/'`story_entities/story_entity.cc; \
     469@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/story_entity.Tpo" "$(DEPDIR)/story_entity.Po"; else rm -f "$(DEPDIR)/story_entity.Tpo"; exit 1; fi
     470@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='story_entities/story_entity.cc' object='story_entity.o' libtool=no @AMDEPBACKSLASH@
     471@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/story_entity.Po' tmpdepfile='$(DEPDIR)/story_entity.TPo' @AMDEPBACKSLASH@
     472@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     473@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o story_entity.o `test -f 'story_entities/story_entity.cc' || echo '$(srcdir)/'`story_entities/story_entity.cc
     474
     475story_entity.obj: story_entities/story_entity.cc
     476@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT story_entity.obj -MD -MP -MF "$(DEPDIR)/story_entity.Tpo" -c -o story_entity.obj `if test -f 'story_entities/story_entity.cc'; then $(CYGPATH_W) 'story_entities/story_entity.cc'; else $(CYGPATH_W) '$(srcdir)/story_entities/story_entity.cc'; fi`; \
     477@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/story_entity.Tpo" "$(DEPDIR)/story_entity.Po"; else rm -f "$(DEPDIR)/story_entity.Tpo"; exit 1; fi
     478@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='story_entities/story_entity.cc' object='story_entity.obj' libtool=no @AMDEPBACKSLASH@
     479@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/story_entity.Po' tmpdepfile='$(DEPDIR)/story_entity.TPo' @AMDEPBACKSLASH@
     480@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     481@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o story_entity.obj `if test -f 'story_entities/story_entity.cc'; then $(CYGPATH_W) 'story_entities/story_entity.cc'; else $(CYGPATH_W) '$(srcdir)/story_entities/story_entity.cc'; fi`
     482
     483campaign.o: story_entities/campaign.cc
     484@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT campaign.o -MD -MP -MF "$(DEPDIR)/campaign.Tpo" -c -o campaign.o `test -f 'story_entities/campaign.cc' || echo '$(srcdir)/'`story_entities/campaign.cc; \
     485@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/campaign.Tpo" "$(DEPDIR)/campaign.Po"; else rm -f "$(DEPDIR)/campaign.Tpo"; exit 1; fi
     486@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='story_entities/campaign.cc' object='campaign.o' libtool=no @AMDEPBACKSLASH@
     487@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/campaign.Po' tmpdepfile='$(DEPDIR)/campaign.TPo' @AMDEPBACKSLASH@
     488@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     489@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o campaign.o `test -f 'story_entities/campaign.cc' || echo '$(srcdir)/'`story_entities/campaign.cc
     490
     491campaign.obj: story_entities/campaign.cc
     492@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT campaign.obj -MD -MP -MF "$(DEPDIR)/campaign.Tpo" -c -o campaign.obj `if test -f 'story_entities/campaign.cc'; then $(CYGPATH_W) 'story_entities/campaign.cc'; else $(CYGPATH_W) '$(srcdir)/story_entities/campaign.cc'; fi`; \
     493@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/campaign.Tpo" "$(DEPDIR)/campaign.Po"; else rm -f "$(DEPDIR)/campaign.Tpo"; exit 1; fi
     494@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='story_entities/campaign.cc' object='campaign.obj' libtool=no @AMDEPBACKSLASH@
     495@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/campaign.Po' tmpdepfile='$(DEPDIR)/campaign.TPo' @AMDEPBACKSLASH@
     496@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     497@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o campaign.obj `if test -f 'story_entities/campaign.cc'; then $(CYGPATH_W) 'story_entities/campaign.cc'; else $(CYGPATH_W) '$(srcdir)/story_entities/campaign.cc'; fi`
     498
     499world.o: story_entities/world.cc
     500@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT world.o -MD -MP -MF "$(DEPDIR)/world.Tpo" -c -o world.o `test -f 'story_entities/world.cc' || echo '$(srcdir)/'`story_entities/world.cc; \
     501@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/world.Tpo" "$(DEPDIR)/world.Po"; else rm -f "$(DEPDIR)/world.Tpo"; exit 1; fi
     502@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='story_entities/world.cc' object='world.o' libtool=no @AMDEPBACKSLASH@
     503@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/world.Po' tmpdepfile='$(DEPDIR)/world.TPo' @AMDEPBACKSLASH@
     504@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     505@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o world.o `test -f 'story_entities/world.cc' || echo '$(srcdir)/'`story_entities/world.cc
     506
     507world.obj: story_entities/world.cc
     508@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT world.obj -MD -MP -MF "$(DEPDIR)/world.Tpo" -c -o world.obj `if test -f 'story_entities/world.cc'; then $(CYGPATH_W) 'story_entities/world.cc'; else $(CYGPATH_W) '$(srcdir)/story_entities/world.cc'; fi`; \
     509@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/world.Tpo" "$(DEPDIR)/world.Po"; else rm -f "$(DEPDIR)/world.Tpo"; exit 1; fi
     510@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='story_entities/world.cc' object='world.obj' libtool=no @AMDEPBACKSLASH@
     511@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/world.Po' tmpdepfile='$(DEPDIR)/world.TPo' @AMDEPBACKSLASH@
     512@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     513@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o world.obj `if test -f 'story_entities/world.cc'; then $(CYGPATH_W) 'story_entities/world.cc'; else $(CYGPATH_W) '$(srcdir)/story_entities/world.cc'; fi`
     514
     515world_entity.o: world_entities/world_entity.cc
     516@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT world_entity.o -MD -MP -MF "$(DEPDIR)/world_entity.Tpo" -c -o world_entity.o `test -f 'world_entities/world_entity.cc' || echo '$(srcdir)/'`world_entities/world_entity.cc; \
     517@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/world_entity.Tpo" "$(DEPDIR)/world_entity.Po"; else rm -f "$(DEPDIR)/world_entity.Tpo"; exit 1; fi
     518@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/world_entity.cc' object='world_entity.o' libtool=no @AMDEPBACKSLASH@
     519@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/world_entity.Po' tmpdepfile='$(DEPDIR)/world_entity.TPo' @AMDEPBACKSLASH@
     520@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     521@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o world_entity.o `test -f 'world_entities/world_entity.cc' || echo '$(srcdir)/'`world_entities/world_entity.cc
     522
     523world_entity.obj: world_entities/world_entity.cc
     524@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT world_entity.obj -MD -MP -MF "$(DEPDIR)/world_entity.Tpo" -c -o world_entity.obj `if test -f 'world_entities/world_entity.cc'; then $(CYGPATH_W) 'world_entities/world_entity.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/world_entity.cc'; fi`; \
     525@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/world_entity.Tpo" "$(DEPDIR)/world_entity.Po"; else rm -f "$(DEPDIR)/world_entity.Tpo"; exit 1; fi
     526@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/world_entity.cc' object='world_entity.obj' libtool=no @AMDEPBACKSLASH@
     527@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/world_entity.Po' tmpdepfile='$(DEPDIR)/world_entity.TPo' @AMDEPBACKSLASH@
     528@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     529@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o world_entity.obj `if test -f 'world_entities/world_entity.cc'; then $(CYGPATH_W) 'world_entities/world_entity.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/world_entity.cc'; fi`
     530
     531player.o: world_entities/player.cc
     532@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT player.o -MD -MP -MF "$(DEPDIR)/player.Tpo" -c -o player.o `test -f 'world_entities/player.cc' || echo '$(srcdir)/'`world_entities/player.cc; \
     533@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/player.Tpo" "$(DEPDIR)/player.Po"; else rm -f "$(DEPDIR)/player.Tpo"; exit 1; fi
     534@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/player.cc' object='player.o' libtool=no @AMDEPBACKSLASH@
     535@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/player.Po' tmpdepfile='$(DEPDIR)/player.TPo' @AMDEPBACKSLASH@
     536@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     537@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o player.o `test -f 'world_entities/player.cc' || echo '$(srcdir)/'`world_entities/player.cc
     538
     539player.obj: world_entities/player.cc
     540@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT player.obj -MD -MP -MF "$(DEPDIR)/player.Tpo" -c -o player.obj `if test -f 'world_entities/player.cc'; then $(CYGPATH_W) 'world_entities/player.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/player.cc'; fi`; \
     541@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/player.Tpo" "$(DEPDIR)/player.Po"; else rm -f "$(DEPDIR)/player.Tpo"; exit 1; fi
     542@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/player.cc' object='player.obj' libtool=no @AMDEPBACKSLASH@
     543@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/player.Po' tmpdepfile='$(DEPDIR)/player.TPo' @AMDEPBACKSLASH@
     544@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     545@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o player.obj `if test -f 'world_entities/player.cc'; then $(CYGPATH_W) 'world_entities/player.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/player.cc'; fi`
     546
     547environment.o: world_entities/environment.cc
     548@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT environment.o -MD -MP -MF "$(DEPDIR)/environment.Tpo" -c -o environment.o `test -f 'world_entities/environment.cc' || echo '$(srcdir)/'`world_entities/environment.cc; \
     549@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/environment.Tpo" "$(DEPDIR)/environment.Po"; else rm -f "$(DEPDIR)/environment.Tpo"; exit 1; fi
     550@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/environment.cc' object='environment.o' libtool=no @AMDEPBACKSLASH@
     551@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/environment.Po' tmpdepfile='$(DEPDIR)/environment.TPo' @AMDEPBACKSLASH@
     552@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     553@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o environment.o `test -f 'world_entities/environment.cc' || echo '$(srcdir)/'`world_entities/environment.cc
     554
     555environment.obj: world_entities/environment.cc
     556@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT environment.obj -MD -MP -MF "$(DEPDIR)/environment.Tpo" -c -o environment.obj `if test -f 'world_entities/environment.cc'; then $(CYGPATH_W) 'world_entities/environment.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/environment.cc'; fi`; \
     557@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/environment.Tpo" "$(DEPDIR)/environment.Po"; else rm -f "$(DEPDIR)/environment.Tpo"; exit 1; fi
     558@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/environment.cc' object='environment.obj' libtool=no @AMDEPBACKSLASH@
     559@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/environment.Po' tmpdepfile='$(DEPDIR)/environment.TPo' @AMDEPBACKSLASH@
     560@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     561@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o environment.obj `if test -f 'world_entities/environment.cc'; then $(CYGPATH_W) 'world_entities/environment.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/environment.cc'; fi`
     562
     563skysphere.o: world_entities/skysphere.cc
     564@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT skysphere.o -MD -MP -MF "$(DEPDIR)/skysphere.Tpo" -c -o skysphere.o `test -f 'world_entities/skysphere.cc' || echo '$(srcdir)/'`world_entities/skysphere.cc; \
     565@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/skysphere.Tpo" "$(DEPDIR)/skysphere.Po"; else rm -f "$(DEPDIR)/skysphere.Tpo"; exit 1; fi
     566@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/skysphere.cc' object='skysphere.o' libtool=no @AMDEPBACKSLASH@
     567@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/skysphere.Po' tmpdepfile='$(DEPDIR)/skysphere.TPo' @AMDEPBACKSLASH@
     568@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     569@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o skysphere.o `test -f 'world_entities/skysphere.cc' || echo '$(srcdir)/'`world_entities/skysphere.cc
     570
     571skysphere.obj: world_entities/skysphere.cc
     572@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT skysphere.obj -MD -MP -MF "$(DEPDIR)/skysphere.Tpo" -c -o skysphere.obj `if test -f 'world_entities/skysphere.cc'; then $(CYGPATH_W) 'world_entities/skysphere.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/skysphere.cc'; fi`; \
     573@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/skysphere.Tpo" "$(DEPDIR)/skysphere.Po"; else rm -f "$(DEPDIR)/skysphere.Tpo"; exit 1; fi
     574@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/skysphere.cc' object='skysphere.obj' libtool=no @AMDEPBACKSLASH@
     575@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/skysphere.Po' tmpdepfile='$(DEPDIR)/skysphere.TPo' @AMDEPBACKSLASH@
     576@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     577@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o skysphere.obj `if test -f 'world_entities/skysphere.cc'; then $(CYGPATH_W) 'world_entities/skysphere.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/skysphere.cc'; fi`
     578
     579terrain.o: world_entities/terrain.cc
     580@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT terrain.o -MD -MP -MF "$(DEPDIR)/terrain.Tpo" -c -o terrain.o `test -f 'world_entities/terrain.cc' || echo '$(srcdir)/'`world_entities/terrain.cc; \
     581@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/terrain.Tpo" "$(DEPDIR)/terrain.Po"; else rm -f "$(DEPDIR)/terrain.Tpo"; exit 1; fi
     582@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/terrain.cc' object='terrain.o' libtool=no @AMDEPBACKSLASH@
     583@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/terrain.Po' tmpdepfile='$(DEPDIR)/terrain.TPo' @AMDEPBACKSLASH@
     584@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     585@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o terrain.o `test -f 'world_entities/terrain.cc' || echo '$(srcdir)/'`world_entities/terrain.cc
     586
     587terrain.obj: world_entities/terrain.cc
     588@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT terrain.obj -MD -MP -MF "$(DEPDIR)/terrain.Tpo" -c -o terrain.obj `if test -f 'world_entities/terrain.cc'; then $(CYGPATH_W) 'world_entities/terrain.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/terrain.cc'; fi`; \
     589@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/terrain.Tpo" "$(DEPDIR)/terrain.Po"; else rm -f "$(DEPDIR)/terrain.Tpo"; exit 1; fi
     590@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/terrain.cc' object='terrain.obj' libtool=no @AMDEPBACKSLASH@
     591@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/terrain.Po' tmpdepfile='$(DEPDIR)/terrain.TPo' @AMDEPBACKSLASH@
     592@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     593@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o terrain.obj `if test -f 'world_entities/terrain.cc'; then $(CYGPATH_W) 'world_entities/terrain.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/terrain.cc'; fi`
     594
     595weapon.o: world_entities/weapon.cc
     596@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT weapon.o -MD -MP -MF "$(DEPDIR)/weapon.Tpo" -c -o weapon.o `test -f 'world_entities/weapon.cc' || echo '$(srcdir)/'`world_entities/weapon.cc; \
     597@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/weapon.Tpo" "$(DEPDIR)/weapon.Po"; else rm -f "$(DEPDIR)/weapon.Tpo"; exit 1; fi
     598@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/weapon.cc' object='weapon.o' libtool=no @AMDEPBACKSLASH@
     599@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/weapon.Po' tmpdepfile='$(DEPDIR)/weapon.TPo' @AMDEPBACKSLASH@
     600@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     601@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o weapon.o `test -f 'world_entities/weapon.cc' || echo '$(srcdir)/'`world_entities/weapon.cc
     602
     603weapon.obj: world_entities/weapon.cc
     604@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT weapon.obj -MD -MP -MF "$(DEPDIR)/weapon.Tpo" -c -o weapon.obj `if test -f 'world_entities/weapon.cc'; then $(CYGPATH_W) 'world_entities/weapon.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/weapon.cc'; fi`; \
     605@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/weapon.Tpo" "$(DEPDIR)/weapon.Po"; else rm -f "$(DEPDIR)/weapon.Tpo"; exit 1; fi
     606@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/weapon.cc' object='weapon.obj' libtool=no @AMDEPBACKSLASH@
     607@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/weapon.Po' tmpdepfile='$(DEPDIR)/weapon.TPo' @AMDEPBACKSLASH@
     608@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     609@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o weapon.obj `if test -f 'world_entities/weapon.cc'; then $(CYGPATH_W) 'world_entities/weapon.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/weapon.cc'; fi`
     610
     611projectile.o: world_entities/projectile.cc
     612@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT projectile.o -MD -MP -MF "$(DEPDIR)/projectile.Tpo" -c -o projectile.o `test -f 'world_entities/projectile.cc' || echo '$(srcdir)/'`world_entities/projectile.cc; \
     613@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/projectile.Tpo" "$(DEPDIR)/projectile.Po"; else rm -f "$(DEPDIR)/projectile.Tpo"; exit 1; fi
     614@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/projectile.cc' object='projectile.o' libtool=no @AMDEPBACKSLASH@
     615@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/projectile.Po' tmpdepfile='$(DEPDIR)/projectile.TPo' @AMDEPBACKSLASH@
     616@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     617@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o projectile.o `test -f 'world_entities/projectile.cc' || echo '$(srcdir)/'`world_entities/projectile.cc
     618
     619projectile.obj: world_entities/projectile.cc
     620@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT projectile.obj -MD -MP -MF "$(DEPDIR)/projectile.Tpo" -c -o projectile.obj `if test -f 'world_entities/projectile.cc'; then $(CYGPATH_W) 'world_entities/projectile.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/projectile.cc'; fi`; \
     621@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/projectile.Tpo" "$(DEPDIR)/projectile.Po"; else rm -f "$(DEPDIR)/projectile.Tpo"; exit 1; fi
     622@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/projectile.cc' object='projectile.obj' libtool=no @AMDEPBACKSLASH@
     623@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/projectile.Po' tmpdepfile='$(DEPDIR)/projectile.TPo' @AMDEPBACKSLASH@
     624@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     625@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o projectile.obj `if test -f 'world_entities/projectile.cc'; then $(CYGPATH_W) 'world_entities/projectile.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/projectile.cc'; fi`
     626
     627character_attributes.o: world_entities/character_attributes.cc
     628@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT character_attributes.o -MD -MP -MF "$(DEPDIR)/character_attributes.Tpo" -c -o character_attributes.o `test -f 'world_entities/character_attributes.cc' || echo '$(srcdir)/'`world_entities/character_attributes.cc; \
     629@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/character_attributes.Tpo" "$(DEPDIR)/character_attributes.Po"; else rm -f "$(DEPDIR)/character_attributes.Tpo"; exit 1; fi
     630@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/character_attributes.cc' object='character_attributes.o' libtool=no @AMDEPBACKSLASH@
     631@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/character_attributes.Po' tmpdepfile='$(DEPDIR)/character_attributes.TPo' @AMDEPBACKSLASH@
     632@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     633@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o character_attributes.o `test -f 'world_entities/character_attributes.cc' || echo '$(srcdir)/'`world_entities/character_attributes.cc
     634
     635character_attributes.obj: world_entities/character_attributes.cc
     636@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT character_attributes.obj -MD -MP -MF "$(DEPDIR)/character_attributes.Tpo" -c -o character_attributes.obj `if test -f 'world_entities/character_attributes.cc'; then $(CYGPATH_W) 'world_entities/character_attributes.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/character_attributes.cc'; fi`; \
     637@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/character_attributes.Tpo" "$(DEPDIR)/character_attributes.Po"; else rm -f "$(DEPDIR)/character_attributes.Tpo"; exit 1; fi
     638@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/character_attributes.cc' object='character_attributes.obj' libtool=no @AMDEPBACKSLASH@
     639@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/character_attributes.Po' tmpdepfile='$(DEPDIR)/character_attributes.TPo' @AMDEPBACKSLASH@
     640@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     641@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o character_attributes.obj `if test -f 'world_entities/character_attributes.cc'; then $(CYGPATH_W) 'world_entities/character_attributes.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/character_attributes.cc'; fi`
     642
     643test_gun.o: world_entities/test_gun.cc
     644@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_gun.o -MD -MP -MF "$(DEPDIR)/test_gun.Tpo" -c -o test_gun.o `test -f 'world_entities/test_gun.cc' || echo '$(srcdir)/'`world_entities/test_gun.cc; \
     645@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/test_gun.Tpo" "$(DEPDIR)/test_gun.Po"; else rm -f "$(DEPDIR)/test_gun.Tpo"; exit 1; fi
     646@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/test_gun.cc' object='test_gun.o' libtool=no @AMDEPBACKSLASH@
     647@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/test_gun.Po' tmpdepfile='$(DEPDIR)/test_gun.TPo' @AMDEPBACKSLASH@
     648@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     649@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_gun.o `test -f 'world_entities/test_gun.cc' || echo '$(srcdir)/'`world_entities/test_gun.cc
     650
     651test_gun.obj: world_entities/test_gun.cc
     652@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT test_gun.obj -MD -MP -MF "$(DEPDIR)/test_gun.Tpo" -c -o test_gun.obj `if test -f 'world_entities/test_gun.cc'; then $(CYGPATH_W) 'world_entities/test_gun.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/test_gun.cc'; fi`; \
     653@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/test_gun.Tpo" "$(DEPDIR)/test_gun.Po"; else rm -f "$(DEPDIR)/test_gun.Tpo"; exit 1; fi
     654@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='world_entities/test_gun.cc' object='test_gun.obj' libtool=no @AMDEPBACKSLASH@
     655@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/test_gun.Po' tmpdepfile='$(DEPDIR)/test_gun.TPo' @AMDEPBACKSLASH@
     656@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     657@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o test_gun.obj `if test -f 'world_entities/test_gun.cc'; then $(CYGPATH_W) 'world_entities/test_gun.cc'; else $(CYGPATH_W) '$(srcdir)/world_entities/test_gun.cc'; fi`
     658
     659ai.o: ai/ai.cc
     660@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ai.o -MD -MP -MF "$(DEPDIR)/ai.Tpo" -c -o ai.o `test -f 'ai/ai.cc' || echo '$(srcdir)/'`ai/ai.cc; \
     661@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/ai.Tpo" "$(DEPDIR)/ai.Po"; else rm -f "$(DEPDIR)/ai.Tpo"; exit 1; fi
     662@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ai/ai.cc' object='ai.o' libtool=no @AMDEPBACKSLASH@
     663@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/ai.Po' tmpdepfile='$(DEPDIR)/ai.TPo' @AMDEPBACKSLASH@
     664@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     665@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ai.o `test -f 'ai/ai.cc' || echo '$(srcdir)/'`ai/ai.cc
     666
     667ai.obj: ai/ai.cc
     668@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ai.obj -MD -MP -MF "$(DEPDIR)/ai.Tpo" -c -o ai.obj `if test -f 'ai/ai.cc'; then $(CYGPATH_W) 'ai/ai.cc'; else $(CYGPATH_W) '$(srcdir)/ai/ai.cc'; fi`; \
     669@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/ai.Tpo" "$(DEPDIR)/ai.Po"; else rm -f "$(DEPDIR)/ai.Tpo"; exit 1; fi
     670@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='ai/ai.cc' object='ai.obj' libtool=no @AMDEPBACKSLASH@
     671@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/ai.Po' tmpdepfile='$(DEPDIR)/ai.TPo' @AMDEPBACKSLASH@
     672@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     673@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ai.obj `if test -f 'ai/ai.cc'; then $(CYGPATH_W) 'ai/ai.cc'; else $(CYGPATH_W) '$(srcdir)/ai/ai.cc'; fi`
     674
     675p_node.o: lib/coord/p_node.cc
     676@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT p_node.o -MD -MP -MF "$(DEPDIR)/p_node.Tpo" -c -o p_node.o `test -f 'lib/coord/p_node.cc' || echo '$(srcdir)/'`lib/coord/p_node.cc; \
     677@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/p_node.Tpo" "$(DEPDIR)/p_node.Po"; else rm -f "$(DEPDIR)/p_node.Tpo"; exit 1; fi
     678@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/coord/p_node.cc' object='p_node.o' libtool=no @AMDEPBACKSLASH@
     679@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/p_node.Po' tmpdepfile='$(DEPDIR)/p_node.TPo' @AMDEPBACKSLASH@
     680@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     681@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o p_node.o `test -f 'lib/coord/p_node.cc' || echo '$(srcdir)/'`lib/coord/p_node.cc
     682
     683p_node.obj: lib/coord/p_node.cc
     684@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT p_node.obj -MD -MP -MF "$(DEPDIR)/p_node.Tpo" -c -o p_node.obj `if test -f 'lib/coord/p_node.cc'; then $(CYGPATH_W) 'lib/coord/p_node.cc'; else $(CYGPATH_W) '$(srcdir)/lib/coord/p_node.cc'; fi`; \
     685@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/p_node.Tpo" "$(DEPDIR)/p_node.Po"; else rm -f "$(DEPDIR)/p_node.Tpo"; exit 1; fi
     686@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/coord/p_node.cc' object='p_node.obj' libtool=no @AMDEPBACKSLASH@
     687@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/p_node.Po' tmpdepfile='$(DEPDIR)/p_node.TPo' @AMDEPBACKSLASH@
     688@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     689@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o p_node.obj `if test -f 'lib/coord/p_node.cc'; then $(CYGPATH_W) 'lib/coord/p_node.cc'; else $(CYGPATH_W) '$(srcdir)/lib/coord/p_node.cc'; fi`
     690
     691null_parent.o: lib/coord/null_parent.cc
     692@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT null_parent.o -MD -MP -MF "$(DEPDIR)/null_parent.Tpo" -c -o null_parent.o `test -f 'lib/coord/null_parent.cc' || echo '$(srcdir)/'`lib/coord/null_parent.cc; \
     693@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/null_parent.Tpo" "$(DEPDIR)/null_parent.Po"; else rm -f "$(DEPDIR)/null_parent.Tpo"; exit 1; fi
     694@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/coord/null_parent.cc' object='null_parent.o' libtool=no @AMDEPBACKSLASH@
     695@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/null_parent.Po' tmpdepfile='$(DEPDIR)/null_parent.TPo' @AMDEPBACKSLASH@
     696@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     697@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o null_parent.o `test -f 'lib/coord/null_parent.cc' || echo '$(srcdir)/'`lib/coord/null_parent.cc
     698
     699null_parent.obj: lib/coord/null_parent.cc
     700@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT null_parent.obj -MD -MP -MF "$(DEPDIR)/null_parent.Tpo" -c -o null_parent.obj `if test -f 'lib/coord/null_parent.cc'; then $(CYGPATH_W) 'lib/coord/null_parent.cc'; else $(CYGPATH_W) '$(srcdir)/lib/coord/null_parent.cc'; fi`; \
     701@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/null_parent.Tpo" "$(DEPDIR)/null_parent.Po"; else rm -f "$(DEPDIR)/null_parent.Tpo"; exit 1; fi
     702@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/coord/null_parent.cc' object='null_parent.obj' libtool=no @AMDEPBACKSLASH@
     703@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/null_parent.Po' tmpdepfile='$(DEPDIR)/null_parent.TPo' @AMDEPBACKSLASH@
     704@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     705@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o null_parent.obj `if test -f 'lib/coord/null_parent.cc'; then $(CYGPATH_W) 'lib/coord/null_parent.cc'; else $(CYGPATH_W) '$(srcdir)/lib/coord/null_parent.cc'; fi`
     706
     707helper_parent.o: lib/coord/helper_parent.cc
     708@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT helper_parent.o -MD -MP -MF "$(DEPDIR)/helper_parent.Tpo" -c -o helper_parent.o `test -f 'lib/coord/helper_parent.cc' || echo '$(srcdir)/'`lib/coord/helper_parent.cc; \
     709@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/helper_parent.Tpo" "$(DEPDIR)/helper_parent.Po"; else rm -f "$(DEPDIR)/helper_parent.Tpo"; exit 1; fi
     710@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/coord/helper_parent.cc' object='helper_parent.o' libtool=no @AMDEPBACKSLASH@
     711@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/helper_parent.Po' tmpdepfile='$(DEPDIR)/helper_parent.TPo' @AMDEPBACKSLASH@
     712@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     713@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o helper_parent.o `test -f 'lib/coord/helper_parent.cc' || echo '$(srcdir)/'`lib/coord/helper_parent.cc
     714
     715helper_parent.obj: lib/coord/helper_parent.cc
     716@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT helper_parent.obj -MD -MP -MF "$(DEPDIR)/helper_parent.Tpo" -c -o helper_parent.obj `if test -f 'lib/coord/helper_parent.cc'; then $(CYGPATH_W) 'lib/coord/helper_parent.cc'; else $(CYGPATH_W) '$(srcdir)/lib/coord/helper_parent.cc'; fi`; \
     717@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/helper_parent.Tpo" "$(DEPDIR)/helper_parent.Po"; else rm -f "$(DEPDIR)/helper_parent.Tpo"; exit 1; fi
     718@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/coord/helper_parent.cc' object='helper_parent.obj' libtool=no @AMDEPBACKSLASH@
     719@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/helper_parent.Po' tmpdepfile='$(DEPDIR)/helper_parent.TPo' @AMDEPBACKSLASH@
     720@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     721@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o helper_parent.obj `if test -f 'lib/coord/helper_parent.cc'; then $(CYGPATH_W) 'lib/coord/helper_parent.cc'; else $(CYGPATH_W) '$(srcdir)/lib/coord/helper_parent.cc'; fi`
     722
     723data_tank.o: lib/data/data_tank.cc
     724@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT data_tank.o -MD -MP -MF "$(DEPDIR)/data_tank.Tpo" -c -o data_tank.o `test -f 'lib/data/data_tank.cc' || echo '$(srcdir)/'`lib/data/data_tank.cc; \
     725@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/data_tank.Tpo" "$(DEPDIR)/data_tank.Po"; else rm -f "$(DEPDIR)/data_tank.Tpo"; exit 1; fi
     726@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/data/data_tank.cc' object='data_tank.o' libtool=no @AMDEPBACKSLASH@
     727@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/data_tank.Po' tmpdepfile='$(DEPDIR)/data_tank.TPo' @AMDEPBACKSLASH@
     728@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     729@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o data_tank.o `test -f 'lib/data/data_tank.cc' || echo '$(srcdir)/'`lib/data/data_tank.cc
     730
     731data_tank.obj: lib/data/data_tank.cc
     732@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT data_tank.obj -MD -MP -MF "$(DEPDIR)/data_tank.Tpo" -c -o data_tank.obj `if test -f 'lib/data/data_tank.cc'; then $(CYGPATH_W) 'lib/data/data_tank.cc'; else $(CYGPATH_W) '$(srcdir)/lib/data/data_tank.cc'; fi`; \
     733@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/data_tank.Tpo" "$(DEPDIR)/data_tank.Po"; else rm -f "$(DEPDIR)/data_tank.Tpo"; exit 1; fi
     734@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/data/data_tank.cc' object='data_tank.obj' libtool=no @AMDEPBACKSLASH@
     735@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/data_tank.Po' tmpdepfile='$(DEPDIR)/data_tank.TPo' @AMDEPBACKSLASH@
     736@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     737@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o data_tank.obj `if test -f 'lib/data/data_tank.cc'; then $(CYGPATH_W) 'lib/data/data_tank.cc'; else $(CYGPATH_W) '$(srcdir)/lib/data/data_tank.cc'; fi`
     738
     739graphics_engine.o: lib/graphics/graphics_engine.cc
     740@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT graphics_engine.o -MD -MP -MF "$(DEPDIR)/graphics_engine.Tpo" -c -o graphics_engine.o `test -f 'lib/graphics/graphics_engine.cc' || echo '$(srcdir)/'`lib/graphics/graphics_engine.cc; \
     741@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/graphics_engine.Tpo" "$(DEPDIR)/graphics_engine.Po"; else rm -f "$(DEPDIR)/graphics_engine.Tpo"; exit 1; fi
     742@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/graphics_engine.cc' object='graphics_engine.o' libtool=no @AMDEPBACKSLASH@
     743@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/graphics_engine.Po' tmpdepfile='$(DEPDIR)/graphics_engine.TPo' @AMDEPBACKSLASH@
     744@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     745@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o graphics_engine.o `test -f 'lib/graphics/graphics_engine.cc' || echo '$(srcdir)/'`lib/graphics/graphics_engine.cc
     746
     747graphics_engine.obj: lib/graphics/graphics_engine.cc
     748@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT graphics_engine.obj -MD -MP -MF "$(DEPDIR)/graphics_engine.Tpo" -c -o graphics_engine.obj `if test -f 'lib/graphics/graphics_engine.cc'; then $(CYGPATH_W) 'lib/graphics/graphics_engine.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/graphics_engine.cc'; fi`; \
     749@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/graphics_engine.Tpo" "$(DEPDIR)/graphics_engine.Po"; else rm -f "$(DEPDIR)/graphics_engine.Tpo"; exit 1; fi
     750@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/graphics_engine.cc' object='graphics_engine.obj' libtool=no @AMDEPBACKSLASH@
     751@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/graphics_engine.Po' tmpdepfile='$(DEPDIR)/graphics_engine.TPo' @AMDEPBACKSLASH@
     752@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     753@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o graphics_engine.obj `if test -f 'lib/graphics/graphics_engine.cc'; then $(CYGPATH_W) 'lib/graphics/graphics_engine.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/graphics_engine.cc'; fi`
     754
     755light.o: lib/graphics/light.cc
     756@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT light.o -MD -MP -MF "$(DEPDIR)/light.Tpo" -c -o light.o `test -f 'lib/graphics/light.cc' || echo '$(srcdir)/'`lib/graphics/light.cc; \
     757@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/light.Tpo" "$(DEPDIR)/light.Po"; else rm -f "$(DEPDIR)/light.Tpo"; exit 1; fi
     758@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/light.cc' object='light.o' libtool=no @AMDEPBACKSLASH@
     759@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/light.Po' tmpdepfile='$(DEPDIR)/light.TPo' @AMDEPBACKSLASH@
     760@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     761@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o light.o `test -f 'lib/graphics/light.cc' || echo '$(srcdir)/'`lib/graphics/light.cc
     762
     763light.obj: lib/graphics/light.cc
     764@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT light.obj -MD -MP -MF "$(DEPDIR)/light.Tpo" -c -o light.obj `if test -f 'lib/graphics/light.cc'; then $(CYGPATH_W) 'lib/graphics/light.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/light.cc'; fi`; \
     765@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/light.Tpo" "$(DEPDIR)/light.Po"; else rm -f "$(DEPDIR)/light.Tpo"; exit 1; fi
     766@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/light.cc' object='light.obj' libtool=no @AMDEPBACKSLASH@
     767@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/light.Po' tmpdepfile='$(DEPDIR)/light.TPo' @AMDEPBACKSLASH@
     768@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     769@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o light.obj `if test -f 'lib/graphics/light.cc'; then $(CYGPATH_W) 'lib/graphics/light.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/light.cc'; fi`
     770
     771fontset.o: lib/graphics/font/fontset.cc
     772@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT fontset.o -MD -MP -MF "$(DEPDIR)/fontset.Tpo" -c -o fontset.o `test -f 'lib/graphics/font/fontset.cc' || echo '$(srcdir)/'`lib/graphics/font/fontset.cc; \
     773@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/fontset.Tpo" "$(DEPDIR)/fontset.Po"; else rm -f "$(DEPDIR)/fontset.Tpo"; exit 1; fi
     774@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/font/fontset.cc' object='fontset.o' libtool=no @AMDEPBACKSLASH@
     775@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/fontset.Po' tmpdepfile='$(DEPDIR)/fontset.TPo' @AMDEPBACKSLASH@
     776@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     777@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o fontset.o `test -f 'lib/graphics/font/fontset.cc' || echo '$(srcdir)/'`lib/graphics/font/fontset.cc
     778
     779fontset.obj: lib/graphics/font/fontset.cc
     780@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT fontset.obj -MD -MP -MF "$(DEPDIR)/fontset.Tpo" -c -o fontset.obj `if test -f 'lib/graphics/font/fontset.cc'; then $(CYGPATH_W) 'lib/graphics/font/fontset.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/font/fontset.cc'; fi`; \
     781@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/fontset.Tpo" "$(DEPDIR)/fontset.Po"; else rm -f "$(DEPDIR)/fontset.Tpo"; exit 1; fi
     782@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/font/fontset.cc' object='fontset.obj' libtool=no @AMDEPBACKSLASH@
     783@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/fontset.Po' tmpdepfile='$(DEPDIR)/fontset.TPo' @AMDEPBACKSLASH@
     784@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     785@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o fontset.obj `if test -f 'lib/graphics/font/fontset.cc'; then $(CYGPATH_W) 'lib/graphics/font/fontset.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/font/fontset.cc'; fi`
     786
     787array.o: lib/graphics/importer/array.cc
     788@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT array.o -MD -MP -MF "$(DEPDIR)/array.Tpo" -c -o array.o `test -f 'lib/graphics/importer/array.cc' || echo '$(srcdir)/'`lib/graphics/importer/array.cc; \
     789@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/array.Tpo" "$(DEPDIR)/array.Po"; else rm -f "$(DEPDIR)/array.Tpo"; exit 1; fi
     790@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/importer/array.cc' object='array.o' libtool=no @AMDEPBACKSLASH@
     791@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/array.Po' tmpdepfile='$(DEPDIR)/array.TPo' @AMDEPBACKSLASH@
     792@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     793@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o array.o `test -f 'lib/graphics/importer/array.cc' || echo '$(srcdir)/'`lib/graphics/importer/array.cc
     794
     795array.obj: lib/graphics/importer/array.cc
     796@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT array.obj -MD -MP -MF "$(DEPDIR)/array.Tpo" -c -o array.obj `if test -f 'lib/graphics/importer/array.cc'; then $(CYGPATH_W) 'lib/graphics/importer/array.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/importer/array.cc'; fi`; \
     797@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/array.Tpo" "$(DEPDIR)/array.Po"; else rm -f "$(DEPDIR)/array.Tpo"; exit 1; fi
     798@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/importer/array.cc' object='array.obj' libtool=no @AMDEPBACKSLASH@
     799@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/array.Po' tmpdepfile='$(DEPDIR)/array.TPo' @AMDEPBACKSLASH@
     800@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     801@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o array.obj `if test -f 'lib/graphics/importer/array.cc'; then $(CYGPATH_W) 'lib/graphics/importer/array.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/importer/array.cc'; fi`
     802
     803objModel.o: lib/graphics/importer/objModel.cc
     804@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT objModel.o -MD -MP -MF "$(DEPDIR)/objModel.Tpo" -c -o objModel.o `test -f 'lib/graphics/importer/objModel.cc' || echo '$(srcdir)/'`lib/graphics/importer/objModel.cc; \
     805@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/objModel.Tpo" "$(DEPDIR)/objModel.Po"; else rm -f "$(DEPDIR)/objModel.Tpo"; exit 1; fi
     806@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/importer/objModel.cc' object='objModel.o' libtool=no @AMDEPBACKSLASH@
     807@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/objModel.Po' tmpdepfile='$(DEPDIR)/objModel.TPo' @AMDEPBACKSLASH@
     808@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     809@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o objModel.o `test -f 'lib/graphics/importer/objModel.cc' || echo '$(srcdir)/'`lib/graphics/importer/objModel.cc
     810
     811objModel.obj: lib/graphics/importer/objModel.cc
     812@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT objModel.obj -MD -MP -MF "$(DEPDIR)/objModel.Tpo" -c -o objModel.obj `if test -f 'lib/graphics/importer/objModel.cc'; then $(CYGPATH_W) 'lib/graphics/importer/objModel.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/importer/objModel.cc'; fi`; \
     813@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/objModel.Tpo" "$(DEPDIR)/objModel.Po"; else rm -f "$(DEPDIR)/objModel.Tpo"; exit 1; fi
     814@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/importer/objModel.cc' object='objModel.obj' libtool=no @AMDEPBACKSLASH@
     815@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/objModel.Po' tmpdepfile='$(DEPDIR)/objModel.TPo' @AMDEPBACKSLASH@
     816@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     817@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o objModel.obj `if test -f 'lib/graphics/importer/objModel.cc'; then $(CYGPATH_W) 'lib/graphics/importer/objModel.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/importer/objModel.cc'; fi`
     818
     819primitive_model.o: lib/graphics/importer/primitive_model.cc
     820@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT primitive_model.o -MD -MP -MF "$(DEPDIR)/primitive_model.Tpo" -c -o primitive_model.o `test -f 'lib/graphics/importer/primitive_model.cc' || echo '$(srcdir)/'`lib/graphics/importer/primitive_model.cc; \
     821@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/primitive_model.Tpo" "$(DEPDIR)/primitive_model.Po"; else rm -f "$(DEPDIR)/primitive_model.Tpo"; exit 1; fi
     822@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/importer/primitive_model.cc' object='primitive_model.o' libtool=no @AMDEPBACKSLASH@
     823@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/primitive_model.Po' tmpdepfile='$(DEPDIR)/primitive_model.TPo' @AMDEPBACKSLASH@
     824@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     825@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o primitive_model.o `test -f 'lib/graphics/importer/primitive_model.cc' || echo '$(srcdir)/'`lib/graphics/importer/primitive_model.cc
     826
     827primitive_model.obj: lib/graphics/importer/primitive_model.cc
     828@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT primitive_model.obj -MD -MP -MF "$(DEPDIR)/primitive_model.Tpo" -c -o primitive_model.obj `if test -f 'lib/graphics/importer/primitive_model.cc'; then $(CYGPATH_W) 'lib/graphics/importer/primitive_model.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/importer/primitive_model.cc'; fi`; \
     829@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/primitive_model.Tpo" "$(DEPDIR)/primitive_model.Po"; else rm -f "$(DEPDIR)/primitive_model.Tpo"; exit 1; fi
     830@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/importer/primitive_model.cc' object='primitive_model.obj' libtool=no @AMDEPBACKSLASH@
     831@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/primitive_model.Po' tmpdepfile='$(DEPDIR)/primitive_model.TPo' @AMDEPBACKSLASH@
     832@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     833@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o primitive_model.obj `if test -f 'lib/graphics/importer/primitive_model.cc'; then $(CYGPATH_W) 'lib/graphics/importer/primitive_model.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/importer/primitive_model.cc'; fi`
     834
     835model.o: lib/graphics/importer/model.cc
     836@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT model.o -MD -MP -MF "$(DEPDIR)/model.Tpo" -c -o model.o `test -f 'lib/graphics/importer/model.cc' || echo '$(srcdir)/'`lib/graphics/importer/model.cc; \
    428837@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/model.Tpo" "$(DEPDIR)/model.Po"; else rm -f "$(DEPDIR)/model.Tpo"; exit 1; fi
    429 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='importer/model.cc' object='model.o' libtool=no @AMDEPBACKSLASH@
     838@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/importer/model.cc' object='model.o' libtool=no @AMDEPBACKSLASH@
    430839@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/model.Po' tmpdepfile='$(DEPDIR)/model.TPo' @AMDEPBACKSLASH@
    431840@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    432 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o model.o `test -f 'importer/model.cc' || echo '$(srcdir)/'`importer/model.cc
    433 
    434 model.obj: importer/model.cc
    435 @am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT model.obj -MD -MP -MF "$(DEPDIR)/model.Tpo" -c -o model.obj `if test -f 'importer/model.cc'; then $(CYGPATH_W) 'importer/model.cc'; else $(CYGPATH_W) '$(srcdir)/importer/model.cc'; fi`; \
     841@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o model.o `test -f 'lib/graphics/importer/model.cc' || echo '$(srcdir)/'`lib/graphics/importer/model.cc
     842
     843model.obj: lib/graphics/importer/model.cc
     844@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT model.obj -MD -MP -MF "$(DEPDIR)/model.Tpo" -c -o model.obj `if test -f 'lib/graphics/importer/model.cc'; then $(CYGPATH_W) 'lib/graphics/importer/model.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/importer/model.cc'; fi`; \
    436845@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/model.Tpo" "$(DEPDIR)/model.Po"; else rm -f "$(DEPDIR)/model.Tpo"; exit 1; fi
    437 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='importer/model.cc' object='model.obj' libtool=no @AMDEPBACKSLASH@
     846@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/importer/model.cc' object='model.obj' libtool=no @AMDEPBACKSLASH@
    438847@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/model.Po' tmpdepfile='$(DEPDIR)/model.TPo' @AMDEPBACKSLASH@
    439848@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    440 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o model.obj `if test -f 'importer/model.cc'; then $(CYGPATH_W) 'importer/model.cc'; else $(CYGPATH_W) '$(srcdir)/importer/model.cc'; fi`
    441 
    442 objModel.o: importer/objModel.cc
    443 @am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT objModel.o -MD -MP -MF "$(DEPDIR)/objModel.Tpo" -c -o objModel.o `test -f 'importer/objModel.cc' || echo '$(srcdir)/'`importer/objModel.cc; \
    444 @am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/objModel.Tpo" "$(DEPDIR)/objModel.Po"; else rm -f "$(DEPDIR)/objModel.Tpo"; exit 1; fi
    445 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='importer/objModel.cc' object='objModel.o' libtool=no @AMDEPBACKSLASH@
    446 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/objModel.Po' tmpdepfile='$(DEPDIR)/objModel.TPo' @AMDEPBACKSLASH@
    447 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    448 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o objModel.o `test -f 'importer/objModel.cc' || echo '$(srcdir)/'`importer/objModel.cc
    449 
    450 objModel.obj: importer/objModel.cc
    451 @am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT objModel.obj -MD -MP -MF "$(DEPDIR)/objModel.Tpo" -c -o objModel.obj `if test -f 'importer/objModel.cc'; then $(CYGPATH_W) 'importer/objModel.cc'; else $(CYGPATH_W) '$(srcdir)/importer/objModel.cc'; fi`; \
    452 @am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/objModel.Tpo" "$(DEPDIR)/objModel.Po"; else rm -f "$(DEPDIR)/objModel.Tpo"; exit 1; fi
    453 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='importer/objModel.cc' object='objModel.obj' libtool=no @AMDEPBACKSLASH@
    454 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/objModel.Po' tmpdepfile='$(DEPDIR)/objModel.TPo' @AMDEPBACKSLASH@
    455 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    456 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o objModel.obj `if test -f 'importer/objModel.cc'; then $(CYGPATH_W) 'importer/objModel.cc'; else $(CYGPATH_W) '$(srcdir)/importer/objModel.cc'; fi`
    457 
    458 array.o: importer/array.cc
    459 @am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT array.o -MD -MP -MF "$(DEPDIR)/array.Tpo" -c -o array.o `test -f 'importer/array.cc' || echo '$(srcdir)/'`importer/array.cc; \
    460 @am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/array.Tpo" "$(DEPDIR)/array.Po"; else rm -f "$(DEPDIR)/array.Tpo"; exit 1; fi
    461 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='importer/array.cc' object='array.o' libtool=no @AMDEPBACKSLASH@
    462 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/array.Po' tmpdepfile='$(DEPDIR)/array.TPo' @AMDEPBACKSLASH@
    463 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    464 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o array.o `test -f 'importer/array.cc' || echo '$(srcdir)/'`importer/array.cc
    465 
    466 array.obj: importer/array.cc
    467 @am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT array.obj -MD -MP -MF "$(DEPDIR)/array.Tpo" -c -o array.obj `if test -f 'importer/array.cc'; then $(CYGPATH_W) 'importer/array.cc'; else $(CYGPATH_W) '$(srcdir)/importer/array.cc'; fi`; \
    468 @am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/array.Tpo" "$(DEPDIR)/array.Po"; else rm -f "$(DEPDIR)/array.Tpo"; exit 1; fi
    469 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='importer/array.cc' object='array.obj' libtool=no @AMDEPBACKSLASH@
    470 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/array.Po' tmpdepfile='$(DEPDIR)/array.TPo' @AMDEPBACKSLASH@
    471 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    472 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o array.obj `if test -f 'importer/array.cc'; then $(CYGPATH_W) 'importer/array.cc'; else $(CYGPATH_W) '$(srcdir)/importer/array.cc'; fi`
    473 
    474 material.o: importer/material.cc
    475 @am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT material.o -MD -MP -MF "$(DEPDIR)/material.Tpo" -c -o material.o `test -f 'importer/material.cc' || echo '$(srcdir)/'`importer/material.cc; \
     849@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o model.obj `if test -f 'lib/graphics/importer/model.cc'; then $(CYGPATH_W) 'lib/graphics/importer/model.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/importer/model.cc'; fi`
     850
     851material.o: lib/graphics/importer/material.cc
     852@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT material.o -MD -MP -MF "$(DEPDIR)/material.Tpo" -c -o material.o `test -f 'lib/graphics/importer/material.cc' || echo '$(srcdir)/'`lib/graphics/importer/material.cc; \
    476853@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/material.Tpo" "$(DEPDIR)/material.Po"; else rm -f "$(DEPDIR)/material.Tpo"; exit 1; fi
    477 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='importer/material.cc' object='material.o' libtool=no @AMDEPBACKSLASH@
     854@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/importer/material.cc' object='material.o' libtool=no @AMDEPBACKSLASH@
    478855@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/material.Po' tmpdepfile='$(DEPDIR)/material.TPo' @AMDEPBACKSLASH@
    479856@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    480 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o material.o `test -f 'importer/material.cc' || echo '$(srcdir)/'`importer/material.cc
    481 
    482 material.obj: importer/material.cc
    483 @am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT material.obj -MD -MP -MF "$(DEPDIR)/material.Tpo" -c -o material.obj `if test -f 'importer/material.cc'; then $(CYGPATH_W) 'importer/material.cc'; else $(CYGPATH_W) '$(srcdir)/importer/material.cc'; fi`; \
     857@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o material.o `test -f 'lib/graphics/importer/material.cc' || echo '$(srcdir)/'`lib/graphics/importer/material.cc
     858
     859material.obj: lib/graphics/importer/material.cc
     860@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT material.obj -MD -MP -MF "$(DEPDIR)/material.Tpo" -c -o material.obj `if test -f 'lib/graphics/importer/material.cc'; then $(CYGPATH_W) 'lib/graphics/importer/material.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/importer/material.cc'; fi`; \
    484861@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/material.Tpo" "$(DEPDIR)/material.Po"; else rm -f "$(DEPDIR)/material.Tpo"; exit 1; fi
    485 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='importer/material.cc' object='material.obj' libtool=no @AMDEPBACKSLASH@
     862@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/importer/material.cc' object='material.obj' libtool=no @AMDEPBACKSLASH@
    486863@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/material.Po' tmpdepfile='$(DEPDIR)/material.TPo' @AMDEPBACKSLASH@
    487864@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    488 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o material.obj `if test -f 'importer/material.cc'; then $(CYGPATH_W) 'importer/material.cc'; else $(CYGPATH_W) '$(srcdir)/importer/material.cc'; fi`
    489 
    490 texture.o: importer/texture.cc
    491 @am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT texture.o -MD -MP -MF "$(DEPDIR)/texture.Tpo" -c -o texture.o `test -f 'importer/texture.cc' || echo '$(srcdir)/'`importer/texture.cc; \
     865@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o material.obj `if test -f 'lib/graphics/importer/material.cc'; then $(CYGPATH_W) 'lib/graphics/importer/material.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/importer/material.cc'; fi`
     866
     867texture.o: lib/graphics/importer/texture.cc
     868@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT texture.o -MD -MP -MF "$(DEPDIR)/texture.Tpo" -c -o texture.o `test -f 'lib/graphics/importer/texture.cc' || echo '$(srcdir)/'`lib/graphics/importer/texture.cc; \
    492869@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/texture.Tpo" "$(DEPDIR)/texture.Po"; else rm -f "$(DEPDIR)/texture.Tpo"; exit 1; fi
    493 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='importer/texture.cc' object='texture.o' libtool=no @AMDEPBACKSLASH@
     870@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/importer/texture.cc' object='texture.o' libtool=no @AMDEPBACKSLASH@
    494871@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/texture.Po' tmpdepfile='$(DEPDIR)/texture.TPo' @AMDEPBACKSLASH@
    495872@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    496 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o texture.o `test -f 'importer/texture.cc' || echo '$(srcdir)/'`importer/texture.cc
    497 
    498 texture.obj: importer/texture.cc
    499 @am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT texture.obj -MD -MP -MF "$(DEPDIR)/texture.Tpo" -c -o texture.obj `if test -f 'importer/texture.cc'; then $(CYGPATH_W) 'importer/texture.cc'; else $(CYGPATH_W) '$(srcdir)/importer/texture.cc'; fi`; \
     873@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o texture.o `test -f 'lib/graphics/importer/texture.cc' || echo '$(srcdir)/'`lib/graphics/importer/texture.cc
     874
     875texture.obj: lib/graphics/importer/texture.cc
     876@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT texture.obj -MD -MP -MF "$(DEPDIR)/texture.Tpo" -c -o texture.obj `if test -f 'lib/graphics/importer/texture.cc'; then $(CYGPATH_W) 'lib/graphics/importer/texture.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/importer/texture.cc'; fi`; \
    500877@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/texture.Tpo" "$(DEPDIR)/texture.Po"; else rm -f "$(DEPDIR)/texture.Tpo"; exit 1; fi
    501 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='importer/texture.cc' object='texture.obj' libtool=no @AMDEPBACKSLASH@
     878@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/graphics/importer/texture.cc' object='texture.obj' libtool=no @AMDEPBACKSLASH@
    502879@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/texture.Po' tmpdepfile='$(DEPDIR)/texture.TPo' @AMDEPBACKSLASH@
    503880@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    504 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o texture.obj `if test -f 'importer/texture.cc'; then $(CYGPATH_W) 'importer/texture.cc'; else $(CYGPATH_W) '$(srcdir)/importer/texture.cc'; fi`
    505 
    506 fontset.o: sfont/fontset.cc
    507 @am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT fontset.o -MD -MP -MF "$(DEPDIR)/fontset.Tpo" -c -o fontset.o `test -f 'sfont/fontset.cc' || echo '$(srcdir)/'`sfont/fontset.cc; \
    508 @am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/fontset.Tpo" "$(DEPDIR)/fontset.Po"; else rm -f "$(DEPDIR)/fontset.Tpo"; exit 1; fi
    509 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='sfont/fontset.cc' object='fontset.o' libtool=no @AMDEPBACKSLASH@
    510 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/fontset.Po' tmpdepfile='$(DEPDIR)/fontset.TPo' @AMDEPBACKSLASH@
    511 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    512 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o fontset.o `test -f 'sfont/fontset.cc' || echo '$(srcdir)/'`sfont/fontset.cc
    513 
    514 fontset.obj: sfont/fontset.cc
    515 @am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT fontset.obj -MD -MP -MF "$(DEPDIR)/fontset.Tpo" -c -o fontset.obj `if test -f 'sfont/fontset.cc'; then $(CYGPATH_W) 'sfont/fontset.cc'; else $(CYGPATH_W) '$(srcdir)/sfont/fontset.cc'; fi`; \
    516 @am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/fontset.Tpo" "$(DEPDIR)/fontset.Po"; else rm -f "$(DEPDIR)/fontset.Tpo"; exit 1; fi
    517 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='sfont/fontset.cc' object='fontset.obj' libtool=no @AMDEPBACKSLASH@
    518 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/fontset.Po' tmpdepfile='$(DEPDIR)/fontset.TPo' @AMDEPBACKSLASH@
    519 @AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
    520 @am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o fontset.obj `if test -f 'sfont/fontset.cc'; then $(CYGPATH_W) 'sfont/fontset.cc'; else $(CYGPATH_W) '$(srcdir)/sfont/fontset.cc'; fi`
     881@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o texture.obj `if test -f 'lib/graphics/importer/texture.cc'; then $(CYGPATH_W) 'lib/graphics/importer/texture.cc'; else $(CYGPATH_W) '$(srcdir)/lib/graphics/importer/texture.cc'; fi`
     882
     883base_entity.o: lib/lang/base_entity.cc
     884@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT base_entity.o -MD -MP -MF "$(DEPDIR)/base_entity.Tpo" -c -o base_entity.o `test -f 'lib/lang/base_entity.cc' || echo '$(srcdir)/'`lib/lang/base_entity.cc; \
     885@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/base_entity.Tpo" "$(DEPDIR)/base_entity.Po"; else rm -f "$(DEPDIR)/base_entity.Tpo"; exit 1; fi
     886@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/lang/base_entity.cc' object='base_entity.o' libtool=no @AMDEPBACKSLASH@
     887@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/base_entity.Po' tmpdepfile='$(DEPDIR)/base_entity.TPo' @AMDEPBACKSLASH@
     888@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     889@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o base_entity.o `test -f 'lib/lang/base_entity.cc' || echo '$(srcdir)/'`lib/lang/base_entity.cc
     890
     891base_entity.obj: lib/lang/base_entity.cc
     892@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT base_entity.obj -MD -MP -MF "$(DEPDIR)/base_entity.Tpo" -c -o base_entity.obj `if test -f 'lib/lang/base_entity.cc'; then $(CYGPATH_W) 'lib/lang/base_entity.cc'; else $(CYGPATH_W) '$(srcdir)/lib/lang/base_entity.cc'; fi`; \
     893@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/base_entity.Tpo" "$(DEPDIR)/base_entity.Po"; else rm -f "$(DEPDIR)/base_entity.Tpo"; exit 1; fi
     894@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/lang/base_entity.cc' object='base_entity.obj' libtool=no @AMDEPBACKSLASH@
     895@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/base_entity.Po' tmpdepfile='$(DEPDIR)/base_entity.TPo' @AMDEPBACKSLASH@
     896@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     897@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o base_entity.obj `if test -f 'lib/lang/base_entity.cc'; then $(CYGPATH_W) 'lib/lang/base_entity.cc'; else $(CYGPATH_W) '$(srcdir)/lib/lang/base_entity.cc'; fi`
     898
     899base_object.o: lib/lang/base_object.cc
     900@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT base_object.o -MD -MP -MF "$(DEPDIR)/base_object.Tpo" -c -o base_object.o `test -f 'lib/lang/base_object.cc' || echo '$(srcdir)/'`lib/lang/base_object.cc; \
     901@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/base_object.Tpo" "$(DEPDIR)/base_object.Po"; else rm -f "$(DEPDIR)/base_object.Tpo"; exit 1; fi
     902@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/lang/base_object.cc' object='base_object.o' libtool=no @AMDEPBACKSLASH@
     903@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/base_object.Po' tmpdepfile='$(DEPDIR)/base_object.TPo' @AMDEPBACKSLASH@
     904@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     905@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o base_object.o `test -f 'lib/lang/base_object.cc' || echo '$(srcdir)/'`lib/lang/base_object.cc
     906
     907base_object.obj: lib/lang/base_object.cc
     908@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT base_object.obj -MD -MP -MF "$(DEPDIR)/base_object.Tpo" -c -o base_object.obj `if test -f 'lib/lang/base_object.cc'; then $(CYGPATH_W) 'lib/lang/base_object.cc'; else $(CYGPATH_W) '$(srcdir)/lib/lang/base_object.cc'; fi`; \
     909@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/base_object.Tpo" "$(DEPDIR)/base_object.Po"; else rm -f "$(DEPDIR)/base_object.Tpo"; exit 1; fi
     910@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/lang/base_object.cc' object='base_object.obj' libtool=no @AMDEPBACKSLASH@
     911@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/base_object.Po' tmpdepfile='$(DEPDIR)/base_object.TPo' @AMDEPBACKSLASH@
     912@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     913@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o base_object.obj `if test -f 'lib/lang/base_object.cc'; then $(CYGPATH_W) 'lib/lang/base_object.cc'; else $(CYGPATH_W) '$(srcdir)/lib/lang/base_object.cc'; fi`
     914
     915ini_parser.o: lib/util/ini_parser.cc
     916@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ini_parser.o -MD -MP -MF "$(DEPDIR)/ini_parser.Tpo" -c -o ini_parser.o `test -f 'lib/util/ini_parser.cc' || echo '$(srcdir)/'`lib/util/ini_parser.cc; \
     917@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/ini_parser.Tpo" "$(DEPDIR)/ini_parser.Po"; else rm -f "$(DEPDIR)/ini_parser.Tpo"; exit 1; fi
     918@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/util/ini_parser.cc' object='ini_parser.o' libtool=no @AMDEPBACKSLASH@
     919@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/ini_parser.Po' tmpdepfile='$(DEPDIR)/ini_parser.TPo' @AMDEPBACKSLASH@
     920@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     921@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ini_parser.o `test -f 'lib/util/ini_parser.cc' || echo '$(srcdir)/'`lib/util/ini_parser.cc
     922
     923ini_parser.obj: lib/util/ini_parser.cc
     924@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT ini_parser.obj -MD -MP -MF "$(DEPDIR)/ini_parser.Tpo" -c -o ini_parser.obj `if test -f 'lib/util/ini_parser.cc'; then $(CYGPATH_W) 'lib/util/ini_parser.cc'; else $(CYGPATH_W) '$(srcdir)/lib/util/ini_parser.cc'; fi`; \
     925@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/ini_parser.Tpo" "$(DEPDIR)/ini_parser.Po"; else rm -f "$(DEPDIR)/ini_parser.Tpo"; exit 1; fi
     926@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/util/ini_parser.cc' object='ini_parser.obj' libtool=no @AMDEPBACKSLASH@
     927@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/ini_parser.Po' tmpdepfile='$(DEPDIR)/ini_parser.TPo' @AMDEPBACKSLASH@
     928@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     929@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ini_parser.obj `if test -f 'lib/util/ini_parser.cc'; then $(CYGPATH_W) 'lib/util/ini_parser.cc'; else $(CYGPATH_W) '$(srcdir)/lib/util/ini_parser.cc'; fi`
     930
     931list.o: lib/util/list.cc
     932@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT list.o -MD -MP -MF "$(DEPDIR)/list.Tpo" -c -o list.o `test -f 'lib/util/list.cc' || echo '$(srcdir)/'`lib/util/list.cc; \
     933@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/list.Tpo" "$(DEPDIR)/list.Po"; else rm -f "$(DEPDIR)/list.Tpo"; exit 1; fi
     934@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/util/list.cc' object='list.o' libtool=no @AMDEPBACKSLASH@
     935@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/list.Po' tmpdepfile='$(DEPDIR)/list.TPo' @AMDEPBACKSLASH@
     936@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     937@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o list.o `test -f 'lib/util/list.cc' || echo '$(srcdir)/'`lib/util/list.cc
     938
     939list.obj: lib/util/list.cc
     940@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT list.obj -MD -MP -MF "$(DEPDIR)/list.Tpo" -c -o list.obj `if test -f 'lib/util/list.cc'; then $(CYGPATH_W) 'lib/util/list.cc'; else $(CYGPATH_W) '$(srcdir)/lib/util/list.cc'; fi`; \
     941@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/list.Tpo" "$(DEPDIR)/list.Po"; else rm -f "$(DEPDIR)/list.Tpo"; exit 1; fi
     942@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/util/list.cc' object='list.obj' libtool=no @AMDEPBACKSLASH@
     943@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/list.Po' tmpdepfile='$(DEPDIR)/list.TPo' @AMDEPBACKSLASH@
     944@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     945@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o list.obj `if test -f 'lib/util/list.cc'; then $(CYGPATH_W) 'lib/util/list.cc'; else $(CYGPATH_W) '$(srcdir)/lib/util/list.cc'; fi`
     946
     947resource_manager.o: lib/util/resource_manager.cc
     948@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT resource_manager.o -MD -MP -MF "$(DEPDIR)/resource_manager.Tpo" -c -o resource_manager.o `test -f 'lib/util/resource_manager.cc' || echo '$(srcdir)/'`lib/util/resource_manager.cc; \
     949@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/resource_manager.Tpo" "$(DEPDIR)/resource_manager.Po"; else rm -f "$(DEPDIR)/resource_manager.Tpo"; exit 1; fi
     950@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/util/resource_manager.cc' object='resource_manager.o' libtool=no @AMDEPBACKSLASH@
     951@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/resource_manager.Po' tmpdepfile='$(DEPDIR)/resource_manager.TPo' @AMDEPBACKSLASH@
     952@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     953@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o resource_manager.o `test -f 'lib/util/resource_manager.cc' || echo '$(srcdir)/'`lib/util/resource_manager.cc
     954
     955resource_manager.obj: lib/util/resource_manager.cc
     956@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT resource_manager.obj -MD -MP -MF "$(DEPDIR)/resource_manager.Tpo" -c -o resource_manager.obj `if test -f 'lib/util/resource_manager.cc'; then $(CYGPATH_W) 'lib/util/resource_manager.cc'; else $(CYGPATH_W) '$(srcdir)/lib/util/resource_manager.cc'; fi`; \
     957@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/resource_manager.Tpo" "$(DEPDIR)/resource_manager.Po"; else rm -f "$(DEPDIR)/resource_manager.Tpo"; exit 1; fi
     958@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/util/resource_manager.cc' object='resource_manager.obj' libtool=no @AMDEPBACKSLASH@
     959@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/resource_manager.Po' tmpdepfile='$(DEPDIR)/resource_manager.TPo' @AMDEPBACKSLASH@
     960@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     961@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o resource_manager.obj `if test -f 'lib/util/resource_manager.cc'; then $(CYGPATH_W) 'lib/util/resource_manager.cc'; else $(CYGPATH_W) '$(srcdir)/lib/util/resource_manager.cc'; fi`
     962
     963vector.o: lib/math/vector.cc
     964@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vector.o -MD -MP -MF "$(DEPDIR)/vector.Tpo" -c -o vector.o `test -f 'lib/math/vector.cc' || echo '$(srcdir)/'`lib/math/vector.cc; \
     965@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/vector.Tpo" "$(DEPDIR)/vector.Po"; else rm -f "$(DEPDIR)/vector.Tpo"; exit 1; fi
     966@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/math/vector.cc' object='vector.o' libtool=no @AMDEPBACKSLASH@
     967@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/vector.Po' tmpdepfile='$(DEPDIR)/vector.TPo' @AMDEPBACKSLASH@
     968@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     969@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o vector.o `test -f 'lib/math/vector.cc' || echo '$(srcdir)/'`lib/math/vector.cc
     970
     971vector.obj: lib/math/vector.cc
     972@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT vector.obj -MD -MP -MF "$(DEPDIR)/vector.Tpo" -c -o vector.obj `if test -f 'lib/math/vector.cc'; then $(CYGPATH_W) 'lib/math/vector.cc'; else $(CYGPATH_W) '$(srcdir)/lib/math/vector.cc'; fi`; \
     973@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/vector.Tpo" "$(DEPDIR)/vector.Po"; else rm -f "$(DEPDIR)/vector.Tpo"; exit 1; fi
     974@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/math/vector.cc' object='vector.obj' libtool=no @AMDEPBACKSLASH@
     975@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/vector.Po' tmpdepfile='$(DEPDIR)/vector.TPo' @AMDEPBACKSLASH@
     976@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     977@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o vector.obj `if test -f 'lib/math/vector.cc'; then $(CYGPATH_W) 'lib/math/vector.cc'; else $(CYGPATH_W) '$(srcdir)/lib/math/vector.cc'; fi`
     978
     979curve.o: lib/math/curve.cc
     980@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT curve.o -MD -MP -MF "$(DEPDIR)/curve.Tpo" -c -o curve.o `test -f 'lib/math/curve.cc' || echo '$(srcdir)/'`lib/math/curve.cc; \
     981@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/curve.Tpo" "$(DEPDIR)/curve.Po"; else rm -f "$(DEPDIR)/curve.Tpo"; exit 1; fi
     982@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/math/curve.cc' object='curve.o' libtool=no @AMDEPBACKSLASH@
     983@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/curve.Po' tmpdepfile='$(DEPDIR)/curve.TPo' @AMDEPBACKSLASH@
     984@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     985@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o curve.o `test -f 'lib/math/curve.cc' || echo '$(srcdir)/'`lib/math/curve.cc
     986
     987curve.obj: lib/math/curve.cc
     988@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT curve.obj -MD -MP -MF "$(DEPDIR)/curve.Tpo" -c -o curve.obj `if test -f 'lib/math/curve.cc'; then $(CYGPATH_W) 'lib/math/curve.cc'; else $(CYGPATH_W) '$(srcdir)/lib/math/curve.cc'; fi`; \
     989@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/curve.Tpo" "$(DEPDIR)/curve.Po"; else rm -f "$(DEPDIR)/curve.Tpo"; exit 1; fi
     990@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='lib/math/curve.cc' object='curve.obj' libtool=no @AMDEPBACKSLASH@
     991@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/curve.Po' tmpdepfile='$(DEPDIR)/curve.TPo' @AMDEPBACKSLASH@
     992@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     993@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o curve.obj `if test -f 'lib/math/curve.cc'; then $(CYGPATH_W) 'lib/math/curve.cc'; else $(CYGPATH_W) '$(srcdir)/lib/math/curve.cc'; fi`
     994
     995glmenu_imagescreen.o: glmenu/glmenu_imagescreen.cc
     996@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT glmenu_imagescreen.o -MD -MP -MF "$(DEPDIR)/glmenu_imagescreen.Tpo" -c -o glmenu_imagescreen.o `test -f 'glmenu/glmenu_imagescreen.cc' || echo '$(srcdir)/'`glmenu/glmenu_imagescreen.cc; \
     997@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/glmenu_imagescreen.Tpo" "$(DEPDIR)/glmenu_imagescreen.Po"; else rm -f "$(DEPDIR)/glmenu_imagescreen.Tpo"; exit 1; fi
     998@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='glmenu/glmenu_imagescreen.cc' object='glmenu_imagescreen.o' libtool=no @AMDEPBACKSLASH@
     999@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/glmenu_imagescreen.Po' tmpdepfile='$(DEPDIR)/glmenu_imagescreen.TPo' @AMDEPBACKSLASH@
     1000@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     1001@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o glmenu_imagescreen.o `test -f 'glmenu/glmenu_imagescreen.cc' || echo '$(srcdir)/'`glmenu/glmenu_imagescreen.cc
     1002
     1003glmenu_imagescreen.obj: glmenu/glmenu_imagescreen.cc
     1004@am__fastdepCXX_TRUE@   if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT glmenu_imagescreen.obj -MD -MP -MF "$(DEPDIR)/glmenu_imagescreen.Tpo" -c -o glmenu_imagescreen.obj `if test -f 'glmenu/glmenu_imagescreen.cc'; then $(CYGPATH_W) 'glmenu/glmenu_imagescreen.cc'; else $(CYGPATH_W) '$(srcdir)/glmenu/glmenu_imagescreen.cc'; fi`; \
     1005@am__fastdepCXX_TRUE@   then mv -f "$(DEPDIR)/glmenu_imagescreen.Tpo" "$(DEPDIR)/glmenu_imagescreen.Po"; else rm -f "$(DEPDIR)/glmenu_imagescreen.Tpo"; exit 1; fi
     1006@AMDEP_TRUE@@am__fastdepCXX_FALSE@      source='glmenu/glmenu_imagescreen.cc' object='glmenu_imagescreen.obj' libtool=no @AMDEPBACKSLASH@
     1007@AMDEP_TRUE@@am__fastdepCXX_FALSE@      depfile='$(DEPDIR)/glmenu_imagescreen.Po' tmpdepfile='$(DEPDIR)/glmenu_imagescreen.TPo' @AMDEPBACKSLASH@
     1008@AMDEP_TRUE@@am__fastdepCXX_FALSE@      $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
     1009@am__fastdepCXX_FALSE@  $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o glmenu_imagescreen.obj `if test -f 'glmenu/glmenu_imagescreen.cc'; then $(CYGPATH_W) 'glmenu/glmenu_imagescreen.cc'; else $(CYGPATH_W) '$(srcdir)/glmenu/glmenu_imagescreen.cc'; fi`
    5211010uninstall-info-am:
    5221011
     
    6421131
    6431132distdir: $(DISTFILES)
    644         $(mkdir_p) $(distdir)/sfont
     1133        $(mkdir_p) $(distdir)/ai $(distdir)/defs $(distdir)/glmenu $(distdir)/lib/coord $(distdir)/lib/data $(distdir)/lib/graphics $(distdir)/lib/graphics/font $(distdir)/lib/lang $(distdir)/lib/math $(distdir)/lib/util $(distdir)/network $(distdir)/proto $(distdir)/story_entities $(distdir)/world_entities
    6451134        @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
    6461135        topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
  • orxonox/branches/textEngine/src/ability.h

    r3224 r3681  
    1010 public:
    1111  Ability ();
    12   ~Ability ();
     12  virtual ~Ability ();
    1313
    1414};
  • orxonox/branches/textEngine/src/camera.cc

    r3365 r3681  
    1717
    1818#include "camera.h"
     19
    1920#include "world.h"
    2021#include "world_entity.h"
     22#include "vector.h"
    2123
    2224using namespace std;
    2325
     26////////////
     27// CAMERA //
     28////////////
     29
    2430/**
    2531   \brief creates a Camera
    26    
    27    This standard constructor sets all parameters to zero
    2832*/
    29 Camera::Camera (World* world)
     33Camera::Camera(void)
    3034{
    31   this->world = world;
    32   this->bound = NULL;
    33   /* give it some physical live */
    34   this->m = 10;
    35   this->a = new Vector(0.0, 0.0, 0.0);
    36   this->v = new Vector(0.0, 0.0, 0.0);
    37   this->fs = new Vector(0.0, 0.0, 0.0);
    38   this->cameraMode = NORMAL;
    39   this->deltaTime = 3000.0;
    40   this->cameraOffset = 1.0;
    41   this->cameraOffsetZ = 10.0;
    42   this->t = 0.0;
     35  this->setClassName("Camera");
     36  this->target = new CameraTarget();
    4337
     38  this->setFovy(90);
     39  this->setAspectRatio(1.2f);
     40  this->setClipRegion(.1, 2000);
    4441
    45   this->setDrawable (false);
     42  this->setViewMode(VIEW_NORMAL);
    4643}
    4744
     
    4946   \brief default destructor
    5047*/
    51 Camera::~Camera ()
     48Camera::~Camera(void)
    5249{
    5350}
    5451
    5552/**
    56    \brief time based actualisation of camera parameters
    57    \param deltaT: The amount of time that has passed in milliseconds
    58    
    59    This is called by the World in every time_slice, use it to do fancy time dependant effects (such
    60    as smooth camera movement or swaying).
     53   \brief focuses the Camera onto a Target
     54   \param target the new PNode the Camera should look at.
    6155*/
    62 void Camera::timeSlice (Uint32 deltaT)
     56void Camera::lookAt(PNode* target)
    6357{
    64   if( this->t <= deltaTime)
    65     {this->t += deltaT;}
    66   //printf("time is: t=%f\n", t );
    67   updateDesiredPlace();
    68   //jump(NULL);
     58  this->target->setParent(target);
    6959}
    7060
    7161/**
    72    \brief this calculates the location where the track wants the camera to be
    73    
    74    This refreshes the placement the camera should have according to the
    75    bound entity's position on the track.
     62   \returns The PNode of the Target (from there you can get position and so on
    7663*/
    77 void Camera::updateDesiredPlace ()
     64PNode* Camera::getTarget(void)
    7865{
    79   switch(cameraMode)
    80     {
    81      
    82     case ELLIPTICAL:
    83       {
    84         /*
    85         //r = actual_place.r
    86         Orxonox *orx = Orxonox::getInstance();
    87         Location lookat; 
    88         Placement plFocus;
    89         if( bound != NULL)
    90           {
    91             bound->getLookat (&lookat);
    92             orx->getWorld()->calcCameraPos (&lookat, &plFocus);
    93             Quaternion *fr;
    94             if(t < 20.0)
    95               {
    96                 Vector *start = new Vector(0.0, 1.0, 0.0);
    97                 r = *(new Vector(0.0, 5.0, 0.0));
    98 
    99                 Vector up(0.0, 0.0, 1.0);
    100                
    101                 Vector op(1.0, 0.0, 0.0);
    102                 float angle = angleDeg(op, *start);
    103                 printf("angle is: %f\n", angle);
    104 
    105                 //if in one plane
    106                 from = new Quaternion(angle, up);
    107 
    108                 //from = new Quaternion(*start, *up);
    109                 //&from = &plFocus.w;
    110                 //fr = &plFocus.w; real quaternion use
    111                
     66  return (PNode*)this->target;
     67}
    11268
    11369
    114                 Vector vDirection(1.0, 0.0, 0.0);
    115                 //vDirection = plFocus.w.apply(vDirection);
    116                 to = new Quaternion(vDirection, *start);
    117                 res = new Quaternion();
    118               }
    119             //printf("vector r = %f, %f, %f\n",r.x, r.y, r.z );
    120             rAbs = r.len();
    121             if(t < 30)
    122               {
    123                 ka = rAbs / deltaTime*deltaTime;
    124               }
     70/**
     71   \brief sets a new AspectRatio
     72   \param aspectRatio the new aspect ratio to set (width / height)
     73*/
     74void Camera::setAspectRatio(float aspectRatio)
     75{
     76  this->aspectRatio = aspectRatio;
     77}
    12578
    126             res->quatSlerp(to, from, t/deltaTime, res);
     79/**
     80   \brief sets the Field of View to fofy
     81   \param fovy new field of view factor (in degrees)
     82*/
     83void Camera::setFovy(float fovy)
     84{
     85  this->fovy = fovy;
     86}
    12787
    128             Vector ursp(0.0, 0.0, 0.0);
    129             desiredPlace.r =  ursp - res->apply(r);
     88/**
     89  \brief Sets a new clipping region
     90  \param nearClip The near clip plane
     91  \param farClip The far clip plane
     92*/
     93void Camera::setClipRegion(float nearClip, float farClip)
     94{
     95  this->nearClip = nearClip;
     96  this->farClip = farClip;
     97}
    13098
    131             printf("desired place is: %f, %f, %f\n", desiredPlace.r.x, desiredPlace.r.y, desiredPlace.r.z);
    132             //plLastBPlace = *bound->get_placement();
    133            
    134           }
    135       */
    136       }
     99void Camera::setViewMode(ViewMode mode)
     100{
     101  switch (mode)
     102    {
     103    default:
     104    case VIEW_NORMAL:
     105      this->toFovy = 60.0;
     106      this->toRelCoor = Vector(-10, 5, 0);
    137107      break;
    138     case SMOTH_FOLLOW:
    139       {
    140         /*
    141         Placement *plBound = bound->getPlacement();
    142         Location lcBound;
    143         if(bound != null)
    144           {
    145             bound->getLookat(&lcBound);
    146             Vector vDirection(0.0, 0.0, 1.0);
    147             vDirection = plBound->w.apply(vDirection);
    148             desiredPlace.r = (vDirection * ((lcBound.dist-10.0))) + Vector(0,0,5.0);
    149           }
    150         */
    151         break;
    152       }
    153       /* this is a camera mode that tries just to follow the entity. */
    154     case STICKY:
    155       {
    156         /*
    157         if(bound != null)
    158           {
    159             Placement *plBound = bound->getPlacement();
    160             Vector vDirection(0.0, 0.0, 1.0);
    161             Vector eclipticOffset(0.0, 0.0, 5.0);
    162             vDirection = plBound->w.apply(vDirection);
    163             desiredPlace.r = plBound->r - vDirection*10 + eclipticOffset;
    164           }
    165         */
    166         break;
    167       }
    168       /* the camera is handled like an entity and rolls on the track */
    169     case NORMAL:
    170       if( bound != NULL && world != NULL )
    171         {
    172           //FIXME: camera should be made via relative coordinates
    173           Vector* cameraOffset = new Vector (-10, 5, 0);
    174           this->setRelCoor (cameraOffset);
    175         }
    176       else
    177         {
    178           /*
    179           desiredPlace.r = Vector (0,0,0);
    180           desiredPlace.w = Quaternion ();
    181           */
    182         }
     108    case VIEW_BEHIND:
     109      this->toFovy = 120.0;
     110      this->toRelCoor = Vector(-7, 0, 0);
    183111      break;
     112    case VIEW_FRONT:
     113      this->toFovy = 95.0;
     114      this->toRelCoor = Vector(12, 5, 0);
     115      break;
     116    case VIEW_LEFT:
     117      this->toFovy = 90;
     118      this->toRelCoor = Vector(0, 2, -10);
     119      break;
     120    case VIEW_RIGHT:
     121      this->toFovy = 90;
     122      this->toRelCoor = Vector(0, 2, 10);
     123      break;
     124    case VIEW_TOP:
     125      this->toFovy= 120;
     126      this->toRelCoor = Vector(0, 4, 0);
    184127    }
    185128}
     129
     130
     131/**
     132   \brief Updates the position of the camera.
     133   \param dt The time that elapsed.
     134*/
     135void Camera::tick(float dt)
     136{
     137  dt /= 500;
     138  float tmpFovy = (this->toFovy - this->fovy) * dt;
     139  if (tmpFovy > .001)
     140    this->fovy += (this->toFovy - this->fovy) * dt;
     141  Vector tmpPos = (this->toRelCoor - *this->getRelCoor()) * dt;
     142  if (tmpPos.len() >= .001)
     143    {
     144      tmpPos = tmpPos + *this->getRelCoor();
     145      this->setRelCoor(&tmpPos);
     146    }
     147}
     148
    186149
    187150/**
     
    193156void Camera::apply ()
    194157{
     158  // switching to Projection Matrix
    195159  glMatrixMode (GL_PROJECTION);
    196160  glLoadIdentity ();
    197   // view
    198   // TO DO: implement options for frustum generation
    199   //glFrustum(-1.0, 1.0, -1.0, 1.0, 1.5, 250.0);
    200   gluPerspective(60, 1.2f, 0.1, 250);
    201  
    202   //Vector up(0,0,1);
    203   //Vector dir(1,0,0);
    204   //Quaternion q(dir,up);
    205   //float matrix[4][4];
    206   //q.conjugate().matrix (matrix);
    207   //glMultMatrixf ((float*)matrix);
    208   //glTranslatef (10,0,-5);
    209   //
    210   //dir = Vector(-1,-1,0);
    211   //q = Quaternion( dir, up);
    212   //glMatrixMode (GL_MODELVIEW);
    213   //glLoadIdentity ();
    214   //q.matrix (matrix);
    215   //glMultMatrixf ((float*)matrix);
    216   //glTranslatef (2,2,0);
    217   //
    218   //glBegin(GL_TRIANGLES);
    219   //glColor3f(1,0,0);
    220   //glVertex3f(0,0,0.5);
    221   //glColor3f(0,1,0);
    222   //glVertex3f(-0.5,0,-1);
    223   //glColor3f(0,0,1);
    224   //glVertex3f(0.5,0,-1);
    225   //glEnd();   
    226161
    227   // ===== first camera control calculation option
    228   // rotation
    229   float matrix[4][4];
    230   //this->absDirection.conjugate().matrix (matrix);
    231   /* orientation and */
    232   //glMultMatrixf ((float*)matrix);
     162  // setting up the perspective
     163  gluPerspective(this->fovy,
     164                 this->aspectRatio,
     165                 this->nearClip,
     166                 this->farClip);
    233167
    234   /*  translation */
    235   //glTranslatef (this->absCoordinate.x, this->absCoordinate.y, this->absCoordinate.z );
     168  // speed-up feature
     169  Vector cameraPosition = this->getAbsCoor();
     170  Vector targetPosition = this->target->getAbsCoor();
     171  Vector up = Vector(0, 1, 0);
     172  up = this->getAbsDir().apply(up);
    236173
     174  // Setting the Camera Eye, lookAt and up Vectors
     175  gluLookAt(cameraPosition.x, cameraPosition.y, cameraPosition.z,
     176            targetPosition.x, targetPosition.y, targetPosition.z,
     177            up.x, up.y, up.z);
    237178
    238   // ===== second camera control calculation option
    239  
    240   gluLookAt(this->absCoordinate.x, this->absCoordinate.y, this->absCoordinate.z,
    241             this->parent->getAbsCoor ().x, this->parent->getAbsCoor ().y, this->parent->getAbsCoor ().z,
    242             0.0, 1.0, 0.0);
    243  
    244 
     179  // switching back to Modeling Matrix
    245180  glMatrixMode (GL_MODELVIEW);
    246   glLoadIdentity ();
    247181}
    248182
    249183
    250184
    251 /**
    252   \brief bind the camera to an entity
    253   \param entity: The enitity to bind the camera to
    254        
    255   This sets the focus of the camera to the given entity. This means that it will use the given WorldEntity's
    256   Location and get_lookat() to determine the viewpoint the camera will render from.
    257   Note that you cannot bind a camera to a free entity.
    258 */
    259 void Camera::bind (WorldEntity* entity)
     185///////////////////
     186// CAMERA-TARGET //
     187///////////////////
     188
     189
     190CameraTarget::CameraTarget()
    260191{
    261   if( entity != NULL)
    262     {
    263       if( entity->isFree()) printf("Cannot bind camera to free entity");
    264       else
    265         {
    266           this->bound = entity;
    267         }
    268     }
     192  this->setClassName("CameraTarget");
     193  this->setMode(PNODE_MOVEMENT);
    269194}
    270195
     196CameraTarget::~CameraTarget()
     197{
    271198
    272 void Camera::setWorld(World* world)
    273 {
    274   this->world = world;
    275199}
    276 
    277 
    278 /**
    279    \brief destroy, reset the camera so that it doesn't perform anything anymore
    280 
    281 */
    282 void Camera::destroy()
    283 {
    284   this->bound = NULL;
    285   this->world = NULL;
    286 }
  • orxonox/branches/textEngine/src/camera.h

    r3365 r3681  
    77#define _CAMERA_H
    88
    9 #include "stdincl.h"
    10 #include "world_entity.h"
    11 
     9#include "p_node.h"
     10#include "vector.h"
    1211
    1312class World;
     13class CameraTarget;
     14
     15enum ViewMode{VIEW_NORMAL, VIEW_BEHIND, VIEW_FRONT, VIEW_LEFT, VIEW_RIGHT, VIEW_TOP};
    1416
    1517//! Camera
    1618/**
    17    This class controls the viewpoint from which the World is rendered. To use the
    18    Camera it has to be bound to a WorldEntity which serves as the reference focus
    19    point. The Camera itself calls the WorldEntity::get_lookat() and
    20    World::calc_camera_pos() functions to calculate the position it currently should
    21    be in.
     19   This class controls the viewpoint from which the World is rendered.
    2220*/
     21class Camera : public PNode
     22{
     23 private:
     24  CameraTarget* target;            //!< The Target of the Camera (where this Camera Looks at)
    2325
    24 enum CAMERA_MODE {NORMAL, SMOTH_FOLLOW, STICKY, ELLIPTICAL};
     26  float fovy;                      //!< The field of view Angle (in degrees).
     27  float aspectRatio;               //!< The aspect ratio (width / height).
     28  float nearClip;                  //!< The near clipping plane.
     29  float farClip;                   //!< The far clipping plane.
    2530
    26 class Camera : public WorldEntity {
    27  private:
    28   WorldEntity* bound;           //!< the WorldEntity the Camera is bound to
    29   World* world;
    30  
    31   /* physical system - not needed yet */
    32   float m; //!< mass
    33   Vector *fs; //!< seil-kraft
    34   Vector *a;  //!< acceleration
    35   Vector *v;  //!< velocity
    36  
    37   /* elliptical camera mode variables */
    38   float cameraOffset;
    39   float cameraOffsetZ;
    40   float deltaTime;
    41   float t;
    42   Vector r;
    43   float rAbs;
    44   float ka;
    45   float a0;
    46 
    47   Quaternion *from;
    48   Quaternion *to;
    49   Quaternion *res;
    50  
    51  
    52   CAMERA_MODE cameraMode; //!< saves the camera mode: how the camera follows the entity
    53  
    54   void updateDesiredPlace ();
     31  Vector toRelCoor;
     32  float toFovy;
    5533 
    5634 public:
    57   Camera (World* world);
    58   ~Camera ();
    59  
    60   void timeSlice (Uint32 deltaT);
    61   void apply ();
    62   void bind (WorldEntity* entity);
    63   void destroy();
     35  Camera(void);
     36  virtual ~Camera(void);
    6437
    65   void setWorld(World* world); 
     38  void lookAt(PNode* target);
     39  PNode* getTarget();
    6640
     41  void setAspectRatio(float aspectRatio);
     42  void setFovy(float fovy);
     43  void setClipRegion(float nearClip, float farClip);
     44
     45  void setViewMode(ViewMode mode);
     46  void tick(float dt);
     47  void apply (void);
    6748};
    6849
     50//! A CameraTarget is where the Camera is looking at.
     51class CameraTarget : public PNode
     52{
     53  friend class Camera;             //! The CameraTarget is a friend of Camera. noone else needs a CameraTarget, so noone else can create it.
     54 
     55 private:
     56  CameraTarget(void);
     57 
     58 public:
     59  virtual ~CameraTarget(void);
     60};
     61
     62
    6963#endif /* _CAMERA_H */
  • orxonox/branches/textEngine/src/collision.h

    r3237 r3681  
    88
    99#include "vector.h"
    10 #include "coordinates.h"
    1110#include <stdlib.h>
    1211#include <stdio.h>
  • orxonox/branches/textEngine/src/command_node.cc

    r3236 r3681  
    1414*/
    1515
     16#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_COMMAND_NODE
    1617
    1718#include "command_node.h"
     
    2122#include "game_loader.h"
    2223#include "world.h"
     24#include "list.h"
     25#include "orxonox.h"
    2326
    2427#include <stdio.h>
     
    112115  FILE* stream;
    113116 
    114   printf("Loading key bindings from %s\n", filename);
     117  PRINTF(4)("Loading key bindings from %s\n", filename);
    115118 
    116119  if( filename == NULL) filename = DEFAULT_KEYBIND_FILE;
     
    127130  if( parser.getSection ("Bindings") == -1)
    128131    {
    129       printf("Could not find key bindings in %s\n", filename);
     132      PRINTF(1)("Could not find key bindings in %s\n", filename);
    130133      return;
    131134    }
     
    145148        {
    146149        case 0:
    147           printf("Key binding %d(%s) set to %s\n", index[1], SDLKToKeyname( index[1]), valuebuf);
     150          PRINTF(4)("Key binding %d(%s) set to %s\n", index[1], SDLKToKeyname( index[1]), valuebuf);
    148151          strcpy (aliases->keys[index[1]], valuebuf);
    149152          break;
    150153        case 1:
    151           printf("Button binding %d(%s) set to %s\n", index[1], SDLBToButtonname( index[1]), valuebuf);
     154          PRINTF(4)("Button binding %d(%s) set to %s\n", index[1], SDLBToButtonname( index[1]), valuebuf);
    152155          strcpy (aliases->buttons[index[1]], valuebuf);
    153156          break;
     
    214217  while( SDL_PollEvent (&event))
    215218    {
     219      PRINTF(3)("CommandNode::processLocal() =========================got Event\n");
    216220      memset (cmd.cmd, 0, CMD_LENGHT);
    217221      switch( event.type)
     
    267271void CommandNode::relay (Command* cmd)
    268272{
    269 
    270273  Orxonox *orx = Orxonox::getInstance();
    271274  if( orx->systemCommand (cmd)) return;
     
    278281  if( this->world->command(cmd)) return;
    279282
    280   WorldEntity* entity = bound->enumerate();
     283  tIterator<WorldEntity>* iterator = bound->getIterator();
     284  WorldEntity* entity = iterator->nextElement();
    281285  while( entity != NULL)
    282286    {
    283       entity->command (cmd);
    284       entity = bound->nextElement();
    285     }
     287      entity->command (cmd); /*no absorbtion of command! strange*/
     288      entity = iterator->nextElement();
     289    }
     290  delete iterator;
    286291}
    287292
  • orxonox/branches/textEngine/src/command_node.h

    r3236 r3681  
    99#define _COMMAND_NODE_H
    1010
    11 #include "stdincl.h"
    1211
     12#include "comincl.h"
     13
     14template<class T> class tList;
    1315class WorldEntity;
    1416class World;
  • orxonox/branches/textEngine/src/game_loader.cc

    r3433 r3681  
    8686  switch(campaignID)
    8787    {
    88       // Debug Level 0: Debug level used to test the base frame work.
     88      /*
     89         Debug Level 0: Debug level used to test the base frame work.
     90         As you can see, all storyentity data is allocated before game
     91         start. the storyentity will load themselfs shortly before start
     92         through the StoryEntity::init() funtion.
     93      */
    8994    case DEBUG_CAMPAIGN_0:
    9095      {
  • orxonox/branches/textEngine/src/game_loader.h

    r3225 r3681  
     1/*!
     2    \file game_loader.h
     3    \brief loads campaigns, worlds and all other story_entities
     4*/
     5
    16#ifndef _GAME_LOADER_H
    27#define _GAME_LOADER_H
    38
    4 #include "stdincl.h"
     9//#include "stdincl.h"
    510#include "story_def.h"
     11#include "comincl.h"
    612
    713//-----------------------------------------------------------------------------
     
    1319class CammandNode;
    1420
    15 
     21//! The GameLoader
     22/**
     23   The game loader loads all game date. this is performed in the following way:
     24   1. Read the structure of campaings and worlds
     25   2. Create the instances of the tree: here _ALL_ StoryEntities are created
     26      also if they are not yet used. the worlds should load their data in
     27      the StoryEntity::load() and StoryEntity::init() functions! NOWHERE ELSE!
     28      Elsewhere, all the data will be allocated at the beginning... mess...
     29   3. StoryEntities are load() and init() before they start
     30   4. once the gamloader starts the game there will be a campaing starting a
     31      world. this is done by callaing those StoryEntity::start()
     32*/
    1633class GameLoader
    1734{
  • orxonox/branches/textEngine/src/keynames.cc

    r3230 r3681  
    1515
    1616#include "keynames.h"
     17
     18#include "stdincl.h"
    1719
    1820#include <string.h>
  • orxonox/branches/textEngine/src/keynames.h

    r3230 r3681  
    77#ifndef _KEYNAMES_H
    88#define _KEYNAMES_H
    9 
    10 
    11 #ifdef __WIN32__
    12 #include <windows.h>
    13 #endif
    14 
    15 #ifndef __APPLE__
    16 #include <SDL/SDL.h>
    17 #else
    18 #include <SDL.h>
    19 #endif
    209
    2110/**
  • orxonox/branches/textEngine/src/message_structures.h

    r3224 r3681  
    66#ifndef _MESSAGE_STRUCTURES_H
    77#define _MESSAGE_STRUCTURES_H
     8
     9#include "stdincl.h"
    810
    911#define CMD_LENGHT 16
  • orxonox/branches/textEngine/src/orxonox.cc

    r3449 r3681  
    2222   main-programmer: Patrick Boenzli
    2323   co-programmer: Christian Meyer
     24   co-programmer: Benjamin Grauer: injected ResourceManager/GraphicsEngine
    2425*/
    2526
    2627#include "orxonox.h"
     28
    2729#include "world.h"
    28 #include "camera.h"
    2930#include "data_tank.h"
    3031#include "command_node.h"
    3132#include "game_loader.h"
     33#include "graphics_engine.h"
     34#include "resource_manager.h"
     35
    3236#include <string.h>
    33 int verbose;
     37int verbose = 3;
    3438
    3539using namespace std;
     
    5155  if( world != NULL) delete world;
    5256  if( localinput != NULL) delete world;
    53   if( localcamera != NULL) delete localcamera;
    5457  if( resources != NULL) delete resources;
    55 }
    56 
     58  delete GraphicsEngine::getInstance(); // deleting the Graphics
     59  delete ResourceManager::getInstance(); // deletes the Resource Manager
     60}
    5761
    5862/** \brief this is a singleton class to prevent duplicates */
     
    111115int Orxonox::initVideo()
    112116{
    113   printf("> Initializing video\n");
    114   if (SDL_Init(SDL_INIT_VIDEO) == -1)
    115     {
    116       printf ("could not initialize SDL Video\n");
    117       return -1;
    118     }
    119   // Set video mode
    120   // TO DO: parse arguments for settings
    121   //SDL_GL_SetAttribute(SDL_GL_RED_SIZE, 5);
    122   //SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE, 5);
    123   //SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE, 5);
    124   //SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 16);
    125  
    126 
    127   SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 );   
    128   SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, 16);   
    129   SDL_GL_SetAttribute( SDL_GL_STENCIL_SIZE, 0); 
    130   SDL_GL_SetAttribute( SDL_GL_ACCUM_RED_SIZE, 0);
    131   SDL_GL_SetAttribute( SDL_GL_ACCUM_GREEN_SIZE, 0);
    132   SDL_GL_SetAttribute( SDL_GL_ACCUM_BLUE_SIZE, 0);
    133   SDL_GL_SetAttribute( SDL_GL_ACCUM_ALPHA_SIZE, 0);
    134 
    135 
    136 
    137   int bpp = 16;
    138   int width = 640;
    139   int height = 480;
    140   //Uint32 flags = SDL_HWSURFACE | SDL_OPENGL | SDL_GL_DOUBLEBUFFER; /* \todo: SDL_OPENGL doen't permit to load images*/
    141   //Uint32 flags = SDL_HWSURFACE | SDL_GL_DOUBLEBUFFER;
    142 
    143   Uint32 videoFlags = SDL_OPENGL | SDL_HWPALETTE | SDL_RESIZABLE;
    144 
    145   /* query SDL for information about our video hardware */
    146   const SDL_VideoInfo* videoInfo = SDL_GetVideoInfo ();
    147  
    148   if( videoInfo == NULL)
    149     {
    150       printf ("Orxonox::initVideo() - Failed getting Video Info :%s\n", SDL_GetError());
    151       SDL_Quit ();
    152     }
    153   if( videoInfo->hw_available)
    154     videoFlags |= SDL_HWSURFACE;
    155   else
    156     videoFlags |= SDL_SWSURFACE;
    157   /*
    158   if(VideoInfo -> blit_hw)                           
    159     VideoFlags |= SDL_HWACCEL;
    160   */
    161  
    162   if((this->screen = SDL_SetVideoMode (width, height, bpp, videoFlags)) == NULL)
    163   {
    164     printf("Could not SDL_SetVideoMode(%d, %d, %d, %d): %s\n", width, height, bpp, videoFlags, SDL_GetError());
    165     SDL_Quit();
    166     return -1;
    167   }
    168  
    169   // Set window labeling
    170   SDL_WM_SetCaption ("Orxonox " PACKAGE_VERSION, "Orxonox " PACKAGE_VERSION);
    171  
    172   // TO DO: Create a cool icon and use it here
    173   // SDL_WM_SetIcon(SDL_Surface *icon, Uint8 *mask); 
    174 
    175   // OpenGL stuff
    176   glClearColor (0.0, 0.0, 0.0, 0.0);
    177   glEnable (GL_DEPTH_TEST);
    178    
     117  PRINTF(3)("> Initializing video\n");
     118 
     119  GraphicsEngine::getInstance();
     120 
    179121  return 0;
    180122}
     
    220162int Orxonox::initResources()
    221163{
    222   printf("Not yet implemented\n");
     164  //  printf("Not yet implemented\n");
     165  PRINT(3)("initializing ResourceManager\n");
     166  resourceManager = ResourceManager::getInstance();
     167  resourceManager->setDataDir("../data/");
    223168  return 0;
    224169}
     
    274219{
    275220  // Handle special events such as reshape, quit, focus changes
     221  switch (event->type)
     222    {
     223    case SDL_VIDEORESIZE:
     224      GraphicsEngine* tmpGEngine = GraphicsEngine::getInstance();
     225      tmpGEngine->resolutionChanged(&event->resize);
     226      break;
     227    }
    276228}
    277229 
     
    295247}
    296248
    297 
    298 /**
    299    \brief retrieve a pointer to the local Camera
    300    \return a pointer to localcamera
    301 */
    302 Camera* Orxonox::getCamera()
    303 {
    304   return localcamera;
    305 }
    306 
    307 
    308249/**
    309250   \brief retrieve a pointer to the local CommandNode
     
    333274}
    334275
     276
     277
    335278/**
    336279   \brief main function
     
    340283int main(int argc, char** argv)
    341284
     285 
     286  /* reading arguments
     287     
     288     currently supported arguments are:
     289     <no args>                   ::    just starts orxonox
     290     --benchmark                 ::    start the benchmark without starting orxonox
     291     
     292     this is a preselection: it matches to one of the start* functions, the
     293     finetuning is made in those functions.
     294  */
     295
     296
     297  int i;
     298  for(i = 0; i < argc; ++i)
     299    {
     300      if(! strcmp( "--help", argv[i])) return startHelp();
     301      else if(! strcmp( "--benchmark", argv[i])) return startBenchmarks();
     302    }
     303
     304  PRINTF(2)("Orxonox does not understand the arguments");
     305  return startOrxonox(argc, argv);
     306}
     307
     308
     309
     310int startHelp()
     311{
     312  printf("orxonox: starts the orxonox game - rules\n");
     313  printf("usage: orxonox [arg]\n\n");
     314  printf("valid options:\n");
     315  printf(" --benchmark\tstarts the orxonox benchmark\n");
     316  printf(" --help \tshows this menu\n");
     317}
     318
     319
     320int startOrxonox(int argc, char** argv)
     321{
    342322  printf(">>> Starting Orxonox <<<\n");
    343323  Orxonox *orx = Orxonox::getInstance();
     
    351331  orx->start();
    352332 
    353   //delete orx;
    354  
    355   return 0;
    356 }
     333  delete orx;
     334 
     335}
     336
     337
     338#include "list.h"
     339#include "world_entity.h"
     340#include "vector.h"
     341#include "player.h"
     342#include "base_object.h"
     343#include <asm/msr.h>
     344#include <linux/timex.h>
     345
     346
     347#define LIST_MAX 1000
     348#define VECTOR_MAX 1000000
     349#define ITERATIONS 10000
     350
     351
     352int startBenchmarks()
     353{
     354
     355  printf("===========================================================\n");
     356  printf("=                      BENCHMARKS                         =\n");
     357  printf("===========================================================\n");
     358  printf(" the author is not paying any attention to cacheing effects\n");
     359  printf(" of the CPU.\n\n");
     360  printf("[title]\t\t\t\t\t     [cycles]\t[loops]\n\n");
     361  //  printf("------------------------------------------------------------\n\n");
     362
     363  // first measure the time overhead:
     364  unsigned long ini, end, dt, tmp;
     365  rdtscl(ini); rdtscl(end);
     366  dt = end - ini;
     367
     368  int type = -1;
     369  /* type   -1 == all
     370     type    0 == framework
     371     type    1 == vector
     372     type    2 == quaternion
     373     type    3 == lists
     374  */
     375  if(type == 0 || type == -1)
     376    {
     377      /* framework test*/
     378     
     379      printf("Generating Objects:\t\t\t\t\t%i\n", ITERATIONS);
     380      /* ************WorldEntity class test************** */
     381      WorldEntity* w = NULL;
     382      int i = 0;
     383      unsigned long mittel = 0;
     384     
     385      for(i = 0; i < ITERATIONS; ++i)
     386        {
     387          rdtscl(ini);
     388         
     389          WorldEntity* w = new WorldEntity();
     390         
     391          rdtscl(end);
     392          delete w;
     393          mittel += (end - ini - dt);
     394        }
     395      float mi = mittel / (float)ITERATIONS;
     396      printf(" Generate a WorldEntity object:\t\t%11.2f\n", mi);
     397     
     398      /*
     399        mittel = 0;
     400        for(i = 0; i < ITERATIONS; ++i)
     401        {
     402        rdtscl(ini);
     403       
     404        WorldEntity* w = new Primitive(P_SPHERE);
     405       
     406        rdtscl(end);
     407        delete w;
     408        mittel += (end - ini - dt);
     409        }
     410        mi = mittel / (float)ITERATIONS;
     411        printf(" Generate a Primitive  object:\t\t%11.2f\n", mi);
     412      */
     413
     414      mittel = 0;
     415      for(i = 0; i < ITERATIONS; ++i)
     416        {
     417          rdtscl(ini);
     418         
     419          Vector* v = new Vector();
     420         
     421          rdtscl(end);
     422          delete v;
     423          mittel += (end - ini - dt);
     424        }
     425      mi = mittel / (float)ITERATIONS;
     426      printf(" Generate a Vector object:\t\t%11.2f\n", mi);
     427
     428
     429     mittel = 0;
     430      for(i = 0; i < ITERATIONS; ++i)
     431        {
     432          rdtscl(ini);
     433         
     434          Quaternion* q = new Quaternion();
     435         
     436          rdtscl(end);
     437          delete q;
     438          mittel += (end - ini - dt);
     439        }
     440      mi = mittel / (float)ITERATIONS;
     441      printf(" Generate a Quaternion object:\t\t%11.2f\n", mi);
     442
     443
     444
     445
     446      printf("\nCalling function inline &| virtual, \t\t\t%i\n", ITERATIONS);
     447      mittel = 0;
     448      w = new WorldEntity();
     449      for(i = 0; i < ITERATIONS; ++i)
     450        {
     451          rdtscl(ini);
     452         
     453          w->tick(0.0f);
     454
     455          rdtscl(end);
     456          mittel += (end - ini - dt);
     457          }
     458      //delete w;
     459      mi = mittel / (float)ITERATIONS;
     460      printf(" Virt funct tick() of WE: \t\t%11.2f\n", mi);
     461
     462
     463      mittel = 0;
     464      WorldEntity wo;
     465      for(i = 0; i < ITERATIONS; ++i)
     466        {
     467          rdtscl(ini);
     468         
     469          wo.tick(0.0f);
     470           
     471          rdtscl(end);
     472          mittel += (end - ini - dt);
     473          }
     474      //delete w;
     475      mi = mittel / (float)ITERATIONS;
     476      printf(" Inl virt funct tick() of WE v2: \t%11.2f\n", mi);
     477
     478     
     479      mittel = 0;
     480      BaseObject* bo = new BaseObject();
     481      for(i = 0; i < ITERATIONS; ++i)
     482        {
     483          rdtscl(ini);
     484         
     485          bo->isFinalized();
     486           
     487          rdtscl(end);
     488          mittel += (end - ini - dt);
     489          }
     490      //delete w;
     491      mi = mittel / (float)ITERATIONS;
     492      printf(" Inl funct BaseObject::isFinazlized(): \t%11.2f\n", mi);
     493
     494     
     495      tList<WorldEntity>* list = new tList<WorldEntity>();
     496
     497     
     498      /* ************Primitvie class test************** */
     499      list = new tList<WorldEntity>();
     500 
     501     
     502      /*
     503        mittel = 0;
     504        w = new Primitive(P_SPHERE);
     505        for(i = 0; i < ITERATIONS; ++i)
     506        {
     507        rdtscl(ini);
     508       
     509        w->tick(0.0f);
     510       
     511        rdtscl(end);
     512        mittel += (end - ini - dt);
     513        }
     514        mi = mittel / (float)ITERATIONS;
     515        printf(" Call function tick() of Prim:\t\t%11.2f\n", mi);
     516      */
     517     
     518    }
     519 
     520  if(type == 1 || type == -1)
     521    {
     522      printf("\nDoing some simple vector operations: \t\t\t%i\n", VECTOR_MAX);
     523      /* vector test */
     524      Vector* a = new Vector(1.3, 5.3, 4.1);
     525      Vector* b = new Vector(0.4, 2.5, 6.2);
     526      Vector* c = new Vector();
     527     
     528      unsigned long mittel, ini, end;
     529      float mi;
     530      int i = 0;
     531      // addition
     532      mittel = 0;
     533      for(i = 0; i < VECTOR_MAX; ++i)
     534        {
     535          rdtscl(ini);
     536         
     537          *c = *a + *b;
     538           
     539          rdtscl(end);
     540          mittel += (end - ini - dt);
     541        }
     542      mi = mittel / (float)VECTOR_MAX;
     543      printf(" Addition of two vectors:\t\t%11.2f\n", mi);
     544     
     545      // multiplikation
     546
     547      mittel = 0;
     548      for(i = 0; i < VECTOR_MAX; ++i)
     549        {
     550          rdtscl(ini);
     551         
     552          *c = a->cross( *b);
     553           
     554          rdtscl(end);
     555          mittel += (end - ini - dt);
     556        }
     557      mi = mittel / (float)VECTOR_MAX;
     558      printf(" CrossMult of two vectors:\t\t%11.2f\n", mi);
     559
     560    }
     561  if( type == 2 || type == -1)
     562    {
     563      /* quaternion test */
     564      printf("\nDoing some simple quaternion operations: \t\t%i\n", VECTOR_MAX);
     565      /* vector test */
     566      Quaternion* a = new Quaternion();
     567      Quaternion* b = new Quaternion();
     568      Quaternion* c = new Quaternion();
     569     
     570      unsigned long mittel, ini, end;
     571      float mi;
     572      int i = 0;
     573      // quaternion generieren mit spez konstruktor
     574      mittel = 0;
     575      Vector* qa = new Vector(4.6, 9.3, 0.4);
     576      Vector* qb = new Vector(3.5, 6.1, 4.3);
     577      for(i = 0; i < VECTOR_MAX; ++i)
     578        {
     579          rdtscl(ini);
     580         
     581          Quaternion* qu = new Quaternion(*qa, *qb);
     582         
     583          rdtscl(end);
     584          delete qu;
     585          mittel += (end - ini - dt);
     586        }
     587      delete a;
     588      delete b;
     589      mi = mittel / (float)VECTOR_MAX;
     590      printf(" Gen. quatern. betw. two vectors:\t%11.2f\n", mi);
     591     
     592     
     593      // multiplication
     594      mittel = 0;
     595      for(i = 0; i < VECTOR_MAX; ++i)
     596        {
     597          rdtscl(ini);
     598         
     599          *c = *a * *b;
     600         
     601          rdtscl(end);
     602          mittel += (end - ini - dt);
     603        }
     604      mi = mittel / (float)VECTOR_MAX;
     605      printf(" Multiplying two quat.(=rot): a * b\t%11.2f\n", mi);
     606     
     607     
     608     
     609      // rotating a vector by a quaternion
     610      mittel = 0;
     611      for(i = 0; i < VECTOR_MAX; ++i)
     612        {
     613          rdtscl(ini);
     614         
     615          *qa = a->apply(*qb);
     616         
     617          rdtscl(end);
     618          mittel += (end - ini - dt);
     619        }
     620      mi = mittel / (float)VECTOR_MAX;
     621      printf(" Rot a vec by a quat: q->apply(v)\t%11.2f\n", mi);
     622     
     623     
     624     
     625      // generate rotation matrix
     626      mittel = 0;
     627      float matrix[4][4];
     628      for(i = 0; i < VECTOR_MAX; ++i)
     629        {
     630          rdtscl(ini);
     631         
     632          a->matrix(matrix);
     633         
     634          rdtscl(end);
     635          mittel += (end - ini - dt);
     636        }
     637      mi = mittel / (float)VECTOR_MAX;
     638      printf(" Generate rot matrix: q->matrix(m)\t%11.2f\n", mi);
     639    }
     640  if( type == 3 || type == -1)
     641    {
     642      /* list tests*/
     643      printf("\nList operations tests: \t\t\t\t\t%i\n", LIST_MAX);
     644      tList<char>* list = new tList<char>();
     645      char* name;
     646     
     647      printf(" Adding[1..10] elements to list, found:\n");
     648      list->add("1");
     649      list->add("2");
     650      list->add("3");
     651      list->add("4");
     652      list->add("5");
     653      list->add("6");
     654      list->add("7");
     655      list->add("8");
     656      list->add("9");
     657      list->add("10");
     658     
     659      /*give list out */
     660      tIterator<char>* iterator = list->getIterator();
     661      name = iterator->nextElement();
     662      printf("  List Elements: \t\t");
     663      while( name != NULL)
     664        {
     665          printf("%s,", name);
     666          name = iterator->nextElement();
     667        }
     668      delete iterator;
     669      printf("\n");
     670     
     671     
     672      /*removing some elements from the list*/
     673      printf(" Removing elements [2,3,6,8,10], adding [11] now found:\n");
     674      list->remove("2");
     675      list->remove("3");
     676      list->remove("6");
     677      list->remove("8");
     678      list->remove("10");
     679      list->add("11");
     680      /*give list out */
     681      iterator = list->getIterator();
     682      name = iterator->nextElement();
     683      printf("  List Elements: \t\t");
     684      while( name != NULL)
     685        {
     686          printf("%s,", name);
     687          name = iterator->nextElement();
     688        }
     689      delete iterator;
     690      printf("\n");
     691     
     692      delete list;
     693      printf("\nChecking list performance:\t\t\t\t%i\n", LIST_MAX);
     694     
     695      tList<int>* plist = new tList<int>();
     696      unsigned long mittel, ini, end;
     697      float mi;
     698      int i = 0;
     699      mittel = 0;
     700      for(i = 0; i < LIST_MAX; ++i)
     701        {
     702          rdtscl(ini);
     703         
     704          plist->add(&i);
     705         
     706          rdtscl(end);
     707          mittel += (end - ini - dt);
     708        }
     709      mi = mittel / (float)LIST_MAX;
     710      printf(" Adding reference to list:\t\t%11.2f\n", mi);
     711     
     712      mittel = 0;
     713      for(i = 0; i < LIST_MAX; ++i)
     714        {
     715          rdtscl(ini);
     716         
     717          plist->remove(&i);
     718         
     719          rdtscl(end);
     720          mittel += (end - ini - dt);
     721        }
     722      mi = mittel / (float)LIST_MAX;
     723      printf(" Removing 1st reference from list:\t%11.2f\n", mi);
     724     
     725     
     726     
     727    }
     728 
     729}
  • orxonox/branches/textEngine/src/orxonox.conf

    r2636 r3681  
    55RIGHT=right
    66SPACE=fire
     7m=mode
    78ESCAPE=quit
    89p=pause
     
    1011BUTTON_LEFT=fire
    1112BUTTON_RIGHT=altfire
    12 b=benscho
    1313x=up_world
    1414z=down_world
    15 
     151=view0
     162=view1
     173=view2
     184=view3
     195=view4
     205=view5
  • orxonox/branches/textEngine/src/orxonox.h

    r3449 r3681  
    77#define _ORXONOX_H
    88
    9 #include "stdincl.h"
     9#include "comincl.h"
     10#include "glincl.h"
    1011
    1112class CommandNode;
     
    1516class Camera;
    1617class GameLoader;
     18class ResourceManager;
    1719
    1820//! Orxonox core singleton class
     
    2426  static Orxonox* singletonRef;
    2527  Orxonox ();
    26   ~Orxonox ();
    27  
     28
    2829  char configfilename[256];   //!< Filename of the configuration-file.
    2930  World* world;               //!< Reference to the current running world.
    3031  DataTank* resources;        //!< DataContainer
    3132  CommandNode* localinput;    //!< Command Handler
    32   Camera* localcamera;        //!< The current Camera
    3333  SDL_Surface* screen;        //!< The current Screen
    3434  GameLoader* gameLoader;     //!< The gameLoader
     35  ResourceManager* resourceManager; //!< The ResourceManager
    3536 
    3637  bool bQuitOrxonox;          //!< If Orxonox should Quit
     
    5758 public:
    5859  static Orxonox* getInstance ();
     60  virtual ~Orxonox ();
     61
    5962  void start();
    6063  void quitGame();
     
    6669 
    6770  CommandNode* getLocalInput();
    68   Camera* getCamera();
    6971  World* getWorld();
    7072  SDL_Surface* getScreen ();
     
    7375};
    7476
     77int startHelp(void);
     78int startOrxonox(int argc, char** argv);
     79int startBenchmarks(void);
     80
    7581#endif /* _ORXONOX_H */
    7682
  • orxonox/branches/textEngine/src/track_manager.cc

    r3433 r3681  
    1414*/
    1515
     16#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_TRACK_MANAGER
    1617
    1718#include "track_manager.h"
     19
     20#include "base_object.h"
     21#include "p_node.h"
     22#include "track_node.h"
     23#include "stdincl.h"
     24#include "list.h"
     25
     26
     27
    1828#include <stdarg.h>
    19 #include "p_node.h"
    2029
    2130using namespace std;
     
    3241  this->isJoined = false;
    3342  this->mainJoin = false;
    34   this->cond; //!< todo think!!
    3543  this->ID = -1;
    36   this->startingTime = 0; //!< \todo eventually set this to the max time of TrackManager.
    37   this->duration = 1;
     44  this->startingTime = 0;
     45  this->duration = TMAN_DEFAULT_DURATION;
    3846  this->endTime = 1;
    3947  this->jumpTime = 0;
    40   this->curveType = BEZIERCURVE;
     48  this->width = TMAN_DEFAULT_WIDTH;
    4149  this->nodeCount = 0;
    4250  this->childCount = 0;
     
    4452  this->curve = NULL;
    4553  this->children = NULL;
     54
     55  this->history = NULL;
     56
     57  this->condFunc = &TrackElement::random;
    4658}
    4759
     
    5870  if ((!this->isJoined &&this->childCount > 0) || (this->isJoined && this->mainJoin))
    5971    {
    60       for (int i=0; i < this->childCount; i++)
    61         delete this->children[i];
     72      tIterator<TrackElement>* iterator = this->children->getIterator();
     73      TrackElement* enumElem = iterator->nextElement();
     74      while (enumElem)
     75        {
     76          delete enumElem;
     77          enumElem = iterator->nextElement();
     78        }
     79      delete iterator;
    6280      delete this->children;
    6381    }
     
    7896  // search on.
    7997  if (this->childCount > 0)
    80     for (int i=0; i < this->childCount; i++)
    81       {
    82         TrackElement* tmpElem;
    83         if ((tmpElem = this->children[i]->findByID(trackID)))
    84           return tmpElem;
    85       }
    86   else return NULL;
    87 }
    88 
    89 
    90 
    91 
    92 
    93 /////////////////////////////////////
    94 ///// TRACKMANAGER //////////////////
    95 /////////////////////////////////////
     98    {
     99      tIterator<TrackElement>* iterator = this->children->getIterator();
     100      TrackElement* enumElem = iterator->nextElement();
     101      TrackElement* tmpElem;
     102      while (enumElem)
     103        {
     104          if ((tmpElem = enumElem->findByID(trackID)))
     105            return tmpElem;
     106          enumElem = iterator->nextElement();
     107        }
     108      delete iterator;
     109    }
     110  else
     111    return NULL;
     112}
     113
     114
     115/**
     116   \brief checks if there are any BackLoops in the Track
     117   \param trackElem the trackElement to check about
     118   it simply does this by looking if the current trackElem is found again somewhere else in the Track
     119*/
     120bool TrackElement::backLoopCheck(TrackElement* trackElem)
     121{
     122  if (this->childCount == 0)
     123    return true;
     124  else
     125    {
     126      tIterator<TrackElement>* iterator = this->children->getIterator();
     127      TrackElement* enumElem = iterator->nextElement();
     128      while (enumElem)
     129        {
     130          if(!enumElem->backLoopCheck(trackElem))
     131            return false;
     132          enumElem = iterator->nextElement();
     133        }
     134      delete iterator;
     135     
     136      return true;
     137    }
     138}
     139
     140/**
     141   \param childNumber which child to return
     142   \returns the n-the children (starting at 0)
     143*/
     144TrackElement* TrackElement::getChild(int childCount)
     145{
     146  if (this->childCount == 0)
     147    return NULL;
     148  if (childCount > this->childCount)
     149    childCount = this->childCount;
     150 
     151  TrackElement* enumElem = this->children->enumerate();
     152  for (int i = 0; i < childCount; i++)
     153    enumElem = this->children->nextElement();
     154  return enumElem;
     155}
     156
     157/**
     158   \param name the Name to set.
     159*/
     160void TrackElement::setName(const char* name)
     161{
     162  //  delete the old name
     163  if (this->name)
     164    delete []this->name;
     165  // if a name was given already.
     166  if (name)
     167    {
     168      this->name = new char[strlen(name)+1];
     169      strcpy(this->name, name);
     170    }
     171  else
     172    this->name = NULL;
     173}
     174
     175/**
     176   \returns The name of this TrackElement
     177*/
     178char* TrackElement::getName(void) const
     179{
     180  return this->name;
     181}
     182
     183/**
     184   \brief prints out debug information about this TrackElement
     185*/
     186void TrackElement::debug(void)
     187{
     188  PRINT(0)("--== TrackElement:%i ==--", this->ID);
     189  if(this->getName())
     190    PRINT(0)("Name: %s::", this->getName());
     191  if(this->isFresh)
     192    PRINT(0)("  -- has not jet eddited in any way --\n");
     193  PRINT(0)("\n   TimeTable: startingTime=%f; endTime=%f; duration=%f; jumpTime=%f\n", this->startingTime, this->endTime, this->duration, this->jumpTime);
     194  PRINT(0)("   consists of %d Points\n", this->nodeCount);
     195  if (this->childCount == 0)
     196    PRINT(0)("   has no child\n");
     197  else if (this->childCount == 1)
     198    PRINT(0)("   has 1 child: =%d=\n", this->getChild(0)->ID);
     199  else if (this->childCount > 1)
     200    {
     201      PRINT(0)("   has %d children: ", this->childCount);
     202      TrackElement* enumElem = this->children->enumerate();
     203      while (enumElem)
     204        {
     205          PRINT(0)("=%d= ", enumElem->ID);
     206          enumElem = this->children->nextElement();
     207        }
     208      PRINT(0)("\n");
     209    }
     210 
     211  if(this->isHotPoint)
     212    PRINT(0)("   is a special Point:\n");
     213  if(this->isSavePoint)
     214    PRINT(0)("    is a SavePoint\n");
     215  if(this->isFork)
     216    {
     217      PRINT(0)("    is A Fork with with %d children.\n", this->childCount);
     218    }
     219  if(this->isJoined)
     220    PRINT(0)("   is Joined at the End\n");
     221 
     222  if(!this->backLoopCheck(this)) /* this should not happen */
     223    PRINT(2)(" THERE IS A BACKLOOP TO THIS ELEMENT\n");
     224}
     225
     226/**
     227   \brief CONDITION that chooses the first child for the decision (static)
     228   \param nothing Nothing in this function
     229   \returns the chosen child
     230*/
     231int TrackElement::lowest(void* nothing)
     232{
     233  return 0;
     234}
     235
     236/**
     237   \brief CONDITION that chooses the last child for the decision (static)
     238   \param nothing Nothing in this function
     239   \returns the chosen child
     240*/
     241int TrackElement::highest(void* nothing)
     242{
     243  return this->childCount-1;
     244}
     245
     246/**
     247   \brief CONDITION that chooses a random child for the decision (static)
     248   \param nothing Nothing in this function
     249   \returns the chosen child
     250*/
     251int TrackElement::random(void* nothing)
     252{
     253  int i = (int)floor ((float)rand()/(float)RAND_MAX * (float)this->childCount);
     254  if (i >= this->childCount)
     255    return this->childCount-1;
     256  else
     257    return i;
     258}
     259
     260/**
     261   \brief CONDITION that chooses child 0, if the node(probably Player)
     262   is left of its parent (z<0)) and 1/right otherwise.
     263   \param node The node to act upon.
     264   \returns the chosen child
     265*/
     266int TrackElement::leftRight(void* node)
     267{
     268  PNode* tmpNode = (PNode*)node;
     269
     270  if (tmpNode->getRelCoor()->z < 0)
     271    return 0;
     272  else
     273    return 1;
     274}
     275
     276
     277/**
     278   \brief CONDITION that chooses the child, that has the nearest distance to the node (probably player).
     279   \param node The node to act upon.
     280   \returns the chosen child
     281
     282   This is rather dangerous, because one must carefully set the points on the curve.
     283   The best Way is to set the nodes as wide away of each other as possible,
     284   but take into consideration, that if the nodes are to far from a center node, the center will be chosen.
     285   (play with this!!).
     286*/
     287int TrackElement::nearest(void* node)
     288{
     289  PNode* tmpNode = (PNode*)node;
     290
     291  Vector nodeRelCoord = *tmpNode->getRelCoor();
     292  float minDist = 100000000;
     293  int childNumber = 0;
     294  int i = 0;
     295
     296  TrackElement* enumElem = this->children->enumerate();
     297  while (enumElem)
     298    {
     299      float dist = (nodeRelCoord - enumElem->curve->getNode(4)).len();
     300      if (dist < minDist)
     301        {
     302          minDist = dist;
     303          childNumber = i;
     304        }
     305      i++;
     306      enumElem = this->children->nextElement();
     307    }
     308
     309  PRINTF(4)("PathDecision with nearest algorithm: %d\n", childNumber);
     310  return childNumber;
     311}
     312
     313
     314////////////////////////
     315///// TRACKMANAGER /////
     316////////////////////////
    96317/**
    97318   \brief standard constructor
     
    100321TrackManager::TrackManager(void)
    101322{
    102   this->setClassName ("TrackManager");
     323  this->setClassName("TrackManager");
     324 
     325  TrackManager::singletonRef = this;
    103326
    104327  PRINTF(3)("Initializing the TrackManager\n");
     
    109332  this->maxTime = 0;
    110333  this->trackElemCount = 1;
    111   this->bindSlave = NULL;
     334  this->setBindSlave(this->trackNode = new TrackNode());
    112335}
    113336
     
    115338/**
    116339   \brief standard destructor
    117 
    118340*/
    119341TrackManager::~TrackManager(void)
     
    121343  PRINTF(3)("Destruct TrackManager\n");
    122344
    123   PRINTF(3)("Deleting all the TrackElements\n");
     345  PRINTF(4)("Deleting all the TrackElements\n");
    124346  delete this->firstTrackElem;
    125347
    126348  // we do not have a TrackManager anymore
    127   singletonRef = NULL;
    128 }
    129 
     349  TrackManager::singletonRef = NULL;
     350}
     351
     352//! Singleton Reference to TrackManager
    130353TrackManager* TrackManager::singletonRef = NULL;
    131354
     
    137360TrackManager* TrackManager::getInstance(void)
    138361{
    139   if (singletonRef)
    140     return singletonRef;
    141   else
    142     return singletonRef = new TrackManager();
     362  if (!TrackManager::singletonRef)
     363    TrackManager::singletonRef = new TrackManager();
     364  return TrackManager::singletonRef;
    143365}
    144366
     
    151373  this->currentTrackElem->childCount = childCount;
    152374  this->currentTrackElem->mainJoin = true;
    153   this->currentTrackElem->children = new TrackElement*[childCount];
    154   for (int i=0; i<childCount; i++)
    155     {
    156       this->currentTrackElem->children[i] = new TrackElement();
    157       this->currentTrackElem->children[i]->ID = ++trackElemCount;
    158       this->currentTrackElem->children[i]->startingTime = this->currentTrackElem->endTime + this->currentTrackElem->jumpTime;
    159       this->addPoint(this->currentTrackElem->curve->getNode(this->currentTrackElem->curve->getNodeCount()), this->currentTrackElem->children[i]);
    160     }
     375  this->currentTrackElem->children =  new tList<TrackElement>();
     376  for (int i = 0; i < childCount; i++)
     377    {
     378      TrackElement* newElem = new TrackElement();
     379      this->currentTrackElem->children->add(newElem);
     380      newElem->ID = ++trackElemCount;
     381      newElem->startingTime = this->currentTrackElem->endTime + this->currentTrackElem->jumpTime;
     382      this->addPoint(this->currentTrackElem->curve->getNode(this->currentTrackElem->curve->getNodeCount()), this->currentTrackElem->getChild(i));
     383    }
     384  if (childCount == 1)
     385    this->currentTrackElem->getChild(0)->setName(this->currentTrackElem->getName());
    161386}
    162387
     
    183408    this->currentTrackElem = tmpElem;
    184409  else
    185     printf("TrackElement not Found, leaving unchanged\n");
    186   printf("now Working on %d\n", this->currentTrackElem->ID);
     410    PRINTF(2)("TrackElement not Found, leaving unchanged\n");
     411  PRINTF(4)("now Working on %d\n", this->currentTrackElem->ID);
    187412
    188413}
     
    190415/**
    191416   \brief Sets the Type of the Curve
    192    \brief curveType The Type to set
     417   \param curveType The Type to set
     418   \param trackElem the TrackElement that should get a new Curve.
    193419*/
    194420void TrackManager::setCurveType(CurveType curveType, TrackElement* trackElem)
     
    199425      return;
    200426    }
    201   trackElem->curveType = curveType;
     427  this->curveType = curveType;
    202428  switch (curveType)
    203429    {
     
    205431      trackElem->curve = new BezierCurve();
    206432      break;
    207     case UPOINTCURVE:
    208       trackElem->curve = new UPointCurve();
    209       break;
     433
    210434    }
    211435}
     
    240464  if (trackElem->isFresh)
    241465    {
    242       this->setCurveType(BEZIERCURVE, trackElem);
     466      this->setCurveType(TMAN_DEFAULT_CURVETYPE, trackElem);
    243467      trackElem->isFresh = false;
    244468    }
     
    254478int TrackManager::addHotPoint(Vector newPoint)
    255479{
    256   printf("setting up a HotPoint\n");
     480  PRINTF(4)("setting up a HotPoint\n");
    257481  if (this->currentTrackElem->isFresh)
    258482    {
     
    265489  this->currentTrackElem->nodeCount++;
    266490  this->initChildren(1);
    267   this->currentTrackElem = this->currentTrackElem->children[0];
     491  this->currentTrackElem = this->currentTrackElem->getChild(0);
    268492}
    269493
     
    277501int TrackManager::setSavePoint(void)
    278502{
    279   printf("setting up a SavePoint.\n");
     503  PRINTF(4)("setting up a SavePoint.\n");
    280504  if (this->currentTrackElem->isFork || this->currentTrackElem->isSavePoint)
    281     return this->currentTrackElem->children[1]->ID;
     505    {
     506      PRINTF(2)("%d is already finished \n", currentTrackElem->ID);
     507      return this->currentTrackElem->getChild(0)->ID;
     508    }
    282509  this->currentTrackElem->isSavePoint = true;
    283510  this->currentTrackElem->isHotPoint = true;
    284511
    285512  this->initChildren(1);
    286   this->currentTrackElem = this->currentTrackElem->children[0];
     513  this->currentTrackElem = this->currentTrackElem->getChild(0);
    287514}
    288515
     
    319546void TrackManager::forkV(unsigned int count, int* trackIDs)
    320547{
    321   printf("Forking with %d children\n", count);
     548  PRINTF(4)("Forking with %d children\n", count);
    322549  if (this->currentTrackElem->isSavePoint)
    323550    return;
     
    331558/**
    332559   \brief decides under what condition a certain Path will be chosen.
     560   \param cond the CONDITION of the decision
     561   \param subject the Subject that will be decided upon with CONDITION cond.
     562*/
     563void TrackManager::condition(CONDITION cond, void* subject)
     564{
     565  this->condition(this->currentTrackElem->ID, cond, subject);
     566}
     567/**
     568   \brief decides under what condition a certain Path will be chosen.
    333569   \param groupID the ID on which to choose the preceding move
    334    \param cond \todo think about this
    335 */
    336 void TrackManager::condition(unsigned int groupID, PathCondition cond)
    337 {
    338  
    339 }
     570   \param cond the CONDITION of the decision
     571   \param subject the Subject that will be decided upon with CONDITION cond.
     572*/
     573void TrackManager::condition(unsigned int groupID, CONDITION cond, void* subject)
     574{
     575  TrackElement* tmpElem = this->findTrackElementByID(groupID);
     576  if (!tmpElem->isFork)
     577    {
     578      PRINTF(2)("%d is not a Fork, and no condition can be set in this case\n", tmpElem->ID);
     579      return;
     580    }
     581  else
     582    {
     583      switch (cond)
     584        {
     585        case LOWEST:
     586          tmpElem->condFunc = &TrackElement::lowest;
     587          break;
     588        case HIGHEST:
     589          tmpElem->condFunc = &TrackElement::highest;
     590          break;
     591        case RANDOM:
     592          tmpElem->condFunc = &TrackElement::random;
     593          break;
     594        case LEFTRIGHT:
     595          tmpElem->condFunc = &TrackElement::leftRight;
     596          break;
     597        case NEAREST:
     598          tmpElem->condFunc = &TrackElement::nearest;
     599          break;
     600        case ENEMYKILLED:
     601          break;
     602        }
     603      tmpElem->subject=subject;
     604    }
     605}
     606
    340607
    341608/**
     
    369636void TrackManager::joinV(unsigned int count, int* trackIDs)
    370637{
    371   printf("Joining %d tracks and merging to Track %d\n", count, trackIDs[0]);
     638  PRINTF(3)("Joining %d tracks and merging to Track %d\n", count, trackIDs[0]);
     639
     640  // checking if there is a back-loop-connection and ERROR if it is.
     641  TrackElement* tmpTrackElem = this->findTrackElementByID(trackIDs[0]);
     642  if (!tmpTrackElem->backLoopCheck(tmpTrackElem))
     643    PRINTF(2)("Backloop connection detected at joining trackElements\n");
    372644
    373645  // chanching work-on to temporary value. going back at the end.
     
    419691    }
    420692  if(firstJoint->childCount > 0)
    421     for(int i = 0; i < firstJoint->childCount; i++)
    422       {
    423         printf("Setting startingTime of %d to %f.\n", firstJoint->children[i]->ID, tmpLatestTime);
    424         firstJoint->children[i]->startingTime = tmpLatestTime;
    425         firstJoint->children[i]->endTime = tmpLatestTime+firstJoint->children[i]->duration;
    426       }
    427 
     693    {
     694      TrackElement* enumElem = firstJoint->children->enumerate();
     695      while (enumElem)
     696        {
     697          PRINTF(4)("Setting startingTime of %d to %f.\n", enumElem->ID, tmpLatestTime);
     698          enumElem->startingTime = tmpLatestTime;
     699          enumElem->endTime = tmpLatestTime + enumElem->duration;
     700         
     701          enumElem = firstJoint->children->nextElement();
     702        }
     703    }
    428704  // returning to the TrackElement we were working on.
    429705  this->workOn(tmpCurrentWorkingID);
     
    440716    {
    441717      TrackElement* tmpElem = findTrackElementByID(i);
    442       if (tmpElem->childCount>0 && tmpElem->mainJoin)
     718      if (tmpElem->childCount > 0 && tmpElem->mainJoin)
    443719        {
    444           for (int j = 0; j < tmpElem->childCount; j++)
     720
     721          TrackElement* enumElem = tmpElem->children->enumerate();
     722          while (enumElem)
    445723            {
    446724             
    447725              // c1-continuity
    448               tmpElem->children[j]->curve->addNode(tmpElem->children[j]->curve->getNode(0) +
    449                                                    ((tmpElem->children[j]->curve->getNode(0) -
     726              enumElem->curve->addNode(enumElem->curve->getNode(0) +
     727                                                   ((enumElem->curve->getNode(0) -
    450728                                                    tmpElem->curve->getNode(tmpElem->curve->getNodeCount()-1))
    451729                                                    ),2);
    452               tmpElem->children[j]->nodeCount++;
     730              enumElem->nodeCount++;
    453731              // c2-continuity
    454               tmpElem->children[j]->curve->addNode((tmpElem->curve->getNode(tmpElem->curve->getNodeCount())-
     732              enumElem->curve->addNode((tmpElem->curve->getNode(tmpElem->curve->getNodeCount())-
    455733                                                    tmpElem->curve->getNode(tmpElem->curve->getNodeCount()-1)) * 4 +
    456734                                                   tmpElem->curve->getNode(tmpElem->curve->getNodeCount()-2), 3);
    457               tmpElem->children[j]->nodeCount++;                                                   
    458               printf("accelerations: %d-in: count: %d, %f, %f, %f\n                  %d-out: count: %d %f, %f, %f\n",
     735              enumElem->nodeCount++;                                               
     736              PRINTF(5)("accelerations: %d-in: count: %d, %f, %f, %f\n                  %d-out: count: %d %f, %f, %f\n",
    459737                     tmpElem->ID, tmpElem->nodeCount,
    460738                     tmpElem->curve->calcAcc(0.999).x, tmpElem->curve->calcAcc(0.999).y, tmpElem->curve->calcAcc(0.999).z,
    461                      tmpElem->children[j]->ID, tmpElem->children[j]->nodeCount,
    462                      tmpElem->children[j]->curve->calcAcc(0).x, tmpElem->children[j]->curve->calcAcc(0).y, tmpElem->children[j]->curve->calcAcc(0).z);
     739                     enumElem->ID, enumElem->nodeCount,
     740                     enumElem->curve->calcAcc(0).x, enumElem->curve->calcAcc(0).y, enumElem->curve->calcAcc(0).z);
     741             
     742              enumElem = tmpElem->children->nextElement();
    463743            }
    464744        }
    465745    }
     746  for (int i = 1; i <=trackElemCount;i++)
     747    if (this->findTrackElementByID(i)->endTime > this->maxTime)
     748      this->maxTime = findTrackElementByID(i)->endTime; // very bad implemented :/
    466749}
    467750
     
    475758Vector TrackManager::calcPos() const
    476759{
    477   //  PRINTF(0)("TrackElement:%d, localTime: %f\n",this->currentTrackElem->ID, this->localTime);
    478760  return this->currentTrackElem->curve->calcPos((this->localTime-this->currentTrackElem->startingTime)/this->currentTrackElem->duration);
    479761}
     
    489771
    490772/**
     773   \returns the current Width of the track
     774*/
     775float TrackManager::getWidth(void) const
     776{
     777  return this->currentTrackElem->width;
     778}
     779
     780/**
    491781   \brief Advances the local-time of the Track around dt
    492782   \param dt The time about which to advance.
     
    497787{
    498788  dt /= 1000;
    499   printf("CurrentTrackID: %d, LocalTime is: %f, timestep is: %f\n", this->currentTrackElem->ID, this->localTime, dt);
     789  PRINTF(4)("CurrentTrackID: %d, LocalTime is: %f, timestep is: %f\n", this->currentTrackElem->ID, this->localTime, dt);
    500790  if (this->localTime <= this->firstTrackElem->duration)
    501791    this->jumpTo(this->localTime);
    502   this->localTime += dt;
     792  if (this->localTime <= this->maxTime)
     793    this->localTime += dt;
    503794  if (this->localTime > this->currentTrackElem->endTime
    504795      && this->currentTrackElem->children)
    505796    {
    506       if (this->currentTrackElem->jumpTime > 0)
     797      if (this->currentTrackElem->jumpTime != 0.0)
    507798        this->jumpTo(this->localTime + this->currentTrackElem->jumpTime);
    508       this->currentTrackElem = this->currentTrackElem->children[0];
     799      // jump to the next TrackElement and also set the history of the new Element to the old one.
     800      TrackElement* tmpHistoryElem = this->currentTrackElem;
     801      this->currentTrackElem = this->currentTrackElem->getChild(this->choosePath(this->currentTrackElem));
     802      this->currentTrackElem->history = tmpHistoryElem;
    509803    }
    510804  if (this->bindSlave)
     
    512806      Vector tmp = this->calcPos();
    513807      Quaternion quat = Quaternion(this->calcDir(), Vector(this->currentTrackElem->curve->calcAcc((localTime-this->currentTrackElem->startingTime)/this->currentTrackElem->duration).x,1,this->currentTrackElem->curve->calcAcc((localTime-this->currentTrackElem->startingTime)/this->currentTrackElem->duration).z));
     808
     809      Vector v(0.0, 1.0, 0.0);
     810      Quaternion q(-PI/2, v);
     811      quat = quat * q;
     812
    514813      this->bindSlave->setAbsCoor(&tmp);
    515814      this->bindSlave->setAbsDir(&quat);
     
    533832/**
    534833   \brief a Function that decides which Path we should follow.
    535    \param graphID The Path to choose.
     834   \param trackElem The Path to choose.
    536835   
    537836*/
    538 void TrackManager::choosePath(int graphID)
    539 {
    540 
     837int TrackManager::choosePath(TrackElement* trackElem)
     838{
     839  return (trackElem->*(trackElem->condFunc))(trackElem->subject);
    541840}
    542841
     
    547846void TrackManager::setBindSlave(PNode* bindSlave)
    548847{
    549   if (!this->bindSlave)
    550     this->bindSlave = bindSlave;
    551 }
    552 
     848  this->bindSlave = bindSlave;
     849}
     850
     851/**
     852   \returns the main TrackNode
     853*/
     854PNode* TrackManager::getTrackNode(void)
     855{
     856  return this->trackNode;
     857}
    553858
    554859// DEBUG //
     
    585890void TrackManager::debug(unsigned int level) const
    586891{
    587   printf("::CLASS TRACKMANAGER::debug information::\n");
    588   //  printf("Status is: %
    589   printf(" Consists of %d elements\n", this->trackElemCount);
    590   printf(" localTime is: %f\n", this->localTime);
     892  PRINT(0)("=========================================\n");
     893  PRINT(0)("= CLASS TRACKMANAGER::debug information =\n");
     894  PRINT(0)("=========================================\n");
     895  //  PRINT(0)("Status is: %
     896  PRINT(0)(" Consists of %d elements\n", this->trackElemCount);
     897  PRINT(0)(" localTime is: %f\n", this->localTime);
    591898  if (level >= 2)
    592899    {
     
    594901        {
    595902          TrackElement* tmpElem = this->findTrackElementByID(i);
    596           printf("  ::TrackElement:%i::", tmpElem->ID);
    597           if(tmpElem->name)
    598             printf("name:%s::", tmpElem->name);
    599           if(tmpElem->isFresh)
    600             printf("   has not jet eddited in any way\n");
    601           printf("\n   TimeTable: startingTime=%f; endTime=%f; duration=%f; jumpTime=%f\n", tmpElem->startingTime, tmpElem->endTime, tmpElem->duration, tmpElem->jumpTime);
    602           printf("   consists of %d Points\n", tmpElem->nodeCount);
    603           if (tmpElem->childCount == 0)
    604             printf("   has no child\n");           
    605           else if (tmpElem->childCount == 1)
    606             printf("   has 1 child: ==%d==\n", tmpElem->children[0]->ID);
    607           else if (tmpElem->childCount > 1)
    608             {
    609               printf("   has %d children: ", tmpElem->childCount);
    610               for(int i = 0; i < tmpElem->childCount; i++)
    611                 printf("=%d= ", tmpElem->children[i]->ID);
    612               printf("\n");
    613             }
    614 
    615           if(tmpElem->isHotPoint)
    616             printf("   is a special Point:\n");
    617           if(tmpElem->isSavePoint)
    618             printf("    is a SavePoint\n");
    619           if(tmpElem->isFork)
    620             {
    621               printf("    is A Fork with with %d children.\n", tmpElem->childCount);
    622             }
    623           if(tmpElem->isJoined)
    624             printf("   is Joined at the End\n");
     903          tmpElem->debug();
    625904        }
    626905    }
    627 }
     906  PRINT(0)("-----------------------------------------\n");
     907}
  • orxonox/branches/textEngine/src/track_manager.h

    r3433 r3681  
    1212#define _TRACK_MANAGER_H
    1313
    14 #include "stdincl.h"
     14#include "curve.h"
     15#include "base_object.h"
    1516
    1617class PNode;
     18template<class T> class tList;
    1719
    18 //! condition for choosing a certain Path. \todo implement a useful way.
    19 struct PathCondition
    20 {
    21  
    22 };
    23  
     20// Static Definitions
     21
     22//! The Default Curve-Type to set for the whole path (if not chosen otherwise).
     23#define TMAN_DEFAULT_CURVETYPE BEZIERCURVE
     24#define TMAN_DEFAULT_DURATION 10
     25#define TMAN_DEFAULT_WIDTH    10
    2426
    2527//! A Graph-Element, that holds the curve-structure of a Level.
     
    3537
    3638  TrackElement* findByID(unsigned int trackID);
     39  bool backLoopCheck(TrackElement* trackElem);
    3740
     41  TrackElement* getChild(int childNumber);
     42  void setName(const char* name);
     43  char* getName(void) const;
     44
     45  // atributes
    3846  bool isFresh;              //!< If no Points where added until now
    3947  bool isHotPoint;           //!< If the first node is a specialPoint;
     
    4250  bool isJoined;             //!< If the End of the Curve is joined.
    4351  bool mainJoin;             //!< If the End of the Curve is joined, and this is the one Curve the others join to.
    44   PathCondition cond;        //!< The Split Condition;
    4552  int ID;                    //!< The ID of this TrackElement
    4653  float startingTime;        //!< The time at which this Track begins.
     
    4855  float endTime;             //!< The time at which this Track ends.
    4956  float jumpTime;            //!< The Time this Track has to jump to its preceding Track (only >0 if Track isJoined==true)
    50   CurveType curveType;       //!< The CurveType this will have.
     57  float width;               //!< Th width of the Path. This tells the Player(s), how far he(they) can go to the left/right.
    5158  int nodeCount;             //!< The count of points this TrackElement has.
    52   char* name;                //!< A name for the Trac.
    5359  Curve* curve;              //!< The Curve of this TrackElement
    5460  int childCount;            //!< The number of Children This TrackElement has.
    55   TrackElement** children;   //!< A TrackElement can have a Tree of following TrackElements.
     61  tList<TrackElement>* children;   //!< A TrackElement can have a Tree of following TrackElements.
     62
     63
     64  // runtime
     65  TrackElement* history;     //!< a pointer to the last TrackElement we were on. This is if you want to walk the path backwards again.
     66
     67  void debug(void);
     68
     69  // CONDITION FUNCTIONS and STUFF
     70  void* subject;             //!< The Subject the Condition should act upon.
     71  int (TrackElement::*condFunc)(void*); //!< Pointer to the condition function
     72
     73  int lowest(void* nothing);
     74  int highest(void* nothing);
     75  int random(void* nothing);
     76
     77  int leftRight(void* node);
     78  int nearest(void* node);
     79  // todo  int enemyKilled(void* entity);
     80
     81 private:
     82  char* name;                //!< A name for the Trac.
     83 
    5684};
    5785
    58 
     86//! the Condition to choose between the different ways of the game.
     87enum CONDITION {LOWEST, HIGHEST, RANDOM, LEFTRIGHT, NEAREST, ENEMYKILLED};
    5988
    6089//! The TrackManager handles the flow of the Players through the game.
     
    98127  TrackManager(void);
    99128
    100   static TrackManager* singletonRef;  //!< There may only be one TrackManager existing.
     129  static TrackManager* singletonRef;  //!< There may only be one TrackManager.
     130
    101131  TrackElement* firstTrackElem;       //!< The first TrackElement that exists.
    102132  TrackElement* currentTrackElem;     //!< The TrackElement we are working on.
     133  CurveType curveType;                //!< The CurveType the entire TrackSystem will have.
    103134  float localTime;                    //!< The time that has been passed since the traveling the Track.
    104135  float maxTime;                      //!< The maximal time the track has.
    105136  int trackElemCount;                 //!< The count of TrackElements that exist.
    106   PNode* bindSlave;
     137  PNode* bindSlave;                   //!< The node that is slave to the TrackManager. This node will be moved while update the TrackManager, and must NOT move itself.
     138  PNode* trackNode;                   //!< The main TrackNode of this Track.
    107139 
    108140  void initChildren(unsigned int childCount);
     
    111143 
    112144 public:
    113   ~TrackManager(void);
     145  virtual ~TrackManager(void);
     146
    114147  static TrackManager* getInstance(void);
    115148
    116149  // Methods to change the Path (initialisation)
    117150  void workOn(unsigned int trackID);
    118   inline void setCurveType(CurveType curveType) { this->setCurveType (curveType, this->currentTrackElem);}
     151  /** \see setCurveType(CurveType curveType, TrackElement* trackElem); \param curveType the type of the Curve */
     152  inline void setCurveType(CurveType curveType) { this->setCurveType (curveType, this->currentTrackElem);};
    119153  void setCurveType(CurveType curveType, TrackElement* trackElem);
    120154  void setDuration(float time);
     
    125159  void fork(unsigned int count, ...);
    126160  void forkV(unsigned int count, int* trackIDs);
    127   void condition(unsigned int groupID, PathCondition cond); //!< \todo really do this!!
     161  void condition(CONDITION cond, void* subject);
     162  void condition(unsigned int groupID, CONDITION cond, void* subject);
    128163  void join(unsigned int count, ...);
    129164  void joinV(unsigned int count, int* trackIDs);
     
    131166
    132167  // Methods to calculate the position on the Path (runtime)
    133   Vector calcPos(void) const;
    134   Vector calcDir(void) const;
     168  inline Vector calcPos(void) const;
     169  inline Vector calcDir(void) const;
     170  float getWidth(void) const;
    135171  void tick(float dt);
    136172  void jumpTo(float time);
    137   void choosePath(int graphID);
     173  inline int choosePath(TrackElement* trackElem);
    138174
    139175  void setBindSlave(PNode* bindSlave);
     176  PNode* getTrackNode(void);
    140177
    141178  // DEBUG //
Note: See TracChangeset for help on using the changeset viewer.