void vHavokTriggerVolume::Serialize( VArchive &ar )
{
  char iLocalVersion = VHAVOKTRIGGERVOLUME_VERSION_CURRENT;
  IVObjectComponent::Serialize(ar);
  if (ar.IsLoading())
  {
    char iFileVersion = 0;
    ar >> iFileVersion;
    VASSERT_MSG(iFileVersion <= iLocalVersion, "Invalid file version. Please re-export");
  
    ar >> Havok_ShapeType;
    ar >> Havok_MotionType;
    ar >> Havok_QualityType;
    ar >> Havok_CollisionLayer;
    ar >> Havok_CollisionGroup;
    ar >> Havok_SubSystemId;
    ar >> Havok_SubSystemDontCollideWith;
    ar >> Debug_Color;

    VisTriggerSourceComponent_cl *pComp = NULL;
    ar >> pComp;m_spOnObjectEnter = pComp;
    ar >> pComp;m_spOnObjectLeave = pComp;
    ar >> pComp;m_spOnCharacterEnter = pComp;
    ar >> pComp;m_spOnCharacterLeave = pComp;
  } 
void VFmodEvent::Serialize( VArchive &ar )
{
  VisObject3D_cl::Serialize(ar);
  char iVersion = -1;
  if (ar.IsLoading())
  {
    ar >> iVersion; 
    VASSERT(iVersion >= VFMOD_EVENT_VERSION_0 && iVersion <= VFMOD_EVENT_VERSION_CURRENT);

    // load resource 
    char szEventProjectPath[FS_MAX_PATH+1];
    char szEventGroupName[FS_MAX_PATH+1];
    ar.ReadStringBinary(szEventProjectPath, FS_MAX_PATH);
    ar.ReadStringBinary(szEventGroupName, FS_MAX_PATH);

    // event properties
    ar >> m_sEventName;

    // @@@ Force events to be non-disposable
    //m_iFlags |= VFMOD_FLAG_NODISPOSE;
    
    ar >> m_iFlags;

    if(iVersion >= VFMOD_EVENT_VERSION_1)
    {
      ar >> m_bPlayedOnce;
    }
//TODO: serialize added events!
void VAnimationComponent::Serialize( VArchive &ar )
{
  char iLocalVersion = 0;
  IVObjectComponent::Serialize(ar);
  if (ar.IsLoading())
  {
    ar >> iLocalVersion;
    VASSERT_MSG(iLocalVersion == 0, "Invalid local version. Please re-export");

    char pBuffer[512];
    ar.ReadStringBinary(pBuffer, 512);

    if(pBuffer && pBuffer[0])
    {
      unsigned int flags = 0;
      float time = 0;
      bool isPlaying = true;

      ar >> flags;
      ar >> time;
      ar >> isPlaying;

      Play(pBuffer, (flags&VANIMCTRL_LOOP)!=0);
      if(!isPlaying) Pause();
      SetTime(time);
    }
// ----------------------------------------------------------------------------
void vHavokGenericConstraintDesc::Serialize( VArchive &ar )
{
  vHavokConstraintDesc::Serialize(ar);
  if (ar.IsLoading())
  {
    unsigned int iVersion = 0;
    ar >> iVersion;
    VASSERT((iVersion > 0) && (iVersion <= s_iSerialVersion));

    m_vGenericPivot.SerializeAsVisVector (ar);
    m_vAngularAxis.SerializeAsVisVector (ar);

    int iTmp;
    ar >> iTmp; m_eXMotion = (VGenericMotion_e)iTmp;
    ar >> iTmp; m_eYMotion = (VGenericMotion_e)iTmp;
    ar >> iTmp; m_eZMotion = (VGenericMotion_e)iTmp;
    ar >> iTmp; m_eAngularMotion = (VGenericMotion_e)iTmp;

    ar >> m_fLinearMin;
    ar >> m_fLinearMax;
    ar >> m_fAngularMin;
    ar >> m_fAngularMax;
    ar >> m_fVelocityTarget;
    ar >> m_fTau;
    ar >> m_fMinForce;
    ar >> m_fMaxForce;
    ar >> m_fLinearFriction;
    ar >> m_fAngularFriction;
  }
void VLineFollowerComponent::Serialize(VArchive &ar)
{
  char iLocalVersion = 1;

  IVObjectComponent::Serialize(ar);

  if (ar.IsLoading())
  {
    ar >> iLocalVersion;
    VASSERT_MSG(iLocalVersion==1, "Invalid local version. Please re-export");

    ar.ReadStringBinary(Model_AnimationName, sizeof(Model_AnimationName));
    ar.ReadStringBinary(Path_Key, sizeof(Path_Key));
    ar >> Path_NumberSteps;
    ar >> Path_TriggerDistance;
    ar >> Path_InitialOffset;
    ar >> Model_DeltaRotation;
    ar >> Model_GroundOffset;
    ar >> Model_CapsuleHeight;
    ar >> Model_CapsuleRadius;
    ar >> Debug_DisplayBoxes;
    
    Debug_RenderMesh = false;
    CommonInit();
  }
Example #6
0
void VSkyLayer::SerializeX( VArchive &ar )
{
  char iVersion = 0;
  if (ar.IsLoading())
  {
    ar >> iVersion; VVERIFY(iVersion==0 && "Invalid sky serialization version");

    // main properties
    char mapping;
    ar >> mapping;
    ar >> m_vMappingParams;
    ar >> m_vColor;
    ar >> m_vTextureTransform;
    ar >> m_vScrollSpeed;
    SetMapping((VIS_SKY_MappingType)mapping);

    // textures
    float fProgressStep = mapping==VIS_SKYMAPPING_CUBEMAP ? 100.f/6.f : 100.f;
    float fProgress = 0.f;
    VMemoryTempBuffer<FS_MAX_PATH> buffer;
    SAFE_LOAD_TEXTURE(m_spTexture, mapping==VIS_SKYMAPPING_SPHERICAL || mapping==VIS_SKYMAPPING_CYLINDRICAL);
    for (int i=0;i<6;i++)
      SAFE_LOAD_TEXTURE(m_spCubemapFace[i],mapping==VIS_SKYMAPPING_CUBEMAP);

  } else
void VFmodSoundObject::Serialize( VArchive &ar )
{
  VisObject3D_cl::Serialize(ar);
  char iVersion = -1;
  if (ar.IsLoading())
  {
    ar >> iVersion; 
    VASSERT(iVersion >= VFMOD_SOUNDOBJECT_VERSION_0 && iVersion <= VFMOD_SOUNDOBJECT_VERSION_CURRENT);

    // first, load resource file
    int iResourceFlags;
    char szResourceFile[FS_MAX_PATH+1];
    ar >> iResourceFlags;
    ar.ReadStringBinary(szResourceFile, FS_MAX_PATH); 
    m_spResource = VFmodManager::GlobalManager().LoadSoundResource(szResourceFile, iResourceFlags);

    // sound properties
    ar >> m_iFlags;
    ar >> m_iPriority;
    ar >> m_fVolume >> m_fPan >> m_fConeInside >> m_fConeOutside;
    ar >> m_fFadeMin >> m_fFadeMax;
    ar >> m_bFading;
    ar >> m_fVolumeFadeTime >> m_fVolumeFadeDuration;
    ar >> m_fVolumeFadeStart >> m_fVolumeFadeTarget;
    ar >> m_fPitch;

    if(iVersion >= VFMOD_SOUNDOBJECT_VERSION_1)
    {
      ar >> m_bPlayedOnce;
    }
void VFmodCollisionMeshInstance::Serialize( VArchive &ar )
{
  if (ar.IsLoading())
  {
    char iVersion = -1;
    bool bActive;
    int iMeshType;
    ar >> iVersion; 
    VASSERT(iVersion >= V_FMODCOLLISIONMESHINSTANCE_VERSION_0 && iVersion <= V_FMODCOLLISIONMESHINSTANCE_VERSION_CURRENT);

    VisObject3D_cl::Serialize(ar);
    ar >> bActive;
    m_vScale.SerializeAsVec3(ar);
    ar >> m_fDirectOcclusion >> m_fReverbOcclusion;
    ar >> iMeshType; // mesh type; 0==VBaseMesh

    if (iMeshType==0)
    {
      VBaseMesh *pMesh = (VBaseMesh *)ar.ReadProxyObject();
      SetCollisionMesh(pMesh, m_fDirectOcclusion, m_fReverbOcclusion);
    } 
    else
    {
      VASSERT(!"Yet unsupported mesh type for sound collision geometry");
    }

    SetActive(bActive);
  } 
void RPG_PlayerCharacterSynchronizationGroup::Synchronize(const VNetworkViewContext& context, VNetworkSynchronizationGroupInstanceInfo_t &instanceInfo, VArchive &ar)
{
  RPG_PlayerCharacter *pObj = (RPG_PlayerCharacter*) instanceInfo.m_pInstance;
  VHistoryData* pData = (VHistoryData*) instanceInfo.m_pCustomData;

  if (ar.IsLoading())
  {
    // Get timing
    __int64 iTimeMS;
    ar >> iTimeMS; //8 byte
    ar >> pData->m_iDataFlagsToSend; // 1 byte

    //hkvLog::Warning("Server time: %.5f", iTimeMS / 1000.0f);


    if (pData->m_iDataFlagsToSend & VCD_POSITION)
    {
      float fX, fY, fZ;

      ar >> fX; //4 byte
      ar >> fY; //4 byte
      ar >> fZ; //4 byte
      hkvVec3 vNewPosition (fX, fY, fZ);
      pData->m_positionHistory.Write (vNewPosition, iTimeMS);
    }
void VPostProcessScreenMasks::Serialize( VArchive &ar )
{
  char iLocalVersion = 0;
  if (ar.IsLoading())
  {
    ar >> iLocalVersion;
    ar >> m_bActive;
  }
void VTextLabel::Serialize( VArchive &ar )
{
  char iLocalVersion = 0;
  VDlgControlBase::Serialize(ar);
  if (ar.IsLoading())
  {
    ar >> iLocalVersion; VASSERT_MSG(iLocalVersion==0,"Invalid version");
    ar >> m_TextCfg;
  } else
Example #12
0
void VDlgControlBase::Serialize( VArchive &ar )
{
  VWindowBase::Serialize(ar);
  if (ar.IsLoading())
  {
  } else
  {
  }
}
void VLookupItem::Serialize( VArchive &ar )
{
  char iLocalVersion = 0;
  VListControlItem::Serialize(ar);
  if (ar.IsLoading())
  {
    ar >> iLocalVersion; VASSERT_MSG(iLocalVersion==0,"Invalid version");
    ar >> m_iMatchColor;
  } else
void VRendererNodeCommon::Serialize( VArchive &ar )
{
  char iLocalVersion = RENDERERNODEBASE_VERSION_CURRENT;
  if (ar.IsLoading())
  {
    ar >> iLocalVersion;
    VASSERT_MSG(iLocalVersion >= RENDERERNODEBASE_VERSION_1 && iLocalVersion <= RENDERERNODEBASE_VERSION_CURRENT, 
      "VRendererNodeCommon: Invalid version number");
  }
// ----------------------------------------------------------------------------
void vHavokStiffSpringConstraintDesc::Serialize( VArchive &ar )
{
  vHavokConstraintDesc::Serialize(ar);
  if (ar.IsLoading())
  {
    unsigned int iVersion = 0;
    ar >> iVersion;
    VASSERT((iVersion > 0) && (iVersion <= s_iSerialVersion));
  }
void VSimpleCopyPostprocess::Serialize( VArchive &ar )
{
  if (ar.IsLoading())
  {
    ar >> m_bActive;

    VRendererNodeCommon* pDummy;
    ar >> pDummy;
  }
void VUndoableSectorAction::Serialize( VArchive &ar )
{
  VisTypedEngineObject_cl::Serialize(ar);
  char iLocalVersion = 0;
  if (ar.IsLoading())
  {
    ar >> iLocalVersion;VASSERT_MSG(iLocalVersion==0, "Invalid version number");
    ar >> m_iSectorX >> m_iSectorY;
  }
// ----------------------------------------------------------------------------
void vHavokConstraintChainRendererBase::Serialize(VArchive &ar)
{
  IVObjectComponent::Serialize(ar);

  if (ar.IsLoading())
  {
    unsigned int iVersion = 0;
    ar >> iVersion;
    VASSERT_MSG((iVersion > 0) && (iVersion <= s_iSerialVersion), "Invalid version of serialized data!");
  }
void VItemContainer::Serialize( VArchive &ar )
{
  char iLocalVersion = 0;
  VDlgControlBase::Serialize(ar);
  if (ar.IsLoading())
  {
    ar >> iLocalVersion; VASSERT_MSG(iLocalVersion==0,"Invalid version");
    ar >> m_Frame;
    m_SubItems.SerializeX(ar);
  } else
Example #20
0
void VPostProcessFXAA::Serialize( VArchive &ar )
{
  if (ar.IsLoading())
  {
    ar >> m_bActive;

    unsigned int iQuality;
    ar >> iQuality;
    Quality = QualityLevel(iQuality);
  }
void VTimedValueComponent::Serialize( VArchive &ar )
{
  char iLocalVersion = 0;
  IVObjectComponent::Serialize(ar);
  hkvLog::Warning("VTimedValueComponent is not intended to be (de-)serialized. It should only be created by Lua script.");
  if (ar.IsLoading())
  {
    ar >> iLocalVersion;
    VASSERT_MSG(iLocalVersion == 0, "Invalid local version. Please re-export");
  } 
void VSkeletalBoneProxyObject::Serialize( VArchive &ar )
{
  VisObject3D_cl::Serialize(ar);
  char iLocalVersion = 0;
  if (ar.IsLoading())
  {
    ar >> iLocalVersion; VASSERT_MSG(iLocalVersion==0,"Invalid version number");
    ar >> m_iBoneIndex;
    VASSERT_MSG(m_iBoneIndex==-1 || m_iBoneIndex<((VisBaseEntity_cl *)m_pParent)->GetMesh()->GetSkeleton()->GetBoneCount(), "Invalid bone index");
  } else
Example #23
0
void VisClothDeformer_cl::Serialize( VArchive &ar )
{
  VisTypedEngineObject_cl::Serialize(ar);
  if (ar.IsLoading())
  {
  }
  else
  {
  }
}
Example #24
0
void VDialogFrame::SerializeX( VArchive &ar )
{
  char iLocalVersion = 0;
  if (ar.IsLoading())
  {
    ar >> iLocalVersion; VASSERT_MSG(iLocalVersion==0,"Invalid version");
    ar >> m_pOwner;
    VTextureObject *pTex = (VTextureObject *)ar.ReadProxyObject();
    SetTexture(pTex);
    ar >> m_iColor;
  } else
Example #25
0
// ---------------------------------------------------------------------------------
// Method: Serialize
// Author: Fabian Roeken, Patrick Harms
// ---------------------------------------------------------------------------------
void VisMouseCamera_cl::Serialize( VArchive& ar )
{
  VisBaseEntity_cl::Serialize( ar );

  if ( ar.IsLoading() )
  {
    ar >> m_SpeedMode;

    // all base initialization takes place now :-)
    BaseInit();
  }
Example #26
0
 inline void SerializeX(VArchive &ar)
 {
   if (ar.IsLoading())
   {
     int iBitCount;
     ar >> iBitCount;
     AllocateBitfield(iBitCount);
     const int iIntCount = GetIntCount();
     if (iIntCount>0)
       ar.Read(GetIntArray(),iIntCount*sizeof(int),"i",iIntCount);
   } else
void vHavokPointToPlaneConstraintDesc::Serialize( VArchive &ar )
{
  vHavokConstraintDesc::Serialize(ar);
  if (ar.IsLoading())
  {
    unsigned int iVersion = 0;
    ar >> iVersion;
    VASSERT((iVersion > 0) && (iVersion <= s_iSerialVersion));

    m_vPointToPlanePivot.SerializeAsVisVector (ar);
    m_vPlaneNormal.SerializeAsVisVector (ar);
  }
void VCustomVolumeObject::Serialize( VArchive &ar )
{
  VisObject3D_cl::Serialize(ar);
  if(ar.IsLoading())
  {
    unsigned int uiVersion = 0;
    ar >> uiVersion;
    VASSERT(uiVersion == VV_Version1);
    ar >> m_sStaticMeshPath;
    ar >> m_bCustomStaticMesh;
    m_vScale.SerializeAsVec3(ar);
  }
Example #29
0
void VUINodeRotator::Serialize( VArchive &ar )
{
	VPushButton::Serialize(ar);
	char iLocalVersion = 0;
	if (ar.IsLoading())
	{
	
	} else
	{

	}
}
// ----------------------------------------------------------------------------
void vHavokDebugConstraintChainRenderer::Serialize(VArchive &ar)
{
  vHavokConstraintChainRendererBase::Serialize(ar);

  if (ar.IsLoading())
  {
    unsigned int iVersion = 0;
    ar >> iVersion;
    VASSERT_MSG((iVersion > 0) && (iVersion <= s_iSerialVersion), "Invalid version of serialized data!");

    ar >> Render_Color;
  }