Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 19, 2010, 2:27:06 PM (15 years ago)
Author:
scheusso
Message:

some () structural changes
some functional changes (GamestateClient replaced through GamestateManager on client)
reliable packets get buffered until a recent gamestate arrived and got processed

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/network5/src/libraries/network/packet/Gamestate.cc

    r7759 r7777  
    3636#include "network/synchronisable/Synchronisable.h"
    3737#include "network/GamestateHandler.h"
     38#include "network/Host.h"
    3839
    3940namespace orxonox {
     
    4445
    4546// #define PACKET_FLAG_GAMESTATE  PacketFlag::Unsequenced
    46 // #define PACKET_FLAG_GAMESTATE  0
    47 #define PACKET_FLAG_GAMESTATE  PacketFlag::Reliable
     47#define PACKET_FLAG_GAMESTATE  0
     48// #define PACKET_FLAG_GAMESTATE  PacketFlag::Reliable
    4849
    4950inline bool memzero( uint8_t* data, uint32_t datalength)
     
    138139      assert(0); // if we don't use multithreading this part shouldn't be neccessary
    139140      // start allocate additional memory
    140       COUT(3) << "G.St.Man: need additional memory" << std::endl;
     141      COUT(3) << "Gamestate: need additional memory" << std::endl;
    141142      ObjectList<Synchronisable>::iterator temp = it;
    142143      uint32_t addsize=tempsize;
     
    165166  //stop write gamestate header
    166167
    167   COUT(5) << "G.ST.Man: Gamestate size: " << currentsize << std::endl;
    168   COUT(5) << "G.ST.Man: 'estimated' (and corrected) Gamestate size: " << size << std::endl;
     168  COUT(5) << "Gamestate: Gamestate size: " << currentsize << std::endl;
     169  COUT(5) << "Gamestate: 'estimated' (and corrected) Gamestate size: " << size << std::endl;
    169170  return true;
    170171}
     
    173174bool Gamestate::spreadData(uint8_t mode)
    174175{
    175   COUT(4) << "processing gamestate with id " << header_.getID() << endl;
     176  COUT(5) << "processing gamestate with id " << header_.getID() << endl;
    176177  assert(data_);
    177178  assert(!header_.isCompressed());
     
    204205    }
    205206  }
     207  assert(mem-data_ == GamestateHeader::getSize()+header_.getDataSize());
     208 
    206209   // In debug mode, check first, whether there are no duplicate objectIDs
    207210#ifndef NDEBUG
     
    269272
    270273
    271 bool Gamestate::process()
    272 {
    273   return GamestateHandler::addGamestate(this, getClientID());
     274bool Gamestate::process(orxonox::Host* host)
     275{
     276  return host->addGamestate(this, getPeerID());
    274277}
    275278
     
    585588
    586589
    587   Gamestate *g = new Gamestate(newData, getClientID());
     590  Gamestate *g = new Gamestate(newData, getPeerID());
    588591  (g->header_) = header_;
    589592  g->header_.setBaseID( base->getID() );
     
    757760
    758761
    759 uint32_t Gamestate::calcGamestateSize(int32_t id, uint8_t mode)
     762uint32_t Gamestate::calcGamestateSize(uint32_t id, uint8_t mode)
    760763{
    761764  uint32_t size = 0;
Note: See TracChangeset for help on using the changeset viewer.