diff --git a/engine/modelloader.cpp b/engine/modelloader.cpp index 7c6c6188..06e5ce82 100644 --- a/engine/modelloader.cpp +++ b/engine/modelloader.cpp @@ -387,7 +387,8 @@ IModelLoader *modelloader = ( IModelLoader * )&g_ModelLoader; //----------------------------------------------------------------------------- // Globals used by the CMapLoadHelper //----------------------------------------------------------------------------- -static dheader_t s_MapHeader; +dheader_t s_MapHeader; + static FileHandle_t s_MapFileHandle = FILESYSTEM_INVALID_HANDLE; static char s_szLoadName[128]; static char s_szMapName[128]; diff --git a/engine/staticpropmgr.cpp b/engine/staticpropmgr.cpp index a40d884d..1605ebf5 100644 --- a/engine/staticpropmgr.cpp +++ b/engine/staticpropmgr.cpp @@ -60,6 +60,7 @@ ConVar r_staticpropinfo( "r_staticpropinfo", "0" ); ConVar r_drawmodeldecals( "r_drawmodeldecals", "1" ); extern ConVar mat_fullbright; static bool g_MakingDevShots = false; +extern dheader_t s_MapHeader; //----------------------------------------------------------------------------- // Index into the fade list //----------------------------------------------------------------------------- @@ -1382,7 +1383,10 @@ void CStaticPropMgr::UnserializeModels( CUtlBuffer& buf ) break; case 10: - buf.Get( &lump, sizeof( StaticPropLumpV10_t ) ); + if( s_MapHeader.version >= 21 ) + buf.Get( &lump, sizeof( StaticPropLumpV10_21_t ) ); + else + buf.Get( &lump, sizeof( StaticPropLumpV10_t ) ); break; case 11: diff --git a/public/gamebspfile.h b/public/gamebspfile.h index 217d1b7c..2e05262e 100644 --- a/public/gamebspfile.h +++ b/public/gamebspfile.h @@ -271,8 +271,29 @@ struct StaticPropLumpV9_t bool m_bDisableX360; }; -// version 10 struct StaticPropLumpV10_t +{ + Vector m_Origin; + QAngle m_Angles; + unsigned short m_PropType; + unsigned short m_FirstLeaf; + unsigned short m_LeafCount; + unsigned char m_Solid; + int m_Skin; + float m_FadeMinDist; + float m_FadeMaxDist; + Vector m_LightingOrigin; + float m_flForcedFadeScale; + unsigned short m_nMinDXLevel; + unsigned short m_nMaxDXLevel; + // int m_Lighting; // index into the GAMELUMP_STATIC_PROP_LIGHTING lump + unsigned int m_Flags; + unsigned short m_nLightmapResolutionX; + unsigned short m_nLightmapResolutionY; +}; + +// version 10 +struct StaticPropLumpV10_21_t { DECLARE_BYTESWAP_DATADESC(); Vector m_Origin;