Skip to content

Commit 29f5950

Browse files
committed
Tuning: fixed flares not loading material in addonpart ZIP.
Of course I could't get it right the first time. The mechanism I added is the same thing that props and flexbodies already use. Search fulltext for `*_rg_override`.
1 parent d62d108 commit 29f5950

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

source/main/physics/ActorSpawner.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -2225,7 +2225,8 @@ void ActorSpawner::ProcessFlare2(RigDef::Flare2 & def)
22252225
}
22262226
}
22272227

2228-
Ogre::MaterialPtr material = this->FindOrCreateCustomizedMaterial(material_name, m_custom_resource_group);
2228+
std::string material_rg = (def._material_rg_override != "") ? def._material_rg_override : m_actor->getTruckFileResourceGroup();
2229+
Ogre::MaterialPtr material = this->FindOrCreateCustomizedMaterial(material_name, material_rg);
22292230
if (!material.isNull())
22302231
{
22312232
flare.bbs->setMaterial(material);

source/main/resources/addonpart_fileformat/AddonPartFileFormat.cpp

+4
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,8 @@ void AddonPartUtility::ProcessFlare()
358358
if (n > 8) { def.size = m_context->getTokFloat(8); }
359359
if (n > 9) { def.material_name = m_context->getTokString(9); }
360360

361+
def._material_rg_override = m_addonpart_entry->resource_group;
362+
361363
m_module->flares2.push_back(def);
362364
}
363365

@@ -397,6 +399,8 @@ void AddonPartUtility::ProcessFlare2()
397399
if (n > 9) { def.size = m_context->getTokFloat(9); }
398400
if (n > 10) { def.material_name = m_context->getTokString(10); }
399401

402+
def._material_rg_override = m_addonpart_entry->resource_group;
403+
400404
m_module->flares2.push_back(def);
401405
}
402406

source/main/resources/rig_def_fileformat/RigDef_File.h

+1
Original file line numberDiff line numberDiff line change
@@ -876,6 +876,7 @@ struct Flare2 // Used for both 'flares' and 'flares2' sections
876876
int blink_delay_milis = -2;
877877
float size = -1.f;
878878
Ogre::String material_name;
879+
Ogre::String _material_rg_override; //!< Needed for addonparts
879880
};
880881

881882
struct Flare3: public Flare2

0 commit comments

Comments
 (0)