void CinematicTrigger::Load(HMESSAGEREAD hRead, uint32 dwLoadFlags)
{
    ILTServer* pServerDE = GetServerDE();
	if (!pServerDE || !hRead) return;

	pServerDE->ReadFromLoadSaveMessageObject(hRead, &m_hCurSpeaker);
	pServerDE->ReadFromLoadSaveMessageObject(hRead, &m_hLastSpeaker);
	pServerDE->ReadFromLoadSaveMessageObject(hRead, &m_hCamera);
	pServerDE->ReadFromLoadSaveMessageObject(hRead, &m_hKeyFramer);

	m_nCurMessage		= pServerDE->ReadFromMessageByte(hRead);

    m_bOn               = (LTBOOL) pServerDE->ReadFromMessageByte(hRead);
    m_bNotified         = (LTBOOL) pServerDE->ReadFromMessageByte(hRead);
    m_bCreateCamera     = (LTBOOL) pServerDE->ReadFromMessageByte(hRead);
    m_bCreateKeyFramer  = (LTBOOL) pServerDE->ReadFromMessageByte(hRead);
    m_bStartOn          = (LTBOOL) pServerDE->ReadFromMessageByte(hRead);
    m_bRemoveBadAI      = (LTBOOL) pServerDE->ReadFromMessageByte(hRead);
	m_bOneTimeOnly      = (LTBOOL) pServerDE->ReadFromMessageByte(hRead);
    m_bCanSkip          = (LTBOOL) pServerDE->ReadFromMessageByte(hRead);
    m_bAllWindows       = (LTBOOL) pServerDE->ReadFromMessageByte(hRead);
    m_bDialogueDone     = (LTBOOL) pServerDE->ReadFromMessageByte(hRead);
    m_bLeaveCameraOn    = (LTBOOL) pServerDE->ReadFromMessageByte(hRead);

	m_fNextDialogueStart	= pServerDE->ReadFromMessageFloat(hRead);

	for (int i=0; i < MAX_CT_MESSAGES; i++)
	{
		m_fDelay[i]					= pServerDE->ReadFromMessageFloat(hRead);
		m_hstrDialogue[i]			= pServerDE->ReadFromMessageHString(hRead);
		m_hstrWhoPlaysDialogue[i]	= pServerDE->ReadFromMessageHString(hRead);
		m_hstrTargetName[i]			= pServerDE->ReadFromMessageHString(hRead);
		m_hstrMessageName[i]		= pServerDE->ReadFromMessageHString(hRead);
		m_hstrWhoPlaysDecisions[i]	= pServerDE->ReadFromMessageHString(hRead);
		m_hstrDecisions[i]			= pServerDE->ReadFromMessageHString(hRead);
		m_hstrReplies[i]			= pServerDE->ReadFromMessageHString(hRead);
		m_hstrRepliesTarget[i]		= pServerDE->ReadFromMessageHString(hRead);
		m_hstrRepliesMsg[i]			= pServerDE->ReadFromMessageHString(hRead);
		m_bWindow[i]				= pServerDE->ReadFromMessageByte(hRead);
	}

	m_hstrCleanUpTriggerTarget		= pServerDE->ReadFromMessageHString(hRead);
	m_hstrCleanUpTriggerMsg			= pServerDE->ReadFromMessageHString(hRead);
	m_hstrDialogueDoneTarget		= pServerDE->ReadFromMessageHString(hRead);
	m_hstrDialogueDoneMsg			= pServerDE->ReadFromMessageHString(hRead);
	m_hstrDialogueStartTarget		= pServerDE->ReadFromMessageHString(hRead);
	m_hstrDialogueStartMsg			= pServerDE->ReadFromMessageHString(hRead);
}
void WorldModelDebris::Load(HMESSAGEREAD hRead, uint32 dwLoadFlags)
{
    ILTServer* pServerDE = GetServerDE();
	if (!pServerDE || !hRead) return;

	m_bRotate	= pServerDE->ReadFromMessageByte(hRead);
	m_fXRotVel	= pServerDE->ReadFromMessageFloat(hRead);
	m_fYRotVel	= pServerDE->ReadFromMessageFloat(hRead);
	m_fZRotVel	= pServerDE->ReadFromMessageFloat(hRead);
	m_fPitch	= pServerDE->ReadFromMessageFloat(hRead);
	m_fYaw		= pServerDE->ReadFromMessageFloat(hRead);
	m_fRoll		= pServerDE->ReadFromMessageFloat(hRead);
	m_fLastTime = pServerDE->ReadFromMessageFloat(hRead);
}