Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

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


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/src
Files:
65 deleted
19 edited
167 copied

Legend:

Unmodified
Added
Removed
  • 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.