Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 3221 in orxonox.OLD


Ignore:
Timestamp:
Dec 19, 2004, 10:44:35 PM (19 years ago)
Author:
patrick
Message:

orxonox/trunk: added doxy comments to class StoryEntity, little changes in the destructors of world/story entities. solved an issue with the destructor of WorldEntities. ALL SEGFAULT ERRORS SHOULD NOW BE REMOVED :)

Location:
orxonox/trunk/src
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • orxonox/trunk/src/campaign.cc

    r3220 r3221  
    8282  printf("World::start() - starting new StoryEntity Nr:%i\n", storyID);
    8383  Error errorCode;
    84   if(!this->isInit) return errorCode;
    85   if(storyID == WORLD_ID_GAMEEND) return errorCode;
     84  if( !this->isInit) return errorCode;
     85  if( storyID == WORLD_ID_GAMEEND) return errorCode;
    8686  this->running = true;
    8787  StoryEntity* se = this->getStoryEntity(storyID);
    8888  this->currentEntity = se;
    89   while(se != NULL && this->running)
     89  while( se != NULL && this->running)
    9090    {
    91       //se = this->getStoryEntity(storyID);
    92      
    93      
    9491      se->displayLoadScreen();
    9592      se->load();
     
    9794      se->releaseLoadScreen();
    9895      se->start();
    99 
     96      se->destroy();
     97     
    10098      delete se;
    10199
  • orxonox/trunk/src/command_node.cc

    r3216 r3221  
    166166void CommandNode::bind (WorldEntity* entity)
    167167{
    168   bound->add (entity);
     168  bound->add(entity);
    169169}
    170170
     
    175175void CommandNode::unbind (WorldEntity* entity)
    176176{
    177   bound->remove (entity);
     177  bound->remove(entity);
    178178}
    179179
  • orxonox/trunk/src/list.h

    r3194 r3221  
    106106void tList<T>::add(WorldEntity* entity)
    107107{
    108   printf("tList<T>::add() \n");
    109108  listElement* el = new listElement;
    110109  el->prev = this->last;
     
    128127    {
    129128      if( this->currentEl->curr == entity)
    130         {
    131           printf("tList<T>::remove() - object found\n");
    132          
     129        {
    133130          if( this->currentEl->prev  == NULL ) this->first = this->currentEl->next;
    134131          else this->currentEl->prev->next = this->currentEl->next;
     
    150147void tList<T>::destroy()
    151148{
    152   printf("tList<T>::clear() - clearing all world objects, releasing mem\n");
    153149  this->currentEl = this->first;
    154150  while(this->currentEl != NULL)
  • orxonox/trunk/src/story_entity.cc

    r3220 r3221  
    3030/**
    3131    \brief initialize the entity before use.
     32    \returns an error code if not able to apply.
    3233
    3334    After execution of this function, the Entity is ready to be played/executed,
    3435    this shifts the initialisation work before the execution - very important...
    35    
    3636*/
    3737Error StoryEntity::init()
     
    3939
    4040
     41/**
     42    \brief sets the story ID
     43
     44    sets the story id of the current entity, this enables it to be identified in a
     45    global context.
     46*/
    4147void StoryEntity::setStoryID(int storyID)
    4248{
     
    4450}
    4551
     52
     53/**
     54    \brief this reads the story id of the current entity
     55    \returns the story entity id
     56*/
    4657int StoryEntity::getStoryID()
    4758{
     
    5061
    5162
     63/**
     64    \brief sets the id of the next story entity
     65   
     66    StoryEntities can choose their following entity themselfs. the entity id defined here
     67    will be startet after this entity ends. this can be convenient if you want to have a
     68    non linear story with switches.
     69*/
    5270void StoryEntity::setNextStoryID(int nextStoryID)
    5371{
     
    5573}
    5674
     75/**
     76    \brief gets the story id of the current entity
     77    \returns story id
     78*/
    5779int StoryEntity::getNextStoryID()
    5880{
     
    6183
    6284
     85/**
     86    \brief starts the entity with the choosen id. only for entities with lists.
     87    \param story id
     88    \returns error code if this action has caused a error
     89
     90    this simply starts the story with the id storyID. the story with the choosen id has
     91    to be part of the current entity else, this doesn't make sense. this is used for
     92    campaigns or the GameLoader, they have lists of Campaigns/Worlds with their own
     93    storyID.
     94*/
    6395Error StoryEntity::start(int storyID)
    6496{}
    6597
     98
     99/**
     100    \brief starts the current entity
     101    \returns error code if this action has caused a error   
     102*/
    66103Error StoryEntity::start()
    67104{}
    68105
     106
     107/**
     108    \brief stops the current entity
     109    \returns error code if this action has caused a error
     110
     111    ATTENTION: this function shouldn't call other functions, or if so, they must return
     112    after finishing. If you ignore or forget to do so, the current entity is not able to
     113    terminate and it will run in the background or the ressources can't be freed or even
     114    worse: are freed and the program will end in a segmentation fault!
     115    hehehe, all seen... :)
     116*/
    69117Error StoryEntity::stop()
    70118{}
    71119
     120
     121/**
     122    \brief pause the current entity
     123    \returns error code if this action has caused a error
     124
     125    this pauses the current entity or passes this call forth to the running entity.
     126*/
    72127Error StoryEntity::pause()
    73128{}
    74129
     130
     131/**
     132    \brief resumes a pause
     133    \returns error code if this action has caused a error
     134
     135    this resumess the current entity or passes this call forth to the running entity.
     136*/
    75137Error StoryEntity::resume()
    76138{}
    77139
    78140
     141/**
     142    \brief loads the current entity
     143
     144    this is here to enable you loading maps into the entities. for all other actions you
     145    should take the init() function.
     146*/
    79147void StoryEntity::load()
    80148{}
    81149
     150
     151/**
     152    \brief destroys and cleans up the current entity.
     153
     154    this cleans up ressources before the deconstructor is called. for terminating
     155    the entity please use the stop() function.
     156*/
    82157void StoryEntity::destroy()
    83158{}
    84159
    85160
     161/**
     162    \brief this displays the load screen
     163
     164    it will need some time to load maps or things like that. to inform the user about
     165    progress and to just show him/her something for the eyes, put here this stuff
     166*/
    86167void StoryEntity::displayLoadScreen()
    87168{}
    88169
     170
     171/**
     172    \brief undisplay the load screen
     173
     174    the load process has terminated, you now can release the load screen and start this
     175    entity.
     176*/
    89177void StoryEntity::releaseLoadScreen()
    90178{}
  • orxonox/trunk/src/story_entity.h

    r3220 r3221  
     1/*!
     2    \file story_entity.h
     3    \brief holds the base class of everything that is playable - that is part of the story
     4*/
     5
    16
    27#ifndef STORY_ENTITY_H
     
    611#include "story_def.h"
    712
     13//! A class that represents something to play in orxonox. it is a container for worlds, movies, mission briefings, etc...
    814class StoryEntity {
    915
    1016 public:
    1117  StoryEntity ();
    12   ~StoryEntity ();
     18  virtual ~StoryEntity ();
    1319
    14   bool isInit;
    15   bool isPaused;
     20  bool isInit;  //! if the entity is initialized, this has to be true
     21  bool isPaused; //! is true if the entity is paused
    1622
    1723  virtual Error init();
     
    3642
    3743 private:
    38   int storyID;
    39   int nextStoryID;
     44  int storyID; //! this is the number of this entity, identifying it in a list/tree...
     45  int nextStoryID; //! if this entity has finished, this entity shall be called
    4046};
    4147
  • orxonox/trunk/src/world.cc

    r3220 r3221  
    105105{
    106106  this->isPaused = false;
     107}
     108
     109void World::destroy()
     110{
     111
    107112}
    108113
  • orxonox/trunk/src/world.h

    r3216 r3221  
    2222  World (char* name);
    2323  World (int worldID);
    24   ~World ();
     24  virtual ~World ();
    2525
    2626  template<typename T>
     
    3636
    3737  virtual void load();
     38  virtual void destroy();
    3839
    3940  void time_slice (Uint32 deltaT);
  • orxonox/trunk/src/world_entity.h

    r2551 r3221  
    1818 public:
    1919  WorldEntity (bool isFree = false);
    20   ~WorldEntity ();
     20  virtual ~WorldEntity ();
    2121 
    2222  Location* get_location ();
Note: See TracChangeset for help on using the changeset viewer.