/*virtual*/ void MIDINoteOnEvent::Save( const IDataStream& Stream ) const
{
	MIDIMIDIEvent::Save( Stream );

	Stream.WriteUInt8( m_Note );
	Stream.WriteUInt8( m_Velocity );
}
Exemple #2
0
// TODO: Add meaningful return values
int Surface::LoadBMP( const IDataStream& Stream )
{
    SBitmapFileHeader	BMPFileHeader;
    SBitmapInfoHeader	BMPInfoHeader;

    Stream.Read( sizeof( SBitmapFileHeader ), &BMPFileHeader );
    Stream.Read( sizeof( SBitmapInfoHeader ), &BMPInfoHeader );

    int Width	= BMPInfoHeader.m_Width;
    int Height	= BMPInfoHeader.m_Height;
    int Stride	= ComputeStride( BMPInfoHeader.m_Width, BMPInfoHeader.m_BitCount );

    Reset( Width, Height, BMPInfoHeader.m_BitCount );

#if BUILD_WINDOWS_NO_SDL
    Stream.Read( Stride * Height, m_pPixels );
#endif
#if BUILD_SDL
    // SDL stores surfaces from top to bottom, so flip the rows
    byte* pPixels = m_pPixels + ( ( Height - 1 ) * Stride );
    for( int Row = 0; Row < Height; ++Row, pPixels	-= Stride )
    {
        Stream.Read( Stride, pPixels );
    }
#endif

    return 0;
}
Exemple #3
0
void WBScene::Load( const IDataStream& Stream )
{
	XTRACE_FUNCTION;

	const uint Version = Stream.ReadUInt32();

	if( Version >= VERSION_UID )
	{
		m_UID = Stream.ReadUInt32();
	}

	if( Version >= VERSION_LASTENTITYSCENEHANDLE )
	{
		m_LastEntitySceneHandle = Stream.ReadUInt32();
	}

	uint NumEntities = Stream.ReadUInt32();
	for( uint EntityIndex = 0; EntityIndex < NumEntities; ++EntityIndex )
	{
		WBEntity* pNewEntity = new WBEntity;
		pNewEntity->Load( Stream );

		AddEntity( pNewEntity, pNewEntity->GetSceneHandle() );
		WBWorld::GetInstance()->AddEntity( pNewEntity, pNewEntity->GetUID() );

		pNewEntity->SendOnInitializedEvent();
	}
}
/*virtual*/ void MIDINoteOnEvent::Load( const IDataStream& Stream )
{
	MIDIMIDIEvent::Load( Stream );

	m_Note = Stream.ReadUInt8();
	m_Velocity = Stream.ReadUInt8();
}
void WBCompEldWatson::Save( const IDataStream& Stream )
{
	Stream.WriteUInt32( VERSION_CURRENT );

	Stream.WriteBool( m_Activated );

	Stream.WriteBool( m_Primed );
}
Exemple #6
0
void WBEvent::Save( const IDataStream& Stream ) const
{
	WBPackedEvent PackedEvent;
	Pack( PackedEvent );

	Stream.WriteUInt32( PackedEvent.GetSize() );
	Stream.Write( PackedEvent.GetSize(), PackedEvent.GetData() );
}
void WBCompEldVisible::Load(const IDataStream& Stream) {
  XTRACE_FUNCTION;

  const uint Version = Stream.ReadUInt32();

  if (Version >= VERSION_VISIBLE) {
    m_Visible = Stream.ReadBool();
  }
}
Exemple #8
0
void WBCompOwner::Load(const IDataStream& Stream) {
  XTRACE_FUNCTION;

  const uint Version = Stream.ReadUInt32();

  if (Version >= VERSION_OWNER) {
    Stream.Read(sizeof(WBEntityRef), &m_Owner);
  }
}
Exemple #9
0
void WBCompState::Load(const IDataStream& Stream) {
  XTRACE_FUNCTION;

  const uint Version = Stream.ReadUInt32();

  if (Version >= VERSION_STATE) {
    m_State = Stream.ReadHashedString();
  }
}
Exemple #10
0
void WBCompEldWallet::Load(const IDataStream& Stream) {
  XTRACE_FUNCTION;

  const uint Version = Stream.ReadUInt32();

  if (Version >= VERSION_MONEY) {
    m_Money = Stream.ReadUInt32();
  }
}
Exemple #11
0
void WBCompEldPickup::Load(const IDataStream& Stream) {
  XTRACE_FUNCTION;

  const uint Version = Stream.ReadUInt32();

  if (Version >= VERSION_PRICE) {
    m_Price = Stream.ReadUInt32();
  }
}
Exemple #12
0
void WBCompEldFrobber::Load(const IDataStream& Stream) {
  XTRACE_FUNCTION;

  const uint Version = Stream.ReadUInt32();

  if (Version >= VERSION_FROBDISABLED) {
    m_FrobDisabled = Stream.ReadBool();
  }
}
void WBCompEldEndgameCounter::Load(const IDataStream& Stream) {
  XTRACE_FUNCTION;

  const uint Version = Stream.ReadUInt32();

  if (Version >= VERSION_COUNT) {
    m_Count = Stream.ReadUInt32();
  }
}
Exemple #14
0
void WBCompEldFaction::Load(const IDataStream& Stream) {
  XTRACE_FUNCTION;

  const uint Version = Stream.ReadUInt32();

  if (Version >= VERSION_FACTION) {
    m_Faction = Stream.ReadHashedString();
  }
}
Exemple #15
0
IDataStream * IDataStream::GetRootParent(void)
{
	IDataStream	* parent = GetParent();

	if(parent)
		return parent->GetRootParent();
	else
		return this;
}
Exemple #16
0
void WBCompEldSleeper::Load(const IDataStream& Stream) {
  XTRACE_FUNCTION;

  const uint Version = Stream.ReadUInt32();

  if (Version >= VERSION_AWAKE) {
    m_IsAwake = Stream.ReadBool();
  }
}
void WBCompRodinBehaviorTree::Load(const IDataStream& Stream) {
  XTRACE_FUNCTION;

  const uint Version = Stream.ReadUInt32();

  if (Version >= VERSION_PAUSED) {
    m_Paused = Stream.ReadBool();
  }
}
Exemple #18
0
void WBEvent::Load( const IDataStream& Stream )
{
	const uint PackedEventSize = Stream.ReadUInt32();

	WBPackedEvent PackedEvent;
	PackedEvent.Reinit( NULL, PackedEventSize );
	Stream.Read( PackedEventSize, PackedEvent.GetData() );

	Unpack( PackedEvent );
}
void WBCompRodinBlackboard::Save( const IDataStream& Stream )
{
	Stream.WriteUInt32( VERSION_CURRENT );

	WBPackedEvent PackedEvent;
	m_BlackboardEntries.Pack( PackedEvent );

	Stream.WriteUInt32( PackedEvent.GetSize() );
	Stream.Write( PackedEvent.GetSize(), PackedEvent.GetData() );
}
Exemple #20
0
void MIDI::SaveVariableLengthValue( const IDataStream& Stream, uint32 Value ) const
{
	while( Value > 0x7F )
	{
		Stream.WriteUInt8( ( uint8 )( 0x80 | ( Value & 0x7F ) ) );
		Value >>= 7;
	}

	Stream.WriteUInt8( ( uint8 )Value );
}
void WBCompEldHands::Load( const IDataStream& Stream )
{
	XTRACE_FUNCTION;

	const uint Version = Stream.ReadUInt32();

	if( Version >= VERSION_HIDEHANDSREFS )
	{
		m_HideHandsRefs = Stream.ReadInt32();
	}
}
void WBCompEldLock::Load( const IDataStream& Stream )
{
	XTRACE_FUNCTION;

	const uint Version = Stream.ReadUInt32();

	if( Version >= VERSION_LOCKED )
	{
		m_Locked = Stream.ReadBool();
	}
}
void EldritchPersistence::Save( const IDataStream& Stream ) const
{
	Stream.WriteUInt32( VERSION_CURRENT );

	Stream.WriteUInt32( m_BankMoney );

	Stream.WriteUInt32( m_OpenLocks.Size() );
	FOR_EACH_SET( OpenLockIter, m_OpenLocks, HashedString )
	{
		Stream.WriteHashedString( OpenLockIter.GetValue() );
	}
void WBCompEldHard::Load( const IDataStream& Stream )
{
	XTRACE_FUNCTION;

	const uint Version = Stream.ReadUInt32();

	if( Version >= VERSION_HARD )
	{
		m_Hard = Stream.ReadBool();
	}
}
void WBCompEldAnchor::Load( const IDataStream& Stream )
{
	XTRACE_FUNCTION;

	const uint Version = Stream.ReadUInt32();

	if( Version >= VERSION_ANCHOR )
	{
		Stream.Read( sizeof( Vector ), &m_AnchorPoint );
		m_IsAnchored = Stream.ReadBool();
	}
}
void WBCompEldLight::Load( const IDataStream& Stream )
{
	XTRACE_FUNCTION;

	const uint Version = Stream.ReadUInt32();

	if( Version >= VERSION_LIGHT )
	{
		m_HasAddedLight = Stream.ReadBool();
		Stream.Read( sizeof( Vector ), &m_LightLocation );
	}
}
Exemple #27
0
bool IDataStream::eof() const
{
	IDataStream* s = const_cast<IDataStream*>(this);
	const auto pos = s->seek(0, std::ios_base::cur);
	if (pos < 0)
	{
		return false;
	}

	const auto size = s->seek(0, std::ios_base::end);
	s->seek(pos);
	return pos >= size;
}
Exemple #28
0
void WBCompTransform::Load(const IDataStream& Stream) {
  XTRACE_FUNCTION;

  const uint Version = Stream.ReadUInt32();

  if (Version >= VERSION_LOCATION) {
    Stream.Read(sizeof(Vector), &m_Location);
  }

  if (Version >= VERSION_VELOCITY) {
    Stream.Read(sizeof(Vector), &m_Velocity);
  }
}
Exemple #29
0
void WBCompEldRope::Load(const IDataStream& Stream) {
  XTRACE_FUNCTION;

  const uint Version = Stream.ReadUInt32();

  if (Version >= VERSION_ANCHOR) {
    Stream.Read(sizeof(Vector), &m_Anchor);
  }

  if (Version >= VERSION_DROPPED) {
    m_Dropped = Stream.ReadBool();
  }
}
Exemple #30
0
size_t IDataStream::size() const
{
	IDataStream* s = const_cast<IDataStream*>(this);
	const auto pos = s->seek(0, std::ios_base::cur);
	if (pos < 0)
	{
		return 0;
	}

	const auto size = s->seek(0, std::ios_base::end);
	s->seek(pos);
	return static_cast<size_t>(size);
}