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);
}
Beispiel #4
0
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);
}
Beispiel #5
0
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 );
}
Beispiel #6
0
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);
}
Beispiel #7
0
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);
}
Beispiel #8
0
void LightGroup::Save(ILTMessage_Write *pMsg, uint32 dwSaveFlags)
{
 	if (!pMsg) return;

	SAVE_bool(m_bOn);
	SAVE_VECTOR(m_vColor);
}
Beispiel #9
0
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);
}
Beispiel #12
0
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 );
}
Beispiel #14
0
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);
}
Beispiel #16
0
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 );
}
Beispiel #17
0
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);
}
Beispiel #18
0
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 );
}
Beispiel #20
0
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);
}
Beispiel #21
0
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]);
}
Beispiel #22
0
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);
}
Beispiel #23
0
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);
}
Beispiel #26
0
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 );
}
Beispiel #27
0
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);
}
Beispiel #29
0
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, "" );
}
Beispiel #30
0
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 );
	}
}