MCPcopy Create free account
hub / github.com/MergHQ/CRYENGINE / OpenLevelPak

Method OpenLevelPak

Code/CryEngine/CryAction/LevelSystem.cpp:1917–1971  ·  view source on GitHub ↗

/////////////////////////////////////////////////////////////////////

Source from the content-addressed store, hash-verified

1915
1916//////////////////////////////////////////////////////////////////////////
1917bool CLevelInfo::OpenLevelPak()
1918{
1919 LOADING_TIME_PROFILE_SECTION;
1920 //////////////////////////////////////////////////////////////////////////
1921 //LiveCreate level reloading functionality
1922#ifndef NO_LIVECREATE
1923 // Overwrite level.pak
1924 {
1925 const string newLevelPak = m_levelPath + string("/_level.pak");
1926 const string curLevelPak = m_levelPath + string("/level.pak");
1927
1928 if (SubsituteFile(newLevelPak, curLevelPak))
1929 {
1930 if (!gEnv->pCryPak->RemoveFile(newLevelPak.c_str()))
1931 {
1932 gEnv->pLog->LogWarning("Cleanup failed: _level.pak not removed");
1933 }
1934 }
1935 }
1936
1937 // Overwrite terraintextures.pak
1938 {
1939 const string newLevelPak = m_levelPath + string("/_terraintexture.pak");
1940 const string curLevelPak = m_levelPath + string("/terraintexture.pak");
1941
1942 if (SubsituteFile(newLevelPak, curLevelPak))
1943 {
1944 if (!gEnv->pCryPak->RemoveFile(newLevelPak.c_str()))
1945 {
1946 gEnv->pLog->LogWarning("Cleanup failed: terraintexture.pak not removed");
1947 }
1948 }
1949 }
1950
1951#endif
1952 //////////////////////////////////////////////////////////////////////////
1953
1954 string levelpak = m_levelPath + string("/level.pak");
1955 CryFixedStringT<ICryPak::g_nMaxPath> fullLevelPakPath;
1956 bool bOk = gEnv->pCryPak->OpenPack(levelpak, (unsigned)0, NULL, &fullLevelPakPath);
1957 m_levelPakFullPath.assign(fullLevelPakPath.c_str());
1958 if (bOk)
1959 {
1960 string levelmmpak = m_levelPath + string("/levelmm.pak");
1961 if (gEnv->pCryPak->IsFileExist(levelmmpak))
1962 {
1963 gEnv->pCryPak->OpenPack(levelmmpak, (unsigned)0, NULL, &fullLevelPakPath);
1964 m_levelMMPakFullPath.assign(fullLevelPakPath.c_str());
1965 }
1966 }
1967
1968 gEnv->pCryPak->SetPacksAccessibleForLevel(GetName());
1969
1970 return bOk;
1971}
1972
1973//////////////////////////////////////////////////////////////////////////
1974void CLevelInfo::CloseLevelPak()

Callers 1

PrepareNextLevelMethod · 0.80

Calls 10

stringClass · 0.85
SubsituteFileFunction · 0.85
GetNameFunction · 0.85
RemoveFileMethod · 0.45
c_strMethod · 0.45
LogWarningMethod · 0.45
OpenPackMethod · 0.45
assignMethod · 0.45
IsFileExistMethod · 0.45

Tested by

no test coverage detected