File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -293,10 +293,12 @@ namespace plugin {
293293 if (geo != nullptr ) {
294294 auto geodata = geo->GetGeometryRuntimeData ();
295295 if (geodata.properties [1 ].get () != nullptr && geodata.properties [1 ].get ()->GetType () == RE::NiShadeProperty::Type::kShade ) {
296- auto shader_prop = (RE::BSLightingShaderProperty*) (geodata.properties [1 ].get ());
297- if (shader_prop != nullptr ) {
298- shader_prop->SetupGeometry (geo);
299- shader_prop->FinishSetupGeometry (geo);
296+ if (geodata.properties [1 ]->GetRTTI ()->IsKindOf ((RE::NiRTTI*) RE::BSLightingShaderProperty::RTTI.address ())) {
297+ auto shader_prop = (RE::BSLightingShaderProperty*) (geodata.properties [1 ].get ());
298+ if (shader_prop != nullptr ) {
299+ shader_prop->FinishSetupGeometry (geo);
300+
301+ }
300302 }
301303 }
302304 geo = geo;
@@ -327,10 +329,12 @@ namespace plugin {
327329 if (geo != nullptr ) {
328330 auto geodata = geo->GetGeometryRuntimeData ();
329331 if (geodata.properties [1 ].get () != nullptr && geodata.properties [1 ].get ()->GetType () == RE::NiShadeProperty::Type::kShade ) {
330- auto shader_prop = (RE::BSLightingShaderProperty*) (geodata.properties [1 ].get ());
331- if (shader_prop != nullptr ) {
332- shader_prop->SetupGeometry (geo);
333- shader_prop->FinishSetupGeometry (geo);
332+ if (geodata.properties [1 ]->GetRTTI ()->IsKindOf ((RE::NiRTTI*) RE::BSLightingShaderProperty::RTTI.address ())) {
333+ auto shader_prop = (RE::BSLightingShaderProperty*) (geodata.properties [1 ].get ());
334+ if (shader_prop != nullptr ) {
335+ shader_prop->FinishSetupGeometry (geo);
336+
337+ }
334338 }
335339 }
336340 geo = geo;
You can’t perform that action at this time.
0 commit comments