void CAISensorCounterMelee::Load(ILTMessage_Read *pMsg) { super::Load( pMsg ); LOAD_bool( m_bBlockOpportunity ); LOAD_bool( m_bDodgeOpportunity ); }
void CAISensorMgr::Load(ILTMessage_Read *pMsg) { LOAD_COBJECT(m_pAI, CAI); int nSensorCount = 0; LOAD_INT(nSensorCount); {for (int n = 0; n < nSensorCount; ++n) { EnumAISensorType eSensor; LOAD_INT_CAST(eSensor, EnumAISensorType); CAISensorAbstract* pSensor = AI_FACTORY_NEW_Sensor( eSensor ); pSensor->Load(pMsg); m_lstAISensors.push_back(pSensor); }} LOAD_bool(m_bSensorDeleted); LOAD_INT(m_iSensorToUpdate); LOAD_bool(m_bDoneProcessingStimuli); LOAD_TIME( m_fStimulusListNewIterationTime ); int nProcessedStimuli = 0; LOAD_INT(nProcessedStimuli); {for (int n = 0; n < nProcessedStimuli; ++n) { EnumAIStimulusID eStimulusID; LOAD_INT_CAST(eStimulusID, EnumAIStimulusID); m_lstProcessedStimuli.push_back(eStimulusID); }} LOAD_INT(m_cIntersectSegmentCount); }
void PlayerNodeGoto::OnLoad( ILTMessage_Read *pMsg, uint32 dwSaveFlags ) { if( !pMsg ) return; LOAD_STDSTRING( m_sArrivalCommand ); LOAD_bool( m_bFaceForwardPitch ); LOAD_bool( m_bFaceForwardYaw ); LOAD_bool( m_bAlignPitch ); LOAD_bool( m_bAlignYaw ); }
void AINavMeshLinkAbstract::Load(ILTMessage_Read *pMsg) { LOAD_STDSTRING(m_strName); LOAD_INT_CAST(m_eNMLinkID, ENUM_NMLinkID); LOAD_INT_CAST(m_eNMPolyID, ENUM_NMPolyID); std::string strSmartObject; LOAD_STDSTRING( strSmartObject ); m_nSmartObjectID = g_pAIDB->GetAISmartObjectRecordID( strSmartObject.c_str() ); LOAD_bool(m_bLinkActive); LOAD_bool(m_bLinkEnabled); LOAD_bool(m_bTraversalTimedOut); LOAD_TIME(m_fNextTraversalTime); LOAD_TIME(m_fNextPreferredTime); LOAD_FLOAT(m_fPreferredDelay); LOAD_DWORD_CAST(m_eEnabledAwarenessMod, EnumAIAwarenessMod); LOAD_DWORD_CAST(m_eMinEnabledAwareness, EnumAIAwareness); LOAD_DWORD_CAST(m_eMaxEnabledAwareness, EnumAIAwareness); LOAD_DWORD_CAST(m_eMinActiveAwareness, EnumAIAwareness); LOAD_DWORD_CAST(m_eMaxActiveAwareness, EnumAIAwareness); // Don't load: // m_cLinkBounds // m_pvLinkBounds; LOAD_VECTOR(m_vLinkEdgeA0); LOAD_VECTOR(m_vLinkEdgeA1); LOAD_VECTOR(m_vMidPtLinkEdgeA); LOAD_VECTOR(m_vLinkEdgeB0); LOAD_VECTOR(m_vLinkEdgeB1); LOAD_VECTOR(m_vMidPtLinkEdgeB); LOAD_VECTOR(m_vLinkDirXZ); LOAD_FLOAT(m_fLinkDistXZ); LOAD_FLOAT(m_fEntryOffsetDistA); LOAD_FLOAT(m_fEntryOffsetDistB); LOAD_FLOAT(m_fExitOffsetDistA); LOAD_FLOAT(m_fExitOffsetDistB); LOAD_FLOAT(m_fFloorTop); LOAD_FLOAT(m_fFloorBottom); LOAD_HOBJECT(m_hReservingAI); if( g_pAINavMesh ) { g_pAINavMesh->AddAINavMeshLink( this ); } }
void CAIGoalGoto::Load(ILTMessage_Read *pMsg) { super::Load(pMsg); LOAD_DWORD_CAST( m_NodeCurrent.eFactID, ENUM_FactID ); LOAD_HOBJECT( m_NodeCurrent.hNode ); LOAD_bool( m_NodeCurrent.bTaskIsScripted ); LOAD_DWORD_CAST( m_NodePending.eFactID, ENUM_FactID ); LOAD_HOBJECT( m_NodePending.hNode ); LOAD_bool( m_NodePending.bTaskIsScripted ); }
void CAIWeaponAbstract::Load(ILTMessage_Read *pMsg) { HOBJECT hOwner = NULL; HWEAPON hWeapon = NULL; LOAD_HOBJECT(hOwner); LOAD_HRECORD( hWeapon, g_pWeaponDB->GetWeaponsCategory() ); LOAD_STDSTRING(m_szFireSocketName); LOAD_INT_CAST(m_eFiringState, ENUM_AIFiringState); LOAD_DWORD(m_iAnimRandomSeed); LOAD_TIME(m_fRandomSeedSelectionTime); LOAD_FLOAT(m_flWeaponContextInaccuracyScalar); LOAD_DWORD(m_hWeaponSocket); LOAD_bool(m_bCanDropWeapon); ASSERT(IsAI(hOwner)); CAI* pAI = (CAI*)g_pLTServer->HandleToObject(hOwner); ASSERT(pAI->GetArsenal()); if (pAI) { ASSERT(pAI->GetArsenal()); if (CArsenal* pArsenal = pAI->GetArsenal()) { m_pWeapon = pArsenal->GetWeapon(hWeapon); } } if( m_pWeapon ) { m_pAIWeaponRecord = AIWeaponUtils::GetAIWeaponRecord( m_pWeapon->GetWeaponRecord(), pAI->GetAIBlackBoard()->GetBBAIWeaponOverrideSet() ); } }
void PickupItem::Load(ILTMessage_Read *pMsg, uint32 dwLoadFlags) { if (!pMsg) return; LOAD_HOBJECT(m_hPlayerObj); LOAD_FLOAT(m_fRespawnDelay); LOAD_BOOL(m_bRotate); LOAD_BOOL(m_bBounce); LOAD_BOOL(m_bRespawn); LOAD_DWORD(m_dwUserFlags); LOAD_DWORD(m_dwFlags); LOAD_HSTRING(m_hstrPickupCommand); LOAD_HSTRING(m_hstrSoundFile); LOAD_HSTRING(m_hstrRespawnSoundFile); LOAD_HSTRING(m_hstrModelOverride); LOAD_VECTOR(m_vScale); LOAD_BOOL(m_bTouchPickup); LOAD_BOOL(m_bActivatePickup); LOAD_bool(m_bWasPickedUp); char szString[1024] = {0}; LOAD_CHARSTRING( szString, ARRAY_LEN( szString )); m_sWorldAniName = szString; if( g_pVersionMgr->GetCurrentSaveVersion( ) > CVersionMgr::kSaveVersion__1_2 ) { LOAD_BYTE(m_nTeamId); } }
void GunMount::Load(ILTMessage_Read *pMsg, uint32 dwLoadFlags) { if( !pMsg ) return; char szString[256]; LOAD_CHARSTRING( szString, ARRAY_LEN( szString )); m_sWeapon = szString; LOAD_DWORD_CAST( m_nRoundsToFire, int32 ); LOAD_BYTE_CAST( m_eFiringState, FiringState ); LOAD_bool( m_bVisible ); // Restart the firing state. switch( m_eFiringState ) { case eNotFiring: case ePostFiring: StartNotFiring( ); break; case ePreFiring: case eFiring: StartPreFiring( ); break; } }
void ExitTrigger::Load(ILTMessage_Read *pMsg, uint32 dwLoadFlags) { if (!pMsg) return; LOAD_FLOAT(m_fFadeOutTime); LOAD_bool(m_bExitMission); }
void CAIWeaponThrown::Load(ILTMessage_Read *pMsg) { super::Load(pMsg); LOAD_bool( m_bHidden ); m_hLastUserAnimation = pMsg->ReadHMODELANIM(); }
void CAISensorPassTarget::Load(ILTMessage_Read *pMsg) { super::Load( pMsg ); LOAD_bool( m_bHoldingPosition ); LOAD_HOBJECT( m_hVerifiedNode ); }
void SpecialFX::OnLoad(ILTMessage_Read *pMsg, uint32 dwFlags) { LOAD_CHARSTRING(m_sFxName, 128); LOAD_DWORD(m_dwFxFlags); LOAD_bool(m_bStartOn); LOAD_bool(m_bLoop); LOAD_bool(m_bIsOn); LOAD_bool(m_bOneTime); LOAD_HSTRING(m_hstrTargetName); LOAD_HOBJECT(m_hTargetObj); LOAD_bool(m_bRemoveTarget); if (!m_bLoop) { g_pCommonLT->SetObjectFlags(m_hObject, OFT_Flags, 0, FLAGMASK_ALL); SetNextUpdate(UPDATE_NEVER); } }
void PlayerVehicle::Load(ILTMessage_Read *pMsg) { if (!pMsg) return; LOAD_VECTOR(m_vOriginalPos); LOAD_VECTOR(m_vOriginalDims); LOAD_ROTATION(m_rOriginalRot); LOAD_FLOAT(m_fRespawnTime); LOAD_BYTE_CAST(m_ePPhysicsModel, PlayerPhysicsModel); LOAD_bool( m_bLocked ); LOAD_bool( m_bRidden ); LOAD_HSTRING( m_hstrLockedCommand ); LOAD_DWORD(m_dwSavedFlags); LOAD_TIME( m_fLastRideTime ); LOAD_bool( m_bVirgin ); m_RespawnTimer.Load(pMsg); }
void CCharacterHitBox::Load(ILTMessage_Read *pMsg) { AIASSERT( pMsg, m_hObject, "Load with no pMsg" ); if (!pMsg) { return; } LOAD_HOBJECT(m_hModel); LOAD_VECTOR(m_vOffset); LOAD_BOOL(m_bCanActivate); LOAD_bool( m_bAnimControlsDims ); LOAD_bool( m_bAnimControlsOffset ); LOAD_bool( m_bFollowVisNode ); LOAD_DWORD_CAST( m_hControllingAnim, HMODELANIM ); m_pHitBoxUser = dynamic_cast<IHitBoxUser*>(g_pLTServer->HandleToObject(m_hModel)); AIASSERT( m_pHitBoxUser, m_hModel, "Unable to get the HitBoxUser interface from m_hModel." ); }
void LightGroup::Load(ILTMessage_Read *pMsg, uint32 dwLoadFlags) { if (!pMsg) return; LOAD_bool(m_bOn); LOAD_VECTOR(m_vColor); m_bClientNeedsUpdate = true; SetNextUpdate(m_hObject, UPDATE_NEXT_FRAME); }
void CAIStateAnimate::Load( ILTMessage_Read *pMsg ) { super::Load(pMsg); LOAD_BOOL(m_bLoop); LOAD_INT_CAST(m_eSpecialType, AISPECIAL_ANIMATION_TYPE); m_animProps.Load(pMsg); LOAD_bool( m_bCheckDepartedNode ); LOAD_VECTOR( m_vInitialPos ); }
void DecisionObject::Load(ILTMessage_Read *pMsg) { if (!pMsg) return; for (int i=0; i < MAX_DECISION_CHOICES; i++) { m_ChoiceData[i].Load(pMsg); } LOAD_HSTRING(m_hstrAbortCmd); LTBOOL bVisible; LOAD_bool(bVisible); LOAD_bool(m_bRemoveAfterChoice); LOAD_FLOAT(m_fRadius); LOAD_bool( m_bLock ); if (bVisible) Show(true,true); }
void CAISensorDamageFX::Load(ILTMessage_Read *pMsg) { super::Load(pMsg); LOAD_bool( m_bDamageFXInitialized ); LOAD_FLOAT( m_fFullHealth ); LOAD_DWORD_CAST( m_eDamageFXState, EnumAIDamageFXState ); // Create FX that should exist after a load. CreateDamageFX( m_eDamageFXState ); }
bool CDoomsDayMissionMgr::Load( ILTMessage_Read& msg, uint32 dwSaveFlags ) { if( !CServerMissionMgr::Load( msg, dwSaveFlags )) return false; ILTMessage_Read* pMsg = &msg; LOAD_BYTE( m_nActivatingTeam ); LOAD_bool( m_bNextRound ); return true; }
void SpinningWorldModel::OnLoad( ILTMessage_Read *pMsg, uint32 dwSaveFlags ) { if( !pMsg ) return; // Send to base class ActiveWorldModel::OnLoad( pMsg, dwSaveFlags ); LOAD_VECTOR( m_vVelocity ); LOAD_VECTOR( m_vFinalVelocity ); LOAD_bool( m_bUpdateSpin ); LOAD_TIME( m_fLastTime ); }
void CAIWeaponMelee::Load(ILTMessage_Read *pMsg) { super::Load(pMsg); LOAD_DOUBLE(m_fBurstInterval); LOAD_INT(m_nBurstShots); LOAD_INT(m_Context.m_cHits); LOAD_INT(m_Context.m_cMisses); LOAD_INT(m_Context.m_iHit); LOAD_INT(m_Context.m_iMiss); LOAD_bool(m_bForceHit); m_hLastUserAnimation = pMsg->ReadHMODELANIM(); }
void Door::OnLoad( ILTMessage_Read *pMsg, uint32 dwSaveFlags ) { if( !pMsg ) return; // Load base vars first ActiveWorldModel::OnLoad( pMsg, dwSaveFlags ); LOAD_STDSTRING( m_sDoorLink ); LOAD_bool( m_bSectorsActive ); LOAD_DWORD_CAST( m_eNMLinkID, ENUM_NMLinkID ); for(uint32 nCurrSector = 0; nCurrSector < knNumSectors; nCurrSector++) LOAD_STDSTRING( m_sSectorName[nCurrSector] ); UpdateSector( m_bSectorsActive ); }
void CommandObject::Load( ILTMessage_Read *pMsg ) { GameBaseLite::Load( pMsg ); m_Timer.Load( pMsg ); LOAD_FLOAT( m_fTotalTime ); LOAD_HSTRING( m_hstrFinishedCmd ); LOAD_bool( m_bLocked ); LOAD_INT( m_nNumActivations ); LOAD_INT( m_nNumTimesActivated ); // Free any event commands we already have... EVENT_CMD_LIST::iterator iter; EVENT_CMD_STRUCT *pEvntCmdStruct = LTNULL; for( iter = m_lstEventCmds.begin(); iter != m_lstEventCmds.end(); ++iter ) { pEvntCmdStruct = *iter; FREE_HSTRING( pEvntCmdStruct->m_hstrCommand ); debug_delete( pEvntCmdStruct ); pEvntCmdStruct = LTNULL; } m_lstEventCmds.clear(); // Load all event commands... int nNumEventCmds = 0; LOAD_INT( nNumEventCmds ); for( int i = 0; i < nNumEventCmds; ++i ) { pEvntCmdStruct = debug_new( EVENT_CMD_STRUCT ); m_lstEventCmds.push_back( pEvntCmdStruct ); LOAD_FLOAT( pEvntCmdStruct->m_fTime ); LOAD_BOOL( pEvntCmdStruct->m_bProcessed ); LOAD_HSTRING( pEvntCmdStruct->m_hstrCommand ); } }
void Camera::Load(ILTMessage_Read *pMsg, uint32 dwLoadFlags) { if (!pMsg) return; LOAD_INT ( sm_nActiveCamera ); LOAD_bool ( m_bOn ); LOAD_bool ( m_bIsListener ); LOAD_bool ( m_bAllowPlayerMovement ); LOAD_bool ( m_bOneTime ); LOAD_BYTE ( m_nCameraType); LOAD_bool ( m_bStartActive ); LOAD_FLOAT ( m_fActiveTime ); LOAD_TIME ( m_fTurnOffTime ); LOAD_bool ( m_bCanSkip ); LOAD_bool ( m_bOnSkipCleanupOnly ); LOAD_STDSTRING ( m_sCleanupCmd ); LOAD_FLOAT ( m_fFovY ); LOAD_FLOAT ( m_fFovAspectScale ); }
void AINodeValidatorEnabled::Load(ILTMessage_Read *pMsg) { LOAD_bool( m_bNodeEnabled ); }
void Prop::Load(ILTMessage_Read *pMsg, uint32 dwLoadFlags) { if (!pMsg) return; m_ActivateTypeHandler.Load( pMsg ); LOAD_FLOAT(m_fAlpha); LOAD_BOOL(m_bMoveToFloor); LOAD_BOOL(m_bFirstUpdate); LOAD_bool( m_bCanDeactivate ); LOAD_VECTOR(m_vScale); LOAD_VECTOR(m_vObjectColor); m_damage.Load(pMsg, dwLoadFlags); LOAD_BOOL(m_bTouchable); LOAD_DWORD_CAST(m_eState, EnumAIStateType); /* THESE SHOULD NOT NEED TO BE SAVED - THEY ARE USED FOR INITIALIZING THE OBJECT ONLY!!! // 8/4/02 - Remove after testing LOAD_DWORD(m_dwUsrFlgs); LOAD_DWORD(m_dwFlags); LOAD_DWORD(m_dwFlags2); */ HMODELANIM hWorldAnim; uint32 cWorldAnims; LOAD_DWORD(cWorldAnims); for( uint32 iWorldAnim = 0; iWorldAnim < cWorldAnims; ++iWorldAnim ) { LOAD_DWORD(hWorldAnim); m_lstWorldAnims.push_back(hWorldAnim); } if (pMsg->Readbool()) { if(m_pDisturb == LTNULL) { m_pDisturb = debug_new(PropDisturbStruct); } m_pDisturb->Load(pMsg); } LOAD_bool( m_bActivatedOn ); char szString[1024]; LOAD_CHARSTRING( szString, ARRAY_LEN( szString )); m_sActivateOnCommand = szString; LOAD_CHARSTRING( szString, ARRAY_LEN( szString )); m_sActivateOffCommand = szString; LOAD_bool( m_bAttachmentShotOff ); LOAD_HOBJECT( m_hAttachmentOwner ); LOAD_FLOAT( m_fPitch ); LOAD_FLOAT( m_fYaw ); LOAD_FLOAT( m_fRoll ); LOAD_FLOAT( m_fPitchVel ); LOAD_FLOAT( m_fYawVel ); LOAD_FLOAT( m_fRollVel ); LOAD_bool( m_bRotatedToRest ); LOAD_bool( m_bRotating ); LOAD_bool( m_bFading ); LOAD_FLOAT( m_fFadeStartTime ); LOAD_FLOAT( m_fFadeDuration ); LOAD_FLOAT( m_fStartAlpha ); LOAD_FLOAT( m_fEndAlpha ); LOAD_bool( m_bFadeRemoveWhenDone ); LOAD_bool( m_bCanTransition ); // We must remove aggregates before sending the message to the base classs... if( !m_bCanTransition ) { // Disallow transitioning of this object through TransAMs... DestroyTransitionAggregate(); } }
void WorldModel::OnLoad( ILTMessage_Read *pMsg, uint32 dwSaveFlags ) { ASSERT( pMsg != NULL ); m_ActivateTypeHandler.Load( pMsg ); LOAD_bool( m_bIsKeyframed ); LOAD_bool( m_bStartHidden ); LOAD_HSTRING( m_hstrAttachments ); LOAD_BOOL( m_bRemoveAttachments ); LOAD_VECTOR( m_vAttachDir ); LOAD_HOBJECT( m_hAttachDirObj ); LOAD_ROTATION( m_hackInitialRot ); LOAD_FLOAT( m_fStimRadius ); LOAD_HOBJECT( m_hActivateParent ); LOAD_bool( m_bCanActivate ); // Load the object lists last... uint8 nObjsInList = 0; // First the Attachment list LOAD_BYTE( nObjsInList ); m_AttachmentList.clear( ); if( nObjsInList > 0 ) { LTObjRefNotifier ref( *this ); for( uint8 i = 0; i < nObjsInList; ++i ) { LOAD_HOBJECT( ref ); if( ref ) { m_AttachmentList.push_back( ref ); } } } // Then the other attachment list LOAD_BYTE( nObjsInList ); m_AttachMsgObjList.clear( ); if( nObjsInList > 0 ) { LTObjRefNotifier ref( *this ); for( uint8 i = 0; i < nObjsInList; ++i ) { LOAD_HOBJECT( ref ); if( ref ) { m_AttachMsgObjList.push_back( ref ); } } } // Then the Mark list LOAD_BYTE( nObjsInList ); m_MarkList.clear( ); if( nObjsInList > 0 ) { LTObjRefNotifier ref( *this ); for( uint8 i = 0; i < nObjsInList; ++i ) { LOAD_HOBJECT( ref ); if( ref ) { m_MarkList.push_back( ref ); } } } }