void CCinematicInput::ClearCutSceneScriptVariables() { IScriptSystem* pScriptSystem = gEnv->pScriptSystem; if (pScriptSystem) { pScriptSystem->SetGlobalValue("Cinematic_RumbleA", 0.0f); pScriptSystem->SetGlobalValue("Cinematic_RumbleB", 0.0f); pScriptSystem->SetGlobalValue("Cinematic_CameraLookUp", 0.0f); pScriptSystem->SetGlobalValue("Cinematic_CameraLookDown", 0.0f); pScriptSystem->SetGlobalValue("Cinematic_CameraLookLeft", 0.0f); pScriptSystem->SetGlobalValue("Cinematic_CameraLookRight", 0.0f); } }
void CCinematicInput::ClearCutSceneVariables() { IScriptSystem* pScriptSystem = gEnv->pScriptSystem; if (pScriptSystem) { pScriptSystem->SetGlobalValue("Cinematic_RumbleA", 0.0f); pScriptSystem->SetGlobalValue("Cinematic_RumbleB", 0.0f); pScriptSystem->SetGlobalValue("Cinematic_CameraLookUp", 0.0f); pScriptSystem->SetGlobalValue("Cinematic_CameraLookDown", 0.0f); pScriptSystem->SetGlobalValue("Cinematic_CameraLookLeft", 0.0f); pScriptSystem->SetGlobalValue("Cinematic_CameraLookRight", 0.0f); pScriptSystem->SetGlobalValue("Cinematic_CameraDoNotCenter", 0.0f); } #if CINEMATIC_INPUT_PC_MOUSE m_mouseAccumulatedAngles.Set(0.0f, 0.0f, 0.0f); m_mouseAccumulatedInput.Set(0.0f, 0.0f, 0.0f); m_lastUpdateWithMouse = false; #endif m_controllerAccumulatedAngles.Set(0.0f, 0.0f, 0.0f); }
bool CScriptSurfaceTypesLoader::LoadSurfaceTypes( const char *sFolder,bool bReload ) { { if (!gEnv->p3DEngine) return false; I3DEngine *pEngine = gEnv->p3DEngine; ISurfaceTypeEnumerator *pEnum = pEngine->GetMaterialManager()->GetSurfaceTypeManager()->GetEnumerator(); if (pEnum) { for (ISurfaceType *pSurfaceType = pEnum->GetFirst(); pSurfaceType; pSurfaceType = pEnum->GetNext()) { SmartScriptTable mtlTable(gEnv->pScriptSystem); gEnv->pScriptSystem->SetGlobalValue( pSurfaceType->GetName(),mtlTable ); SmartScriptTable aiTable(gEnv->pScriptSystem); mtlTable->SetValue("AI",aiTable); aiTable->SetValue( "fImpactRadius",5.0f ); aiTable->SetValue( "fFootStepRadius",15.0f ); aiTable->SetValue( "proneMult",0.2f ); aiTable->SetValue( "crouchMult",0.5f ); aiTable->SetValue( "movingMult",2.5f ); } pEnum->Release(); } } return true; // Do not load surface types from script anymore. m_root = GetISystem()->CreateXmlNode("SurfaceTypes"); IScriptSystem *pScriptSystem = gEnv->pScriptSystem; ////////////////////////////////////////////////////////////////////////// // Make sure Materials table exist. ////////////////////////////////////////////////////////////////////////// SmartScriptTable mtlTable; if (!pScriptSystem->GetGlobalValue("Materials", mtlTable) || bReload) { mtlTable = pScriptSystem->CreateTable(); pScriptSystem->SetGlobalValue("Materials", mtlTable); } ICryPak *pIPak = gEnv->pCryPak; ISurfaceTypeManager *pSurfaceManager = gEnv->p3DEngine->GetMaterialManager()->GetSurfaceTypeManager(); if (!bReload) stl::push_back_unique( m_folders,sFolder ); string searchFolder = string(sFolder) + "/";; string searchFilter = searchFolder + "mat_*.lua"; gEnv->pScriptSystem->ExecuteFile(searchFolder+"common.lua", false, bReload); _finddata_t fd; intptr_t fhandle; fhandle = pIPak->FindFirst( searchFilter,&fd ); if (fhandle != -1) { do { // Skip back folders. if (fd.attrib & _A_SUBDIR) // skip if directory. continue; char name[_MAX_PATH]; _splitpath( fd.name,NULL,NULL,name,NULL ); if (strlen(name) == 0) continue; if (bReload) { ISurfaceType *pSurfaceType = pSurfaceManager->GetSurfaceTypeByName(name); if (pSurfaceType) { pSurfaceType->Load( pSurfaceType->GetId() ); continue; } } ISurfaceType *pSurfaceType = new CScriptSurfaceType( this,name,searchFolder+fd.name,0 ); if (pSurfaceManager->RegisterSurfaceType( pSurfaceType )) m_surfaceTypes.push_back(pSurfaceType); else pSurfaceType->Release(); } while (pIPak->FindNext( fhandle,&fd ) == 0); pIPak->FindClose(fhandle); } if (m_root) { m_root->saveToFile( "SurfaceTypes.xml" ); } return true; }