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 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
void VImageState::SerializeX( VArchive &ar ) { char iLocalVersion = 1; if (ar.IsLoading()) { ar >> iLocalVersion; VASSERT_MSG(iLocalVersion<=1,"Invalid version"); ar >> (int &)m_eStretchMode >> m_iColor; SetTexture((VTextureObject *)ar.ReadProxyObject()); ar >> texCoord; m_spCursor = (VCursor *)ar.ReadProxyObject(); ar >> (int &)m_eTranspType >> m_iAdditionalStateFlags; if (iLocalVersion>=1) { VisEffectConfig_cl fxConfig; fxConfig.SerializeX(ar); VCompiledEffect *pFX = fxConfig.GetEffect(); if (pFX) m_spTechnique = pFX->GetDefaultTechnique(); } }
void VBlobShadow::Serialize( VArchive &ar ) { char iLocalVersion = 2; IVObjectComponent::Serialize(ar); if (ar.IsLoading()) { ar >> iLocalVersion; VASSERT_MSG(iLocalVersion==2, "Invalid local version. Please re-export"); ar >> Enabled >> m_bNormalFalloff; m_ShadowBox.SerializeAs_VisBoundingBox (ar); ar >> Radius >> Height; ar >> ShadowColor >> m_vBlendColor; m_spShadowTex = (VTextureObject *)ar.ReadProxyObject(); } else
void VScriptInstance::Serialize( VArchive &ar ) { IVScriptInstance::Serialize(ar); if (ar.IsLoading()) { char iVersion; ar >> iVersion; VVERIFY(iVersion==0 && "invalid version number"); VScriptResource *pRes = (VScriptResource *)ar.ReadProxyObject(); Init(); SetResource(pRes); if (pRes) { VScriptResourceManager *pManager = (VScriptResourceManager *)pRes->GetParentManager(); pManager->Instances().Add(this); } }