示例#1
0
void CAISensorCounterMelee::Save(ILTMessage_Write *pMsg)
{
	super::Save( pMsg );

	SAVE_bool( m_bBlockOpportunity );
	SAVE_bool( m_bDodgeOpportunity );
}
示例#2
0
void PlayerNodeGoto::OnSave( ILTMessage_Write *pMsg, uint32 dwSaveFlags )
{
	if( !pMsg )
		return;

	SAVE_STDSTRING( m_sArrivalCommand );
	SAVE_bool( m_bFaceForwardPitch );
	SAVE_bool( m_bFaceForwardYaw );
	SAVE_bool( m_bAlignPitch );
	SAVE_bool( m_bAlignYaw );
}
示例#3
0
void CAIGoalGoto::Save(ILTMessage_Write *pMsg)
{
	super::Save(pMsg);

	SAVE_DWORD( m_NodeCurrent.eFactID );
	SAVE_HOBJECT( m_NodeCurrent.hNode );
	SAVE_bool( m_NodeCurrent.bTaskIsScripted );

	SAVE_DWORD( m_NodePending.eFactID );
	SAVE_HOBJECT( m_NodePending.hNode );
	SAVE_bool( m_NodePending.bTaskIsScripted );
}
示例#4
0
void SpecialFX::OnSave(ILTMessage_Write *pMsg, uint32 dwFlags)
{
	SAVE_CHARSTRING(m_sFxName);
	SAVE_DWORD(m_dwFxFlags);
	SAVE_bool(m_bStartOn);
	SAVE_bool(m_bLoop);
	SAVE_bool(m_bIsOn);
	SAVE_bool(m_bOneTime);
	SAVE_HSTRING(m_hstrTargetName);
	SAVE_HOBJECT(m_hTargetObj);
	SAVE_bool(m_bRemoveTarget);
}
示例#5
0
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);
}
示例#6
0
void ExitTrigger::Save(ILTMessage_Write *pMsg, uint32 dwSaveFlags)
{
	if (!pMsg) return;

	SAVE_FLOAT(m_fFadeOutTime);
	SAVE_bool(m_bExitMission);
}
示例#7
0
void CAIWeaponThrown::Save(ILTMessage_Write *pMsg)
{
	super::Save(pMsg);

	SAVE_bool( m_bHidden );
	pMsg->WriteHMODELANIM( m_hLastUserAnimation );
}
示例#8
0
void LightGroup::Save(ILTMessage_Write *pMsg, uint32 dwSaveFlags)
{
 	if (!pMsg) return;

	SAVE_bool(m_bOn);
	SAVE_VECTOR(m_vColor);
}
示例#9
0
void CAISensorPassTarget::Save(ILTMessage_Write *pMsg)
{
	super::Save( pMsg );

	SAVE_bool( m_bHoldingPosition );
	SAVE_HOBJECT( m_hVerifiedNode );
}
示例#10
0
void DecisionObject::Save(ILTMessage_Write *pMsg)
{
	if (!pMsg) return;


	for (int i=0; i < MAX_DECISION_CHOICES; i++)
	{
		m_ChoiceData[i].Save(pMsg);
	}

	SAVE_HSTRING(m_hstrAbortCmd);
	SAVE_bool(m_bVisible);
	SAVE_bool(m_bRemoveAfterChoice);
	SAVE_FLOAT(m_fRadius);
	SAVE_bool( m_bLock );
}
示例#11
0
void CommandObject::Save( ILTMessage_Write *pMsg )
{
	GameBaseLite::Save( pMsg );

	m_Timer.Save( pMsg );
	
	SAVE_FLOAT( m_fTotalTime );
	SAVE_HSTRING( m_hstrFinishedCmd );
	SAVE_bool( m_bLocked );
	SAVE_INT( m_nNumActivations );
	SAVE_INT( m_nNumTimesActivated );

	// Save every Event command struct...

	SAVE_INT( (int32)(m_lstEventCmds.size()) );

	EVENT_CMD_LIST::iterator iter;
	EVENT_CMD_STRUCT	*pEvntCmdStruct = LTNULL;

	for( iter = m_lstEventCmds.begin(); iter != m_lstEventCmds.end(); ++iter )
	{
		pEvntCmdStruct = *iter; 

		SAVE_FLOAT( pEvntCmdStruct->m_fTime );
		SAVE_BOOL( pEvntCmdStruct->m_bProcessed );
		SAVE_HSTRING( pEvntCmdStruct->m_hstrCommand );

	}
}
示例#12
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, "" );
}
示例#13
0
void CAISensorDamageFX::Save(ILTMessage_Write *pMsg)
{
	super::Save(pMsg);

	SAVE_bool( m_bDamageFXInitialized );
	SAVE_FLOAT( m_fFullHealth );
	SAVE_DWORD( m_eDamageFXState );
}
示例#14
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);
}
示例#15
0
void GunMount::Save(ILTMessage_Write *pMsg, uint32 dwSaveFlags)
{
	if( !pMsg ) 
		return;

	SAVE_CHARSTRING( m_sWeapon.c_str( ));
	SAVE_DWORD( m_nRoundsToFire );
	SAVE_BYTE( m_eFiringState );
	SAVE_bool( m_bVisible );
}
示例#16
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 );
}
示例#17
0
bool CDoomsDayMissionMgr::Save( ILTMessage_Write& msg, uint32 dwSaveFlags )
{
	if( !CServerMissionMgr::Save( msg, dwSaveFlags ))
		return false;

	ILTMessage_Write* pMsg = &msg;

	SAVE_BYTE( m_nActivatingTeam );
	SAVE_bool( m_bNextRound );

	return true;
}
示例#18
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 );
	}
}
示例#19
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_bool( m_bUpdateSpin );
	SAVE_TIME( m_fLastTime );
}
示例#20
0
//----------------------------------------------------------------------------
//              
//	ROUTINE:	CAISensorMgr::Save/Load
//              
//	PURPOSE:	Handle saving and restoring the CAISensorMgr and all of its 
//				sensors.
//              
//----------------------------------------------------------------------------
void CAISensorMgr::Save(ILTMessage_Write *pMsg)
{
	SAVE_COBJECT(m_pAI);

	SAVE_INT(m_lstAISensors.size());
	{for (std::size_t n = 0; n < m_lstAISensors.size(); ++n)
	{
		SAVE_INT(m_lstAISensors[n]->GetSensorClassType());
		m_lstAISensors[n]->Save(pMsg);
	}}

	SAVE_bool(m_bSensorDeleted);
	SAVE_INT(m_iSensorToUpdate);
	SAVE_bool(m_bDoneProcessingStimuli);
	SAVE_TIME( m_fStimulusListNewIterationTime );

	SAVE_INT(m_lstProcessedStimuli.size());
	{for (std::size_t n = 0; n < m_lstProcessedStimuli.size(); ++n)
	{
		SAVE_INT(m_lstProcessedStimuli.size());
	}}

	SAVE_INT(m_cIntersectSegmentCount);
}
示例#21
0
void CAIWeaponAbstract::Save(ILTMessage_Write *pMsg)
{
	HOBJECT hOwner = m_pWeapon->GetObject();
	ASSERT(IsAI(hOwner));

	SAVE_HOBJECT(hOwner);
	SAVE_HRECORD( m_pWeapon->GetWeaponRecord() );
	SAVE_STDSTRING(m_szFireSocketName);
	SAVE_INT(m_eFiringState);
	SAVE_DWORD(m_iAnimRandomSeed);
	SAVE_TIME(m_fRandomSeedSelectionTime);
	SAVE_FLOAT(m_flWeaponContextInaccuracyScalar);
	SAVE_DWORD(m_hWeaponSocket);
	SAVE_bool(m_bCanDropWeapon);
}
示例#22
0
void CAIWeaponMelee::Save(ILTMessage_Write *pMsg)
{
	super::Save(pMsg);

	SAVE_DOUBLE(m_fBurstInterval);
	SAVE_INT(m_nBurstShots);

	SAVE_INT(m_Context.m_cHits);
	SAVE_INT(m_Context.m_cMisses);
	SAVE_INT(m_Context.m_iHit);
	SAVE_INT(m_Context.m_iMiss);

	SAVE_bool(m_bForceHit);

	pMsg->WriteHMODELANIM( m_hLastUserAnimation );
}
示例#23
0
文件: Door.cpp 项目: Arc0re/lithtech
void Door::OnSave( ILTMessage_Write *pMsg, uint32 dwSaveFlags )
{
	if( !pMsg ) return;

	// Save base vars first

	ActiveWorldModel::OnSave( pMsg, dwSaveFlags );

	SAVE_STDSTRING( m_sDoorLink );
	SAVE_bool( m_bSectorsActive );
	SAVE_DWORD( m_eNMLinkID );

	for(uint32 nCurrSector = 0; nCurrSector < knNumSectors; nCurrSector++)
		SAVE_STDSTRING( m_sSectorName[nCurrSector] );

}
示例#24
0
void Camera::Save(ILTMessage_Write *pMsg, uint32 dwSaveFlags)
{
	if (!pMsg) return;

	SAVE_INT		( sm_nActiveCamera );
	SAVE_bool		( m_bOn );
	SAVE_bool		( m_bIsListener );
	SAVE_bool		( m_bAllowPlayerMovement );
	SAVE_bool		( m_bOneTime );
	SAVE_BYTE		( m_nCameraType);
	SAVE_bool		( m_bStartActive );
	SAVE_FLOAT		( m_fActiveTime );
	SAVE_TIME		( m_fTurnOffTime );
	SAVE_bool		( m_bCanSkip );
	SAVE_bool		( m_bOnSkipCleanupOnly );
	SAVE_STDSTRING	( m_sCleanupCmd );
	SAVE_FLOAT		( m_fFovY );
	SAVE_FLOAT		( m_fFovAspectScale );
}
示例#25
0
void PickupItem::Save(ILTMessage_Write *pMsg, uint32 dwSaveFlags)
{
	if (!pMsg) return;

	SAVE_HOBJECT(m_hPlayerObj);

	SAVE_FLOAT(m_fRespawnDelay);
	SAVE_BOOL(m_bRotate);
	SAVE_BOOL(m_bBounce);
	SAVE_BOOL(m_bRespawn);
	SAVE_DWORD(m_dwUserFlags);
	SAVE_DWORD(m_dwFlags);
	SAVE_HSTRING(m_hstrPickupCommand);
    SAVE_HSTRING(m_hstrSoundFile);
    SAVE_HSTRING(m_hstrRespawnSoundFile);
	SAVE_HSTRING(m_hstrModelOverride);
	SAVE_VECTOR(m_vScale);
	SAVE_BOOL(m_bTouchPickup);
	SAVE_BOOL(m_bActivatePickup);
	SAVE_bool(m_bWasPickedUp);
	SAVE_CHARSTRING(m_sWorldAniName.c_str());
	SAVE_BYTE(m_nTeamId);
}
示例#26
0
void AINodeValidatorEnabled::Save(ILTMessage_Write *pMsg)
{
	SAVE_bool( m_bNodeEnabled );
}
示例#27
0
void Prop::Save(ILTMessage_Write *pMsg, uint32 dwSaveFlags)
{
	if (!pMsg) return;

	m_ActivateTypeHandler.Save( pMsg );

	SAVE_FLOAT(m_fAlpha);
    SAVE_BOOL(m_bMoveToFloor);
    SAVE_BOOL(m_bFirstUpdate);
	SAVE_bool( m_bCanDeactivate );
    SAVE_VECTOR(m_vScale);
    SAVE_VECTOR(m_vObjectColor);

	m_damage.Save(pMsg, dwSaveFlags);
	SAVE_BOOL(m_bTouchable);
	SAVE_DWORD(m_eState);
	
/* THESE SHOULD NOT NEED TO BE SAVED - THEY ARE USED FOR INITIALIZING THE OBJECT ONLY!!!
// 8/4/02 - Remove after testing
	SAVE_DWORD(m_dwUsrFlgs);
	SAVE_DWORD(m_dwFlags);
	SAVE_DWORD(m_dwFlags2);
*/

	SAVE_DWORD(m_lstWorldAnims.size());
	for( HMODELANIM_LIST::iterator it = m_lstWorldAnims.begin(); it != m_lstWorldAnims.end(); ++it )
	{
		SAVE_DWORD(*it);
	}

	if(m_pDisturb != LTNULL)
	{
		SAVE_bool(true);
		m_pDisturb->Save(pMsg);
	}
	else 
	{
		SAVE_bool(false);
	}

	SAVE_bool( m_bActivatedOn );
	SAVE_CHARSTRING( m_sActivateOnCommand.c_str( ));
	SAVE_CHARSTRING( m_sActivateOffCommand.c_str( ));

	SAVE_bool( m_bAttachmentShotOff );
	SAVE_HOBJECT( m_hAttachmentOwner );
	
	SAVE_FLOAT( m_fPitch );
	SAVE_FLOAT( m_fYaw );
	SAVE_FLOAT( m_fRoll );
	SAVE_FLOAT( m_fPitchVel );
	SAVE_FLOAT( m_fYawVel );
	SAVE_FLOAT( m_fRollVel );
	SAVE_bool( m_bRotatedToRest );
	SAVE_bool( m_bRotating );

	SAVE_bool( m_bFading );
	SAVE_FLOAT( m_fFadeStartTime );
	SAVE_FLOAT( m_fFadeDuration );
	SAVE_FLOAT( m_fStartAlpha );
	SAVE_FLOAT( m_fEndAlpha );
	SAVE_bool( m_bFadeRemoveWhenDone );

	SAVE_bool( m_bCanTransition );
}