void CAIVolumeNeighbor::Save(HMESSAGEWRITE hWrite) { SAVE_INT(m_iVolume); SAVE_VECTOR(m_vConnectionPos); SAVE_VECTOR(m_avConnectionEndpoints[0]); SAVE_VECTOR(m_avConnectionEndpoints[1]); SAVE_VECTOR(m_vConnectionPerpDir); SAVE_VECTOR(m_vConnectionDir); SAVE_FLOAT(m_fConnectionLength); }
void Breakable::Save(HMESSAGEWRITE hWrite) { if (!hWrite) return; SAVE_HOBJECT(m_hBreakObj); SAVE_BOOL(m_bStarted); SAVE_BOOL(m_bFalling); SAVE_BOOL(m_bDestroyOnImpact); SAVE_BOOL(m_bDestroyAfterBreak); SAVE_BOOL(m_bCrushObjects); SAVE_BOOL(m_bTouchActivate); SAVE_FLOAT(m_fBreakTime); SAVE_FLOAT(m_fBreakSoundRadius); SAVE_FLOAT(m_fImpactSoundRadius); SAVE_FLOAT(m_fRotVel); SAVE_HSTRING(m_hstrBreakSound); SAVE_HSTRING(m_hstrImpactSound); SAVE_VECTOR(m_vStartingPitchYawRoll); SAVE_VECTOR(m_vPitchYawRoll); SAVE_VECTOR(m_vTotalDelta); SAVE_VECTOR(m_vDelta); SAVE_VECTOR(m_vSign); SAVE_VECTOR(m_vFinalPos); SAVE_VECTOR(m_vShakeAmount); SAVE_VECTOR(m_vAdjust); SAVE_VECTOR(m_vVel); m_BreakTimer.Save(hWrite); }
void Body::Save(HMESSAGEWRITE hWrite, uint32 dwSaveFlags) { if (!hWrite) return; LTAnimTracker* pTracker = LTNULL; if ( (LT_OK == g_pModelLT->GetMainTracker(m_hObject, pTracker)) && pTracker ) { uint32 dwTime; g_pModelLT->GetCurAnimTime(pTracker, dwTime); SAVE_DWORD(dwTime); } else { SAVE_DWORD(0); } SAVE_DWORD(m_eBodyStatePrevious); SAVE_HOBJECT(m_hHitBox); SAVE_VECTOR(m_vColor); SAVE_VECTOR(m_vDeathDir); SAVE_FLOAT(m_fStartTime); SAVE_FLOAT(m_fLifetime); SAVE_BOOL(m_bFirstUpdate); SAVE_BYTE(m_eModelId); SAVE_BYTE(m_eModelSkeleton); SAVE_BYTE(m_eDeathType); SAVE_BYTE(m_eDamageType); SAVE_BYTE(m_eModelStyle); SAVE_DWORD(m_eBodyState); SAVE_HOBJECT(m_hChecker); SAVE_HOBJECT(m_hWeaponItem); if ( m_pState ) { m_pState->Save(hWrite); } SAVE_BOOL(!!m_pAttachments); if ( m_pAttachments ) { SAVE_DWORD(m_pAttachments->GetType()); } SAVE_INT(m_cSpears); for ( uint32 iSpear = 0 ; iSpear < kMaxSpears ; iSpear++ ) { SAVE_HOBJECT(m_ahSpears[iSpear]); } m_DeathScene.Save(hWrite); }
void PlayerVehicle::Save(HMESSAGEWRITE hWrite) { ILTServer* pServerDE = GetServerDE(); if (!pServerDE || !hWrite) return; SAVE_VECTOR(m_vOriginalPos); SAVE_VECTOR(m_vOriginalDims); SAVE_ROTATION(m_rOriginalRot); SAVE_FLOAT(m_fRespawnTime); SAVE_BYTE((uint8)m_ePPhysicsModel); m_RespawnTimer.Save(hWrite); }
void SpinningWorldModel::OnSave( ILTMessage_Write *pMsg, uint32 dwSaveFlags ) { if( !pMsg ) return; // Send to base class ActiveWorldModel::OnSave( pMsg, dwSaveFlags ); SAVE_VECTOR( m_vVelocity ); SAVE_VECTOR( m_vFinalVelocity ); SAVE_BYTE( m_bUpdateSpin ); SAVE_TIME( m_fLastTime ); }
void ScaleSprite::Save(ILTMessage_Write *pMsg, uint32 dwSaveFlags) { if (!pMsg) return; SAVE_VECTOR(m_vScale); SAVE_VECTOR(m_vColor); SAVE_FLOAT(m_fAlpha); SAVE_BOOL(m_bFlushWithWorld); SAVE_BOOL(m_bRotatable); SAVE_BOOL(m_bStartOn); SAVE_DWORD(m_dwAdditionalFlags); SAVE_HSTRING(m_hstrDamagedFile); SAVE_HSTRING(m_hstrDestroyedFile); }
void SecurityCamera::Save(ILTMessage_Write *pMsg) { if (!pMsg) return; m_LightTimer.Save(pMsg); SAVE_VECTOR(m_vPos); SAVE_HOBJECT(m_hDisablerModel); SAVE_HOBJECT(m_hLight); SAVE_DWORD(m_eState); SAVE_DWORD(m_ePreviousState); SAVE_FLOAT(m_fYaw); SAVE_FLOAT(m_fYaw1); SAVE_FLOAT(m_fYaw2); SAVE_FLOAT(m_fYawSpeed); SAVE_FLOAT(m_fYaw1PauseTime); SAVE_FLOAT(m_fYaw2PauseTime); SAVE_FLOAT(m_fYawPauseTimer); SAVE_FLOAT(m_fSoundRadius); SAVE_BOOL(m_bDisabled); SAVE_BOOL(m_bTripped); SAVE_BYTE((uint8)m_eLightColor); }
void LightGroup::Save(ILTMessage_Write *pMsg, uint32 dwSaveFlags) { if (!pMsg) return; SAVE_bool(m_bOn); SAVE_VECTOR(m_vColor); }
void VolumeEffect::Save( ILTMessage_Write *pMsg ) { if( !pMsg ) return; SAVE_VECTOR( m_vDims ); }
void CAIGoalFollowFootprint::Save(ILTMessage_Write *pMsg) { super::Save(pMsg); SAVE_VECTOR(m_vStimulusPos); SAVE_TIME(m_fStimulationTime); }
void CAISense::Save(HMESSAGEWRITE hWrite) { SAVE_HOBJECT(m_hObject); SAVE_BOOL(m_bEnabled); SAVE_FLOAT(m_fDistance); SAVE_FLOAT(m_fDistanceSqr); SAVE_BOOL(m_bUpdated); SAVE_DWORD(m_soOutcome); SAVE_HOBJECT(m_hStimulus); SAVE_VECTOR(m_vStimulusPosition); SAVE_FLOAT(m_fStimulation); SAVE_FLOAT(m_fStimulationIncreaseRateAlert); SAVE_FLOAT(m_fStimulationDecreaseRateAlert); SAVE_FLOAT(m_fStimulationIncreaseRateUnalert); SAVE_FLOAT(m_fStimulationDecreaseRateUnalert); SAVE_FLOAT(m_fStimulationTime); SAVE_RANGE(m_rngStimulationThreshhold); SAVE_BOOL(m_bStimulationPartial); SAVE_BOOL(m_bStimulationFull); SAVE_BOOL(m_bIncreasedStimulation); SAVE_DWORD(m_cFalseStimulation); SAVE_DWORD(m_nFalseStimulationLimit); SAVE_BOOL(m_bReacting); SAVE_FLOAT(m_fReactionDelay); SAVE_FLOAT(m_fReactionDelayTimer); SAVE_FLOAT(m_fTimestamp); }
void PlayerVehicle::Save(ILTMessage_Write *pMsg) { if (!pMsg) return; SAVE_VECTOR(m_vOriginalPos); SAVE_VECTOR(m_vOriginalDims); SAVE_ROTATION(m_rOriginalRot); SAVE_FLOAT(m_fRespawnTime); SAVE_BYTE((uint8)m_ePPhysicsModel); SAVE_bool( m_bLocked ); SAVE_bool( m_bRidden ); SAVE_HSTRING( m_hstrLockedCommand ); SAVE_DWORD(m_dwSavedFlags); SAVE_TIME( m_fLastRideTime ); SAVE_bool( m_bVirgin ); m_RespawnTimer.Save(pMsg); }
void CAIHumanStateLaunch::Save(ILTMessage_Write *pMsg) { super::Save(pMsg); SAVE_FLOAT( m_fLaunchSpeed ); SAVE_FLOAT( m_fLaunchHeight ); SAVE_VECTOR( m_vLaunchDest ); SAVE_DWORD( m_eLaunchMovement ); }
void CAIGoalStalk::Save(ILTMessage_Write *pMsg) { super::Save(pMsg); SAVE_VECTOR(m_vPendingStalkingPosition); SAVE_HOBJECT(m_hPendingStalkingNode); SAVE_HOBJECT(m_hStalkingNode); SAVE_HOBJECT(m_hPreviousStalkingNode); }
void CAIGoalRespondToBackup::Save(ILTMessage_Write *pMsg) { super::Save(pMsg); SAVE_HOBJECT(m_hNodeBackup); SAVE_VECTOR(m_vEnemySeenPos); SAVE_DWORD(m_cResponses); SAVE_DWORD(m_cArrivalCount); }
void TransitionArea::Save( ILTMessage_Write *pMsg, uint32 dwSaveFlags ) { if( !pMsg ) return; SAVE_DWORD( m_dwFlags ); SAVE_INT( m_nTransLevel ); SAVE_ROTATION( m_tfWorld.m_rRot ); SAVE_VECTOR( m_tfWorld.m_vPos ); }
void AI_Helicopter::Save(HMESSAGEWRITE hWrite, uint32 dwSaveFlags) { CAIVehicle::Save(hWrite, dwSaveFlags); // Save state... uint32 dwState = (uint32)-1; if (m_pHelicopterState) { dwState = (uint32) m_pHelicopterState->GetType(); } SAVE_DWORD(dwState); if (m_pHelicopterState) { m_pHelicopterState->Save(hWrite); } SAVE_FLOAT(m_fSpeed); SAVE_FLOAT(m_fFlySpeed); SAVE_ROTATION(m_rRotSearchlight); SAVE_VECTOR(m_vPosSearchlight); SAVE_INT(m_iObjectSearchLight); SAVE_ROTATION(m_rRotGunner); SAVE_VECTOR(m_vPosGunner); SAVE_INT(m_iObjectGunner); SAVE_BOOL(m_bWantsRightDoorOpened); SAVE_BOOL(m_bWantsRightDoorClosed); SAVE_BOOL(m_bRightDoorOpened); SAVE_BOOL(m_bWantsLeftDoorOpened); SAVE_BOOL(m_bWantsLeftDoorClosed); SAVE_BOOL(m_bLeftDoorOpened); SAVE_FLOAT(m_fDeathDelay); SAVE_HSTRING(m_hstrDeathMessage); SAVE_HSTRING(m_hstrDeath2_3rdMessage); SAVE_HSTRING(m_hstrDeath1_3rdMessage); SAVE_HSTRING(m_hstrDeath0_3rdMessage); SAVE_BOOL(m_bExploded); }
void CAIStateAnimate::Save( ILTMessage_Write *pMsg ) { super::Save(pMsg); SAVE_BOOL(m_bLoop); SAVE_INT(m_eSpecialType); m_animProps.Save(pMsg); SAVE_bool( m_bCheckDepartedNode ); SAVE_VECTOR( m_vInitialPos ); }
void CAIHumanStateAttackMove::Save(ILTMessage_Write *pMsg) { super::Save(pMsg); m_pStrategyShoot->Save(pMsg); m_pStrategyFollowPath->Save(pMsg); SAVE_DWORD( m_eAttackMove ); SAVE_VECTOR( m_vAttackMoveDest ); SAVE_BOOL( m_bTurnedAround ); }
void CAIBrain::Save(HMESSAGEWRITE hWrite) { SAVE_DWORD(m_eRangeStatusLast); SAVE_FLOAT(m_fRangeStatusCheckTime); SAVE_DWORD(m_eDodgeStatusLast); SAVE_FLOAT(m_fDodgeStatusCheckTimeVector); SAVE_FLOAT(m_fDodgeStatusCheckTimeProjectile); SAVE_HSTRING(m_hstrDodgeProjectileName); SAVE_VECTOR(m_vDodgeProjectilePosition); SAVE_FLOAT(m_fGrenadeStatusCheckTime); }
void AIRegion::Save(ILTMessage_Write *pMsg) { SAVE_HSTRING(m_hstrName); SAVE_DWORD(m_cSearchNodes); SAVE_DWORD(m_cSearchers); SAVE_DWORD(m_cPostSearchMsgs); SAVE_DWORD(m_lstVolumes.size()); AIVolume* pVolume; AIREGION_VOLUME_LIST::iterator it; for ( it = m_lstVolumes.begin() ; it != m_lstVolumes.end() ; ++it ) { pVolume = *it; SAVE_COBJECT(pVolume); } for ( uint32 iNode = 0 ; iNode < kMaxSearchNodes ; iNode++ ) { SAVE_COBJECT(m_apSearchNodes[iNode]); } for ( uint32 iPostSearchMsg = 0 ; iPostSearchMsg < kMaxPostSearchMsgs ; iPostSearchMsg++ ) { SAVE_HSTRING(m_ahstrPostSearchMsgs[iPostSearchMsg]); } SAVE_VECTOR(m_vExtentsMin); SAVE_VECTOR(m_vExtentsMax); // Permission sets pMsg->Writeuint8(m_bPSets[0]); pMsg->Writeuint8(m_bPSets[1]); pMsg->Writeuint8(m_bPSets[2]); pMsg->Writeuint8(m_bPSets[3]); pMsg->Writeuint8(m_bPSets[4]); pMsg->Writeuint8(m_bPSets[5]); pMsg->Writeuint8(m_bPSets[6]); pMsg->Writeuint8(m_bPSets[7]); }
void CAIMovement::Save(ILTMessage_Write *pMsg) { m_stackAnimations.Save(pMsg, FnSaveAnimationProp); SAVE_DWORD(m_eState); SAVE_BOOL(m_bUnderwater); SAVE_VECTOR(m_vDest); SAVE_COBJECT(m_pDestVolume); SAVE_VECTOR(m_vLastValidVolumePos); SAVE_BOOL(m_bClimbing); SAVE_BOOL(m_bFaceDest); SAVE_FLOAT(m_fSetSpeed); SAVE_BOOL(m_bIgnoreVolumes); SAVE_DWORD(m_eLastMovementType); SAVE_FLOAT(m_fAnimRate); SAVE_BOOL(m_bMovementLocked); SAVE_BOOL(m_bRotationLocked); SAVE_BOOL(m_bNoDynamicPathfinding); SAVE_BOOL(m_bMoved); SAVE_BOOL(m_bNewPathSet); SAVE_VECTOR(m_vBoundPts[0]); SAVE_VECTOR(m_vBoundPts[1]); SAVE_VECTOR(m_vBoundPts[2]); SAVE_DWORD(m_cBoundPts); SAVE_DWORD(m_iBoundPt); SAVE_BOOL(m_bDoParabola); SAVE_VECTOR(m_vParabolaOrigin); SAVE_FLOAT(m_fParabolaPeakDist); SAVE_FLOAT(m_fParabolaPeakHeight); SAVE_FLOAT(m_fParabola_a); SAVE_BOOL(m_bParabolaPeaked); }
void Alarm::Save(ILTMessage_Write *pMsg) { if (!g_pLTServer || !pMsg) return; SAVE_DWORD(m_eState); SAVE_BOOL(m_bPlayerUsable); SAVE_BOOL(m_bLocked); SAVE_FLOAT(m_fAlarmSoundTime); SAVE_HSTRING(m_hstrPlayerActivateCommand); SAVE_HSTRING(m_hstrAlertRegions); SAVE_HSTRING(m_hstrRespondRegions); SAVE_HSTRING(m_hstrSearchRegions); AIREGION_LIST::iterator it; SAVE_DWORD( (uint32)(m_lstAlertRegions.size()) ); for( it = m_lstAlertRegions.begin(); it != m_lstAlertRegions.end(); ++it ) { SAVE_HOBJECT( *it ); } SAVE_DWORD( (uint32)(m_lstRespondRegions.size()) ); for( it = m_lstRespondRegions.begin(); it != m_lstRespondRegions.end(); ++it ) { SAVE_HOBJECT( *it ); } SAVE_DWORD( (uint32)(m_lstSearchRegions.size()) ); for( it = m_lstSearchRegions.begin(); it != m_lstSearchRegions.end(); ++it ) { SAVE_HOBJECT( *it ); } SAVE_VECTOR( m_vRegionsGroupExtentsMin ); SAVE_VECTOR( m_vRegionsGroupExtentsMax ); SAVE_VECTOR( m_vRegionsGroupCenter ); SAVE_FLOAT( m_fRegionsGroupRadius ); }
void CAIVolume::Save(HMESSAGEWRITE hWrite) { SAVE_HSTRING(m_hstrName); SAVE_INT(m_iVolume); SAVE_DWORD(m_iRegion); SAVE_VECTOR(m_vFrontTopLeft); SAVE_VECTOR(m_vFrontTopRight); SAVE_VECTOR(m_vBackTopLeft); SAVE_VECTOR(m_vBackTopRight); SAVE_VECTOR(m_vFrontBottomLeft); SAVE_VECTOR(m_vFrontBottomRight); SAVE_VECTOR(m_vBackBottomLeft); SAVE_VECTOR(m_vBackBottomRight); SAVE_INT(m_cNeighbors); SAVE_BOOL(m_bHadDoors); SAVE_INT(m_cDoors); SAVE_HOBJECT(m_hLift); SAVE_BOOL(m_bStairs); SAVE_BOOL(m_bLedge); SAVE_BOOL(m_bVertical); SAVE_VECTOR(m_vStairsDir); SAVE_VECTOR(m_vLedgeDir); for ( uint32 iNeighbor = 0 ; iNeighbor < m_cNeighbors ; iNeighbor++ ) { m_aNeighbors[iNeighbor].Save(hWrite); } for ( uint32 iDoor = 0 ; iDoor < cm_nMaxDoors ; iDoor++ ) { SAVE_HOBJECT(m_ahDoors[iDoor]); } for ( uint32 iViewNode = 0 ; iViewNode < kMaxViewNodes ; iViewNode++ ) { SAVE_DWORD(m_adwViewNodes[iViewNode]); } }
void AISenseRecord::Save(ILTMessage_Write *pMsg) { SAVE_DWORD(eSenseType); SAVE_DWORD(pAIBM_Last_Stimulus ? pAIBM_Last_Stimulus->eSenseType : kStim_InvalidType); SAVE_HOBJECT(hLastStimulusSource); SAVE_HOBJECT(hLastStimulusTarget); SAVE_DWORD(eLastTargetMatchID); SAVE_VECTOR(vLastStimulusPos); SAVE_VECTOR(vLastStimulusDir); SAVE_DWORD(nLastStimulusAlarmLevel); SAVE_DWORD(eLastStimulusID); SAVE_FLOAT(fSenseDistance); SAVE_FLOAT(fSenseDistanceSqr); SAVE_FLOAT(fCurStimulation); SAVE_FLOAT(fMaxStimulation); SAVE_FLOAT(fReactionDelayTimer); SAVE_FLOAT(fReactionDelayTime); SAVE_TIME(fLastStimulationTime); SAVE_DWORD(nCycle); SAVE_BYTE(cFalseStimulation); SAVE_INT(ptSightGrid.x); SAVE_INT(ptSightGrid.y); }
void CTransitionAggregate::Save( ILTMessage_Write *pMsg, uint32 dwSaveFlags ) { if( !pMsg ) return; SAVE_HOBJECT( m_hObject ); // The rest is dependent on the save type... if( dwSaveFlags != LOAD_TRANSITION ) return; HOBJECT hTransArea = g_pTransMgr->GetTransitionArea(); if( !hTransArea ) return; TransitionArea *pTransArea = (TransitionArea*)g_pLTServer->HandleToObject( hTransArea ); if( !pTransArea ) return; LTransform tfLocal; LTransform tfObjectWorld; LTransform const& tfTransAreaWorld = pTransArea->GetWorldTransform( ); LTMatrix mInverseRot; tfTransAreaWorld.m_Rot.ConvertToMatrix( mInverseRot ); mInverseRot.Inverse( ); g_pLTServer->GetObjectPos( m_hObject, &tfObjectWorld.m_Pos ); g_pLTServer->GetObjectRotation( m_hObject, &tfObjectWorld.m_Rot ); LTVector vVel; g_pPhysicsLT->GetVelocity( m_hObject, &vVel ); tfLocal.m_Pos = mInverseRot * ( tfObjectWorld.m_Pos - tfTransAreaWorld.m_Pos ); tfLocal.m_Rot = tfObjectWorld.m_Rot * ~tfTransAreaWorld.m_Rot; LTVector vRelVel = mInverseRot * vVel; SAVE_VECTOR( tfLocal.m_Pos ); SAVE_ROTATION( tfLocal.m_Rot ); SAVE_VECTOR( vRelVel ); }
void CAIHelicopterStateGoto::Save(HMESSAGEREAD hWrite) { CAIHelicopterState::Save(hWrite); m_pStrategyFollowPath->Save(hWrite); SAVE_VECTOR(m_vDest); SAVE_DWORD(m_cNodes); SAVE_DWORD(m_iNextNode); SAVE_BOOL(m_bLoop); for ( int iNode = 0 ; iNode < m_cNodes ; iNode++ ) { SAVE_DWORD(m_adwNodes[iNode]); } }
void AINavMeshLinkAbstract::Save(ILTMessage_Write *pMsg) { SAVE_STDSTRING(m_strName); SAVE_INT(m_eNMLinkID); SAVE_INT(m_eNMPolyID); std::string strSmartObject; strSmartObject = g_pAIDB->GetAISmartObjectRecordName( (ENUM_AISmartObjectID)m_nSmartObjectID ); SAVE_STDSTRING( strSmartObject ); SAVE_bool(m_bLinkActive); SAVE_bool(m_bLinkEnabled); SAVE_bool(m_bTraversalTimedOut); SAVE_TIME(m_fNextTraversalTime); SAVE_TIME(m_fNextPreferredTime); SAVE_FLOAT(m_fPreferredDelay); SAVE_DWORD(m_eEnabledAwarenessMod); SAVE_DWORD(m_eMinEnabledAwareness); SAVE_DWORD(m_eMaxEnabledAwareness); SAVE_DWORD(m_eMinActiveAwareness); SAVE_DWORD(m_eMaxActiveAwareness); // Don't save: // m_cLinkBounds // m_pvLinkBounds; SAVE_VECTOR(m_vLinkEdgeA0); SAVE_VECTOR(m_vLinkEdgeA1); SAVE_VECTOR(m_vMidPtLinkEdgeA); SAVE_VECTOR(m_vLinkEdgeB0); SAVE_VECTOR(m_vLinkEdgeB1); SAVE_VECTOR(m_vMidPtLinkEdgeB); SAVE_VECTOR(m_vLinkDirXZ); SAVE_FLOAT(m_fLinkDistXZ); SAVE_FLOAT(m_fEntryOffsetDistA); SAVE_FLOAT(m_fEntryOffsetDistB); SAVE_FLOAT(m_fExitOffsetDistA); SAVE_FLOAT(m_fExitOffsetDistB); SAVE_FLOAT(m_fFloorTop); SAVE_FLOAT(m_fFloorBottom); SAVE_HOBJECT(m_hReservingAI); }
void CCharacterHitBox::Save(ILTMessage_Write *pMsg) { AIASSERT( pMsg, m_hObject, "Save with no pMsg" ); if (!pMsg) { return; } SAVE_HOBJECT(m_hModel); SAVE_VECTOR(m_vOffset); SAVE_BOOL(m_bCanActivate); SAVE_bool( m_bAnimControlsDims ); SAVE_bool( m_bAnimControlsOffset ); SAVE_bool( m_bFollowVisNode ); SAVE_DWORD( m_hControllingAnim ); AIASSERT( dynamic_cast<IHitBoxUser*>(g_pLTServer->HandleToObject(m_hModel)) == m_pHitBoxUser, NULL, "" ); }
void WorldModel::OnSave( ILTMessage_Write *pMsg, uint32 dwSaveFlags ) { ASSERT( pMsg != NULL ); m_ActivateTypeHandler.Save( pMsg ); SAVE_bool( m_bIsKeyframed ); SAVE_bool( m_bStartHidden ); SAVE_HSTRING( m_hstrAttachments ); SAVE_BOOL( m_bRemoveAttachments ); SAVE_VECTOR( m_vAttachDir ); SAVE_HOBJECT( m_hAttachDirObj ); SAVE_ROTATION( m_hackInitialRot ); SAVE_FLOAT( m_fStimRadius ); SAVE_HOBJECT( m_hActivateParent ); SAVE_bool( m_bCanActivate ); // Save the object lists last... ObjRefNotifierList::iterator iter; // First the Attachment List SAVE_BYTE( m_AttachmentList.size( )); for( iter = m_AttachmentList.begin( ); iter != m_AttachmentList.end( ); iter++ ) { SAVE_HOBJECT( *iter ); } SAVE_BYTE( m_AttachMsgObjList.size( )); for( iter = m_AttachMsgObjList.begin( ); iter != m_AttachMsgObjList.end( ); iter++ ) { SAVE_HOBJECT( *iter ); } // Then the Mark List SAVE_BYTE( m_MarkList.size( )); for( iter = m_MarkList.begin( ); iter != m_MarkList.end( ); iter++ ) { SAVE_HOBJECT( *iter ); } }