Reorgs the editing of postFX so the editor settings edits the default config, and Scene > edit postFX to edit scene

Changes the saving of postfx from saving via the editor to instead save on level save
Reorganizes the core postfx folder to subfolders for better organization, as well as moving the shaders to group with the respective postFX
Changes the postfx editor so it only edits postFXs that are actively enabled in the scene, and only saves out similarly.
Adjusts the level download logic to pass asset id for both data compactness compared to the full level filename, as well as easier lookup reference for associated files like the postFX preset file or decal files from the asset def.
Updated the PostFXAsset template to provide an up-to-date starting point/template.
This commit is contained in:
Areloch 2020-09-11 02:28:15 -05:00
parent 82f7db3d48
commit 3c0c106051
186 changed files with 2534 additions and 1486 deletions

View file

@ -34,6 +34,11 @@ void Scene::initPersistFields()
addGroup("Gameplay");
addField("gameModeName", TypeString, Offset(mGameModeName, Scene), "The name of the gamemode that this scene utilizes");
endGroup("Gameplay");
addGroup("PostFX");
addProtectedField("EditPostEffects", TypeBool, Offset(mEditPostFX, Scene),
&Scene::_editPostEffects, &defaultProtectedGetFn, "Edit Scene's default Post Effects", AbstractClassRep::FieldFlags::FIELD_ComponentInspectors);
endGroup("PostFX");
}
bool Scene::onAdd()
@ -88,6 +93,18 @@ void Scene::onPostAdd()
Con::executef(this, "onPostAdd");
}
bool Scene::_editPostEffects(void* object, const char* index, const char* data)
{
Scene* scene = static_cast<Scene*>(object);
#ifdef TORQUE_TOOLS
if(Con::isFunction("editScenePostEffects"))
Con::executef("editScenePostEffects", scene);
#endif
return false;
}
void Scene::addObject(SimObject* object)
{
//Child scene

View file

@ -35,6 +35,8 @@ class Scene : public NetObject, public virtual ITickable
bool mIsDirty;
bool mEditPostFX;
StringTableEntry mGameModeName;
protected:
@ -48,6 +50,8 @@ public:
static void initPersistFields();
static bool _editPostEffects(void* object, const char* index, const char* data);
virtual bool onAdd();
virtual void onRemove();
virtual void onPostAdd();

View file

@ -361,13 +361,27 @@ void LevelAsset::unloadDependencies()
}
}
DefineEngineMethod(LevelAsset, getLevelFile, const char*, (),,
DefineEngineMethod(LevelAsset, getLevelPath, const char*, (),,
"Creates a new script asset using the targetFilePath.\n"
"@return The bool result of calling exec")
{
return object->getLevelPath();
}
DefineEngineMethod(LevelAsset, getPostFXPresetPath, const char*, (), ,
"Creates a new script asset using the targetFilePath.\n"
"@return The bool result of calling exec")
{
return object->getPostFXPresetPath();
}
DefineEngineMethod(LevelAsset, getDecalsPath, const char*, (), ,
"Creates a new script asset using the targetFilePath.\n"
"@return The bool result of calling exec")
{
return object->getDecalsPath();
}
DefineEngineMethod(LevelAsset, loadDependencies, void, (), ,
"Initiates the loading of asset dependencies for this level.")
{