uint32 PlayerTrigger::EngineMessageFn( uint32 messageID, void *pData, LTFLOAT fData ) { switch(messageID) { case MID_PRECREATE: { ObjectCreateStruct *pStruct = (ObjectCreateStruct *)pData; if (!pStruct) return 0; if (fData == PRECREATE_WORLDFILE) { ReadProps(pStruct); } } break; case MID_INITIALUPDATE: { if( fData != INITIALUPDATE_SAVEGAME ) { InitialUpdate(); } } break; default : break; } return Trigger::EngineMessageFn( messageID, pData, fData ); }
uint32 DynamicSectorVolume::EngineMessageFn( uint32 messageID, void *pData, float fData ) { switch( messageID ) { case MID_PRECREATE : { // Let the GameBase handle it first... uint32 dwRet = GameBase::EngineMessageFn( messageID, pData, fData ); ObjectCreateStruct *pOCS = (ObjectCreateStruct*)pData; if( pOCS ) { if( PRECREATE_WORLDFILE == fData ) { ReadProps( &pOCS->m_cProperties ); } PostReadProp( pOCS ); } return dwRet; } break; case MID_OBJECTCREATED : { if( OBJECTCREATED_SAVEGAME != fData ) { g_pCommonLT->SetObjectFlags( m_hObject, OFT_User, USRFLG_VISIBLE, USRFLG_VISIBLE ); UpdateFXMessage( false ); } SetNextUpdate( UPDATE_NEVER ); } break; case MID_SAVEOBJECT : { Save( (ILTMessage_Write*)pData, (uint32)fData ); } break; case MID_LOADOBJECT : { Load( (ILTMessage_Read*)pData, (uint32)fData ); } break; } return GameBase::EngineMessageFn( messageID, pData, fData ); }
BOOL ProjectProperties::ReadPropsPathList(const CTGitPathList& pathList) { for(int nPath = 0; nPath < pathList.GetCount(); ++nPath) { if (ReadProps(pathList[nPath])) { return TRUE; } } return FALSE; }
uint32 Camera::EngineMessageFn(uint32 messageID, void *pData, float fData) { switch(messageID) { case MID_UPDATE: { Update(); } break; case MID_PRECREATE: { ObjectCreateStruct* pStruct = (ObjectCreateStruct*)pData; if (pStruct) { pStruct->m_Flags |= FLAG_GOTHRUWORLD | FLAG_FORCECLIENTUPDATE | FLAG_FULLPOSITIONRES; } if (fData == PRECREATE_WORLDFILE || fData == PRECREATE_STRINGPROP) { ReadProps(&pStruct->m_cProperties, false); } } break; case MID_INITIALUPDATE: { InitialUpdate((int)fData); } break; case MID_SAVEOBJECT: { Save((ILTMessage_Write*)pData, (uint32)fData); } break; case MID_LOADOBJECT: { Load((ILTMessage_Read*)pData, (uint32)fData); } break; default : break; } return BaseClass::EngineMessageFn(messageID, pData, fData); }
uint32 PlayerNodeGoto::EngineMessageFn( uint32 dwMsgId, void *pData, float fData ) { switch( dwMsgId ) { case MID_PRECREATE: { // Let the GameBase handle the message first... uint32 dwRet = GameBase::EngineMessageFn( dwMsgId, pData, fData ); ObjectCreateStruct *pOCS = (ObjectCreateStruct*)pData; if( pOCS && (PRECREATE_SAVEGAME != fData) ) { ReadProps( &pOCS->m_cProperties ); } // Important!! - We already sent the message to the GameBase so DONT do it again. return dwRet; } break; case MID_OBJECTCREATED: { // Make sure the object is sent to the clients but never update on the server... g_pCommonLT->SetObjectFlags( m_hObject, OFT_Flags, FLAG_FORCECLIENTUPDATE, FLAG_FORCECLIENTUPDATE ); SetNextUpdate( UPDATE_NEVER ); } break; case MID_SAVEOBJECT: { OnSave( (ILTMessage_Write*)pData, (uint32)fData ); } break; case MID_LOADOBJECT: { OnLoad( (ILTMessage_Read*)pData, (uint32)fData ); } break; } return GameBase::EngineMessageFn( dwMsgId, pData, fData ); }
uint32 WorldModel::EngineMessageFn( uint32 messageID, void *pData, LTFLOAT fData ) { switch( messageID ) { case MID_PRECREATE: { // Let the GameBase handle the message first uint32 dwRet = GameBase::EngineMessageFn( messageID, pData, fData ); ObjectCreateStruct *pOCS = (ObjectCreateStruct*)pData; if( pOCS ) { if( PRECREATE_WORLDFILE == fData ) { // tagRP: HACK - Save off the rotation then get rid of it to deal with the double rotation problem m_hackInitialRot = pOCS->m_Rotation; pOCS->m_Rotation.Identity(); // end HACK ReadProps( pOCS ); } if( PRECREATE_SAVEGAME != fData ) { // Init some data if it's not a saved game PostReadProp( pOCS ); } } // Important!! - We already sent the message to the GameBase so DONT do it again. return dwRet; } break; case MID_OBJECTCREATED: { if( OBJECTCREATED_SAVEGAME != fData ) { OnObjectCreated(); } } break; case MID_ALLOBJECTSCREATED: { OnEveryObjectCreated(); } break; case MID_UPDATE: { OnUpdate( g_pLTServer->GetTime() ); } break; case MID_SAVEOBJECT: { OnSave( (ILTMessage_Write*)pData, (uint32)fData ); } break; case MID_LOADOBJECT: { OnLoad( (ILTMessage_Read*)pData, (uint32)fData ); } break; } return GameBase::EngineMessageFn( messageID, pData, fData ); }
uint32 SpecialFX::EngineMessageFn(uint32 messageID, void *pData, float fData) { switch (messageID) { case MID_PRECREATE : { uint32 dwRet = GameBase::EngineMessageFn(messageID, pData, fData); ObjectCreateStruct *pOcs = (ObjectCreateStruct *)pData; if ((uint32)fData == PRECREATE_WORLDFILE || (uint32)fData == PRECREATE_STRINGPROP) { // Read in object properties ReadProps(pOcs); } return dwRet; } break; case MID_INITIALUPDATE : { m_bFromSavedGame = ((uint32)fData == INITIALUPDATE_SAVEGAME); if ( !m_bFromSavedGame ) { SetNextUpdate(UPDATE_NEVER); } } break; case MID_ALLOBJECTSCREATED : { if( !m_bFromSavedGame ) { // See if we have a Target object... if( m_hstrTargetName ) { ObjArray<HOBJECT, 1> objArray; g_pLTServer->FindNamedObjects( g_pLTServer->GetStringData( m_hstrTargetName ), objArray ); if( objArray.NumObjects() > 0 ) { m_hTargetObj = objArray.GetObject( 0 ); } FREE_HSTRING( m_hstrTargetName ); } if (m_bStartOn) { TurnON(); } } } break; case MID_SAVEOBJECT : { // Handle saving GameBase::EngineMessageFn(messageID, pData, fData); OnSave((ILTMessage_Write*)pData, (uint32)fData); return LT_OK; } break; case MID_LOADOBJECT : { // Handle loading GameBase::EngineMessageFn(messageID, pData, fData); OnLoad((ILTMessage_Read*)pData, (uint32)fData); return LT_OK; } break; } return GameBase::EngineMessageFn(messageID, pData, fData); }
uint32 TransitionArea::EngineMessageFn( uint32 messageID, void *pData, float fData ) { switch( messageID ) { case MID_PRECREATE : { // Let the GameBase handle the message first uint32 dwRet = GameBase::EngineMessageFn( messageID, pData, fData ); ObjectCreateStruct *pOCS = (ObjectCreateStruct*)pData; if( pOCS ) { if( PRECREATE_WORLDFILE == fData ) { // [RP] HACK - Deal with the double rotation problem m_tfWorld.m_rRot = pOCS->m_Rotation; m_tfWorld.m_vPos = pOCS->m_Pos; pOCS->m_Rotation.Identity(); ReadProps( &pOCS->m_cProperties ); } PostReadProps( pOCS ); } // Important!! - We already sent the message to the GameBase so DONT do it again. return dwRet; } break; case MID_INITIALUPDATE : { // Don't eat ticks please... SetNextUpdate(UPDATE_NEVER); } break; case MID_SAVEOBJECT : { Save( (ILTMessage_Write*)pData, (uint32)fData ); } break; case MID_LOADOBJECT : { Load( (ILTMessage_Read*)pData, (uint32)fData ); } break; case MID_UPDATE: { Update( ); } break; default : break; } return GameBase::EngineMessageFn( messageID, pData, fData ); }
bool COleDBConnectionProp::ReadProps(CDatabase& database) { return ReadProps(database.GetConnect()); }