Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 19, 2010, 2:27:06 PM (13 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.h

    r7758 r7777  
    4242#include "Packet.h"
    4343
    44 namespace orxonox {
     44namespace orxonox
     45{
    4546
    46 namespace packet {
     47namespace packet
     48{
     49   
     50static const uint8_t GAMESTATE_MODE_SERVER = 0x1;
     51static const uint8_t GAMESTATE_MODE_CLIENT = 0x2;
    4752
    48 class _NetworkExport GamestateHeader{
     53class _NetworkExport GamestateHeader
     54{
    4955  public:
    5056    GamestateHeader(){ data_=0; }
     
    5864      { return 21; }
    5965
    60     inline int32_t getID() const
    61       { assert(data_); return *(int32_t*)(data_+4); }
    62     inline void setID(int32_t id)
    63       { assert(data_); *(int32_t*)(data_+4) = id; }
     66    inline uint32_t getID() const
     67      { assert(data_); return *(uint32_t*)(data_+4); }
     68    inline void setID(uint32_t id)
     69      { assert(data_); *(uint32_t*)(data_+4) = id; }
    6470
    65     inline int32_t getBaseID() const
    66       { assert(data_); return *(int32_t*)(data_+8); }
    67     inline void setBaseID(int32_t id)
    68       { assert(data_); *(int32_t*)(data_+8) = id; }
     71    inline uint32_t getBaseID() const
     72      { assert(data_); return *(uint32_t*)(data_+8); }
     73    inline void setBaseID(uint32_t id)
     74      { assert(data_); *(uint32_t*)(data_+8) = id; }
    6975
    7076    inline uint32_t getDataSize() const
     
    103109    @author Oliver Scheuss
    104110*/
    105 class _NetworkExport Gamestate: public Packet{
     111class _NetworkExport Gamestate: public Packet
     112{
    106113  public:
    107114    Gamestate();
     
    114121    bool collectData(int id, uint8_t mode=0x0);
    115122    bool spreadData( uint8_t mode=0x0);
    116     inline int32_t getID() const { return header_.getID(); }
     123    inline uint32_t getID() const { return header_.getID(); }
    117124    inline bool isDiffed() const { return header_.isDiffed(); }
    118125    inline bool isCompressed() const { return header_.isCompressed(); }
     
    132139//     inline uint32_t findObject( const SynchronisableHeader& header, uint8_t* mem, uint32_t dataLength, uint32_t startPosition = 0 );
    133140    virtual uint32_t getSize() const;
    134     virtual inline bool process();
    135     uint32_t calcGamestateSize(int32_t id, uint8_t mode=0x0);
     141    virtual bool process(orxonox::Host* host);
     142    uint32_t calcGamestateSize(uint32_t id, uint8_t mode=0x0);
    136143//     inline void diffObject( uint8_t*& newData, uint8_t*& origData, uint8_t*& baseData, SynchronisableHeader& objectHeader, std::vector<uint32_t>::iterator& sizes );
    137144//     inline void copyObject( uint8_t*& newData, uint8_t*& origData, uint8_t*& baseData, SynchronisableHeader& objectHeader, std::vector<uint32_t>::iterator& sizes );
Note: See TracChangeset for help on using the changeset viewer.