Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 10041 in orxonox.OLD


Ignore:
Timestamp:
Dec 11, 2006, 11:12:11 PM (17 years ago)
Author:
tfahrni
Message:

Tried to make some progress with the AI..

Location:
branches/ai/src
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • branches/ai/src/ai/Makefile

    r10029 r10041  
    1 # Makefile.in generated by automake 1.9.5 from Makefile.am.
     1# Makefile.in generated by automake 1.9.6 from Makefile.am.
    22# src/ai/Makefile.  Generated from Makefile.in by configure.
    33
     
    1515
    1616
    17 
    18 SOURCES = $(libORXai_a_SOURCES)
    1917
    2018srcdir = .
     
    7573CTAGS = ctags
    7674DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
    77 ACLOCAL = ${SHELL} /home/tfahrni/Projekte/Orxonox/mybranche/missing --run aclocal-1.9
     75ACLOCAL = ${SHELL} /home/thomas/Projects/Orxonox/aibranch/missing --run aclocal-1.9
    7876AMDEP_FALSE = #
    7977AMDEP_TRUE =
    80 AMTAR = ${SHELL} /home/tfahrni/Projekte/Orxonox/mybranche/missing --run tar
    81 AUTOCONF = ${SHELL} /home/tfahrni/Projekte/Orxonox/mybranche/missing --run autoconf
    82 AUTOHEADER = ${SHELL} /home/tfahrni/Projekte/Orxonox/mybranche/missing --run autoheader
    83 AUTOMAKE = ${SHELL} /home/tfahrni/Projekte/Orxonox/mybranche/missing --run automake-1.9
    84 AWK = gawk
     78AMTAR = ${SHELL} /home/thomas/Projects/Orxonox/aibranch/missing --run tar
     79AUTOCONF = ${SHELL} /home/thomas/Projects/Orxonox/aibranch/missing --run autoconf
     80AUTOHEADER = ${SHELL} /home/thomas/Projects/Orxonox/aibranch/missing --run autoheader
     81AUTOMAKE = ${SHELL} /home/thomas/Projects/Orxonox/aibranch/missing --run automake-1.9
     82AWK = mawk
    8583CC = gcc
    8684CCDEPMODE = depmode=gcc3
    8785CFLAGS = -g -O2
    8886CPP = gcc -E
    89 CPPFLAGS =  -g -Wall -I/usr/pack/gamelibs-1.0-to/include -I/usr/pack/sdl-1.2.11-mo/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
     87CPPFLAGS =  -g -Wall -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/lua50
    9088CURL_CFLAGS =
    91 CURL_LIBS =
     89CURL_LIBS = -L/usr/lib -lcurl -L/usr/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lkrb5support -lcom_err -lresolv -lidn -lssl -lcrypto -ldl -lssl -lcrypto -lz
    9290CXX = g++
    9391CXXDEPMODE = depmode=gcc3
     
    9997DOCUMENTATION_FALSE =
    10098DOCUMENTATION_TRUE = #
    101 DOXYGEN = /usr/sepp/bin/doxygen
    102 DOXYGEN_FALSE = #
    103 DOXYGEN_TRUE =
     99DOXYGEN =
     100DOXYGEN_FALSE =
     101DOXYGEN_TRUE = #
    104102ECHO_C =
    105103ECHO_N = -n
    106104ECHO_T =
    107 EGREP = grep -E
     105EGREP = /bin/grep -E
    108106EXEEXT =
    109107GPROF = /usr/bin/gprof
    110 HAVE_CURL_FALSE =
    111 HAVE_CURL_TRUE = #
     108GREP = /bin/grep
     109HAVE_CURL_FALSE = #
     110HAVE_CURL_TRUE =
    112111INSTALL_DATA = ${INSTALL} -m 644
    113112INSTALL_PROGRAM = ${INSTALL}
    114113INSTALL_SCRIPT = ${INSTALL}
    115114INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
    116 LDFLAGS =  -L/usr/pack/gamelibs-1.0-to/i686-debian-linux3.1/lib -Wl,-rpath -Wl,/usr/pack/gamelibs-1.0-to/i686-debian-linux3.1/lib -L/usr/pack/qt-4.1.1-mo/i686-debian-linux3.1/lib -Wl,-rpath -Wl,/usr/pack/qt-4.1.1-mo/i686-debian-linux3.1/lib
     115LDFLAGS =  -L/usr/lib -Wl,-rpath -Wl,/usr/lib
    117116LIBOBJS =
    118 LIBS = -ldl  -lGL -lGLU -lGLEW -lopenal -lSDL -lSDL_ttf -lSDL_image -lSDL_net -lavcodec -lavformat -lavcodec -lavutil -lvorbisenc -lvorbisfile -lvorbis -logg -lQtCore -lQtGui -lQtOpenGL -lz -lm
     117LIBS = -ldl  -lGL -lGLU -lGLEW -lopenal -lSDL -lSDL_ttf -lSDL_image -lSDL_net -lavcodec -lavformat -lavcodec -lavutil -ltheora -ldts -lgsm -ldc1394_control -lvorbisenc -lvorbisfile -lvorbis -logg -lQtCore -lQtGui -lQtOpenGL -lcurl -lz -lm
    119118LTLIBOBJS =
    120 LUA_INCLUDES = -I/extern_libs
    121 LUA_LIBS = -llualib -llua
    122 MAKEINFO = ${SHELL} /home/tfahrni/Projekte/Orxonox/mybranche/missing --run makeinfo
     119LUA_INCLUDES =
     120LUA_LIBS =  -llua50 -llualib
     121MAKEINFO = ${SHELL} /home/thomas/Projects/Orxonox/aibranch/missing --run makeinfo
    123122MSBITFIELDS =
    124123OBJEXT = o
     
    131130PATH_SEPARATOR = :
    132131QT_CFLAGS =
    133 QT_CXXFLAGS = -I/usr/pack/qt-4.1.1-mo/i686-debian-linux3.1/include
     132QT_CXXFLAGS = -I/usr/include/qt4
    134133QT_INCLUDE_DIR =
    135134QT_LDFLAGS =
    136135QT_LIBS =  -lQtCore
    137 QT_MOC = /usr/pack/qt-4.1.1-mo/i686-debian-linux3.1/bin/moc
    138 QT_RCC = /usr/pack/qt-4.1.1-mo/i686-debian-linux3.1/bin/rcc
    139 QT_UIC = /usr/pack/qt-4.1.1-mo/i686-debian-linux3.1/bin/uic
     136QT_MOC = /usr/bin/moc-qt4
     137QT_RCC = /usr/bin/rcc
     138QT_UIC = /usr/bin/uic
    140139RANLIB = ranlib
    141140SET_MAKE =
    142 SHELL = /bin/sh
     141SHELL = /bin/bash
    143142STRIP =
    144143SUB_PROJECTS_FALSE =
     
    147146ac_ct_CC = gcc
    148147ac_ct_CXX = g++
    149 ac_ct_RANLIB = ranlib
    150 ac_ct_STRIP =
    151148am__fastdepCC_FALSE = #
    152149am__fastdepCC_TRUE =
     
    164161build_os = linux-gnu
    165162build_vendor = pc
    166 datadir = ${prefix}/share
     163datadir = ${datarootdir}
     164datarootdir = ${prefix}/share
     165docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
     166dvidir = ${docdir}
    167167exec_prefix = ${prefix}
    168168host = i686-pc-linux-gnu
     
    171171host_os = linux-gnu
    172172host_vendor = pc
     173htmldir = ${docdir}
    173174includedir = ${prefix}/include
    174 infodir = ${prefix}/info
    175 install_sh = /home/tfahrni/Projekte/Orxonox/mybranche/install-sh
     175infodir = ${datarootdir}/info
     176install_sh = /home/thomas/Projects/Orxonox/aibranch/install-sh
    176177libdir = ${exec_prefix}/lib
    177178libexecdir = ${exec_prefix}/libexec
     179localedir = ${datarootdir}/locale
    178180localstatedir = ${prefix}/var
    179 mandir = ${prefix}/man
     181mandir = ${datarootdir}/man
    180182mkdir_p = mkdir -p --
    181183oldincludedir = /usr/include
     184pdfdir = ${docdir}
    182185prefix = /usr/local
    183186program_transform_name = s,x,x,
     187psdir = ${docdir}
    184188sbindir = ${exec_prefix}/sbin
    185189sharedstatedir = ${prefix}/com
  • branches/ai/src/ai/Makefile.in

    r10029 r10041  
    1 # Makefile.in generated by automake 1.9.5 from Makefile.am.
     1# Makefile.in generated by automake 1.9.6 from Makefile.am.
    22# @configure_input@
    33
     
    1515@SET_MAKE@
    1616
    17 
    18 SOURCES = $(libORXai_a_SOURCES)
    1917
    2018srcdir = @srcdir@
     
    108106EXEEXT = @EXEEXT@
    109107GPROF = @GPROF@
     108GREP = @GREP@
    110109HAVE_CURL_FALSE = @HAVE_CURL_FALSE@
    111110HAVE_CURL_TRUE = @HAVE_CURL_TRUE@
     
    147146ac_ct_CC = @ac_ct_CC@
    148147ac_ct_CXX = @ac_ct_CXX@
    149 ac_ct_RANLIB = @ac_ct_RANLIB@
    150 ac_ct_STRIP = @ac_ct_STRIP@
    151148am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
    152149am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
     
    165162build_vendor = @build_vendor@
    166163datadir = @datadir@
     164datarootdir = @datarootdir@
     165docdir = @docdir@
     166dvidir = @dvidir@
    167167exec_prefix = @exec_prefix@
    168168host = @host@
     
    171171host_os = @host_os@
    172172host_vendor = @host_vendor@
     173htmldir = @htmldir@
    173174includedir = @includedir@
    174175infodir = @infodir@
     
    176177libdir = @libdir@
    177178libexecdir = @libexecdir@
     179localedir = @localedir@
    178180localstatedir = @localstatedir@
    179181mandir = @mandir@
    180182mkdir_p = @mkdir_p@
    181183oldincludedir = @oldincludedir@
     184pdfdir = @pdfdir@
    182185prefix = @prefix@
    183186program_transform_name = @program_transform_name@
     187psdir = @psdir@
    184188sbindir = @sbindir@
    185189sharedstatedir = @sharedstatedir@
  • branches/ai/src/ai/ai_engine.cc

    r10040 r10041  
    3030
    3131
     32
     33/*AITeam* AIEngine::newTeam()
     34{
     35        AITeam* newTeam=new AITeam;
     36        teams.push_back(newTeam);
     37        return newTeam;
     38}*/
     39int AIEngine::newTeam()
     40{
     41        AITeam* newTeam=new AITeam;
     42        teams.push_back(newTeam);
     43        return teams.size()-1;
     44}
     45
     46
     47
     48AITeam* AIEngine::getTeam(int aiTeamNumber)
     49{
     50        //if(teams.size()>aiTeamNumber)
     51        return teams.at(aiTeamNumber);
     52        //return NULL;
     53}
     54
     55
     56
    3257void AIEngine::process()
    3358{
    34   PRINTF(0)("Processing AI..\n");
     59        int teamCount=teams.size();
     60        for(int i=0; i < teamCount; i++ )
     61        {
     62        //std::cout << "Processing Team " << i <<  "...\n";
     63        teams.at(i)->process();
     64        }
    3565}
  • branches/ai/src/ai/ai_engine.h

    r10040 r10041  
    1414
    1515   void process();
    16   private:
    17     AIEngine();
     16   AITeam* getTeam(int);
     17        int newTeam();
     18 private:
     19        AIEngine();
    1820
    1921 private:
  • branches/ai/src/ai/ai_team.cc

    r10029 r10041  
    1515   co-programmer:
    1616*/
    17 #define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
     17#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_AI
    1818
    1919#include "ai_team.h"
     
    2626
    2727void AITeam::process()
    28 {}
     28{
     29        int teamSize=teamMembers.size();
     30        for(int i=0; i < teamSize; i++ )
     31        {
     32        //std::cout << "Processing TeamMember " << i <<  "...\n";
     33        teamMembers.at(i)->process();
     34        }
     35}
     36
     37
     38void AITeam::addMember(AITeamMember* newMember)
     39{
     40        teamMembers.push_back(newMember);
     41}
     42
     43
     44AITeamMember* AITeam::getTeamMember(int teamMemberID)
     45{
     46        return teamMembers.at(teamMemberID);
     47}
  • branches/ai/src/ai/ai_team.h

    r10029 r10041  
    1111   ~AITeam();
    1212   void process();
     13   void addMember(AITeamMember*);
     14   AITeamMember* getTeamMember(int);
    1315 private:
    1416   std::vector<AITeamMember*> teamMembers;
  • branches/ai/src/ai/ai_team_member.cc

    r10029 r10041  
    1 
    2 
    31/*
    42   orxonox - the future of 3D-vertical-scrollers
     
    1210
    1311   ### File Specific:
    14    main-programmer: Patrick Boenzli
     12   main-programmer: Thomas Fahrni
    1513   co-programmer:
    1614*/
    17 #define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY
    1815
     16#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_AI
    1917#include "ai_team_member.h"
     18#include "ai_engine.h"
    2019
    2120AITeamMember::AITeamMember()
     
    2524{}
    2625
     26
     27
    2728void AITeamMember::process()
    28 {}
     29{
     30        int moduleCount=modules.size();
     31        for(int i=0; i < moduleCount; i++ )
     32        {
     33        std::cout << "Processing AIModule " << i <<  "...\n";
     34        modules.at(i)->process();
     35        }
     36}
     37
     38
     39
    2940
    3041void AITeamMember::addToTeam(int aiTeamNumber)
    31 {}
     42{
     43        //funktionniert nur so pseudomässig...
     44        AIEngine* aiEngine=AIEngine::getInstance();
     45        int teamNumber=aiEngine->newTeam();
     46        aiEngine->getTeam(teamNumber)->addMember(this);
     47}
    3248
     49
     50
     51
     52void AITeamMember::addModule(AIModule* newModule){
     53                modules.push_back(newModule);
     54}
  • branches/ai/src/ai/ai_team_member.h

    r10029 r10041  
    66#include "ai_module.h"
    77
     8
    89class AITeamMember : public WorldEntity{
    910 public:
     
    1213
    1314   void process();
    14    void addToTeam(int aiTeamNumber);
     15   void addToTeam(int);
     16   void addModule(AIModule*);
    1517 private:
    16    std::vector<AIModule>          modules;
     18   std::vector<AIModule*>          modules;
    1719};
    1820
  • branches/ai/src/ai/movement_module.cc

    r10029 r10041  
    2727
    2828void MovementModule::process()
    29 {}
     29{
     30
     31        //How does the Module know the AITeamMember it belongs to??
     32       
     33        /*Vector absPosition = this->getAbsCoor();
     34
     35        PRINTF(0)(" npc abs coor: %f, %f, %f\n", absPosition.x, absPosition.y, absPosition.z);
     36
     37        Player* pl = State::getPlayer();
     38        Vector playerAbsPos = pl->getPlayable()->getAbsCoor();
     39
     40        PRINTF(0)(" player abs coor: %f, %f, %f\n", playerAbsPos.x, playerAbsPos.y, playerAbsPos.z);
    3041
    3142
     43  // intelligent reaction
     44
     45        Vector distanceVector = playerAbsPos - absPosition;
     46        distanceVector.normalize();
     47
     48        float speed = 10.0f;
     49
     50        this->shiftCoor( distanceVector * speed * dt);*/
     51}
     52
     53
  • branches/ai/src/world_entities/npcs/npc.h

    r9869 r10041  
    44
    55#include "world_entity.h"
     6#include "ai_team_member.h"
    67
    78class AI;
    89
    9 class NPC : public WorldEntity {
     10class NPC : public AITeamMember {
    1011  ObjectListDeclaration(NPC);
    1112 public:
  • branches/ai/src/world_entities/npcs/npc_test.cc

    r9947 r10041  
    3232
    3333#include "class_id_DEPRECATED.h"
     34
    3435ObjectListDefinitionID(NPC2, CL_NPC_TEST2);
    3536CREATE_FACTORY(NPC2);
     
    4243
    4344
    44   if (root != NULL)
    45     this->loadParams(root);
     45  if (root != NULL)this->loadParams(root);
     46 
     47  addToTeam(0);
    4648}
    4749
     
    6365void NPC2::tick(float dt)
    6466{
     67       
     68       
    6569  // animating the md2 model (uninteressant)
    6670  if( likely(this->getModel(0) != NULL))
    6771    ((MD2Model*)this->getModel(0))->tick(dt);
    6872
    69 
     73        return;
     74        //this things will now be managed by the AI modules..../////
    7075
    7176  PRINTF(0)("====================\n");
Note: See TracChangeset for help on using the changeset viewer.