Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 7304 in orxonox.OLD for trunk/src/story_entities


Ignore:
Timestamp:
Apr 16, 2006, 8:27:32 PM (19 years ago)
Author:
bensch
Message:

orxonox/trunk: moved the AudioThread completely to the OggPlayer. This cleans out the unnecesary overFULLNESS from game_world

Location:
trunk/src/story_entities
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/story_entities/game_world.cc

    r7297 r7304  
    8989
    9090  this->dataXML = NULL;
    91 
    92   this->audioThread = NULL;
    9391}
    9492
     
    134132}
    135133
    136 int GameWorld::createAudioThread(void* gameWorld)
    137 {
    138   GameWorld* gw = (GameWorld*)gameWorld;
    139   printf("STARTIG AUDIO THREAD\n");
    140   if(gw->dataTank && gw->dataTank->music != NULL)
    141     gw->dataTank->music->playback();
    142 
    143   while (gw->bRunning)
    144   {
    145     if(gw->dataTank && gw->dataTank->music != NULL)
    146       gw->dataTank->music->update();
    147     SDL_Delay(1);
    148   }
    149   printf("End the AudioThread\n");
    150 }
    151134
    152135/**
     
    204187  PRINTF(3)("GameWorld::~GameWorld() - unloading the current GameWorld\n");
    205188
    206   if (this->audioThread != NULL)
    207   {
    208     this->bRunning = false;
    209     SDL_WaitThread(this->audioThread, NULL);
    210     this->audioThread = NULL;
    211   }
    212 
    213189  this->dataTank->unloadData();
    214190
     
    227203  this->bRunning = true;
    228204
    229   if (this->audioThread == NULL)
    230     this->audioThread = SDL_CreateThread(GameWorld::createAudioThread, (void*)this);
    231 
    232205  this->run();
    233206}
     
    241214  PRINTF(3)("GameWorld::stop() - got stop signal\n");
    242215  this->bRunning = false;
    243 
    244   if (this->audioThread != NULL)
    245   {
    246     this->bRunning = false;
    247     SDL_WaitThread(this->audioThread, NULL);
    248     this->audioThread = NULL;
    249   }
    250 
    251   this->audioThread = NULL;
    252216}
    253217
     
    288252  this->dtS = 0.0f;
    289253  this->lastFrame = SDL_GetTicks ();
     254
     255  if (this->dataTank->music != NULL)
     256    this->dataTank->music->play();
    290257
    291258  while( this->bRunning) /* @todo implement pause */
  • trunk/src/story_entities/game_world.h

    r7283 r7304  
    1010#include "story_entity.h"
    1111#include "game_world_data.h"
    12 
    13 #include <SDL_thread.h>
    1412
    1513class Shell;
     
    5654    static void toggleBVVisibility();
    5755
    58     static int createAudioThread(void* GameWorld);
    59 
    60 
    6156    inline void setSky(WorldEntity* sky) { this->dataTank->sky = sky; }
    6257
     
    8075
    8176  protected:
    82     SDL_Thread*         audioThread;
    8377    GameWorldData*      dataTank;                     //!< reference to the GameWorld Data Tank
    8478    TiXmlElement*       dataXML;                      //!< The XML-Element this World has been loaded with.
Note: See TracChangeset for help on using the changeset viewer.