mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-07 17:29:36 +00:00
engine: again fix static prop lump version 10 loading
This commit is contained in:
+102
-2
@@ -292,7 +292,7 @@ struct StaticPropLumpV10_t
|
||||
unsigned short m_nLightmapResolutionY;
|
||||
};
|
||||
|
||||
// version 10
|
||||
// version 10 bsp21
|
||||
struct StaticPropLumpV10_21_t
|
||||
{
|
||||
DECLARE_BYTESWAP_DATADESC();
|
||||
@@ -319,7 +319,7 @@ struct StaticPropLumpV10_21_t
|
||||
};
|
||||
|
||||
// version 11
|
||||
struct StaticPropLump_t
|
||||
struct StaticPropLumpV11_t
|
||||
{
|
||||
DECLARE_BYTESWAP_DATADESC();
|
||||
Vector m_Origin;
|
||||
@@ -345,6 +345,106 @@ struct StaticPropLump_t
|
||||
float m_flPropScale;
|
||||
};
|
||||
|
||||
struct StaticPropLump_t
|
||||
{
|
||||
DECLARE_BYTESWAP_DATADESC();
|
||||
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;
|
||||
|
||||
color32 m_DiffuseModulation; // per instance color and alpha modulation
|
||||
bool m_bDisableX360;
|
||||
int m_FlagsEx; // more flags (introduced in v10)
|
||||
|
||||
inline StaticPropLump_t& operator=(const StaticPropLumpV4_t& _rhs)
|
||||
{
|
||||
m_Origin = _rhs.m_Origin;
|
||||
m_Angles = _rhs.m_Angles;
|
||||
m_PropType = _rhs.m_PropType;
|
||||
m_FirstLeaf = _rhs.m_FirstLeaf;
|
||||
m_LeafCount = _rhs.m_LeafCount;
|
||||
m_Solid = _rhs.m_Solid;
|
||||
m_Flags = _rhs.m_Flags;
|
||||
m_Skin = _rhs.m_Skin;
|
||||
m_FadeMinDist = _rhs.m_FadeMinDist;
|
||||
m_FadeMaxDist = _rhs.m_FadeMaxDist;
|
||||
m_LightingOrigin = _rhs.m_LightingOrigin;
|
||||
|
||||
// These get potentially set twice--once here and once in the caller.
|
||||
// Value judgement: This makes the code easier to work with, so unless it's a perf issue...
|
||||
m_flForcedFadeScale = 1.0f;
|
||||
m_nMinDXLevel = 0;
|
||||
m_nMaxDXLevel = 0;
|
||||
m_nLightmapResolutionX = 0;
|
||||
m_nLightmapResolutionY = 0;
|
||||
m_DiffuseModulation.r = 0;
|
||||
m_DiffuseModulation.g = 0;
|
||||
m_DiffuseModulation.b = 0;
|
||||
m_DiffuseModulation.a = 0;
|
||||
|
||||
// Older versions don't want this.
|
||||
m_Flags |= STATIC_PROP_NO_PER_TEXEL_LIGHTING;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline StaticPropLump_t& operator=(const StaticPropLumpV5_t& _rhs)
|
||||
{
|
||||
(*this) = reinterpret_cast<const StaticPropLumpV4_t&>(_rhs);
|
||||
|
||||
m_flForcedFadeScale = _rhs.m_flForcedFadeScale;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline StaticPropLump_t& operator=(const StaticPropLumpV6_t& _rhs)
|
||||
{
|
||||
(*this) = reinterpret_cast<const StaticPropLumpV5_t&>(_rhs);
|
||||
|
||||
m_nMinDXLevel = _rhs.m_nMinDXLevel;
|
||||
m_nMaxDXLevel = _rhs.m_nMaxDXLevel;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline StaticPropLump_t& operator=(const StaticPropLumpV9_t& _rhs)
|
||||
{
|
||||
(*this) = reinterpret_cast<const StaticPropLumpV5_t&>(_rhs);
|
||||
|
||||
m_DiffuseModulation = _rhs.m_DiffuseModulation;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline StaticPropLump_t& operator=(const StaticPropLumpV10_t& _rhs)
|
||||
{
|
||||
(*this) = reinterpret_cast<const StaticPropLumpV6_t&>(_rhs);
|
||||
|
||||
m_Flags = _rhs.m_Flags;
|
||||
m_nLightmapResolutionX = _rhs.m_nLightmapResolutionX;
|
||||
m_nLightmapResolutionY = _rhs.m_nLightmapResolutionY;
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline StaticPropLump_t& operator=(const StaticPropLumpV10_21_t& _rhs)
|
||||
{
|
||||
(*this) = reinterpret_cast<const StaticPropLumpV9_t&>(_rhs);
|
||||
|
||||
m_FlagsEx = _rhs.m_FlagsEx;
|
||||
return *this;
|
||||
}
|
||||
};
|
||||
|
||||
struct StaticPropLeafLump_t
|
||||
{
|
||||
DECLARE_BYTESWAP_DATADESC();
|
||||
|
||||
Reference in New Issue
Block a user