mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-03-16 16:20:53 +00:00
Read various FO3 shader properties
BSDistantTreeShaderProperty, DistantLODShaderProperty, HairShaderProperty, Lighting30ShaderProperty, SkyShaderProperty, TallGrassShaderProperty, TileShaderProperty, VolumetricFogShaderProperty, WaterShaderProperty
This commit is contained in:
parent
30b842dd1e
commit
77c5882622
@ -319,8 +319,17 @@ namespace Nif
|
||||
{ "BSShaderProperty", &construct<BSShaderProperty, RC_BSShaderProperty> },
|
||||
{ "BSShaderPPLightingProperty", &construct<BSShaderPPLightingProperty, RC_BSShaderPPLightingProperty> },
|
||||
{ "BSShaderNoLightingProperty", &construct<BSShaderNoLightingProperty, RC_BSShaderNoLightingProperty> },
|
||||
{ "BSDistantTreeShaderProperty", &construct<BSShaderProperty, RC_BSDistantTreeShaderProperty> },
|
||||
{ "BSLightingShaderProperty", &construct<BSLightingShaderProperty, RC_BSLightingShaderProperty> },
|
||||
{ "BSEffectShaderProperty", &construct<BSEffectShaderProperty, RC_BSEffectShaderProperty> },
|
||||
{ "DistantLODShaderProperty", &construct<BSShaderProperty, RC_DistantLODShaderProperty> },
|
||||
{ "HairShaderProperty", &construct<BSShaderProperty, RC_HairShaderProperty> },
|
||||
{ "Lighting30ShaderProperty", &construct<BSShaderPPLightingProperty, RC_BSShaderPPLightingProperty> },
|
||||
{ "SkyShaderProperty", &construct<SkyShaderProperty, RC_SkyShaderProperty> },
|
||||
{ "TallGrassShaderProperty", &construct<TallGrassShaderProperty, RC_TallGrassShaderProperty> },
|
||||
{ "TileShaderProperty", &construct<TileShaderProperty, RC_TileShaderProperty> },
|
||||
{ "VolumetricFogShaderProperty", &construct<BSShaderProperty, RC_VolumetricFogShaderProperty> },
|
||||
{ "WaterShaderProperty", &construct<BSShaderProperty, RC_WaterShaderProperty> },
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -227,6 +227,28 @@ namespace Nif
|
||||
nif->read(mFalloffParams);
|
||||
}
|
||||
|
||||
void SkyShaderProperty::read(NIFStream* nif)
|
||||
{
|
||||
BSShaderLightingProperty::read(nif);
|
||||
|
||||
mFilename = nif->getSizedString();
|
||||
mSkyObjectType = static_cast<ObjectType>(nif->get<uint32_t>());
|
||||
}
|
||||
|
||||
void TallGrassShaderProperty::read(NIFStream* nif)
|
||||
{
|
||||
BSShaderProperty::read(nif);
|
||||
|
||||
mFilename = nif->getSizedString();
|
||||
}
|
||||
|
||||
void TileShaderProperty::read(NIFStream* nif)
|
||||
{
|
||||
BSShaderLightingProperty::read(nif);
|
||||
|
||||
mFilename = nif->getSizedString();
|
||||
}
|
||||
|
||||
void BSSPLuminanceParams::read(NIFStream* nif)
|
||||
{
|
||||
nif->read(mLumEmittance);
|
||||
|
@ -171,6 +171,38 @@ namespace Nif
|
||||
void read(NIFStream* nif) override;
|
||||
};
|
||||
|
||||
struct SkyShaderProperty : BSShaderLightingProperty
|
||||
{
|
||||
enum class ObjectType : uint32_t
|
||||
{
|
||||
SkyTexture = 0,
|
||||
SkySunglare = 1,
|
||||
Sky = 2,
|
||||
SkyClouds = 3,
|
||||
SkyStars = 5,
|
||||
SkyMoonStarsMask = 7,
|
||||
};
|
||||
|
||||
std::string mFilename;
|
||||
ObjectType mSkyObjectType;
|
||||
|
||||
void read(NIFStream* nif) override;
|
||||
};
|
||||
|
||||
struct TallGrassShaderProperty : BSShaderProperty
|
||||
{
|
||||
std::string mFilename;
|
||||
|
||||
void read(NIFStream* nif) override;
|
||||
};
|
||||
|
||||
struct TileShaderProperty : BSShaderLightingProperty
|
||||
{
|
||||
std::string mFilename;
|
||||
|
||||
void read(NIFStream* nif) override;
|
||||
};
|
||||
|
||||
enum class BSLightingShaderType : uint32_t
|
||||
{
|
||||
ShaderType_Default = 0,
|
||||
|
@ -60,6 +60,7 @@ namespace Nif
|
||||
RC_BSBoneLODExtraData,
|
||||
RC_BSClothExtraData,
|
||||
RC_BSDecalPlacementVectorExtraData,
|
||||
RC_BSDistantTreeShaderProperty,
|
||||
RC_BSDynamicTriShape,
|
||||
RC_BSDismemberSkinInstance,
|
||||
RC_BSDistantObjectExtraData,
|
||||
@ -88,6 +89,8 @@ namespace Nif
|
||||
RC_BSTriShape,
|
||||
RC_BSWArray,
|
||||
RC_BSXFlags,
|
||||
RC_DistantLODShaderProperty,
|
||||
RC_HairShaderProperty,
|
||||
RC_hkPackedNiTriStripsData,
|
||||
RC_NiAlphaAccumulator,
|
||||
RC_NiAlphaController,
|
||||
@ -187,6 +190,11 @@ namespace Nif
|
||||
RC_NiWireframeProperty,
|
||||
RC_NiZBufferProperty,
|
||||
RC_RootCollisionNode,
|
||||
RC_SkyShaderProperty,
|
||||
RC_TallGrassShaderProperty,
|
||||
RC_TileShaderProperty,
|
||||
RC_VolumetricFogShaderProperty,
|
||||
RC_WaterShaderProperty,
|
||||
};
|
||||
|
||||
/// Base class for all records
|
||||
|
Loading…
x
Reference in New Issue
Block a user