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 ); } }
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 DisplayTimer::Save(ILTMessage_Write *pMsg) { if (!pMsg) return; SAVE_HSTRING(m_hstrStartCmd); SAVE_HSTRING(m_hstrEndCmd); SAVE_BOOL(m_bRemoveWhenDone); m_Timer.Save(pMsg); SAVE_BYTE( m_nTeamId ); }
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 CAIState::Save(ILTMessage_Write *pMsg) { SAVE_DWORD(m_eStateStatus); SAVE_BOOL(m_bNoCinematics); SAVE_FLOAT(m_fElapsedTime); SAVE_BOOL(m_bFirstUpdate); SAVE_BOOL(m_bPlayFirstSound); SAVE_HSTRING(m_hstrReturn); SAVE_HSTRING(m_hstrFirst); SAVE_INT(m_cNexts); for ( int iNext = 0 ; iNext < kMaxNexts ; iNext++ ) { SAVE_HSTRING(m_ahstrNexts[iNext]); } }
void CAIState::Save(HMESSAGEREAD hWrite) { SAVE_BOOL(m_bAlert); SAVE_BOOL(m_bNoCinematics); SAVE_FLOAT(m_fElapsedTime); SAVE_BOOL(m_bFirstUpdate); SAVE_BOOL(m_bPlayFirstSound); SAVE_HSTRING(m_hstrReturn); SAVE_HSTRING(m_hstrFirst); SAVE_INT(m_cNexts); for ( int iNext = 0 ; iNext < kMaxNexts ; iNext++ ) { SAVE_HSTRING(m_ahstrNexts[iNext]); } }
void AINodeGuard::Save(ILTMessage_Write *pMsg) { super::Save(pMsg); // Save guarded node names. HSTRING hstrNodeName; HSTRING_LIST::iterator hstr_it; SAVE_DWORD( m_lstGuardedNodeNames.size() ); for ( hstr_it = m_lstGuardedNodeNames.begin(); hstr_it != m_lstGuardedNodeNames.end(); ++hstr_it ) { hstrNodeName = *hstr_it; SAVE_HSTRING( hstrNodeName ); } // Save guarded nodes. HOBJECT hNode; HOBJECT_LIST::iterator h_it; SAVE_DWORD( m_lstGuardedNodes.size() ); for ( h_it = m_lstGuardedNodes.begin(); h_it != m_lstGuardedNodes.end(); ++h_it ) { hNode = *h_it; SAVE_HOBJECT( hNode ); } }
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 Door::OnSave( ILTMessage_Write *pMsg, uint32 dwSaveFlags ) { if( !pMsg ) return; // Save base vars first ActiveWorldModel::OnSave( pMsg, dwSaveFlags ); SAVE_HSTRING( m_hstrDoorLink ); SAVE_HOBJECT( m_hAIUser ); }
void Group::Save(ILTMessage_Write *pMsg) { GameBaseLite::Save( pMsg ); SAVE_DWORD(m_nNumTargets); for (uint32 i=0; i < m_nNumTargets; i++) { SAVE_HSTRING(m_hstrObjectNames[i]); } }
void RelationTraits::CIDValue::Save(ILTMessage_Write *pMsg) { char szValue[256]; UBER_ASSERT( m_Value.length() < sizeof(szValue)-1, "Attempted to save CIDValue with a length greater than 255" ); // Convert the std::string to an HSTRING, and save it strcpy( szValue, m_Value.c_str() ); HSTRING hValue = g_pLTServer->CreateString( szValue ); SAVE_HSTRING( hValue ); FREE_HSTRING( hValue ); }
void CDestructibleModel::Save(ILTMessage_Write *pMsg, uint32 dwSaveFlags) { if (!g_pLTServer || !pMsg) return; SAVE_BYTE( m_nDebrisId ); SAVE_BOOL( m_bCreatedDebris ); SAVE_BOOL( m_bCreateExplosion ); SAVE_BYTE( m_nExplosionWeaponId ); SAVE_BOOL( m_bFireAlongForward ); SAVE_FLOAT( m_fDamageFactor ); SAVE_BOOL( m_bRemoveOnDeath ); SAVE_HSTRING( m_hstrSpawn ); SAVE_HSTRING( m_hstrSurfaceOverride ); SAVE_DWORD( m_dwOriginalFlags ); SAVE_BOOL( m_bSaveNeverDestroy ); SAVE_BOOL( m_bSaveCanDamage ); SAVE_DWORD( m_eStimID ); SAVE_FLOAT( m_fStimRadius ); SAVE_DWORD( m_nDestroyAlarmLevel ); }
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 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); }
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 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 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); }
void CAIGoalTalk::Save(ILTMessage_Write *pMsg) { super::Save(pMsg); SAVE_DWORD(m_eMood); SAVE_DWORD(m_eMovement); SAVE_HSTRING(m_hstrGesture); SAVE_FLOAT(m_fFaceTime); SAVE_BOOL(m_bStartedDialog); SAVE_BOOL(m_bInTalkPosition); SAVE_BOOL(m_bRetriggerDialogue); SAVE_BOOL(m_bDisposableDialogue); SAVE_BOOL(m_bTalking); SAVE_HOBJECT(m_hDialogue); }
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 ); }
void CDestructibleModel::Save(HMESSAGEWRITE hWrite, uint32 dwSaveFlags) { if (!g_pLTServer || !hWrite) return; SAVE_HSTRING(m_hstrSurfaceOverride); g_pLTServer->WriteToMessageHString(hWrite, m_hstrSpawn); g_pLTServer->WriteToMessageFloat(hWrite, m_fDamageFactor); g_pLTServer->WriteToMessageByte(hWrite, m_bCreatedDebris); g_pLTServer->WriteToMessageByte(hWrite, m_nDebrisId); g_pLTServer->WriteToMessageByte(hWrite, m_bFireAlongForward); g_pLTServer->WriteToMessageByte(hWrite, m_bCreateExplosion); g_pLTServer->WriteToMessageByte(hWrite, m_nExplosionWeaponId); g_pLTServer->WriteToMessageByte(hWrite, m_bSaveCanDamage); g_pLTServer->WriteToMessageByte(hWrite, m_bSaveNeverDestroy); g_pLTServer->WriteToMessageDWord(hWrite, m_dwOriginalFlags); }
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 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 ); } }
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 GameBase::Save(HMESSAGEWRITE hWrite) { g_pLTServer->WriteToMessageDWord(hWrite, m_dwOriginalFlags); // Save the number of marks in the list... uint8 nNumInList = m_pMarkList ? m_pMarkList->m_nInList : 0; g_pLTServer->WriteToMessageByte(hWrite, nNumInList); // Save the objects marks... if (m_pMarkList && nNumInList) { ObjectLink* pLink = m_pMarkList->m_pFirstLink; while (pLink) { g_pLTServer->WriteToLoadSaveMessageObject(hWrite, pLink->m_hObject); pLink = pLink->m_pNext; } } SAVE_DWORD(m_nSaveVersion); SAVE_HSTRING(m_hstrSave); }