From f07c8745b2ef997ca12a77ac577654433f27f1a8 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Tue, 24 Jan 2023 17:12:23 -0600 Subject: [PATCH 1/7] inspector cleanups clustering work for datablocks for both consistent scanning for object parameters, as well as an eye towards orgainizing things to make reviewing what variations of components we'll be needing down the line clearer --- Engine/source/T3D/debris.cpp | 21 +- .../T3D/examples/renderShapeExample.cpp | 4 +- Engine/source/T3D/fx/explosion.cpp | 257 +++++++++--------- Engine/source/T3D/item.cpp | 70 +++-- Engine/source/T3D/physics/physicsDebris.cpp | 11 +- Engine/source/T3D/physics/physicsShape.cpp | 4 +- Engine/source/T3D/player.cpp | 1 - Engine/source/T3D/projectile.cpp | 154 +++++------ Engine/source/T3D/rigidShape.cpp | 85 +++--- Engine/source/T3D/shapeBase.cpp | 64 ++--- Engine/source/T3D/shapeBase.h | 2 - Engine/source/T3D/shapeImage.cpp | 255 ++++++++--------- Engine/source/T3D/staticShape.cpp | 3 - Engine/source/T3D/tsStatic.cpp | 16 +- Engine/source/T3D/turret/aiTurretShape.cpp | 44 ++- Engine/source/T3D/turret/turretShape.cpp | 44 +-- Engine/source/T3D/vehicles/flyingVehicle.cpp | 62 +++-- Engine/source/T3D/vehicles/flyingVehicle.h | 1 + Engine/source/T3D/vehicles/hoverVehicle.cpp | 145 +++++----- Engine/source/T3D/vehicles/vehicle.cpp | 46 ++-- Engine/source/T3D/vehicles/wheeledVehicle.cpp | 19 +- Engine/source/Verve/VActor/VActorData.cpp | 3 +- Engine/source/afx/afxMagicMissile.cpp | 12 +- Engine/source/afx/ce/afxModel.cpp | 53 ++-- Engine/source/afx/ce/afxModel.h | 1 - Engine/source/environment/VolumetricFog.cpp | 7 +- Engine/source/forest/forestItem.cpp | 8 +- 27 files changed, 692 insertions(+), 700 deletions(-) diff --git a/Engine/source/T3D/debris.cpp b/Engine/source/T3D/debris.cpp index ba94b0892..e70983c07 100644 --- a/Engine/source/T3D/debris.cpp +++ b/Engine/source/T3D/debris.cpp @@ -295,21 +295,22 @@ bool DebrisData::preload(bool server, String &errorStr) void DebrisData::initPersistFields() { - addGroup("Display"); - addField("texture", TypeString, Offset(textureName, DebrisData), - "@brief Texture imagemap to use for this debris object.\n\nNot used any more.\n", AbstractClassRep::FIELD_HideInInspectors); - - INITPERSISTFIELD_SHAPEASSET(Shape, DebrisData, "Shape to use for this debris object."); - endGroup("Display"); + addGroup("Shapes"); + addField("texture", TypeString, Offset(textureName, DebrisData), + "@brief Texture imagemap to use for this debris object.\n\nNot used any more.\n", AbstractClassRep::FIELD_HideInInspectors); + INITPERSISTFIELD_SHAPEASSET(Shape, DebrisData, "Shape to use for this debris object."); + endGroup("Shapes"); + addGroup("Particle Effects"); + addField("emitters", TYPEID< ParticleEmitterData >(), Offset(emitterList, DebrisData), DDC_NUM_EMITTERS, + "@brief List of particle emitters to spawn along with this debris object.\n\nThese are optional. You could have Debris made up of only a shape.\n"); + addGroup("Particle Effects"); addGroup("Datablocks"); - addField("emitters", TYPEID< ParticleEmitterData >(), Offset(emitterList, DebrisData), DDC_NUM_EMITTERS, - "@brief List of particle emitters to spawn along with this debris object.\n\nThese are optional. You could have Debris made up of only a shape.\n"); addField("explosion", TYPEID< ExplosionData >(), Offset(explosion, DebrisData), "@brief ExplosionData to spawn along with this debris object.\n\nThis is optional as not all Debris explode.\n"); endGroup("Datablocks"); - addGroup("Physical Properties"); + addGroup("Physics"); addField("elasticity", TypeF32, Offset(elasticity, DebrisData), "@brief A floating-point value specifying how 'bouncy' this object is.\n\nMust be in the range of -10 to 10.\n"); addField("friction", TypeF32, Offset(friction, DebrisData), @@ -338,7 +339,7 @@ void DebrisData::initPersistFields() "@brief Use mass calculations based on radius.\n\nAllows for the adjustment of elasticity and friction based on the Debris size.\n@see baseRadius\n"); addField("baseRadius", TypeF32, Offset(baseRadius, DebrisData), "@brief Radius at which the standard elasticity and friction apply.\n\nOnly used when useRaduisMass is true.\n@see useRadiusMass.\n"); - endGroup("Physical Properties"); + endGroup("Physics"); addGroup("Behavior"); addField("explodeOnMaxBounce", TypeBool, Offset(explodeOnMaxBounce, DebrisData), diff --git a/Engine/source/T3D/examples/renderShapeExample.cpp b/Engine/source/T3D/examples/renderShapeExample.cpp index a4a92d572..e5f29f649 100644 --- a/Engine/source/T3D/examples/renderShapeExample.cpp +++ b/Engine/source/T3D/examples/renderShapeExample.cpp @@ -72,9 +72,9 @@ RenderShapeExample::~RenderShapeExample() //----------------------------------------------------------------------------- void RenderShapeExample::initPersistFields() { - addGroup( "Rendering" ); + addGroup( "Shapes" ); INITPERSISTFIELD_SHAPEASSET(Shape, RenderShapeExample, "The path to the shape file.") - endGroup( "Rendering" ); + endGroup( "Shapes" ); // SceneObject already handles exposing the transform Parent::initPersistFields(); diff --git a/Engine/source/T3D/fx/explosion.cpp b/Engine/source/T3D/fx/explosion.cpp index b59e87447..66af6c15d 100644 --- a/Engine/source/T3D/fx/explosion.cpp +++ b/Engine/source/T3D/fx/explosion.cpp @@ -387,134 +387,147 @@ ExplosionData* ExplosionData::cloneAndPerformSubstitutions(const SimObject* owne void ExplosionData::initPersistFields() { - INITPERSISTFIELD_SHAPEASSET(ExplosionShape, ExplosionData, "@brief Optional shape asset to place at the center of the explosion.\n\n" - "The ambient animation of this model will be played automatically at the start of the explosion."); + addGroup("Shapes"); + INITPERSISTFIELD_SHAPEASSET(ExplosionShape, ExplosionData, "@brief Optional shape asset to place at the center of the explosion.\n\n" + "The ambient animation of this model will be played automatically at the start of the explosion."); + endGroup("Shapes"); - addField( "explosionScale", TypePoint3F, Offset(explosionScale, ExplosionData), + addGroup("Sounds"); + INITPERSISTFIELD_SOUNDASSET(Sound, ExplosionData, "Sound to play when this explosion explodes."); + endGroup("Sounds"); + + addGroup("Particle Effects"); + addField( "faceViewer", TypeBool, Offset(faceViewer, ExplosionData), + "Controls whether the visual effects of the explosion always face the camera." ); + + addField( "particleEmitter", TYPEID< ParticleEmitterData >(), Offset(particleEmitter, ExplosionData), + "@brief Emitter used to generate a cloud of particles at the start of the explosion.\n\n" + "Explosions can generate two different particle effects. The first is a " + "single burst of particles at the start of the explosion emitted in a " + "spherical cloud using particleEmitter.\n\n" + "The second effect spawns the list of ParticleEmitters given by the emitter[] " + "field. These emitters generate particles in the normal way throughout the " + "lifetime of the explosion." ); + addField( "particleDensity", TypeS32, Offset(particleDensity, ExplosionData), + "@brief Density of the particle cloud created at the start of the explosion.\n\n" + "@see particleEmitter" ); + addField( "particleRadius", TypeF32, Offset(particleRadius, ExplosionData), + "@brief Radial distance from the explosion center at which cloud particles " + "are emitted.\n\n" + "@see particleEmitter" ); + addField( "emitter", TYPEID< ParticleEmitterData >(), Offset(emitterList, ExplosionData), EC_NUM_EMITTERS, + "@brief List of additional ParticleEmitterData objects to spawn with this " + "explosion.\n\n" + "@see particleEmitter" ); + endGroup("Particle Effects"); + + addGroup("Debris"); + addField( "debris", TYPEID< DebrisData >(), Offset(debrisList, ExplosionData), EC_NUM_DEBRIS_TYPES, + "List of DebrisData objects to spawn with this explosion." ); + addField( "debrisThetaMin", TypeF32, Offset(debrisThetaMin, ExplosionData), + "Minimum angle, from the horizontal plane, to eject debris from." ); + addField( "debrisThetaMax", TypeF32, Offset(debrisThetaMax, ExplosionData), + "Maximum angle, from the horizontal plane, to eject debris from." ); + addField( "debrisPhiMin", TypeF32, Offset(debrisPhiMin, ExplosionData), + "Minimum reference angle, from the vertical plane, to eject debris from." ); + addField( "debrisPhiMax", TypeF32, Offset(debrisPhiMax, ExplosionData), + "Maximum reference angle, from the vertical plane, to eject debris from." ); + addField( "debrisNum", TypeS32, Offset(debrisNum, ExplosionData), + "Number of debris objects to create." ); + addField( "debrisNumVariance", TypeS32, Offset(debrisNumVariance, ExplosionData), + "Variance in the number of debris objects to create (must be from 0 - debrisNum)." ); + addField( "debrisVelocity", TypeF32, Offset(debrisVelocity, ExplosionData), + "Velocity to toss debris at." ); + addField( "debrisVelocityVariance", TypeF32, Offset(debrisVelocityVariance, ExplosionData), + "Variance in the debris initial velocity (must be >= 0)." ); + addField( "subExplosion", TYPEID< ExplosionData >(), Offset(explosionList, ExplosionData), EC_MAX_SUB_EXPLOSIONS, + "List of additional ExplosionData objects to create at the start of the explosion." ); + endGroup("Debris"); + + + addGroup("Animation"); + addField("explosionScale", TypePoint3F, Offset(explosionScale, ExplosionData), "\"X Y Z\" scale factor applied to the explosionShape model at the start " - "of the explosion." ); - addField( "playSpeed", TypeF32, Offset(playSpeed, ExplosionData), - "Time scale at which to play the explosionShape ambient sequence." ); + "of the explosion."); + addField("playSpeed", TypeF32, Offset(playSpeed, ExplosionData), + "Time scale at which to play the explosionShape ambient sequence."); - INITPERSISTFIELD_SOUNDASSET(Sound, ExplosionData, "Sound to play when this explosion explodes."); + addField( "delayMS", TypeS32, Offset(delayMS, ExplosionData), + "Amount of time, in milliseconds, to delay the start of the explosion effect " + "from the creation of the Explosion object." ); + addField( "delayVariance", TypeS32, Offset(delayVariance, ExplosionData), + "Variance, in milliseconds, of delayMS." ); + addField( "lifetimeMS", TypeS32, Offset(lifetimeMS, ExplosionData), + "@brief Lifetime, in milliseconds, of the Explosion object.\n\n" + "@note If explosionShape is defined and contains an ambient animation, " + "this field is ignored, and the playSpeed scaled duration of the animation " + "is used instead." ); + addField( "lifetimeVariance", TypeS32, Offset(lifetimeVariance, ExplosionData), + "Variance, in milliseconds, of the lifetimeMS of the Explosion object.\n" ); + addField( "offset", TypeF32, Offset(offset, ExplosionData), + "@brief Offset distance (in a random direction) of the center of the explosion " + "from the Explosion object position.\n\n" + "Most often used to create some variance in position for subExplosion effects." ); - addField( "faceViewer", TypeBool, Offset(faceViewer, ExplosionData), - "Controls whether the visual effects of the explosion always face the camera." ); + addField( "times", TypeF32, Offset(times, ExplosionData), EC_NUM_TIME_KEYS, + "@brief Time keyframes used to scale the explosionShape model.\n\n" + "Values should be in increasing order from 0.0 - 1.0, and correspond to " + "the life of the Explosion where 0 is the beginning and 1 is the end of " + "the explosion lifetime.\n" + "@see lifetimeMS" ); + addField( "sizes", TypePoint3F, Offset(sizes, ExplosionData), EC_NUM_TIME_KEYS, + "@brief \"X Y Z\" size keyframes used to scale the explosionShape model.\n\n" + "The explosionShape (if defined) will be scaled using the times/sizes " + "keyframes over the lifetime of the explosion.\n" + "@see lifetimeMS" ); + endGroup("Animation"); - addField( "particleEmitter", TYPEID< ParticleEmitterData >(), Offset(particleEmitter, ExplosionData), - "@brief Emitter used to generate a cloud of particles at the start of the explosion.\n\n" - "Explosions can generate two different particle effects. The first is a " - "single burst of particles at the start of the explosion emitted in a " - "spherical cloud using particleEmitter.\n\n" - "The second effect spawns the list of ParticleEmitters given by the emitter[] " - "field. These emitters generate particles in the normal way throughout the " - "lifetime of the explosion." ); - addField( "particleDensity", TypeS32, Offset(particleDensity, ExplosionData), - "@brief Density of the particle cloud created at the start of the explosion.\n\n" - "@see particleEmitter" ); - addField( "particleRadius", TypeF32, Offset(particleRadius, ExplosionData), - "@brief Radial distance from the explosion center at which cloud particles " - "are emitted.\n\n" - "@see particleEmitter" ); - addField( "emitter", TYPEID< ParticleEmitterData >(), Offset(emitterList, ExplosionData), EC_NUM_EMITTERS, - "@brief List of additional ParticleEmitterData objects to spawn with this " - "explosion.\n\n" - "@see particleEmitter" ); + addGroup("Camera Shake"); + addField( "shakeCamera", TypeBool, Offset(shakeCamera, ExplosionData), + "Controls whether the camera shakes during this explosion." ); + addField( "camShakeFreq", TypePoint3F, Offset(camShakeFreq, ExplosionData), + "Frequency of camera shaking, defined in the \"X Y Z\" axes." ); + addField( "camShakeAmp", TypePoint3F, Offset(camShakeAmp, ExplosionData), + "@brief Amplitude of camera shaking, defined in the \"X Y Z\" axes.\n\n" + "Set any value to 0 to disable shaking in that axis." ); + addField( "camShakeDuration", TypeF32, Offset(camShakeDuration, ExplosionData), + "Duration (in seconds) to shake the camera." ); + addField( "camShakeRadius", TypeF32, Offset(camShakeRadius, ExplosionData), + "Radial distance that a camera's position must be within relative to the " + "center of the explosion to be shaken." ); + addField( "camShakeFalloff", TypeF32, Offset(camShakeFalloff, ExplosionData), + "Falloff value for the camera shake." ); + endGroup("Camera Shake"); - addField( "debris", TYPEID< DebrisData >(), Offset(debrisList, ExplosionData), EC_NUM_DEBRIS_TYPES, - "List of DebrisData objects to spawn with this explosion." ); - addField( "debrisThetaMin", TypeF32, Offset(debrisThetaMin, ExplosionData), - "Minimum angle, from the horizontal plane, to eject debris from." ); - addField( "debrisThetaMax", TypeF32, Offset(debrisThetaMax, ExplosionData), - "Maximum angle, from the horizontal plane, to eject debris from." ); - addField( "debrisPhiMin", TypeF32, Offset(debrisPhiMin, ExplosionData), - "Minimum reference angle, from the vertical plane, to eject debris from." ); - addField( "debrisPhiMax", TypeF32, Offset(debrisPhiMax, ExplosionData), - "Maximum reference angle, from the vertical plane, to eject debris from." ); - addField( "debrisNum", TypeS32, Offset(debrisNum, ExplosionData), - "Number of debris objects to create." ); - addField( "debrisNumVariance", TypeS32, Offset(debrisNumVariance, ExplosionData), - "Variance in the number of debris objects to create (must be from 0 - debrisNum)." ); - addField( "debrisVelocity", TypeF32, Offset(debrisVelocity, ExplosionData), - "Velocity to toss debris at." ); - addField( "debrisVelocityVariance", TypeF32, Offset(debrisVelocityVariance, ExplosionData), - "Variance in the debris initial velocity (must be >= 0)." ); - - addField( "subExplosion", TYPEID< ExplosionData >(), Offset(explosionList, ExplosionData), EC_MAX_SUB_EXPLOSIONS, - "List of additional ExplosionData objects to create at the start of the " - "explosion." ); - - addField( "delayMS", TypeS32, Offset(delayMS, ExplosionData), - "Amount of time, in milliseconds, to delay the start of the explosion effect " - "from the creation of the Explosion object." ); - addField( "delayVariance", TypeS32, Offset(delayVariance, ExplosionData), - "Variance, in milliseconds, of delayMS." ); - addField( "lifetimeMS", TypeS32, Offset(lifetimeMS, ExplosionData), - "@brief Lifetime, in milliseconds, of the Explosion object.\n\n" - "@note If explosionShape is defined and contains an ambient animation, " - "this field is ignored, and the playSpeed scaled duration of the animation " - "is used instead." ); - addField( "lifetimeVariance", TypeS32, Offset(lifetimeVariance, ExplosionData), - "Variance, in milliseconds, of the lifetimeMS of the Explosion object.\n" ); - addField( "offset", TypeF32, Offset(offset, ExplosionData), - "@brief Offset distance (in a random direction) of the center of the explosion " - "from the Explosion object position.\n\n" - "Most often used to create some variance in position for subExplosion effects." ); - - addField( "times", TypeF32, Offset(times, ExplosionData), EC_NUM_TIME_KEYS, - "@brief Time keyframes used to scale the explosionShape model.\n\n" - "Values should be in increasing order from 0.0 - 1.0, and correspond to " - "the life of the Explosion where 0 is the beginning and 1 is the end of " - "the explosion lifetime.\n" - "@see lifetimeMS" ); - addField( "sizes", TypePoint3F, Offset(sizes, ExplosionData), EC_NUM_TIME_KEYS, - "@brief \"X Y Z\" size keyframes used to scale the explosionShape model.\n\n" - "The explosionShape (if defined) will be scaled using the times/sizes " - "keyframes over the lifetime of the explosion.\n" - "@see lifetimeMS" ); - - addField( "shakeCamera", TypeBool, Offset(shakeCamera, ExplosionData), - "Controls whether the camera shakes during this explosion." ); - addField( "camShakeFreq", TypePoint3F, Offset(camShakeFreq, ExplosionData), - "Frequency of camera shaking, defined in the \"X Y Z\" axes." ); - addField( "camShakeAmp", TypePoint3F, Offset(camShakeAmp, ExplosionData), - "@brief Amplitude of camera shaking, defined in the \"X Y Z\" axes.\n\n" - "Set any value to 0 to disable shaking in that axis." ); - addField( "camShakeDuration", TypeF32, Offset(camShakeDuration, ExplosionData), - "Duration (in seconds) to shake the camera." ); - addField( "camShakeRadius", TypeF32, Offset(camShakeRadius, ExplosionData), - "Radial distance that a camera's position must be within relative to the " - "center of the explosion to be shaken." ); - addField( "camShakeFalloff", TypeF32, Offset(camShakeFalloff, ExplosionData), - "Falloff value for the camera shake." ); - - addField( "lightStartRadius", TypeF32, Offset(lightStartRadius, ExplosionData), - "@brief Initial radius of the PointLight created by this explosion.\n\n" - "Radius is linearly interpolated from lightStartRadius to lightEndRadius " - "over the lifetime of the explosion.\n" - "@see lifetimeMS" ); - addField( "lightEndRadius", TypeF32, Offset(lightEndRadius, ExplosionData), - "@brief Final radius of the PointLight created by this explosion.\n\n" - "@see lightStartRadius" ); - addField( "lightStartColor", TypeColorF, Offset(lightStartColor, ExplosionData), - "@brief Initial color of the PointLight created by this explosion.\n\n" - "Color is linearly interpolated from lightStartColor to lightEndColor " - "over the lifetime of the explosion.\n" - "@see lifetimeMS" ); - addField( "lightEndColor", TypeColorF, Offset(lightEndColor, ExplosionData), - "@brief Final color of the PointLight created by this explosion.\n\n" - "@see lightStartColor" ); - addField( "lightStartBrightness", TypeF32, Offset(lightStartBrightness, ExplosionData), - "@brief Initial brightness of the PointLight created by this explosion.\n\n" - "Brightness is linearly interpolated from lightStartBrightness to " - "lightEndBrightness over the lifetime of the explosion.\n" - "@see lifetimeMS" ); - addField("lightEndBrightness", TypeF32, Offset(lightEndBrightness, ExplosionData), - "@brief Final brightness of the PointLight created by this explosion.\n\n" - "@see lightStartBrightness" ); - addField( "lightNormalOffset", TypeF32, Offset(lightNormalOffset, ExplosionData), - "Distance (in the explosion normal direction) of the PointLight position " - "from the explosion center." ); + addGroup("Light Emitter"); + addField( "lightStartRadius", TypeF32, Offset(lightStartRadius, ExplosionData), + "@brief Initial radius of the PointLight created by this explosion.\n\n" + "Radius is linearly interpolated from lightStartRadius to lightEndRadius " + "over the lifetime of the explosion.\n" + "@see lifetimeMS" ); + addField( "lightEndRadius", TypeF32, Offset(lightEndRadius, ExplosionData), + "@brief Final radius of the PointLight created by this explosion.\n\n" + "@see lightStartRadius" ); + addField( "lightStartColor", TypeColorF, Offset(lightStartColor, ExplosionData), + "@brief Initial color of the PointLight created by this explosion.\n\n" + "Color is linearly interpolated from lightStartColor to lightEndColor " + "over the lifetime of the explosion.\n" + "@see lifetimeMS" ); + addField( "lightEndColor", TypeColorF, Offset(lightEndColor, ExplosionData), + "@brief Final color of the PointLight created by this explosion.\n\n" + "@see lightStartColor" ); + addField( "lightStartBrightness", TypeF32, Offset(lightStartBrightness, ExplosionData), + "@brief Initial brightness of the PointLight created by this explosion.\n\n" + "Brightness is linearly interpolated from lightStartBrightness to " + "lightEndBrightness over the lifetime of the explosion.\n" + "@see lifetimeMS" ); + addField("lightEndBrightness", TypeF32, Offset(lightEndBrightness, ExplosionData), + "@brief Final brightness of the PointLight created by this explosion.\n\n" + "@see lightStartBrightness" ); + addField( "lightNormalOffset", TypeF32, Offset(lightNormalOffset, ExplosionData), + "Distance (in the explosion normal direction) of the PointLight position " + "from the explosion center." ); + endGroup("Light Emitter"); // disallow some field substitutions onlyKeepClearSubstitutions("debris"); // subs resolving to "~~", or "~0" are OK diff --git a/Engine/source/T3D/item.cpp b/Engine/source/T3D/item.cpp index 4b592ed78..a3e384faf 100644 --- a/Engine/source/T3D/item.cpp +++ b/Engine/source/T3D/item.cpp @@ -88,7 +88,6 @@ ConsoleDocClass( ItemData, " density = 2;\n" " drag = 0.5;\n" " maxVelocity = \"10.0\";\n" - " emap = true;\n" " sticky = false;\n" " dynamicType = \"0\"\n;" " lightOnlyStatic = false;\n" @@ -109,9 +108,6 @@ ConsoleDocClass( ItemData, ItemData::ItemData() { - shadowEnable = true; - - friction = 0; elasticity = 0; @@ -141,38 +137,41 @@ EndImplementEnumType; void ItemData::initPersistFields() { - addField("friction", TypeF32, Offset(friction, ItemData), "A floating-point value specifying how much velocity is lost to impact and sliding friction."); - addField("elasticity", TypeF32, Offset(elasticity, ItemData), "A floating-point value specifying how 'bouncy' this ItemData is."); - addField("sticky", TypeBool, Offset(sticky, ItemData), - "@brief If true, ItemData will 'stick' to any surface it collides with.\n\n" - "When an item does stick to a surface, the Item::onStickyCollision() callback is called. The Item has methods to retrieve " - "the world position and normal the Item is stuck to.\n" - "@note Valid objects to stick to must be of StaticShapeObjectType.\n"); - addField("gravityMod", TypeF32, Offset(gravityMod, ItemData), "Floating point value to multiply the existing gravity with, just for this ItemData."); - addField("maxVelocity", TypeF32, Offset(maxVelocity, ItemData), "Maximum velocity that this ItemData is able to move."); + addGroup("Physics"); + addField("friction", TypeF32, Offset(friction, ItemData), "A floating-point value specifying how much velocity is lost to impact and sliding friction."); + addField("elasticity", TypeF32, Offset(elasticity, ItemData), "A floating-point value specifying how 'bouncy' this ItemData is."); + addField("sticky", TypeBool, Offset(sticky, ItemData), + "@brief If true, ItemData will 'stick' to any surface it collides with.\n\n" + "When an item does stick to a surface, the Item::onStickyCollision() callback is called. The Item has methods to retrieve " + "the world position and normal the Item is stuck to.\n" + "@note Valid objects to stick to must be of StaticShapeObjectType.\n"); + addField("gravityMod", TypeF32, Offset(gravityMod, ItemData), "Floating point value to multiply the existing gravity with, just for this ItemData."); + addField("maxVelocity", TypeF32, Offset(maxVelocity, ItemData), "Maximum velocity that this ItemData is able to move."); + addField("simpleServerCollision", TypeBool, Offset(simpleServerCollision, ItemData), + "@brief Determines if only simple server-side collision will be used (for pick ups).\n\n" + "If set to true then only simple, server-side collision detection will be used. This is often the case " + "if the item is used for a pick up object, such as ammo. If set to false then a full collision volume " + "will be used as defined by the shape. The default is true.\n" + "@note Only applies when using a physics library.\n" + "@see TurretShape and ProximityMine for examples that should set this to false to allow them to be " + "shot by projectiles.\n"); + endGroup("Physics"); - addField("lightType", TYPEID< Item::LightType >(), Offset(lightType, ItemData), "Type of light to apply to this ItemData. Options are NoLight, ConstantLight, PulsingLight. Default is NoLight." ); - addField("lightColor", TypeColorF, Offset(lightColor, ItemData), - "@brief Color value to make this light. Example: \"1.0,1.0,1.0\"\n\n" - "@see lightType\n"); - addField("lightTime", TypeS32, Offset(lightTime, ItemData), - "@brief Time value for the light of this ItemData, used to control the pulse speed of the PulsingLight LightType.\n\n" - "@see lightType\n"); - addField("lightRadius", TypeF32, Offset(lightRadius, ItemData), - "@brief Distance from the center point of this ItemData for the light to affect\n\n" - "@see lightType\n"); - addField("lightOnlyStatic", TypeBool, Offset(lightOnlyStatic, ItemData), - "@brief If true, this ItemData will only cast a light if the Item for this ItemData has a static value of true.\n\n" - "@see lightType\n"); - - addField("simpleServerCollision", TypeBool, Offset(simpleServerCollision, ItemData), - "@brief Determines if only simple server-side collision will be used (for pick ups).\n\n" - "If set to true then only simple, server-side collision detection will be used. This is often the case " - "if the item is used for a pick up object, such as ammo. If set to false then a full collision volume " - "will be used as defined by the shape. The default is true.\n" - "@note Only applies when using a physics library.\n" - "@see TurretShape and ProximityMine for examples that should set this to false to allow them to be " - "shot by projectiles.\n"); + addGroup("Light Emitter"); + addField("lightType", TYPEID< Item::LightType >(), Offset(lightType, ItemData), "Type of light to apply to this ItemData. Options are NoLight, ConstantLight, PulsingLight. Default is NoLight." ); + addField("lightColor", TypeColorF, Offset(lightColor, ItemData), + "@brief Color value to make this light. Example: \"1.0,1.0,1.0\"\n\n" + "@see lightType\n"); + addField("lightTime", TypeS32, Offset(lightTime, ItemData), + "@brief Time value for the light of this ItemData, used to control the pulse speed of the PulsingLight LightType.\n\n" + "@see lightType\n"); + addField("lightRadius", TypeF32, Offset(lightRadius, ItemData), + "@brief Distance from the center point of this ItemData for the light to affect\n\n" + "@see lightType\n"); + addField("lightOnlyStatic", TypeBool, Offset(lightOnlyStatic, ItemData), + "@brief If true, this ItemData will only cast a light if the Item for this ItemData has a static value of true.\n\n" + "@see lightType\n"); + endGroup("Light Emitter"); Parent::initPersistFields(); } @@ -262,7 +261,6 @@ ConsoleDocClass( Item, " mass = 2;\n" " friction = 1;\n" " elasticity = 0.3;\n" - " emap = true;\n\n" " // Dynamic properties used by the scripts\n" " pickupName = \"a health patch\";\n" " repairAmount = 50;\n" diff --git a/Engine/source/T3D/physics/physicsDebris.cpp b/Engine/source/T3D/physics/physicsDebris.cpp index 077fcf7d8..93e9ec6f5 100644 --- a/Engine/source/T3D/physics/physicsDebris.cpp +++ b/Engine/source/T3D/physics/physicsDebris.cpp @@ -110,19 +110,20 @@ bool PhysicsDebrisData::preload( bool server, String &errorStr ) void PhysicsDebrisData::initPersistFields() { - addGroup( "Display" ); + addGroup( "Shapes" ); addProtectedField( "shapeFile", TypeShapeFilename, Offset( mShapeName, PhysicsDebrisData ), &_setShapeData, &defaultProtectedGetFn, "@brief Path to the .DAE or .DTS file to use for this shape.\n\n" "Compatable with Live-Asset Reloading.", AbstractClassRep::FIELD_HideInInspectors); - + INITPERSISTFIELD_SHAPEASSET(Shape, PhysicsDebrisData, "@brief Shape to use with this debris.\n\n" "Compatable with Live-Asset Reloading."); + endGroup( "Shapes" ); + addGroup("Rendering"); addField( "castShadows", TypeBool, Offset( castShadows, PhysicsDebrisData ), "@brief Determines if the shape's shadow should be cast onto the environment.\n\n" ); - - endGroup( "Display" ); + endGroup("Rendering"); addGroup( "Physical Properties" ); @@ -723,4 +724,4 @@ void PhysicsDebris::_onPhysicsReset( PhysicsResetEvent reset ) // Editing stuff, clean up the trash! safeDeleteObject(); } -} \ No newline at end of file +} diff --git a/Engine/source/T3D/physics/physicsShape.cpp b/Engine/source/T3D/physics/physicsShape.cpp index 6e6b4e937..c11c5b7da 100644 --- a/Engine/source/T3D/physics/physicsShape.cpp +++ b/Engine/source/T3D/physics/physicsShape.cpp @@ -89,7 +89,7 @@ void PhysicsShapeData::initPersistFields() { Parent::initPersistFields(); - addGroup("Media"); + addGroup("Shapes"); INITPERSISTFIELD_SHAPEASSET(Shape, PhysicsShapeData, "@brief Shape asset to be used with this physics object.\n\n" "Compatable with Live-Asset Reloading. ") @@ -103,7 +103,7 @@ void PhysicsShapeData::initPersistFields() addField( "destroyedShape", TYPEID< SimObjectRef >(), Offset( destroyedShape, PhysicsShapeData ), "@brief Name of a PhysicsShapeData to spawn when this shape is destroyed (optional)." ); - endGroup("Media"); + endGroup("Shapes"); addGroup( "Physics" ); diff --git a/Engine/source/T3D/player.cpp b/Engine/source/T3D/player.cpp index 32b0b0d22..10c47ea95 100644 --- a/Engine/source/T3D/player.cpp +++ b/Engine/source/T3D/player.cpp @@ -282,7 +282,6 @@ IMPLEMENT_CALLBACK( PlayerData, onLeaveMissionArea, void, ( Player* obj ), ( obj PlayerData::PlayerData() { - shadowEnable = true; shadowSize = 256; shadowProjectionDistance = 14.0f; diff --git a/Engine/source/T3D/projectile.cpp b/Engine/source/T3D/projectile.cpp index e43372720..fc39ad663 100644 --- a/Engine/source/T3D/projectile.cpp +++ b/Engine/source/T3D/projectile.cpp @@ -232,88 +232,90 @@ ProjectileData::ProjectileData(const ProjectileData& other, bool temp_clone) : G void ProjectileData::initPersistFields() { - addField("particleEmitter", TYPEID< ParticleEmitterData >(), Offset(particleEmitter, ProjectileData), - "@brief Particle emitter datablock used to generate particles while the projectile is outside of water.\n\n" - "@note If datablocks are defined for both particleEmitter and particleWaterEmitter, both effects will play " - "as the projectile enters or leaves water.\n\n" - "@see particleWaterEmitter\n"); - addField("particleWaterEmitter", TYPEID< ParticleEmitterData >(), Offset(particleWaterEmitter, ProjectileData), - "@brief Particle emitter datablock used to generate particles while the projectile is submerged in water.\n\n" - "@note If datablocks are defined for both particleWaterEmitter and particleEmitter , both effects will play " - "as the projectile enters or leaves water.\n\n" - "@see particleEmitter\n"); + addGroup("Physics"); + addProtectedField("lifetime", TypeS32, Offset(lifetime, ProjectileData), &setLifetime, &getScaledValue, + "@brief Amount of time, in milliseconds, before the projectile is removed from the simulation.\n\n" + "Used with fadeDelay to determine the transparency of the projectile at a given time. " + "A projectile may exist up to a maximum of 131040ms (or 4095 ticks) as defined by Projectile::MaxLivingTicks in the source code." + "@see fadeDelay"); + addProtectedField("armingDelay", TypeS32, Offset(armingDelay, ProjectileData), &setArmingDelay, &getScaledValue, + "@brief Amount of time, in milliseconds, before the projectile will cause damage or explode on impact.\n\n" + "This value must be equal to or less than the projectile's lifetime.\n\n" + "@see lifetime"); + addProtectedField("fadeDelay", TypeS32, Offset(fadeDelay, ProjectileData), &setFadeDelay, &getScaledValue, + "@brief Amount of time, in milliseconds, before the projectile begins to fade out.\n\n" + "This value must be smaller than the projectile's lifetime to have an affect."); + addField("isBallistic", TypeBool, Offset(isBallistic, ProjectileData), + "@brief Detetmines if the projectile should be affected by gravity and whether or not " + "it bounces before exploding.\n\n"); + addField("velInheritFactor", TypeF32, Offset(velInheritFactor, ProjectileData), + "@brief Amount of velocity the projectile recieves from the source that created it.\n\n" + "Use an amount between 0 and 1 for the best effect. " + "This value is never modified by the engine.\n" + "@note This value by default is not transmitted between the server and the client."); + addField("muzzleVelocity", TypeF32, Offset(muzzleVelocity, ProjectileData), + "@brief Amount of velocity the projectile recieves from the \"muzzle\" of the gun.\n\n" + "Used with velInheritFactor to determine the initial velocity of the projectile. " + "This value is never modified by the engine.\n\n" + "@note This value by default is not transmitted between the server and the client.\n\n" + "@see velInheritFactor"); + addField("impactForce", TypeF32, Offset(impactForce, ProjectileData)); + addField("bounceElasticity", TypeF32, Offset(bounceElasticity, ProjectileData), + "@brief Influences post-bounce velocity of a projectile that does not explode on contact.\n\n" + "Scales the velocity from a bounce after friction is taken into account. " + "A value of 1.0 will leave it's velocity unchanged while values greater than 1.0 will increase it.\n"); + addField("bounceFriction", TypeF32, Offset(bounceFriction, ProjectileData), + "@brief Factor to reduce post-bounce velocity of a projectile that does not explode on contact.\n\n" + "Reduces bounce velocity by this factor and a multiple of the tangent to impact. " + "Used to simulate surface friction.\n"); + addField("gravityMod", TypeF32, Offset(gravityMod, ProjectileData), + "@brief Scales the influence of gravity on the projectile.\n\n" + "The larger this value is, the more that gravity will affect the projectile. " + "A value of 1.0 will assume \"normal\" influence upon it.\n" + "The magnitude of gravity is assumed to be 9.81 m/s/s\n\n" + "@note ProjectileData::isBallistic must be true for this to have any affect."); + endGroup("Physics"); - addProtectedField("projectileShapeName", TypeShapeFilename, Offset(mProjectileShapeName, ProjectileData), &_setProjectileShapeData, &defaultProtectedGetFn, - "@brief File path to the model of the projectile.\n\n", AbstractClassRep::FIELD_HideInInspectors); - - INITPERSISTFIELD_SHAPEASSET(ProjectileShape, ProjectileData, "@brief The model of the projectile.\n\n"); + addGroup("Shapes"); + addProtectedField("projectileShapeName", TypeShapeFilename, Offset(mProjectileShapeName, ProjectileData), &_setProjectileShapeData, &defaultProtectedGetFn, + "@brief File path to the model of the projectile.\n\n", AbstractClassRep::FIELD_HideInInspectors); + INITPERSISTFIELD_SHAPEASSET(ProjectileShape, ProjectileData, "@brief The model of the projectile.\n\n"); + addField("scale", TypePoint3F, Offset(scale, ProjectileData), + "@brief Scale to apply to the projectile's size.\n\n" + "@note This is applied after SceneObject::scale\n"); + endGroup("Shapes"); - addField("scale", TypePoint3F, Offset(scale, ProjectileData), - "@brief Scale to apply to the projectile's size.\n\n" - "@note This is applied after SceneObject::scale\n"); + addGroup("Particle Effects"); + addField("particleEmitter", TYPEID< ParticleEmitterData >(), Offset(particleEmitter, ProjectileData), + "@brief Particle emitter datablock used to generate particles while the projectile is outside of water.\n\n" + "@note If datablocks are defined for both particleEmitter and particleWaterEmitter, both effects will play " + "as the projectile enters or leaves water.\n\n" + "@see particleWaterEmitter\n"); + addField("particleWaterEmitter", TYPEID< ParticleEmitterData >(), Offset(particleWaterEmitter, ProjectileData), + "@brief Particle emitter datablock used to generate particles while the projectile is submerged in water.\n\n" + "@note If datablocks are defined for both particleWaterEmitter and particleEmitter , both effects will play " + "as the projectile enters or leaves water.\n\n" + "@see particleEmitter\n"); + addField("explosion", TYPEID< ExplosionData >(), Offset(explosion, ProjectileData), + "@brief Explosion datablock used when the projectile explodes outside of water.\n\n"); + addField("waterExplosion", TYPEID< ExplosionData >(), Offset(waterExplosion, ProjectileData), + "@brief Explosion datablock used when the projectile explodes underwater.\n\n"); + addField("splash", TYPEID< SplashData >(), Offset(splash, ProjectileData), + "@brief Splash datablock used to create splash effects as the projectile enters or leaves water\n\n"); + addField("decal", TYPEID< DecalData >(), Offset(decal, ProjectileData), + "@brief Decal datablock used for decals placed at projectile explosion points.\n\n"); + endGroup("Particle Effects"); - INITPERSISTFIELD_SOUNDASSET(ProjectileSound, ProjectileData, "The sound for the projectile."); + addGroup("Sounds"); + INITPERSISTFIELD_SOUNDASSET(ProjectileSound, ProjectileData, "The sound for the projectile."); + endGroup("Sounds"); - addField("explosion", TYPEID< ExplosionData >(), Offset(explosion, ProjectileData), - "@brief Explosion datablock used when the projectile explodes outside of water.\n\n"); - addField("waterExplosion", TYPEID< ExplosionData >(), Offset(waterExplosion, ProjectileData), - "@brief Explosion datablock used when the projectile explodes underwater.\n\n"); + addGroup("Light Emitter"); + addField("lightDesc", TYPEID< LightDescription >(), Offset(lightDesc, ProjectileData), + "@brief LightDescription datablock used for lights attached to the projectile.\n\n"); + endGroup("Light Emitter"); - addField("splash", TYPEID< SplashData >(), Offset(splash, ProjectileData), - "@brief Splash datablock used to create splash effects as the projectile enters or leaves water\n\n"); - addField("decal", TYPEID< DecalData >(), Offset(decal, ProjectileData), - "@brief Decal datablock used for decals placed at projectile explosion points.\n\n"); - - addField("lightDesc", TYPEID< LightDescription >(), Offset(lightDesc, ProjectileData), - "@brief LightDescription datablock used for lights attached to the projectile.\n\n"); - - addField("isBallistic", TypeBool, Offset(isBallistic, ProjectileData), - "@brief Detetmines if the projectile should be affected by gravity and whether or not " - "it bounces before exploding.\n\n"); - - addField("velInheritFactor", TypeF32, Offset(velInheritFactor, ProjectileData), - "@brief Amount of velocity the projectile recieves from the source that created it.\n\n" - "Use an amount between 0 and 1 for the best effect. " - "This value is never modified by the engine.\n" - "@note This value by default is not transmitted between the server and the client."); - addField("muzzleVelocity", TypeF32, Offset(muzzleVelocity, ProjectileData), - "@brief Amount of velocity the projectile recieves from the \"muzzle\" of the gun.\n\n" - "Used with velInheritFactor to determine the initial velocity of the projectile. " - "This value is never modified by the engine.\n\n" - "@note This value by default is not transmitted between the server and the client.\n\n" - "@see velInheritFactor"); - - addField("impactForce", TypeF32, Offset(impactForce, ProjectileData)); - - addProtectedField("lifetime", TypeS32, Offset(lifetime, ProjectileData), &setLifetime, &getScaledValue, - "@brief Amount of time, in milliseconds, before the projectile is removed from the simulation.\n\n" - "Used with fadeDelay to determine the transparency of the projectile at a given time. " - "A projectile may exist up to a maximum of 131040ms (or 4095 ticks) as defined by Projectile::MaxLivingTicks in the source code." - "@see fadeDelay"); - - addProtectedField("armingDelay", TypeS32, Offset(armingDelay, ProjectileData), &setArmingDelay, &getScaledValue, - "@brief Amount of time, in milliseconds, before the projectile will cause damage or explode on impact.\n\n" - "This value must be equal to or less than the projectile's lifetime.\n\n" - "@see lifetime"); - addProtectedField("fadeDelay", TypeS32, Offset(fadeDelay, ProjectileData), &setFadeDelay, &getScaledValue, - "@brief Amount of time, in milliseconds, before the projectile begins to fade out.\n\n" - "This value must be smaller than the projectile's lifetime to have an affect."); - - addField("bounceElasticity", TypeF32, Offset(bounceElasticity, ProjectileData), - "@brief Influences post-bounce velocity of a projectile that does not explode on contact.\n\n" - "Scales the velocity from a bounce after friction is taken into account. " - "A value of 1.0 will leave it's velocity unchanged while values greater than 1.0 will increase it.\n"); - addField("bounceFriction", TypeF32, Offset(bounceFriction, ProjectileData), - "@brief Factor to reduce post-bounce velocity of a projectile that does not explode on contact.\n\n" - "Reduces bounce velocity by this factor and a multiple of the tangent to impact. " - "Used to simulate surface friction.\n"); - addField("gravityMod", TypeF32, Offset(gravityMod, ProjectileData ), - "@brief Scales the influence of gravity on the projectile.\n\n" - "The larger this value is, the more that gravity will affect the projectile. " - "A value of 1.0 will assume \"normal\" influence upon it.\n" - "The magnitude of gravity is assumed to be 9.81 m/s/s\n\n" - "@note ProjectileData::isBallistic must be true for this to have any affect."); // disallow some field substitutions onlyKeepClearSubstitutions("explosion"); onlyKeepClearSubstitutions("particleEmitter"); diff --git a/Engine/source/T3D/rigidShape.cpp b/Engine/source/T3D/rigidShape.cpp index 3fe833824..4301e7ded 100644 --- a/Engine/source/T3D/rigidShape.cpp +++ b/Engine/source/T3D/rigidShape.cpp @@ -61,7 +61,6 @@ ConsoleDocClass( RigidShapeData, " category = \"RigidShape\";\n" "\n" " shapeFile = \"~/data/shapes/boulder/boulder.dts\";\n" - " emap = true;\n" "\n" " // Rigid Body\n" " mass = 500;\n" @@ -112,7 +111,6 @@ ConsoleDocClass( RigidShape, " category = \"RigidShape\";\n" "\n" " shapeFile = \"~/data/shapes/boulder/boulder.dts\";\n" - " emap = true;\n" "\n" " // Rigid Body\n" " mass = 500;\n" @@ -232,8 +230,6 @@ EndImplementEnumType; RigidShapeData::RigidShapeData() { - shadowEnable = true; - body.friction = 0; body.restitution = 1; @@ -517,69 +513,52 @@ void RigidShapeData::unpackData(BitStream* stream) void RigidShapeData::initPersistFields() { addGroup("Physics"); - addField("enablePhysicsRep", TypeBool, Offset(enablePhysicsRep, RigidShapeData), - "@brief Creates a representation of the object in the physics plugin.\n"); - endGroup("Physics"); - - addField("massCenter", TypePoint3F, Offset(massCenter, RigidShapeData), "Center of mass for rigid body."); - addField("massBox", TypePoint3F, Offset(massBox, RigidShapeData), "Size of inertial box."); - addField("bodyRestitution", TypeF32, Offset(body.restitution, RigidShapeData), "The percentage of kinetic energy kept by this object in a collision."); - addField("bodyFriction", TypeF32, Offset(body.friction, RigidShapeData), "How much friction this object has. Lower values will cause the object to appear to be more slippery."); - - addField("minImpactSpeed", TypeF32, Offset(minImpactSpeed, RigidShapeData), - "Minimum collision speed to classify collision as impact (triggers onImpact on server object)." ); - addField("softImpactSpeed", TypeF32, Offset(softImpactSpeed, RigidShapeData), "Minimum speed at which this object must be travelling for the soft impact sound to be played."); - addField("hardImpactSpeed", TypeF32, Offset(hardImpactSpeed, RigidShapeData), "Minimum speed at which the object must be travelling for the hard impact sound to be played."); - addField("minRollSpeed", TypeF32, Offset(minRollSpeed, RigidShapeData)); - - addField("maxDrag", TypeF32, Offset(maxDrag, RigidShapeData), "Maximum drag available to this object."); - addField("minDrag", TypeF32, Offset(minDrag, RigidShapeData), "Minimum drag available to this object."); - addField("integration", TypeS32, Offset(integration, RigidShapeData), "Number of physics steps to process per tick."); - addField("collisionTol", TypeF32, Offset(collisionTol, RigidShapeData), "Collision distance tolerance."); - addField("contactTol", TypeF32, Offset(contactTol, RigidShapeData), "Contact velocity tolerance."); - - addGroup( "Forces" ); - + addField("enablePhysicsRep", TypeBool, Offset(enablePhysicsRep, RigidShapeData), + "@brief Creates a representation of the object in the physics plugin.\n"); + ("massCenter", TypePoint3F, Offset(massCenter, RigidShapeData), "Center of mass for rigid body."); + addField("massBox", TypePoint3F, Offset(massBox, RigidShapeData), "Size of inertial box."); + addField("bodyRestitution", TypeF32, Offset(body.restitution, RigidShapeData), "The percentage of kinetic energy kept by this object in a collision."); + addField("bodyFriction", TypeF32, Offset(body.friction, RigidShapeData), "How much friction this object has. Lower values will cause the object to appear to be more slippery."); + addField("maxDrag", TypeF32, Offset(maxDrag, RigidShapeData), "Maximum drag available to this object."); + addField("minDrag", TypeF32, Offset(minDrag, RigidShapeData), "Minimum drag available to this object."); + addField("integration", TypeS32, Offset(integration, RigidShapeData), "Number of physics steps to process per tick."); + addField("collisionTol", TypeF32, Offset(collisionTol, RigidShapeData), "Collision distance tolerance."); + addField("contactTol", TypeF32, Offset(contactTol, RigidShapeData), "Contact velocity tolerance."); addField("dragForce", TypeF32, Offset(dragForce, RigidShapeData), "Used to simulate the constant drag acting on the object"); addField("vertFactor", TypeF32, Offset(vertFactor, RigidShapeData), "The scalar applied to the vertical portion of the velocity drag acting on a object."); - - endGroup( "Forces" ); - - addGroup( "Particle Effects" ); - - addField("dustEmitter", TYPEID< ParticleEmitterData >(), Offset(dustEmitter, RigidShapeData), "Array of pointers to ParticleEmitterData datablocks which will be used to emit particles at object/terrain contact point.\n"); - addField("triggerDustHeight", TypeF32, Offset(triggerDustHeight, RigidShapeData), "Maximum height from the ground at which the object will generate dust.\n"); - addField("dustHeight", TypeF32, Offset(dustHeight, RigidShapeData), "Height of dust effects.\n"); - - addField("dustTrailEmitter", TYPEID< ParticleEmitterData >(), Offset(dustTrailEmitter, RigidShapeData), "Particle emitter used to create a dust trail for the moving object.\n"); - - addField("splashEmitter", TYPEID< ParticleEmitterData >(), Offset(splashEmitterList, RigidShapeData), VC_NUM_SPLASH_EMITTERS, "Array of pointers to ParticleEmitterData datablocks which will generate splash effects.\n"); - - addField("splashFreqMod", TypeF32, Offset(splashFreqMod, RigidShapeData), "The simulated frequency modulation of a splash generated by this object. Multiplied along with speed and time elapsed when determining splash emition rate.\n"); - addField("splashVelEpsilon", TypeF32, Offset(splashVelEpsilon, RigidShapeData), "The threshold speed at which we consider the object's movement to have stopped when updating splash effects.\n"); - - endGroup( "Particle Effects" ); - - addGroup( "Sounds" ); - - INITPERSISTFIELD_SOUNDASSET_ENUMED(BodySounds, bodySounds, Body::Sounds::MaxSounds, RigidShapeData, "Sounds for body."); + endGroup("Physics"); + addGroup("Collision"); + addField("minImpactSpeed", TypeF32, Offset(minImpactSpeed, RigidShapeData), + "Minimum collision speed to classify collision as impact (triggers onImpact on server object)." ); + addField("softImpactSpeed", TypeF32, Offset(softImpactSpeed, RigidShapeData), "Minimum speed at which this object must be travelling for the soft impact sound to be played."); + addField("hardImpactSpeed", TypeF32, Offset(hardImpactSpeed, RigidShapeData), "Minimum speed at which the object must be travelling for the hard impact sound to be played."); + addField("minRollSpeed", TypeF32, Offset(minRollSpeed, RigidShapeData)); addField("exitSplashSoundVelocity", TypeF32, Offset(exitSplashSoundVel, RigidShapeData), "The minimum velocity at which the exit splash sound will be played when emerging from water.\n"); addField("softSplashSoundVelocity", TypeF32, Offset(softSplashSoundVel, RigidShapeData),"The minimum velocity at which the soft splash sound will be played when impacting water.\n"); addField("mediumSplashSoundVelocity", TypeF32, Offset(medSplashSoundVel, RigidShapeData), "The minimum velocity at which the medium splash sound will be played when impacting water.\n"); addField("hardSplashSoundVelocity", TypeF32, Offset(hardSplashSoundVel, RigidShapeData), "The minimum velocity at which the hard splash sound will be played when impacting water.\n"); - - INITPERSISTFIELD_SOUNDASSET_ENUMED(WaterSounds, waterSounds, Sounds::MaxSounds, RigidShapeData, "Sounds for interacting with water."); - + endGroup("Collision"); + + addGroup( "Particle Effects" ); + addField("dustEmitter", TYPEID< ParticleEmitterData >(), Offset(dustEmitter, RigidShapeData), "Array of pointers to ParticleEmitterData datablocks which will be used to emit particles at object/terrain contact point.\n"); + addField("triggerDustHeight", TypeF32, Offset(triggerDustHeight, RigidShapeData), "Maximum height from the ground at which the object will generate dust.\n"); + addField("dustHeight", TypeF32, Offset(dustHeight, RigidShapeData), "Height of dust effects.\n"); + addField("dustTrailEmitter", TYPEID< ParticleEmitterData >(), Offset(dustTrailEmitter, RigidShapeData), "Particle emitter used to create a dust trail for the moving object.\n"); + addField("splashEmitter", TYPEID< ParticleEmitterData >(), Offset(splashEmitterList, RigidShapeData), VC_NUM_SPLASH_EMITTERS, "Array of pointers to ParticleEmitterData datablocks which will generate splash effects.\n"); + addField("splashFreqMod", TypeF32, Offset(splashFreqMod, RigidShapeData), "The simulated frequency modulation of a splash generated by this object. Multiplied along with speed and time elapsed when determining splash emition rate.\n"); + addField("splashVelEpsilon", TypeF32, Offset(splashVelEpsilon, RigidShapeData), "The threshold speed at which we consider the object's movement to have stopped when updating splash effects.\n"); + endGroup( "Particle Effects" ); + + addGroup( "Sounds" ); + INITPERSISTFIELD_SOUNDASSET_ENUMED(BodySounds, bodySounds, Body::Sounds::MaxSounds, RigidShapeData, "Sounds for body."); INITPERSISTFIELD_SOUNDASSET_ENUMED(WaterSounds, waterSounds, Sounds::MaxSounds, RigidShapeData, "Sounds for interacting with water."); endGroup( "Sounds" ); addGroup( "Camera" ); - addField("cameraRoll", TypeBool, Offset(cameraRoll, RigidShapeData), "Specifies whether the camera's rotation matrix, and the render eye transform are multiplied during camera updates.\n"); addField("cameraLag", TypeF32, Offset(cameraLag, RigidShapeData), "Scalar amount by which the third person camera lags the object, relative to the object's linear velocity.\n"); addField("cameraDecay", TypeF32, Offset(cameraDecay, RigidShapeData), "Scalar rate at which the third person camera offset decays, per tick.\n"); addField("cameraOffset", TypeF32, Offset(cameraOffset, RigidShapeData), "The vertical offset of the object's camera.\n"); - endGroup( "Camera" ); Parent::initPersistFields(); diff --git a/Engine/source/T3D/shapeBase.cpp b/Engine/source/T3D/shapeBase.cpp index 1d2ca3502..ac04f7a1f 100644 --- a/Engine/source/T3D/shapeBase.cpp +++ b/Engine/source/T3D/shapeBase.cpp @@ -153,7 +153,7 @@ static const char *sDamageStateName[] = //---------------------------------------------------------------------------- ShapeBaseData::ShapeBaseData() - : shadowEnable( false ), + : shadowSize( 128 ), shadowMaxVisibleDistance( 80.0f ), shadowProjectionDistance( 10.0f ), @@ -208,7 +208,6 @@ ShapeBaseData::ShapeBaseData() ShapeBaseData::ShapeBaseData(const ShapeBaseData& other, bool temp_clone) : GameBaseData(other, temp_clone) { - shadowEnable = other.shadowEnable; shadowSize = other.shadowSize; shadowMaxVisibleDistance = other.shadowMaxVisibleDistance; shadowProjectionDistance = other.shadowProjectionDistance; @@ -535,31 +534,14 @@ bool ShapeBaseData::_setMass( void* object, const char* index, const char* data void ShapeBaseData::initPersistFields() { - addGroup( "Shadows" ); - - addField( "shadowEnable", TypeBool, Offset(shadowEnable, ShapeBaseData), - "Enable shadows for this shape (currently unused, shadows are always enabled)." ); - addField( "shadowSize", TypeS32, Offset(shadowSize, ShapeBaseData), - "Size of the projected shadow texture (must be power of 2)." ); - addField( "shadowMaxVisibleDistance", TypeF32, Offset(shadowMaxVisibleDistance, ShapeBaseData), - "Maximum distance at which shadow is visible (currently unused)." ); - addField( "shadowProjectionDistance", TypeF32, Offset(shadowProjectionDistance, ShapeBaseData), - "Maximum height above ground to project shadow. If the object is higher " - "than this no shadow will be rendered." ); - addField( "shadowSphereAdjust", TypeF32, Offset(shadowSphereAdjust, ShapeBaseData), - "Scalar applied to the radius of spot shadows (initial radius is based " - "on the shape bounds but can be adjusted with this field)." ); - - endGroup( "Shadows" ); - - addGroup( "Render" ); + addGroup( "Shapes" ); INITPERSISTFIELD_SHAPEASSET(Shape, ShapeBaseData, "The source shape asset."); + addField("silentBBoxValidation", TypeBool, Offset(silent_bbox_check, ShapeBaseData)); + INITPERSISTFIELD_SHAPEASSET(DebrisShape, ShapeBaseData, "The shape asset to use for auto-generated breakups via blowup(). @note may not be functional."); + endGroup( "Shapes" ); - endGroup( "Render" ); - - addGroup( "Destruction", "Parameters related to the destruction effects of this object." ); - + addGroup("Particle Effects"); addField( "explosion", TYPEID< ExplosionData >(), Offset(explosion, ShapeBaseData), "%Explosion to generate when this shape is blown up." ); addField( "underwaterExplosion", TYPEID< ExplosionData >(), Offset(underwaterExplosion, ShapeBaseData), @@ -568,23 +550,17 @@ void ShapeBaseData::initPersistFields() "%Debris to generate when this shape is blown up." ); addField( "renderWhenDestroyed", TypeBool, Offset(renderWhenDestroyed, ShapeBaseData), "Whether to render the shape when it is in the \"Destroyed\" damage state." ); + endGroup("Particle Effects"); - INITPERSISTFIELD_SHAPEASSET(DebrisShape, ShapeBaseData, "The shape asset to use for auto-generated breakups. @note may not be functional."); - - endGroup( "Destruction" ); - - addGroup( "Physics" ); - + addGroup( "Physics" ); addProtectedField("mass", TypeF32, Offset(mass, ShapeBaseData), &_setMass, &defaultProtectedGetFn, "Shape mass.\nUsed in simulation of moving objects.\n" ); addField( "drag", TypeF32, Offset(drag, ShapeBaseData), "Drag factor.\nReduces velocity of moving objects." ); addField( "density", TypeF32, Offset(density, ShapeBaseData), "Shape density.\nUsed when computing buoyancy when in water.\n" ); - endGroup( "Physics" ); addGroup( "Damage/Energy" ); - addField( "maxEnergy", TypeF32, Offset(maxEnergy, ShapeBaseData), "Maximum energy level for this object." ); addField( "maxDamage", TypeF32, Offset(maxDamage, ShapeBaseData), @@ -605,11 +581,9 @@ void ShapeBaseData::initPersistFields() addField( "isInvincible", TypeBool, Offset(isInvincible, ShapeBaseData), "Invincible flag; when invincible, the object cannot be damaged or " "repaired." ); - endGroup( "Damage/Energy" ); addGroup( "Camera", "The settings used by the shape when it is the camera." ); - addField( "cameraMaxDist", TypeF32, Offset(cameraMaxDist, ShapeBaseData), "The maximum distance from the camera to the object.\n" "Used when computing a custom camera transform for this object.\n\n" @@ -638,30 +612,38 @@ void ShapeBaseData::initPersistFields() "Observe this object through its camera transform and default fov.\n" "If true, when this object is the camera it can provide a custom camera " "transform and FOV (instead of the default eye transform)." ); - endGroup("Camera"); addGroup( "Misc" ); - addField( "computeCRC", TypeBool, Offset(computeCRC, ShapeBaseData), "If true, verify that the CRC of the client's shape model matches the " "server's CRC for the shape model when loaded by the client." ); - endGroup( "Misc" ); addGroup( "Reflection" ); - addField( "cubeReflectorDesc", TypeRealString, Offset( cubeDescName, ShapeBaseData ), "References a ReflectorDesc datablock that defines performance and quality properties for dynamic reflections.\n"); //addField( "reflectMaxRateMs", TypeS32, Offset( reflectMaxRateMs, ShapeBaseData ), "reflection will not be updated more frequently than this" ); //addField( "reflectMaxDist", TypeF32, Offset( reflectMaxDist, ShapeBaseData ), "distance at which reflection is never updated" ); //addField( "reflectMinDist", TypeF32, Offset( reflectMinDist, ShapeBaseData ), "distance at which reflection is always updated" ); //addField( "reflectDetailAdjust", TypeF32, Offset( reflectDetailAdjust, ShapeBaseData ), "scale up or down the detail level for objects rendered in a reflection" ); - endGroup( "Reflection" ); addField("remapTextureTags", TypeString, Offset(remap_txr_tags, ShapeBaseData)); - addField("silentBBoxValidation", TypeBool, Offset(silent_bbox_check, ShapeBaseData)); + + addGroup("BL Projected Shadows"); + addField("shadowSize", TypeS32, Offset(shadowSize, ShapeBaseData), + "Size of the projected shadow texture (must be power of 2)."); + addField("shadowMaxVisibleDistance", TypeF32, Offset(shadowMaxVisibleDistance, ShapeBaseData), + "Maximum distance at which shadow is visible (currently unused)."); + addField("shadowProjectionDistance", TypeF32, Offset(shadowProjectionDistance, ShapeBaseData), + "Maximum height above ground to project shadow. If the object is higher " + "than this no shadow will be rendered."); + addField("shadowSphereAdjust", TypeF32, Offset(shadowSphereAdjust, ShapeBaseData), + "Scalar applied to the radius of spot shadows (initial radius is based " + "on the shape bounds but can be adjusted with this field)."); + endGroup("BL Projected Shadows"); + // disallow some field substitutions onlyKeepClearSubstitutions("debris"); // subs resolving to "~~", or "~0" are OK onlyKeepClearSubstitutions("explosion"); @@ -751,7 +733,6 @@ void ShapeBaseData::packData(BitStream* stream) if(stream->writeFlag(computeCRC)) stream->write(mCRC); - stream->writeFlag(shadowEnable); stream->write(shadowSize); stream->write(shadowMaxVisibleDistance); stream->write(shadowProjectionDistance); @@ -829,7 +810,6 @@ void ShapeBaseData::unpackData(BitStream* stream) if(computeCRC) stream->read(&mCRC); - shadowEnable = stream->readFlag(); stream->read(&shadowSize); stream->read(&shadowMaxVisibleDistance); stream->read(&shadowProjectionDistance); diff --git a/Engine/source/T3D/shapeBase.h b/Engine/source/T3D/shapeBase.h index 035e6c55c..0d32739fe 100644 --- a/Engine/source/T3D/shapeBase.h +++ b/Engine/source/T3D/shapeBase.h @@ -354,7 +354,6 @@ struct ShapeBaseImageData: public GameBaseData { bool useRemainderDT; // - bool emap; ///< Environment mapping on? bool correctMuzzleVector; ///< Adjust 1st person firing vector to eye's LOS point? bool correctMuzzleVectorTP; ///< Adjust 3rd person firing vector to camera's LOS point? bool firstPerson; ///< Render the image when in first person? @@ -542,7 +541,6 @@ public: // TODO: These are only really used in Basic Lighting // mode... we should probably move them somewhere else. - bool shadowEnable; U32 shadowSize; F32 shadowMaxVisibleDistance; F32 shadowProjectionDistance; diff --git a/Engine/source/T3D/shapeImage.cpp b/Engine/source/T3D/shapeImage.cpp index 4161dbaf7..6e9f0068d 100644 --- a/Engine/source/T3D/shapeImage.cpp +++ b/Engine/source/T3D/shapeImage.cpp @@ -166,8 +166,6 @@ static ShapeBaseImageData::StateData gDefaultStateData; ShapeBaseImageData::ShapeBaseImageData() { - emap = false; - mountPoint = 0; mountOffset.identity(); eyeOffset.identity(); @@ -631,92 +629,108 @@ S32 ShapeBaseImageData::lookupState(const char* name) void ShapeBaseImageData::initPersistFields() { - addField( "emap", TypeBool, Offset(emap, ShapeBaseImageData), - "@brief Whether to enable environment mapping on this Image.\n\n" ); - - INITPERSISTFIELD_SHAPEASSET_ARRAY(Shape, MaxShapes, ShapeBaseImageData, "The shape asset to use for this image in the third person") - + addGroup("Shapes"); + INITPERSISTFIELD_SHAPEASSET_ARRAY(Shape, MaxShapes, ShapeBaseImageData, "The shape asset to use for this image in the third person") //addProtectedField("shapeFileFP", TypeShapeFilename, Offset(mShapeName[1], ShapeBaseImageData), _setShapeData, defaultProtectedGetFn, "deprecated alias for ShapeFPFile/Asset", AbstractClassRep::FIELD_HideInInspectors); + addField("casing", TYPEID< DebrisData >(), Offset(casing, ShapeBaseImageData), + "@brief DebrisData datablock to use for ejected casings.\n\n" + "@see stateEjectShell"); + addField("shellExitDir", TypePoint3F, Offset(shellExitDir, ShapeBaseImageData), + "@brief Vector direction to eject shell casings.\n\n" + "@see casing"); + addField("shellExitVariance", TypeF32, Offset(shellExitVariance, ShapeBaseImageData), + "@brief Variance (in degrees) from the shellExitDir vector to eject casings.\n\n" + "@see shellExitDir"); + addField("shellVelocity", TypeF32, Offset(shellVelocity, ShapeBaseImageData), + "@brief Speed at which to eject casings.\n\n" + "@see casing"); + addField("computeCRC", TypeBool, Offset(computeCRC, ShapeBaseImageData), + "If true, verify that the CRC of the client's Image matches the server's " + "CRC for the Image when loaded by the client."); + endGroup("Shapes"); - addField( "imageAnimPrefix", TypeCaseString, Offset(imageAnimPrefix, ShapeBaseImageData), - "@brief Passed along to the mounting shape to modify animation sequences played in third person. [optional]\n\n" ); - addField( "imageAnimPrefixFP", TypeCaseString, Offset(imageAnimPrefixFP, ShapeBaseImageData), - "@brief Passed along to the mounting shape to modify animation sequences played in first person. [optional]\n\n" ); - - addField( "animateAllShapes", TypeBool, Offset(animateAllShapes, ShapeBaseImageData), - "@brief Indicates that all shapes should be animated in sync.\n\n" - "When multiple shapes are defined for this image datablock, each of them are automatically " - "animated in step with each other. This allows for easy switching between between shapes " - "when some other condition changes, such as going from first person to third person, and " - "keeping their look consistent. If you know that you'll never switch between shapes on the " - "fly, such as players only being allowed in a first person view, then you could set this to " - "false to save some calculations.\n\n" - "There are other circumstances internal to the engine that determine that only the current shape " - "should be animated rather than all defined shapes. In those cases, this property is ignored.\n\n" - "@note This property is only important if you have more than one shape defined, such as shapeFileFP.\n\n" - "@see shapeFileFP\n"); - - addField( "animateOnServer", TypeBool, Offset(animateOnServer, ShapeBaseImageData), - "@brief Indicates that the image should be animated on the server.\n\n" - "In most cases you'll want this set if you're using useEyeNode. You may also want to " - "set this if the muzzlePoint is animated while it shoots. You can set this " - "to false even if these previous cases are true if the image's shape is set " - "up in the correct position and orientation in the 'root' pose and none of " - "the nodes are animated at key times, such as the muzzlePoint essentially " - "remaining at the same position at the start of the fire state (it could " - "animate just fine after the projectile is away as the muzzle vector is only " - "calculated at the start of the state).\n\n" - "You'll also want to set this to true if you're animating the camera using the " - "image's 'eye' node -- unless the movement is very subtle and doesn't need to " - "be reflected on the server.\n\n" - "@note Setting this to true causes up to four animation threads to be advanced on the server " - "for each instance in use, although for most images only one or two are actually defined.\n\n" - "@see useEyeNode\n"); - - addField( "scriptAnimTransitionTime", TypeF32, Offset(scriptAnimTransitionTime, ShapeBaseImageData), - "@brief The amount of time to transition between the previous sequence and new sequence when the script prefix has changed.\n\n" - "When setImageScriptAnimPrefix() is used on a ShapeBase that has this image mounted, the image " - "will attempt to switch to the new animation sequence based on the given script prefix. This is " - "the amount of time it takes to transition from the previously playing animation sequence to" - "the new script prefix-based animation sequence.\n" - "@see ShapeBase::setImageScriptAnimPrefix()"); + addGroup("Animation"); + addField( "imageAnimPrefix", TypeCaseString, Offset(imageAnimPrefix, ShapeBaseImageData), + "@brief Passed along to the mounting shape to modify animation sequences played in third person. [optional]\n\n" ); + addField( "imageAnimPrefixFP", TypeCaseString, Offset(imageAnimPrefixFP, ShapeBaseImageData), + "@brief Passed along to the mounting shape to modify animation sequences played in first person. [optional]\n\n" ); + addField( "animateAllShapes", TypeBool, Offset(animateAllShapes, ShapeBaseImageData), + "@brief Indicates that all shapes should be animated in sync.\n\n" + "When multiple shapes are defined for this image datablock, each of them are automatically " + "animated in step with each other. This allows for easy switching between between shapes " + "when some other condition changes, such as going from first person to third person, and " + "keeping their look consistent. If you know that you'll never switch between shapes on the " + "fly, such as players only being allowed in a first person view, then you could set this to " + "false to save some calculations.\n\n" + "There are other circumstances internal to the engine that determine that only the current shape " + "should be animated rather than all defined shapes. In those cases, this property is ignored.\n\n" + "@note This property is only important if you have more than one shape defined, such as shapeFileFP.\n\n" + "@see shapeFileFP\n"); + addField( "animateOnServer", TypeBool, Offset(animateOnServer, ShapeBaseImageData), + "@brief Indicates that the image should be animated on the server.\n\n" + "In most cases you'll want this set if you're using useEyeNode. You may also want to " + "set this if the muzzlePoint is animated while it shoots. You can set this " + "to false even if these previous cases are true if the image's shape is set " + "up in the correct position and orientation in the 'root' pose and none of " + "the nodes are animated at key times, such as the muzzlePoint essentially " + "remaining at the same position at the start of the fire state (it could " + "animate just fine after the projectile is away as the muzzle vector is only " + "calculated at the start of the state).\n\n" + "You'll also want to set this to true if you're animating the camera using the " + "image's 'eye' node -- unless the movement is very subtle and doesn't need to " + "be reflected on the server.\n\n" + "@note Setting this to true causes up to four animation threads to be advanced on the server " + "for each instance in use, although for most images only one or two are actually defined.\n\n" + "@see useEyeNode\n"); + addField( "scriptAnimTransitionTime", TypeF32, Offset(scriptAnimTransitionTime, ShapeBaseImageData), + "@brief The amount of time to transition between the previous sequence and new sequence when the script prefix has changed.\n\n" + "When setImageScriptAnimPrefix() is used on a ShapeBase that has this image mounted, the image " + "will attempt to switch to the new animation sequence based on the given script prefix. This is " + "the amount of time it takes to transition from the previously playing animation sequence to" + "the new script prefix-based animation sequence.\n" + "@see ShapeBase::setImageScriptAnimPrefix()"); + addGroup("Animation"); addField( "projectile", TYPEID< ProjectileData >(), Offset(projectile, ShapeBaseImageData), "@brief The projectile fired by this Image\n\n" ); - addField( "cloakable", TypeBool, Offset(cloakable, ShapeBaseImageData), "@brief Whether this Image can be cloaked.\n\n" "Currently unused." ); + addField("usesEnergy", TypeBool, Offset(usesEnergy, ShapeBaseImageData), + "@brief Flag indicating whether this Image uses energy instead of ammo. The energy level comes from the ShapeBase object we're mounted to.\n\n" + "@see ShapeBase::setEnergyLevel()"); + addField("minEnergy", TypeF32, Offset(minEnergy, ShapeBaseImageData), + "@brief Minimum Image energy for it to be operable.\n\n" + "@see usesEnergy"); + addGroup("Mounting"); addField( "mountPoint", TypeS32, Offset(mountPoint, ShapeBaseImageData), "@brief Mount node # to mount this Image to.\n\n" "This should correspond to a mount# node on the ShapeBase derived object we are mounting to." ); - addField( "offset", TypeMatrixPosition, Offset(mountOffset, ShapeBaseImageData), "@brief \"X Y Z\" translation offset from this Image's mountPoint node to " "attach to.\n\n" "Defaults to \"0 0 0\". ie. attach this Image's " "mountPoint node to the ShapeBase model's mount# node without any offset.\n" "@see rotation"); - addField( "rotation", TypeMatrixRotation, Offset(mountOffset, ShapeBaseImageData), "@brief \"X Y Z ANGLE\" rotation offset from this Image's mountPoint node " "to attach to.\n\n" "Defaults to \"0 0 0\". ie. attach this Image's " "mountPoint node to the ShapeBase model's mount# node without any additional rotation.\n" "@see offset"); + endGroup("Mounting"); + addGroup("Camera"); addField( "eyeOffset", TypeMatrixPosition, Offset(eyeOffset, ShapeBaseImageData), "@brief \"X Y Z\" translation offset from the ShapeBase model's eye node.\n\n" "When in first person view, this is the offset from the eye node to place the gun. This " "gives the gun a fixed point in space, typical of a lot of FPS games.\n" "@see eyeRotation"); - addField( "eyeRotation", TypeMatrixRotation, Offset(eyeOffset, ShapeBaseImageData), "@brief \"X Y Z ANGLE\" rotation offset from the ShapeBase model's eye node.\n\n" "When in first person view, this is the rotation from the eye node to place the gun.\n" "@see eyeOffset"); - addField( "useEyeNode", TypeBool, Offset(useEyeNode, ShapeBaseImageData), "@brief Mount image using image's eyeMount node and place the camera at the image's eye node (or " "at the eyeMount node if the eye node is missing).\n\n" @@ -728,92 +742,62 @@ void ShapeBaseImageData::initPersistFields() "@note Read about the animateOnServer field as you may want to set it to true if you're using useEyeNode.\n\n" "@see eyeOffset\n\n" "@see animateOnServer\n\n"); + addField("firstPerson", TypeBool, Offset(firstPerson, ShapeBaseImageData), + "@brief Set to true to render the image in first person."); + endGroup("Camera"); + + addGroup("Camera Shake"); + addField( "shakeCamera", TypeBool, Offset(shakeCamera, ShapeBaseImageData), + "@brief Flag indicating whether the camera should shake when this Image fires.\n\n" ); + addField( "camShakeFreq", TypePoint3F, Offset(camShakeFreq, ShapeBaseImageData), + "@brief Frequency of the camera shaking effect.\n\n" + "@see shakeCamera" ); + addField( "camShakeAmp", TypePoint3F, Offset(camShakeAmp, ShapeBaseImageData), + "@brief Amplitude of the camera shaking effect.\n\n" + "@see shakeCamera" ); + addField( "camShakeDuration", TypeF32, Offset(camShakeDuration, ShapeBaseImageData), + "Duration (in seconds) to shake the camera." ); + addField( "camShakeRadius", TypeF32, Offset(camShakeRadius, ShapeBaseImageData), + "Radial distance that a camera's position must be within relative to the " + "center of the explosion to be shaken." ); + addField( "camShakeFalloff", TypeF32, Offset(camShakeFalloff, ShapeBaseImageData), + "Falloff value for the camera shake." ); + endGroup("Camera Shake"); + addGroup("Physics"); addField( "correctMuzzleVector", TypeBool, Offset(correctMuzzleVector, ShapeBaseImageData), "@brief Flag to adjust the aiming vector to the eye's LOS point when in 1st person view.\n\n" "@see ShapeBase::getMuzzleVector()" ); - addField( "correctMuzzleVectorTP", TypeBool, Offset(correctMuzzleVectorTP, ShapeBaseImageData), "@brief Flag to adjust the aiming vector to the camera's LOS point when in 3rd person view.\n\n" "@see ShapeBase::getMuzzleVector()" ); - - addField( "firstPerson", TypeBool, Offset(firstPerson, ShapeBaseImageData), - "@brief Set to true to render the image in first person." ); - addField( "mass", TypeF32, Offset(mass, ShapeBaseImageData), "@brief Mass of this Image.\n\n" "This is added to the total mass of the ShapeBase object." ); - - addField( "usesEnergy", TypeBool, Offset(usesEnergy,ShapeBaseImageData), - "@brief Flag indicating whether this Image uses energy instead of ammo. The energy level comes from the ShapeBase object we're mounted to.\n\n" - "@see ShapeBase::setEnergyLevel()"); - - addField( "minEnergy", TypeF32, Offset(minEnergy, ShapeBaseImageData), - "@brief Minimum Image energy for it to be operable.\n\n" - "@see usesEnergy"); - addField( "accuFire", TypeBool, Offset(accuFire, ShapeBaseImageData), "@brief Flag to control whether the Image's aim is automatically converged with " "the crosshair.\n\n" "Currently unused." ); + endGroup("Physics"); - addField( "lightType", TYPEID< ShapeBaseImageData::LightType >(), Offset(lightType, ShapeBaseImageData), - "@brief The type of light this Image emits.\n\n" - "@see ShapeBaseImageLightType"); - - addField( "lightColor", TypeColorF, Offset(lightColor, ShapeBaseImageData), - "@brief The color of light this Image emits.\n\n" - "@see lightType"); - - addField( "lightDuration", TypeS32, Offset(lightDuration, ShapeBaseImageData), - "@brief Duration in SimTime of Pulsing and WeaponFire type lights.\n\n" - "@see lightType"); - - addField( "lightRadius", TypeF32, Offset(lightRadius, ShapeBaseImageData), - "@brief Radius of the light this Image emits.\n\n" - "@see lightType"); - - addField( "lightBrightness", TypeF32, Offset(lightBrightness, ShapeBaseImageData), - "@brief Brightness of the light this Image emits.\n\n" - "Only valid for WeaponFireLight." - "@see lightType"); - - addField( "shakeCamera", TypeBool, Offset(shakeCamera, ShapeBaseImageData), - "@brief Flag indicating whether the camera should shake when this Image fires.\n\n" ); - - addField( "camShakeFreq", TypePoint3F, Offset(camShakeFreq, ShapeBaseImageData), - "@brief Frequency of the camera shaking effect.\n\n" - "@see shakeCamera" ); - - addField( "camShakeAmp", TypePoint3F, Offset(camShakeAmp, ShapeBaseImageData), - "@brief Amplitude of the camera shaking effect.\n\n" - "@see shakeCamera" ); - - addField( "camShakeDuration", TypeF32, Offset(camShakeDuration, ShapeBaseImageData), - "Duration (in seconds) to shake the camera." ); - - addField( "camShakeRadius", TypeF32, Offset(camShakeRadius, ShapeBaseImageData), - "Radial distance that a camera's position must be within relative to the " - "center of the explosion to be shaken." ); - - addField( "camShakeFalloff", TypeF32, Offset(camShakeFalloff, ShapeBaseImageData), - "Falloff value for the camera shake." ); - - addField( "casing", TYPEID< DebrisData >(), Offset(casing, ShapeBaseImageData), - "@brief DebrisData datablock to use for ejected casings.\n\n" - "@see stateEjectShell" ); - - addField( "shellExitDir", TypePoint3F, Offset(shellExitDir, ShapeBaseImageData), - "@brief Vector direction to eject shell casings.\n\n" - "@see casing"); - - addField( "shellExitVariance", TypeF32, Offset(shellExitVariance, ShapeBaseImageData), - "@brief Variance (in degrees) from the shellExitDir vector to eject casings.\n\n" - "@see shellExitDir"); - - addField( "shellVelocity", TypeF32, Offset(shellVelocity, ShapeBaseImageData), - "@brief Speed at which to eject casings.\n\n" - "@see casing"); + addGroup("Light Emitter"); + addField( "lightType", TYPEID< ShapeBaseImageData::LightType >(), Offset(lightType, ShapeBaseImageData), + "@brief The type of light this Image emits.\n\n" + "@see ShapeBaseImageLightType"); + addField( "lightColor", TypeColorF, Offset(lightColor, ShapeBaseImageData), + "@brief The color of light this Image emits.\n\n" + "@see lightType"); + addField( "lightDuration", TypeS32, Offset(lightDuration, ShapeBaseImageData), + "@brief Duration in SimTime of Pulsing and WeaponFire type lights.\n\n" + "@see lightType"); + addField( "lightRadius", TypeF32, Offset(lightRadius, ShapeBaseImageData), + "@brief Radius of the light this Image emits.\n\n" + "@see lightType"); + addField( "lightBrightness", TypeF32, Offset(lightBrightness, ShapeBaseImageData), + "@brief Brightness of the light this Image emits.\n\n" + "Only valid for WeaponFireLight." + "@see lightType"); + endGroup("Light Emitter"); // State arrays addArray( "States", MaxStates ); @@ -994,18 +978,17 @@ void ShapeBaseImageData::initPersistFields() endArray( "States" ); - addField( "computeCRC", TypeBool, Offset(computeCRC, ShapeBaseImageData), - "If true, verify that the CRC of the client's Image matches the server's " - "CRC for the Image when loaded by the client." ); - - addField( "maxConcurrentSounds", TypeS32, Offset(maxConcurrentSounds, ShapeBaseImageData), - "@brief Maximum number of sounds this Image can play at a time.\n\n" - "Any value <= 0 indicates that it can play an infinite number of sounds." ); - - addField( "useRemainderDT", TypeBool, Offset(useRemainderDT, ShapeBaseImageData), - "@brief If true, allow multiple timeout transitions to occur within a single " - "tick (useful if states have a very small timeout).\n\n" ); + addGroup("Sounds"); + addField( "maxConcurrentSounds", TypeS32, Offset(maxConcurrentSounds, ShapeBaseImageData), + "@brief Maximum number of sounds this Image can play at a time.\n\n" + "Any value <= 0 indicates that it can play an infinite number of sounds." ); + endGroup("Sounds"); + addGroup("Animation"); + addField( "useRemainderDT", TypeBool, Offset(useRemainderDT, ShapeBaseImageData), + "@brief If true, allow multiple timeout transitions to occur within a single " + "tick (useful if states have a very small timeout).\n\n" ); + endGroup("Animation"); Parent::initPersistFields(); } diff --git a/Engine/source/T3D/staticShape.cpp b/Engine/source/T3D/staticShape.cpp index f23e67ee3..941bf72ab 100644 --- a/Engine/source/T3D/staticShape.cpp +++ b/Engine/source/T3D/staticShape.cpp @@ -95,9 +95,6 @@ ConsoleDocClass( StaticShapeData, StaticShapeData::StaticShapeData() { dynamicTypeField = 0; - - shadowEnable = true; - noIndividualDamage = false; } diff --git a/Engine/source/T3D/tsStatic.cpp b/Engine/source/T3D/tsStatic.cpp index a93c90949..7ffbc4004 100644 --- a/Engine/source/T3D/tsStatic.cpp +++ b/Engine/source/T3D/tsStatic.cpp @@ -176,11 +176,6 @@ FRangeValidator speedValidator(0.0f, AnimSpeedMax); void TSStatic::initPersistFields() { - addFieldV("AnimOffset", TypeF32, Offset(mAnimOffset, TSStatic), &percentValidator, - "Percent Animation Offset."); - - addFieldV("AnimSpeed", TypeF32, Offset(mAnimSpeed, TSStatic), &speedValidator, - "Percent Animation Speed."); addGroup("Shape"); INITPERSISTFIELD_SHAPEASSET(Shape, TSStatic, "Model to use for this TSStatic"); @@ -219,16 +214,21 @@ void TSStatic::initPersistFields() "name as the new target.\n\n"); endGroup("Materials"); - addGroup("Rendering"); - + addGroup("Animation"); addField("playAmbient", TypeBool, Offset(mPlayAmbient, TSStatic), "Enables automatic playing of the animation sequence named \"ambient\" (if it exists) when the TSStatic is loaded."); + addFieldV("AnimOffset", TypeF32, Offset(mAnimOffset, TSStatic), &percentValidator, + "Percent Animation Offset."); + addFieldV("AnimSpeed", TypeF32, Offset(mAnimSpeed, TSStatic), &speedValidator, + "Percent Animation Speed."); + endGroup("Animation"); + + addGroup("Rendering"); addField("meshCulling", TypeBool, Offset(mMeshCulling, TSStatic), "Enables detailed culling of meshes within the TSStatic. Should only be used " "with large complex shapes like buildings which contain many submeshes."); addField("originSort", TypeBool, Offset(mUseOriginSort, TSStatic), "Enables translucent sorting of the TSStatic by its origin instead of the bounds."); - endGroup("Rendering"); addGroup("Reflection"); diff --git a/Engine/source/T3D/turret/aiTurretShape.cpp b/Engine/source/T3D/turret/aiTurretShape.cpp index b607bc974..cb81cf33e 100644 --- a/Engine/source/T3D/turret/aiTurretShape.cpp +++ b/Engine/source/T3D/turret/aiTurretShape.cpp @@ -124,34 +124,32 @@ AITurretShapeData::AITurretShapeData() void AITurretShapeData::initPersistFields() { - addField("maxScanHeading", TypeF32, Offset(maxScanHeading, AITurretShapeData), - "@brief Maximum number of degrees to scan left and right.\n\n" - "@note Maximum scan heading is 90 degrees.\n"); - addField("maxScanPitch", TypeF32, Offset(maxScanPitch, AITurretShapeData), - "@brief Maximum number of degrees to scan up and down.\n\n" - "@note Maximum scan pitch is 90 degrees.\n"); - addField("maxScanDistance", TypeF32, Offset(maxScanDistance, AITurretShapeData), - "@brief Maximum distance to scan.\n\n" - "When combined with maxScanHeading and maxScanPitch this forms a 3D scanning wedge used to initially " - "locate a target.\n"); - - addField("scanTickFrequency", TypeS32, Offset(scanTickFrequency, AITurretShapeData), - "@brief How often should we perform a full scan when looking for a target.\n\n" - "Expressed as the number of ticks between full scans, but no less than 1.\n"); - addField("scanTickFrequencyVariance", TypeS32, Offset(scanTickFrequencyVariance, AITurretShapeData), - "@brief Random amount that should be added to the scan tick frequency each scan period.\n\n" - "Expressed as the number of ticks to randomly add, but no less than zero.\n"); - - addField("trackLostTargetTime", TypeF32, Offset(trackLostTargetTime, AITurretShapeData), - "@brief How long after the turret has lost the target should it still track it.\n\n" - "Expressed in seconds.\n"); - + addGroup("AI Steering"); + addField("maxScanHeading", TypeF32, Offset(maxScanHeading, AITurretShapeData), + "@brief Maximum number of degrees to scan left and right.\n\n" + "@note Maximum scan heading is 90 degrees.\n"); + addField("maxScanPitch", TypeF32, Offset(maxScanPitch, AITurretShapeData), + "@brief Maximum number of degrees to scan up and down.\n\n" + "@note Maximum scan pitch is 90 degrees.\n"); + addField("maxScanDistance", TypeF32, Offset(maxScanDistance, AITurretShapeData), + "@brief Maximum distance to scan.\n\n" + "When combined with maxScanHeading and maxScanPitch this forms a 3D scanning wedge used to initially " + "locate a target.\n"); + addField("scanTickFrequency", TypeS32, Offset(scanTickFrequency, AITurretShapeData), + "@brief How often should we perform a full scan when looking for a target.\n\n" + "Expressed as the number of ticks between full scans, but no less than 1.\n"); + addField("scanTickFrequencyVariance", TypeS32, Offset(scanTickFrequencyVariance, AITurretShapeData), + "@brief Random amount that should be added to the scan tick frequency each scan period.\n\n" + "Expressed as the number of ticks to randomly add, but no less than zero.\n"); + addField("trackLostTargetTime", TypeF32, Offset(trackLostTargetTime, AITurretShapeData), + "@brief How long after the turret has lost the target should it still track it.\n\n" + "Expressed in seconds.\n"); addField("maxWeaponRange", TypeF32, Offset(maxWeaponRange, AITurretShapeData), "@brief Maximum distance that the weapon will fire upon a target.\n\n"); - addField("weaponLeadVelocity", TypeF32, Offset(weaponLeadVelocity, AITurretShapeData), "@brief Velocity used to lead target.\n\n" "If value <= 0, don't lead target.\n"); + endGroup("AI Steering"); // State arrays addArray( "States", MaxStates ); diff --git a/Engine/source/T3D/turret/turretShape.cpp b/Engine/source/T3D/turret/turretShape.cpp index 17fef5176..0367e276e 100644 --- a/Engine/source/T3D/turret/turretShape.cpp +++ b/Engine/source/T3D/turret/turretShape.cpp @@ -87,8 +87,6 @@ TurretShapeData::TurretShapeData() { weaponLinkType = FireTogether; - shadowEnable = true; - zRotOnly = false; startLoaded = true; @@ -133,40 +131,44 @@ TurretShapeData::TurretShapeData() void TurretShapeData::initPersistFields() { - addField("zRotOnly", TypeBool, Offset(zRotOnly, TurretShapeData), - "@brief Should the turret allow only z rotations.\n\n" - "True indicates that the turret may only be rotated on its z axis, just like the Item class. " - "This keeps the turret always upright regardless of the surface it lands on.\n"); + addGroup("Steering"); + addField("zRotOnly", TypeBool, Offset(zRotOnly, TurretShapeData), + "@brief Should the turret allow only z rotations.\n\n" + "True indicates that the turret may only be rotated on its z axis, just like the Item class. " + "This keeps the turret always upright regardless of the surface it lands on.\n"); + addField("maxHeading", TypeF32, Offset(maxHeading, TurretShapeData), + "@brief Maximum number of degrees to rotate from center.\n\n" + "A value of 180 or more degrees indicates the turret may rotate completely around.\n"); + addField("minPitch", TypeF32, Offset(minPitch, TurretShapeData), + "@brief Minimum number of degrees to rotate down from straight ahead.\n\n"); + addField("maxPitch", TypeF32, Offset(maxPitch, TurretShapeData), + "@brief Maximum number of degrees to rotate up from straight ahead.\n\n"); + addField("headingRate", TypeF32, Offset(headingRate, TurretShapeData), + "@brief Degrees per second rotation.\n\n" + "A value of 0 means no rotation is allowed. A value less than 0 means the rotation is instantaneous.\n"); + addField("pitchRate", TypeF32, Offset(pitchRate, TurretShapeData), + "@brief Degrees per second rotation.\n\n" + "A value of 0 means no rotation is allowed. A value less than 0 means the rotation is instantaneous.\n"); + endGroup("Steering"); + addGroup("Weapon State"); addField( "weaponLinkType", TYPEID< TurretShapeData::FireLinkType >(), Offset(weaponLinkType, TurretShapeData), "@brief Set how the mounted weapons are linked and triggered.\n\n" "\n" "@see TurretShapeFireLinkType"); - addField("startLoaded", TypeBool, Offset(startLoaded, TurretShapeData), "@brief Does the turret's mounted weapon(s) start in a loaded state.\n\n" "True indicates that all mounted weapons start in a loaded state.\n" "@see ShapeBase::setImageLoaded()"); + endGroup("Weapon State"); + addGroup("Camera", "The settings used by the shape when it is the camera."); addField("cameraOffset", TypeF32, Offset(cameraOffset, TurretShapeData), "Vertical (Z axis) height of the camera above the turret." ); + endGroup("Camera"); - addField("maxHeading", TypeF32, Offset(maxHeading, TurretShapeData), - "@brief Maximum number of degrees to rotate from center.\n\n" - "A value of 180 or more degrees indicates the turret may rotate completely around.\n"); - addField("minPitch", TypeF32, Offset(minPitch, TurretShapeData), - "@brief Minimum number of degrees to rotate down from straight ahead.\n\n"); - addField("maxPitch", TypeF32, Offset(maxPitch, TurretShapeData), - "@brief Maximum number of degrees to rotate up from straight ahead.\n\n"); - - addField("headingRate", TypeF32, Offset(headingRate, TurretShapeData), - "@brief Degrees per second rotation.\n\n" - "A value of 0 means no rotation is allowed. A value less than 0 means the rotation is instantaneous.\n"); - addField("pitchRate", TypeF32, Offset(pitchRate, TurretShapeData), - "@brief Degrees per second rotation.\n\n" - "A value of 0 means no rotation is allowed. A value less than 0 means the rotation is instantaneous.\n"); Parent::initPersistFields(); } diff --git a/Engine/source/T3D/vehicles/flyingVehicle.cpp b/Engine/source/T3D/vehicles/flyingVehicle.cpp index 6cbf6d2b3..716a06851 100644 --- a/Engine/source/T3D/vehicles/flyingVehicle.cpp +++ b/Engine/source/T3D/vehicles/flyingVehicle.cpp @@ -50,6 +50,15 @@ const static U32 sCollisionMoveMask = ( TerrainObjectType | WaterObjectType static U32 sServerCollisionMask = sCollisionMoveMask; // ItemObjectType static U32 sClientCollisionMask = sCollisionMoveMask; +typedef FlyingVehicleData::Sounds engineSounds; +DefineEnumType(engineSounds); + +ImplementEnumType(engineSounds, "enum types.\n" + "@ingroup VehicleData\n\n") + { engineSounds::JetSound, "JetSound", "..." }, + { engineSounds::EngineSound, "EngineSound", "..." }, + EndImplementEnumType; + // const char* FlyingVehicle::sJetSequence[FlyingVehicle::JetAnimCount] = { @@ -166,15 +175,27 @@ bool FlyingVehicleData::preload(bool server, String &errorStr) void FlyingVehicleData::initPersistFields() { - - INITPERSISTFIELD_SOUNDASSET_ARRAY(FlyingSounds, Sounds::MaxSounds, FlyingVehicleData, "Sounds for flying vehicle"); - - addField( "maneuveringForce", TypeF32, Offset(maneuveringForce, FlyingVehicleData), - "@brief Maximum X and Y (horizontal plane) maneuvering force.\n\n" - "The actual force applied depends on the current thrust." ); + addGroup("Physics"); + addField( "rollForce", TypeF32, Offset(rollForce, FlyingVehicleData), + "@brief Damping torque against rolling maneuvers (rotation about the y-axis), " + "proportional to linear velocity.\n\n" + "Acts to adjust roll to a stable position over time as the vehicle moves." ); + addField( "rotationalDrag", TypeF32, Offset(rotationalDrag, FlyingVehicleData), + "Rotational drag factor (slows vehicle rotation speed in all axes)." ); addField( "horizontalSurfaceForce", TypeF32, Offset(horizontalSurfaceForce, FlyingVehicleData), "@brief Damping force in the opposite direction to sideways velocity.\n\n" "Provides \"bite\" into the wind for climbing/diving and turning)." ); + addField( "hoverHeight", TypeF32, Offset(hoverHeight, FlyingVehicleData), + "The vehicle's height off the ground when at rest." ); + addField( "createHoverHeight", TypeF32, Offset(createHoverHeight, FlyingVehicleData), + "@brief The vehicle's height off the ground when useCreateHeight is active.\n\n" + "This can help avoid problems with spawning the vehicle." ); + endGroup("Physics"); + + addGroup("Steering"); + addField( "maneuveringForce", TypeF32, Offset(maneuveringForce, FlyingVehicleData), + "@brief Maximum X and Y (horizontal plane) maneuvering force.\n\n" + "The actual force applied depends on the current thrust." ); addField( "verticalSurfaceForce", TypeF32, Offset(verticalSurfaceForce, FlyingVehicleData), "@brief Damping force in the opposite direction to vertical velocity.\n\n" "Controls side slip; lower numbers give more slide." ); @@ -186,13 +207,9 @@ void FlyingVehicleData::initPersistFields() addField( "steeringRollForce", TypeF32, Offset(steeringRollForce, FlyingVehicleData), "Roll force induced by sideways steering input value (controls how much " "the vehicle rolls when turning)." ); - addField( "rollForce", TypeF32, Offset(rollForce, FlyingVehicleData), - "@brief Damping torque against rolling maneuvers (rotation about the y-axis), " - "proportional to linear velocity.\n\n" - "Acts to adjust roll to a stable position over time as the vehicle moves." ); - addField( "rotationalDrag", TypeF32, Offset(rotationalDrag, FlyingVehicleData), - "Rotational drag factor (slows vehicle rotation speed in all axes)." ); + endGroup("Steering"); + addGroup("AutoCorrection"); addField( "maxAutoSpeed", TypeF32, Offset(maxAutoSpeed, FlyingVehicleData), "Maximum speed for automatic vehicle control assistance - vehicles " "travelling at speeds above this value do not get control assitance." ); @@ -208,13 +225,9 @@ void FlyingVehicleData::initPersistFields() "@brief Corrective torque applied to level out the vehicle when moving at less " "than maxAutoSpeed.\n\n" "The torque is inversely proportional to vehicle speed." ); + endGroup("AutoCorrection"); - addField( "hoverHeight", TypeF32, Offset(hoverHeight, FlyingVehicleData), - "The vehicle's height off the ground when at rest." ); - addField( "createHoverHeight", TypeF32, Offset(createHoverHeight, FlyingVehicleData), - "@brief The vehicle's height off the ground when useCreateHeight is active.\n\n" - "This can help avoid problems with spawning the vehicle." ); - + addGroup("Particle Effects"); addField( "forwardJetEmitter",TYPEID< ParticleEmitterData >(), Offset(jetEmitter[ForwardJetEmitter], FlyingVehicleData), "@brief Emitter to generate particles for forward jet thrust.\n\n" "Forward jet thrust particles are emitted from model nodes JetNozzle0 " @@ -231,7 +244,11 @@ void FlyingVehicleData::initPersistFields() "Emitter to generate contrail particles from model nodes contrail0 - contrail3." ); addField( "minTrailSpeed", TypeF32, Offset(minTrailSpeed, FlyingVehicleData), "Minimum speed at which to start generating contrail particles." ); + endGroup("Particle Effects"); + addGroup("Sounds"); + INITPERSISTFIELD_SOUNDASSET_ENUMED(FlyingSounds, engineSounds, Sounds::MaxSounds, FlyingVehicleData, "EngineSounds."); + endGroup("Sounds"); Parent::initPersistFields(); } @@ -404,8 +421,17 @@ void FlyingVehicle::onRemove() //---------------------------------------------------------------------------- +void FlyingVehicle::interpolateTick(F32 dt) +{ + PROFILE_SCOPE(FlyingVehicle_InterpolateTick); + Parent::interpolateTick(dt); + updateEngineSound(1); + updateJet(dt); +} + void FlyingVehicle::advanceTime(F32 dt) { + PROFILE_SCOPE(FlyingVehicle_AdvanceTime); Parent::advanceTime(dt); updateEngineSound(1); diff --git a/Engine/source/T3D/vehicles/flyingVehicle.h b/Engine/source/T3D/vehicles/flyingVehicle.h index 37071c2a4..9567e7e03 100644 --- a/Engine/source/T3D/vehicles/flyingVehicle.h +++ b/Engine/source/T3D/vehicles/flyingVehicle.h @@ -187,6 +187,7 @@ class FlyingVehicle: public Vehicle bool onAdd(); void onRemove(); + void interpolateTick(F32 dt); void advanceTime(F32 dt); void writePacketData(GameConnection *conn, BitStream *stream); diff --git a/Engine/source/T3D/vehicles/hoverVehicle.cpp b/Engine/source/T3D/vehicles/hoverVehicle.cpp index 83292cb88..17a486814 100644 --- a/Engine/source/T3D/vehicles/hoverVehicle.cpp +++ b/Engine/source/T3D/vehicles/hoverVehicle.cpp @@ -174,79 +174,86 @@ HoverVehicleData::~HoverVehicleData() //-------------------------------------------------------------------------- void HoverVehicleData::initPersistFields() { - addField( "dragForce", TypeF32, Offset(dragForce, HoverVehicleData), + addGroup("Physics"); + addField( "normalForce", TypeF32, Offset(normalForce, HoverVehicleData), + "Force generated in the ground normal direction when the vehicle is not " + "floating (within stabalizer length from the ground).\n\n" + "@see stabLenMin" ); + addField( "stabLenMin", TypeF32, Offset(stabLenMin, HoverVehicleData), + "Length of the base stabalizer when travelling at minimum speed (0).\n" + "Each tick, the vehicle performs 2 raycasts (from the center back and " + "center front of the vehicle) to check for contact with the ground. The " + "base stabalizer length determines the length of that raycast; if " + "neither raycast hit the ground, the vehicle is floating, stabalizer " + "spring and ground normal forces are not applied.\n\n" + "\n" + "@see stabSpringConstant" ); + addField( "stabLenMax", TypeF32, Offset(stabLenMax, HoverVehicleData), + "Length of the base stabalizer when travelling at maximum speed " + "(maxThrustSpeed).\n\n@see stabLenMin\n\n@see mainThrustForce" ); + addField("vertFactor", TypeF32, Offset(vertFactor, HoverVehicleData), + "Scalar applied to the vertical portion of the velocity drag acting on " + "the vehicle.\nFor the horizontal (X and Y) components of velocity drag, " + "a factor of 0.25 is applied when the vehicle is floating, and a factor " + "of 1.0 is applied when the vehicle is not floating. This velocity drag " + "is multiplied by the vehicle's dragForce, as defined above, and the " + "result is subtracted from it's movement force.\n" + "@note The vertFactor must be between 0.0 and 1.0 (inclusive)."); + addField("stabSpringConstant", TypeF32, Offset(stabSpringConstant, HoverVehicleData), + "Value used to generate stabalizer spring force. The force generated " + "depends on stabilizer compression, that is how close the vehicle is " + "to the ground proportional to current stabalizer length.\n\n" + "@see stabLenMin"); + addField("stabDampingConstant", TypeF32, Offset(stabDampingConstant, HoverVehicleData), + "Damping spring force acting against changes in the stabalizer length.\n\n" + "@see stabLenMin"); + endGroup("Physics"); + + addGroup("Steering"); + addField( "steeringForce", TypeF32, Offset(steeringForce, HoverVehicleData), + "Yaw (rotation about the Z-axis) force applied when steering in the x-axis direction." + "about the vehicle's Z-axis)" ); + addField( "rollForce", TypeF32, Offset(rollForce, HoverVehicleData), + "Roll (rotation about the Y-axis) force applied when steering in the x-axis direction." ); + addField( "pitchForce", TypeF32, Offset(pitchForce, HoverVehicleData), + "Pitch (rotation about the X-axis) force applied when steering in the y-axis direction." ); + addField( "dragForce", TypeF32, Offset(dragForce, HoverVehicleData), "Drag force factor that acts opposite to the vehicle velocity.\nAlso " "used to determnine the vehicle's maxThrustSpeed.\n@see mainThrustForce" ); - addField( "vertFactor", TypeF32, Offset(vertFactor, HoverVehicleData), - "Scalar applied to the vertical portion of the velocity drag acting on " - "the vehicle.\nFor the horizontal (X and Y) components of velocity drag, " - "a factor of 0.25 is applied when the vehicle is floating, and a factor " - "of 1.0 is applied when the vehicle is not floating. This velocity drag " - "is multiplied by the vehicle's dragForce, as defined above, and the " - "result is subtracted from it's movement force.\n" - "@note The vertFactor must be between 0.0 and 1.0 (inclusive)." ); - addField( "floatingThrustFactor", TypeF32, Offset(floatingThrustFactor, HoverVehicleData), - "Scalar applied to the vehicle's thrust force when the vehicle is floating.\n" - "@note The floatingThrustFactor must be between 0.0 and 1.0 (inclusive)." ); - addField( "mainThrustForce", TypeF32, Offset(mainThrustForce, HoverVehicleData), - "Force generated by thrusting the vehicle forward.\nAlso used to determine " - "the maxThrustSpeed:\n\n" - "@tsexample\n" - "maxThrustSpeed = (mainThrustForce + strafeThrustForce) / dragForce;\n" - "@endtsexample\n" ); - addField( "reverseThrustForce", TypeF32, Offset(reverseThrustForce, HoverVehicleData), - "Force generated by thrusting the vehicle backward." ); - addField( "strafeThrustForce", TypeF32, Offset(strafeThrustForce, HoverVehicleData), - "Force generated by thrusting the vehicle to one side.\nAlso used to " - "determine the vehicle's maxThrustSpeed.\n@see mainThrustForce" ); - addField( "turboFactor", TypeF32, Offset(turboFactor, HoverVehicleData), - "Scale factor applied to the vehicle's thrust force when jetting." ); - - addField( "stabLenMin", TypeF32, Offset(stabLenMin, HoverVehicleData), - "Length of the base stabalizer when travelling at minimum speed (0).\n" - "Each tick, the vehicle performs 2 raycasts (from the center back and " - "center front of the vehicle) to check for contact with the ground. The " - "base stabalizer length determines the length of that raycast; if " - "neither raycast hit the ground, the vehicle is floating, stabalizer " - "spring and ground normal forces are not applied.\n\n" - "\n" - "@see stabSpringConstant" ); - addField( "stabLenMax", TypeF32, Offset(stabLenMax, HoverVehicleData), - "Length of the base stabalizer when travelling at maximum speed " - "(maxThrustSpeed).\n\n@see stabLenMin\n\n@see mainThrustForce" ); - - addField( "stabSpringConstant", TypeF32, Offset(stabSpringConstant, HoverVehicleData), - "Value used to generate stabalizer spring force. The force generated " - "depends on stabilizer compression, that is how close the vehicle is " - "to the ground proportional to current stabalizer length.\n\n" - "@see stabLenMin" ); - addField( "stabDampingConstant", TypeF32, Offset(stabDampingConstant, HoverVehicleData), - "Damping spring force acting against changes in the stabalizer length.\n\n" - "@see stabLenMin" ); + addField( "mainThrustForce", TypeF32, Offset(mainThrustForce, HoverVehicleData), + "Force generated by thrusting the vehicle forward.\nAlso used to determine " + "the maxThrustSpeed:\n\n" + "@tsexample\n" + "maxThrustSpeed = (mainThrustForce + strafeThrustForce) / dragForce;\n" + "@endtsexample\n" ); + addField( "reverseThrustForce", TypeF32, Offset(reverseThrustForce, HoverVehicleData), + "Force generated by thrusting the vehicle backward." ); + addField( "strafeThrustForce", TypeF32, Offset(strafeThrustForce, HoverVehicleData), + "Force generated by thrusting the vehicle to one side.\nAlso used to " + "determine the vehicle's maxThrustSpeed.\n@see mainThrustForce" ); + addField( "turboFactor", TypeF32, Offset(turboFactor, HoverVehicleData), + "Scale factor applied to the vehicle's thrust force when jetting." ); + addField( "floatingThrustFactor", TypeF32, Offset(floatingThrustFactor, HoverVehicleData), + "Scalar applied to the vehicle's thrust force when the vehicle is floating.\n" + "@note The floatingThrustFactor must be between 0.0 and 1.0 (inclusive)." ); + endGroup("Steering"); + addGroup("AutoCorrection"); addField( "gyroDrag", TypeF32, Offset(gyroDrag, HoverVehicleData), "Damping torque that acts against the vehicle's current angular momentum." ); - addField( "normalForce", TypeF32, Offset(normalForce, HoverVehicleData), - "Force generated in the ground normal direction when the vehicle is not " - "floating (within stabalizer length from the ground).\n\n" - "@see stabLenMin" ); addField( "restorativeForce", TypeF32, Offset(restorativeForce, HoverVehicleData), "Force generated to stabalize the vehicle (return it to neutral pitch/roll) " "when the vehicle is floating (more than stabalizer length from the " "ground.\n\n@see stabLenMin" ); - addField( "steeringForce", TypeF32, Offset(steeringForce, HoverVehicleData), - "Yaw (rotation about the Z-axis) force applied when steering in the x-axis direction." - "about the vehicle's Z-axis)" ); - addField( "rollForce", TypeF32, Offset(rollForce, HoverVehicleData), - "Roll (rotation about the Y-axis) force applied when steering in the x-axis direction." ); - addField( "pitchForce", TypeF32, Offset(pitchForce, HoverVehicleData), - "Pitch (rotation about the X-axis) force applied when steering in the y-axis direction." ); + endGroup("AutoCorrection"); - INITPERSISTFIELD_SOUNDASSET_ENUMED(HoverSounds, hoverSoundsEnum, Sounds::MaxSounds, HoverVehicleData, "Sounds for hover vehicle."); - + addGroup("Particle Effects"); addField( "dustTrailEmitter", TYPEID< ParticleEmitterData >(), Offset(dustTrailEmitter, HoverVehicleData), "Emitter to generate particles for the vehicle's dust trail.\nThe trail " "of dust particles is generated only while the vehicle is moving." ); + addField( "forwardJetEmitter", TYPEID< ParticleEmitterData >(), Offset(jetEmitter[ForwardJetEmitter], HoverVehicleData), + "Emitter to generate particles for forward jet thrust.\nForward jet " + "thrust particles are emitted from model nodes JetNozzle0 and JetNozzle1." ); addField( "dustTrailOffset", TypePoint3F, Offset(dustTrailOffset, HoverVehicleData), "\"X Y Z\" offset from the vehicle's origin from which to generate dust " "trail particles.\nBy default particles are emitted directly beneath the " @@ -261,21 +268,13 @@ void HoverVehicleData::initPersistFields() "vehicle's speed is divided by this value to determine how many particles " "to generate each frame. Lower values give a more dense trail, higher " "values a more sparse trail." ); + endGroup("Sounds"); + + addGroup("Particle Effects"); + INITPERSISTFIELD_SOUNDASSET_ENUMED(HoverSounds, hoverSoundsEnum, Sounds::MaxSounds, HoverVehicleData, "Sounds for hover vehicle."); + endGroup("Sounds"); - addField( "floatingGravMag", TypeF32, Offset(floatingGravMag, HoverVehicleData), - "Scale factor applied to the vehicle gravitational force when the vehicle " - "is floating.\n\n@see stabLenMin" ); - addField( "brakingForce", TypeF32, Offset(brakingForce, HoverVehicleData), - "Force generated by braking.\nThe vehicle is considered to be braking if " - "it is moving, but the throttle is off, and no left or right thrust is " - "being applied. This force is only applied when the vehicle's velocity is " - "less than brakingActivationSpeed." ); - addField( "brakingActivationSpeed", TypeF32, Offset(brakingActivationSpeed, HoverVehicleData), - "Maximum speed below which a braking force is applied.\n\n@see brakingForce" ); - addField( "forwardJetEmitter", TYPEID< ParticleEmitterData >(), Offset(jetEmitter[ForwardJetEmitter], HoverVehicleData), - "Emitter to generate particles for forward jet thrust.\nForward jet " - "thrust particles are emitted from model nodes JetNozzle0 and JetNozzle1." ); Parent::initPersistFields(); } diff --git a/Engine/source/T3D/vehicles/vehicle.cpp b/Engine/source/T3D/vehicles/vehicle.cpp index 2509ab291..49be9d0c2 100644 --- a/Engine/source/T3D/vehicles/vehicle.cpp +++ b/Engine/source/T3D/vehicles/vehicle.cpp @@ -127,7 +127,6 @@ ConsoleDocClass( VehicleData, VehicleData::VehicleData() { - shadowEnable = true; shadowSize = 256; shadowProjectionDistance = 14.0f; maxSteeringAngle = M_PI_F/4.0f; // 45 deg. @@ -280,25 +279,38 @@ void VehicleData::initPersistFields() "@brief Creates a representation of the object in the physics plugin.\n"); endGroup("Physics"); - addField( "jetForce", TypeF32, Offset(jetForce, VehicleData), - "@brief Additional force applied to the vehicle when it is jetting.\n\n" - "For WheeledVehicles, the force is applied in the forward direction. For " - "FlyingVehicles, the force is applied in the thrust direction." ); - addField( "jetEnergyDrain", TypeF32, Offset(jetEnergyDrain, VehicleData), - "@brief Energy amount to drain for each tick the vehicle is jetting.\n\n" - "Once the vehicle's energy level reaches 0, it will no longer be able to jet." ); - addField( "minJetEnergy", TypeF32, Offset(minJetEnergy, VehicleData), - "Minimum vehicle energy level to begin jetting." ); + addGroup("Collision"); + addField( "collDamageThresholdVel", TypeF32, Offset(collDamageThresholdVel, VehicleData), + "Minimum collision velocity to cause damage to this vehicle.\nCurrently unused." ); + addField( "collDamageMultiplier", TypeF32, Offset(collDamageMultiplier, VehicleData), + "@brief Damage to this vehicle after a collision (multiplied by collision " + "velocity).\n\nCurrently unused." ); + endGroup("Collision"); + addGroup("Steering"); + addField( "jetForce", TypeF32, Offset(jetForce, VehicleData), + "@brief Additional force applied to the vehicle when it is jetting.\n\n" + "For WheeledVehicles, the force is applied in the forward direction. For " + "FlyingVehicles, the force is applied in the thrust direction." ); + addField( "jetEnergyDrain", TypeF32, Offset(jetEnergyDrain, VehicleData), + "@brief Energy amount to drain for each tick the vehicle is jetting.\n\n" + "Once the vehicle's energy level reaches 0, it will no longer be able to jet." ); + addField( "minJetEnergy", TypeF32, Offset(minJetEnergy, VehicleData), + "Minimum vehicle energy level to begin jetting." ); + addField( "maxSteeringAngle", TypeF32, Offset(maxSteeringAngle, VehicleData), + "Maximum yaw (horizontal) and pitch (vertical) steering angle in radians." ); + endGroup("Steering"); + + addGroup("AutoCorrection"); + addField( "powerSteering", TypeBool, Offset(powerSteering, VehicleData), + "If true, steering does not auto-centre while the vehicle is being steered by its driver." ); addField( "steeringReturn", TypeF32, Offset(steeringReturn, VehicleData), "Rate at which the vehicle's steering returns to forwards when it is moving." ); addField( "steeringReturnSpeedScale", TypeF32, Offset(steeringReturnSpeedScale, VehicleData), "Amount of effect the vehicle's speed has on its rate of steering return." ); - addField( "powerSteering", TypeBool, Offset(powerSteering, VehicleData), - "If true, steering does not auto-centre while the vehicle is being steered by its driver." ); - addField( "maxSteeringAngle", TypeF32, Offset(maxSteeringAngle, VehicleData), - "Maximum yaw (horizontal) and pitch (vertical) steering angle in radians." ); + endGroup("AutoCorrection"); + addGroup("Particle Effects"); addField( "damageEmitter", TYPEID< ParticleEmitterData >(), Offset(damageEmitterList, VehicleData), VC_NUM_DAMAGE_EMITTERS, "@brief Array of particle emitters used to generate damage (dust, smoke etc) " "effects.\n\n" @@ -326,11 +338,7 @@ void VehicleData::initPersistFields() addField( "numDmgEmitterAreas", TypeF32, Offset(numDmgEmitterAreas, VehicleData), "Number of damageEmitterOffset values to use for each damageEmitter.\n\n" "@see damageEmitterOffset" ); - addField( "collDamageThresholdVel", TypeF32, Offset(collDamageThresholdVel, VehicleData), - "Minimum collision velocity to cause damage to this vehicle.\nCurrently unused." ); - addField( "collDamageMultiplier", TypeF32, Offset(collDamageMultiplier, VehicleData), - "@brief Damage to this vehicle after a collision (multiplied by collision " - "velocity).\n\nCurrently unused." ); + endGroup("Particle Effects"); Parent::initPersistFields(); } diff --git a/Engine/source/T3D/vehicles/wheeledVehicle.cpp b/Engine/source/T3D/vehicles/wheeledVehicle.cpp index fc7ed88ae..80f45caf6 100644 --- a/Engine/source/T3D/vehicles/wheeledVehicle.cpp +++ b/Engine/source/T3D/vehicles/wheeledVehicle.cpp @@ -448,13 +448,7 @@ bool WheeledVehicleData::mirrorWheel(Wheel* we) void WheeledVehicleData::initPersistFields() { - addGroup("Sounds"); - INITPERSISTFIELD_SOUNDASSET_ENUMED(WheeledVehicleSounds, WheeledVehicleSoundsEnum, MaxSounds, WheeledVehicleData, "Sounds related to wheeled vehicle."); - endGroup("Sounds"); - - addField("tireEmitter",TYPEID< ParticleEmitterData >(), Offset(tireEmitter, WheeledVehicleData), - "ParticleEmitterData datablock used to generate particles from each wheel " - "when the vehicle is moving and the wheel is in contact with the ground."); + addGroup("Steering"); addField("maxWheelSpeed", TypeF32, Offset(maxWheelSpeed, WheeledVehicleData), "@brief Maximum linear velocity of each wheel.\n\n" "This caps the maximum speed of the vehicle." ); @@ -468,6 +462,17 @@ void WheeledVehicleData::initPersistFields() addField("brakeTorque", TypeF32, Offset(brakeTorque, WheeledVehicleData), "@brief Torque applied when braking.\n\n" "This controls how fast the vehicle will stop when the brakes are applied." ); + endGroup("Steering"); + + addGroup("Particle Effects"); + addField("tireEmitter",TYPEID< ParticleEmitterData >(), Offset(tireEmitter, WheeledVehicleData), + "ParticleEmitterData datablock used to generate particles from each wheel " + "when the vehicle is moving and the wheel is in contact with the ground."); + endGroup("Particle Effects"); + + addGroup("Sounds"); + INITPERSISTFIELD_SOUNDASSET_ENUMED(WheeledVehicleSounds, WheeledVehicleSoundsEnum, MaxSounds, WheeledVehicleData, "Sounds related to wheeled vehicle."); + endGroup("Sounds"); Parent::initPersistFields(); } diff --git a/Engine/source/Verve/VActor/VActorData.cpp b/Engine/source/Verve/VActor/VActorData.cpp index 24d3b54d1..5b757344a 100644 --- a/Engine/source/Verve/VActor/VActorData.cpp +++ b/Engine/source/Verve/VActor/VActorData.cpp @@ -35,7 +35,6 @@ VActorData::VActorData( void ) : mSubmergeCoverage( 0.25f ) { // Setup Shadowing. - shadowEnable = true; shadowSize = 256; shadowProjectionDistance = 14.0f; @@ -167,4 +166,4 @@ S32 VActorData::getAnimationSequence( const U32 &pIndex ) // Invalid Sequence. return -1; -}; \ No newline at end of file +}; diff --git a/Engine/source/afx/afxMagicMissile.cpp b/Engine/source/afx/afxMagicMissile.cpp index eccb14d8c..d23077df7 100644 --- a/Engine/source/afx/afxMagicMissile.cpp +++ b/Engine/source/afx/afxMagicMissile.cpp @@ -331,11 +331,15 @@ void afxMagicMissileData::initPersistFields() { static IRangeValidatorScaled ticksFromMS(TickMs, 0, MaxLifetimeTicks); - addField("particleEmitter", TYPEID(), Offset(particleEmitter, afxMagicMissileData)); - addField("particleWaterEmitter", TYPEID(), Offset(particleWaterEmitter, afxMagicMissileData)); + addGroup("Particle Effects"); + addField("particleEmitter", TYPEID(), Offset(particleEmitter, afxMagicMissileData)); + addField("particleWaterEmitter", TYPEID(), Offset(particleWaterEmitter, afxMagicMissileData)); + endGroup("Particle Effects"); - INITPERSISTFIELD_SHAPEASSET(ProjectileShape, afxMagicMissileData, "Shape for the projectile"); - addField("scale", TypePoint3F, Offset(scale, afxMagicMissileData)); + addGroup("Shapes"); + INITPERSISTFIELD_SHAPEASSET(ProjectileShape, afxMagicMissileData, "Shape for the projectile"); + addField("scale", TypePoint3F, Offset(scale, afxMagicMissileData)); + endGroup("Shapes"); INITPERSISTFIELD_SOUNDASSET(ProjectileSound, afxMagicMissileData, "sound for the projectile"); diff --git a/Engine/source/afx/ce/afxModel.cpp b/Engine/source/afx/ce/afxModel.cpp index 7c6eb019c..838bdb16e 100644 --- a/Engine/source/afx/ce/afxModel.cpp +++ b/Engine/source/afx/ce/afxModel.cpp @@ -74,7 +74,6 @@ afxModelData::afxModelData() useCustomAmbientLighting = false; customAmbientForSelfIllumination = false; customAmbientLighting = LinearColorF(0.0f, 0.0f, 0.0f); - shadowEnable = false; shadowSize = 128; shadowMaxVisibleDistance = 80.0f; @@ -103,7 +102,6 @@ afxModelData::afxModelData(const afxModelData& other, bool temp_clone) : GameBas useCustomAmbientLighting = other.useCustomAmbientLighting; customAmbientForSelfIllumination = other.customAmbientForSelfIllumination; customAmbientLighting = other.customAmbientLighting; - shadowEnable = other.shadowEnable; shadowSize = other.shadowSize; shadowMaxVisibleDistance = other.shadowMaxVisibleDistance; @@ -174,31 +172,33 @@ bool afxModelData::preload(bool server, String &errorStr) void afxModelData::initPersistFields() { - INITPERSISTFIELD_SHAPEASSET(Shape, afxModelData, "The name of a .dts format file to use for the model."); - addField("sequence", TypeString, myOffset(sequence), - "The name of an animation sequence to play in the model."); - addField("sequenceRate", TypeF32, myOffset(seq_rate), - "The rate of playback for the sequence."); - addField("sequenceOffset", TypeF32, myOffset(seq_offset), - "An offset in seconds indicating a starting point for the animation sequence " - "specified by the sequence field. A rate of 1.0 (rather than sequenceRate) is used " - "to convert from seconds to the thread offset."); - addField("alphaMult", TypeF32, myOffset(alpha_mult), - "An alpha multiplier used to set maximum opacity of the model."); + addGroup("Shapes"); + INITPERSISTFIELD_SHAPEASSET(Shape, afxModelData, "The name of a .dts format file to use for the model."); + addGroup("Shapes"); - addField("fogMult", TypeF32, myOffset(fog_mult), - ""); - addField("remapTextureTags", TypeString, myOffset(remap_txr_tags), - "Rename one or more texture tags in the model. Texture tags are what link a " - "model's textures to materials.\n" - "Field should be a string containing space-separated remapping tokens. A remapping " - "token is two names separated by a colon, ':'. The first name should be a texture-tag " - "that exists in the model, while the second is a new name to replace it. The string " - "can have any number of remapping tokens as long as the total string length does not " - "exceed 255."); - addField("shadowEnable", TypeBool, myOffset(shadowEnable), - "Sets whether the model casts a shadow."); + addGroup("Rendering"); + addField("sequence", TypeString, myOffset(sequence), + "The name of an animation sequence to play in the model."); + addField("sequenceRate", TypeF32, myOffset(seq_rate), + "The rate of playback for the sequence."); + addField("sequenceOffset", TypeF32, myOffset(seq_offset), + "An offset in seconds indicating a starting point for the animation sequence " + "specified by the sequence field. A rate of 1.0 (rather than sequenceRate) is used " + "to convert from seconds to the thread offset."); + addField("alphaMult", TypeF32, myOffset(alpha_mult), + "An alpha multiplier used to set maximum opacity of the model."); + addField("fogMult", TypeF32, myOffset(fog_mult), ""); + addField("remapTextureTags", TypeString, myOffset(remap_txr_tags), + "Rename one or more texture tags in the model. Texture tags are what link a " + "model's textures to materials.\n" + "Field should be a string containing space-separated remapping tokens. A remapping " + "token is two names separated by a colon, ':'. The first name should be a texture-tag " + "that exists in the model, while the second is a new name to replace it. The string " + "can have any number of remapping tokens as long as the total string length does not " + "exceed 255."); + addGroup("Rendering"); + addGroup("Deprecated"); addField("useVertexAlpha", TypeBool, myOffset(use_vertex_alpha), "deprecated"); addField("forceOnMaterialFlags", TypeS32, myOffset(force_on_material_flags), @@ -229,6 +229,7 @@ void afxModelData::initPersistFields() "deprecated"); addField("shadowSphereAdjust", TypeF32, myOffset(shadowSphereAdjust), "deprecated"); + endGroup("Deprecated"); Parent::initPersistFields(); @@ -273,7 +274,6 @@ void afxModelData::packData(BitStream* stream) stream->writeFlag(customAmbientForSelfIllumination); stream->write(customAmbientLighting); stream->writeFlag(receiveLMLighting); - stream->writeFlag(shadowEnable); stream->write(shadowSize); stream->write(shadowMaxVisibleDistance); @@ -305,7 +305,6 @@ void afxModelData::unpackData(BitStream* stream) customAmbientForSelfIllumination = stream->readFlag(); stream->read(&customAmbientLighting); receiveLMLighting = stream->readFlag(); - shadowEnable = stream->readFlag(); stream->read(&shadowSize); stream->read(&shadowMaxVisibleDistance); diff --git a/Engine/source/afx/ce/afxModel.h b/Engine/source/afx/ce/afxModel.h index 80c6803f7..ad8cb4c99 100644 --- a/Engine/source/afx/ce/afxModel.h +++ b/Engine/source/afx/ce/afxModel.h @@ -74,7 +74,6 @@ struct afxModelData : public GameBaseData bool useCustomAmbientLighting; bool customAmbientForSelfIllumination; LinearColorF customAmbientLighting; - bool shadowEnable; U32 shadowSize; F32 shadowMaxVisibleDistance; diff --git a/Engine/source/environment/VolumetricFog.cpp b/Engine/source/environment/VolumetricFog.cpp index c9eaff9df..4fc4f9d0e 100644 --- a/Engine/source/environment/VolumetricFog.cpp +++ b/Engine/source/environment/VolumetricFog.cpp @@ -165,10 +165,11 @@ VolumetricFog::~VolumetricFog() void VolumetricFog::initPersistFields() { + addGroup("Shapes"); + INITPERSISTFIELD_SHAPEASSET(Shape, VolumetricFog, "The source shape asset."); + endGroup("Shapes"); + addGroup("VolumetricFogData"); - - INITPERSISTFIELD_SHAPEASSET(Shape, VolumetricFog, "The source shape asset."); - addField("FogColor", TypeColorI, Offset(mFogColor, VolumetricFog), "Fog color RGBA (Alpha is ignored)"); addField("FogDensity", TypeF32, Offset(mFogDensity, VolumetricFog), diff --git a/Engine/source/forest/forestItem.cpp b/Engine/source/forest/forestItem.cpp index e9cdbc7c0..4d75e8d0e 100644 --- a/Engine/source/forest/forestItem.cpp +++ b/Engine/source/forest/forestItem.cpp @@ -60,20 +60,20 @@ void ForestItemData::initPersistFields() { Parent::initPersistFields(); - addGroup( "Media" ); + addGroup( "Shapes" ); INITPERSISTFIELD_SHAPEASSET(Shape, ForestItemData, "Shape asset for this item type"); addProtectedField( "shapeFile", TypeShapeFilename, Offset( mShapeName, ForestItemData ), &_setShapeData, &defaultProtectedGetFn, "Shape file for this item type", AbstractClassRep::FIELD_HideInInspectors ); + endGroup( "Shape(s)" ); + addGroup("Physics"); addField( "collidable", TypeBool, Offset( mCollidable, ForestItemData ), "Can other objects or spacial queries hit items of this type." ); - addField( "radius", TypeF32, Offset( mRadius, ForestItemData ), "Radius used during placement to ensure items are not crowded." ); - - endGroup( "Media" ); + endGroup("Physics"); addGroup( "Wind" ); From ace18d02463eca9c135ea87c0ad7d7ce5dd5f6f9 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Tue, 24 Jan 2023 19:30:09 -0600 Subject: [PATCH 2/7] layout consistency pass pt 2 -place shapebase inheriting initpersistfields up top so the child layout appends to the parent --- .../T3D/examples/renderShapeExample.cpp | 2 +- Engine/source/T3D/item.cpp | 3 +- Engine/source/T3D/physics/physicsDebris.cpp | 5 +- Engine/source/T3D/physics/physicsShape.cpp | 5 +- Engine/source/T3D/player.cpp | 4 +- Engine/source/T3D/projectile.cpp | 82 +++++++++---------- Engine/source/T3D/proximityMine.cpp | 14 ++-- Engine/source/T3D/rigidShape.cpp | 34 ++++---- Engine/source/T3D/shapeBase.cpp | 21 ++--- Engine/source/T3D/staticShape.cpp | 3 +- Engine/source/T3D/turret/aiTurretShape.cpp | 3 +- Engine/source/T3D/turret/turretShape.cpp | 4 +- Engine/source/T3D/vehicles/flyingVehicle.cpp | 3 +- Engine/source/T3D/vehicles/hoverVehicle.cpp | 5 +- Engine/source/T3D/vehicles/vehicle.cpp | 64 +++++++-------- Engine/source/T3D/vehicles/wheeledVehicle.cpp | 24 +++--- Engine/source/afx/afxMagicMissile.cpp | 13 +-- Engine/source/afx/ce/afxModel.cpp | 7 +- Engine/source/environment/VolumetricFog.cpp | 2 +- Engine/source/environment/sun.cpp | 13 +++ Engine/source/forest/forestItem.cpp | 3 +- Engine/source/math/mathTypes.cpp | 5 ++ 22 files changed, 162 insertions(+), 157 deletions(-) diff --git a/Engine/source/T3D/examples/renderShapeExample.cpp b/Engine/source/T3D/examples/renderShapeExample.cpp index e5f29f649..2b9051d58 100644 --- a/Engine/source/T3D/examples/renderShapeExample.cpp +++ b/Engine/source/T3D/examples/renderShapeExample.cpp @@ -72,12 +72,12 @@ RenderShapeExample::~RenderShapeExample() //----------------------------------------------------------------------------- void RenderShapeExample::initPersistFields() { + Parent::initPersistFields(); addGroup( "Shapes" ); INITPERSISTFIELD_SHAPEASSET(Shape, RenderShapeExample, "The path to the shape file.") endGroup( "Shapes" ); // SceneObject already handles exposing the transform - Parent::initPersistFields(); } void RenderShapeExample::inspectPostApply() diff --git a/Engine/source/T3D/item.cpp b/Engine/source/T3D/item.cpp index a3e384faf..454aea6d7 100644 --- a/Engine/source/T3D/item.cpp +++ b/Engine/source/T3D/item.cpp @@ -137,6 +137,7 @@ EndImplementEnumType; void ItemData::initPersistFields() { + Parent::initPersistFields(); addGroup("Physics"); addField("friction", TypeF32, Offset(friction, ItemData), "A floating-point value specifying how much velocity is lost to impact and sliding friction."); addField("elasticity", TypeF32, Offset(elasticity, ItemData), "A floating-point value specifying how 'bouncy' this ItemData is."); @@ -172,8 +173,6 @@ void ItemData::initPersistFields() "@brief If true, this ItemData will only cast a light if the Item for this ItemData has a static value of true.\n\n" "@see lightType\n"); endGroup("Light Emitter"); - - Parent::initPersistFields(); } void ItemData::packData(BitStream* stream) diff --git a/Engine/source/T3D/physics/physicsDebris.cpp b/Engine/source/T3D/physics/physicsDebris.cpp index 93e9ec6f5..142621b8e 100644 --- a/Engine/source/T3D/physics/physicsDebris.cpp +++ b/Engine/source/T3D/physics/physicsDebris.cpp @@ -125,7 +125,7 @@ void PhysicsDebrisData::initPersistFields() "@brief Determines if the shape's shadow should be cast onto the environment.\n\n" ); endGroup("Rendering"); - addGroup( "Physical Properties" ); + addGroup( "Physics" ); addField("lifetime", TypeF32, Offset( lifetime, PhysicsDebrisData ), "@brief Base time, in seconds, that debris persists after time of creation.\n\n" @@ -193,8 +193,7 @@ void PhysicsDebrisData::initPersistFields() "The result of the calculated buoyancy is relative to the density of the WaterObject the PhysicsDebris is within." "@see WaterObject::density"); - endGroup( "Physical Properties" ); - + endGroup( "Physics" ); Parent::initPersistFields(); } diff --git a/Engine/source/T3D/physics/physicsShape.cpp b/Engine/source/T3D/physics/physicsShape.cpp index c11c5b7da..85345f61d 100644 --- a/Engine/source/T3D/physics/physicsShape.cpp +++ b/Engine/source/T3D/physics/physicsShape.cpp @@ -87,8 +87,6 @@ PhysicsShapeData::~PhysicsShapeData() void PhysicsShapeData::initPersistFields() { - Parent::initPersistFields(); - addGroup("Shapes"); INITPERSISTFIELD_SHAPEASSET(Shape, PhysicsShapeData, "@brief Shape asset to be used with this physics object.\n\n" @@ -173,7 +171,8 @@ void PhysicsShapeData::initPersistFields() addField( "simType", TYPEID< PhysicsShapeData::SimType >(), Offset( simType, PhysicsShapeData ), "@brief Controls whether this shape is simulated on the server, client, or both physics simulations.\n\n" ); - endGroup( "Networking" ); + endGroup( "Networking" ); + Parent::initPersistFields(); } void PhysicsShapeData::packData( BitStream *stream ) diff --git a/Engine/source/T3D/player.cpp b/Engine/source/T3D/player.cpp index 10c47ea95..0a50cc4ab 100644 --- a/Engine/source/T3D/player.cpp +++ b/Engine/source/T3D/player.cpp @@ -704,6 +704,8 @@ bool PlayerData::isJumpAction(U32 action) void PlayerData::initPersistFields() { + Parent::initPersistFields(); + addField( "pickupRadius", TypeF32, Offset(pickupRadius, PlayerData), "@brief Radius around the player to collide with Items in the scene (on server).\n\n" "Internally the pickupRadius is added to the larger side of the initial bounding box " @@ -1162,8 +1164,6 @@ void PlayerData::initPersistFields() "need to.\n"); endGroup( "Third Person" ); - - Parent::initPersistFields(); } void PlayerData::packData(BitStream* stream) diff --git a/Engine/source/T3D/projectile.cpp b/Engine/source/T3D/projectile.cpp index fc39ad663..edc990a10 100644 --- a/Engine/source/T3D/projectile.cpp +++ b/Engine/source/T3D/projectile.cpp @@ -232,6 +232,45 @@ ProjectileData::ProjectileData(const ProjectileData& other, bool temp_clone) : G void ProjectileData::initPersistFields() { + addGroup("Shapes"); + addProtectedField("projectileShapeName", TypeShapeFilename, Offset(mProjectileShapeName, ProjectileData), &_setProjectileShapeData, &defaultProtectedGetFn, + "@brief File path to the model of the projectile.\n\n", AbstractClassRep::FIELD_HideInInspectors); + INITPERSISTFIELD_SHAPEASSET(ProjectileShape, ProjectileData, "@brief The model of the projectile.\n\n"); + addField("scale", TypePoint3F, Offset(scale, ProjectileData), + "@brief Scale to apply to the projectile's size.\n\n" + "@note This is applied after SceneObject::scale\n"); + endGroup("Shapes"); + + addGroup("Particle Effects"); + addField("particleEmitter", TYPEID< ParticleEmitterData >(), Offset(particleEmitter, ProjectileData), + "@brief Particle emitter datablock used to generate particles while the projectile is outside of water.\n\n" + "@note If datablocks are defined for both particleEmitter and particleWaterEmitter, both effects will play " + "as the projectile enters or leaves water.\n\n" + "@see particleWaterEmitter\n"); + addField("particleWaterEmitter", TYPEID< ParticleEmitterData >(), Offset(particleWaterEmitter, ProjectileData), + "@brief Particle emitter datablock used to generate particles while the projectile is submerged in water.\n\n" + "@note If datablocks are defined for both particleWaterEmitter and particleEmitter , both effects will play " + "as the projectile enters or leaves water.\n\n" + "@see particleEmitter\n"); + addField("explosion", TYPEID< ExplosionData >(), Offset(explosion, ProjectileData), + "@brief Explosion datablock used when the projectile explodes outside of water.\n\n"); + addField("waterExplosion", TYPEID< ExplosionData >(), Offset(waterExplosion, ProjectileData), + "@brief Explosion datablock used when the projectile explodes underwater.\n\n"); + addField("splash", TYPEID< SplashData >(), Offset(splash, ProjectileData), + "@brief Splash datablock used to create splash effects as the projectile enters or leaves water\n\n"); + addField("decal", TYPEID< DecalData >(), Offset(decal, ProjectileData), + "@brief Decal datablock used for decals placed at projectile explosion points.\n\n"); + endGroup("Particle Effects"); + + addGroup("Sounds"); + INITPERSISTFIELD_SOUNDASSET(ProjectileSound, ProjectileData, "The sound for the projectile."); + endGroup("Sounds"); + + addGroup("Light Emitter"); + addField("lightDesc", TYPEID< LightDescription >(), Offset(lightDesc, ProjectileData), + "@brief LightDescription datablock used for lights attached to the projectile.\n\n"); + endGroup("Light Emitter"); + addGroup("Physics"); addProtectedField("lifetime", TypeS32, Offset(lifetime, ProjectileData), &setLifetime, &getScaledValue, "@brief Amount of time, in milliseconds, before the projectile is removed from the simulation.\n\n" @@ -276,46 +315,7 @@ void ProjectileData::initPersistFields() "@note ProjectileData::isBallistic must be true for this to have any affect."); endGroup("Physics"); - addGroup("Shapes"); - addProtectedField("projectileShapeName", TypeShapeFilename, Offset(mProjectileShapeName, ProjectileData), &_setProjectileShapeData, &defaultProtectedGetFn, - "@brief File path to the model of the projectile.\n\n", AbstractClassRep::FIELD_HideInInspectors); - INITPERSISTFIELD_SHAPEASSET(ProjectileShape, ProjectileData, "@brief The model of the projectile.\n\n"); - addField("scale", TypePoint3F, Offset(scale, ProjectileData), - "@brief Scale to apply to the projectile's size.\n\n" - "@note This is applied after SceneObject::scale\n"); - endGroup("Shapes"); - - addGroup("Particle Effects"); - addField("particleEmitter", TYPEID< ParticleEmitterData >(), Offset(particleEmitter, ProjectileData), - "@brief Particle emitter datablock used to generate particles while the projectile is outside of water.\n\n" - "@note If datablocks are defined for both particleEmitter and particleWaterEmitter, both effects will play " - "as the projectile enters or leaves water.\n\n" - "@see particleWaterEmitter\n"); - addField("particleWaterEmitter", TYPEID< ParticleEmitterData >(), Offset(particleWaterEmitter, ProjectileData), - "@brief Particle emitter datablock used to generate particles while the projectile is submerged in water.\n\n" - "@note If datablocks are defined for both particleWaterEmitter and particleEmitter , both effects will play " - "as the projectile enters or leaves water.\n\n" - "@see particleEmitter\n"); - addField("explosion", TYPEID< ExplosionData >(), Offset(explosion, ProjectileData), - "@brief Explosion datablock used when the projectile explodes outside of water.\n\n"); - addField("waterExplosion", TYPEID< ExplosionData >(), Offset(waterExplosion, ProjectileData), - "@brief Explosion datablock used when the projectile explodes underwater.\n\n"); - addField("splash", TYPEID< SplashData >(), Offset(splash, ProjectileData), - "@brief Splash datablock used to create splash effects as the projectile enters or leaves water\n\n"); - addField("decal", TYPEID< DecalData >(), Offset(decal, ProjectileData), - "@brief Decal datablock used for decals placed at projectile explosion points.\n\n"); - endGroup("Particle Effects"); - - addGroup("Sounds"); - INITPERSISTFIELD_SOUNDASSET(ProjectileSound, ProjectileData, "The sound for the projectile."); - endGroup("Sounds"); - - addGroup("Light Emitter"); - addField("lightDesc", TYPEID< LightDescription >(), Offset(lightDesc, ProjectileData), - "@brief LightDescription datablock used for lights attached to the projectile.\n\n"); - endGroup("Light Emitter"); - - + Parent::initPersistFields(); // disallow some field substitutions onlyKeepClearSubstitutions("explosion"); onlyKeepClearSubstitutions("particleEmitter"); @@ -323,8 +323,6 @@ void ProjectileData::initPersistFields() onlyKeepClearSubstitutions("sound"); onlyKeepClearSubstitutions("splash"); onlyKeepClearSubstitutions("waterExplosion"); - - Parent::initPersistFields(); } diff --git a/Engine/source/T3D/proximityMine.cpp b/Engine/source/T3D/proximityMine.cpp index 2c96c9e3a..d03fc7c01 100644 --- a/Engine/source/T3D/proximityMine.cpp +++ b/Engine/source/T3D/proximityMine.cpp @@ -88,12 +88,15 @@ ProximityMineData::ProximityMineData() void ProximityMineData::initPersistFields() { + Parent::initPersistFields(); + addGroup("Sounds"); + INITPERSISTFIELD_SOUNDASSET(ArmSound, ProximityMineData, "Arming sound for this proximity mine."); + INITPERSISTFIELD_SOUNDASSET(TriggerSound, ProximityMineData, "Arming sound for this proximity mine."); + endGroup("Sounds"); + addGroup( "Arming" ); addField( "armingDelay", TypeF32, Offset(armingDelay, ProximityMineData), "Delay (in seconds) from when the mine is placed to when it becomes active." ); - - INITPERSISTFIELD_SOUNDASSET(ArmSound, ProximityMineData, "Arming sound for this proximity mine."); - endGroup( "Arming" ); addGroup( "Triggering" ); @@ -111,9 +114,6 @@ void ProximityMineData::initPersistFields() "Speed above which moving objects within the trigger radius will trigger the mine" ); addField( "triggerDelay", TypeF32, Offset(triggerDelay, ProximityMineData), "Delay (in seconds) from when the mine is triggered until it explodes." ); - - INITPERSISTFIELD_SOUNDASSET(TriggerSound, ProximityMineData, "Arming sound for this proximity mine."); - endGroup( "Triggering" ); addGroup( "Explosion" ); @@ -124,8 +124,6 @@ void ProximityMineData::initPersistFields() "ground, which can end up blocking the explosion. This offset along the mine's " "'up' normal allows you to raise the explosion origin to a better height."); endGroup( "Explosion" ); - - Parent::initPersistFields(); } bool ProximityMineData::preload( bool server, String& errorStr ) diff --git a/Engine/source/T3D/rigidShape.cpp b/Engine/source/T3D/rigidShape.cpp index 4301e7ded..91818abe4 100644 --- a/Engine/source/T3D/rigidShape.cpp +++ b/Engine/source/T3D/rigidShape.cpp @@ -512,6 +512,22 @@ void RigidShapeData::unpackData(BitStream* stream) void RigidShapeData::initPersistFields() { + Parent::initPersistFields(); + + addGroup( "Particle Effects" ); + addField("dustEmitter", TYPEID< ParticleEmitterData >(), Offset(dustEmitter, RigidShapeData), "Array of pointers to ParticleEmitterData datablocks which will be used to emit particles at object/terrain contact point.\n"); + addField("triggerDustHeight", TypeF32, Offset(triggerDustHeight, RigidShapeData), "Maximum height from the ground at which the object will generate dust.\n"); + addField("dustHeight", TypeF32, Offset(dustHeight, RigidShapeData), "Height of dust effects.\n"); + addField("dustTrailEmitter", TYPEID< ParticleEmitterData >(), Offset(dustTrailEmitter, RigidShapeData), "Particle emitter used to create a dust trail for the moving object.\n"); + addField("splashEmitter", TYPEID< ParticleEmitterData >(), Offset(splashEmitterList, RigidShapeData), VC_NUM_SPLASH_EMITTERS, "Array of pointers to ParticleEmitterData datablocks which will generate splash effects.\n"); + addField("splashFreqMod", TypeF32, Offset(splashFreqMod, RigidShapeData), "The simulated frequency modulation of a splash generated by this object. Multiplied along with speed and time elapsed when determining splash emition rate.\n"); + addField("splashVelEpsilon", TypeF32, Offset(splashVelEpsilon, RigidShapeData), "The threshold speed at which we consider the object's movement to have stopped when updating splash effects.\n"); + endGroup( "Particle Effects" ); + + addGroup( "Sounds" ); + INITPERSISTFIELD_SOUNDASSET_ENUMED(BodySounds, bodySounds, Body::Sounds::MaxSounds, RigidShapeData, "Sounds for body."); INITPERSISTFIELD_SOUNDASSET_ENUMED(WaterSounds, waterSounds, Sounds::MaxSounds, RigidShapeData, "Sounds for interacting with water."); + endGroup( "Sounds" ); + addGroup("Physics"); addField("enablePhysicsRep", TypeBool, Offset(enablePhysicsRep, RigidShapeData), "@brief Creates a representation of the object in the physics plugin.\n"); @@ -538,21 +554,7 @@ void RigidShapeData::initPersistFields() addField("softSplashSoundVelocity", TypeF32, Offset(softSplashSoundVel, RigidShapeData),"The minimum velocity at which the soft splash sound will be played when impacting water.\n"); addField("mediumSplashSoundVelocity", TypeF32, Offset(medSplashSoundVel, RigidShapeData), "The minimum velocity at which the medium splash sound will be played when impacting water.\n"); addField("hardSplashSoundVelocity", TypeF32, Offset(hardSplashSoundVel, RigidShapeData), "The minimum velocity at which the hard splash sound will be played when impacting water.\n"); - endGroup("Collision"); - - addGroup( "Particle Effects" ); - addField("dustEmitter", TYPEID< ParticleEmitterData >(), Offset(dustEmitter, RigidShapeData), "Array of pointers to ParticleEmitterData datablocks which will be used to emit particles at object/terrain contact point.\n"); - addField("triggerDustHeight", TypeF32, Offset(triggerDustHeight, RigidShapeData), "Maximum height from the ground at which the object will generate dust.\n"); - addField("dustHeight", TypeF32, Offset(dustHeight, RigidShapeData), "Height of dust effects.\n"); - addField("dustTrailEmitter", TYPEID< ParticleEmitterData >(), Offset(dustTrailEmitter, RigidShapeData), "Particle emitter used to create a dust trail for the moving object.\n"); - addField("splashEmitter", TYPEID< ParticleEmitterData >(), Offset(splashEmitterList, RigidShapeData), VC_NUM_SPLASH_EMITTERS, "Array of pointers to ParticleEmitterData datablocks which will generate splash effects.\n"); - addField("splashFreqMod", TypeF32, Offset(splashFreqMod, RigidShapeData), "The simulated frequency modulation of a splash generated by this object. Multiplied along with speed and time elapsed when determining splash emition rate.\n"); - addField("splashVelEpsilon", TypeF32, Offset(splashVelEpsilon, RigidShapeData), "The threshold speed at which we consider the object's movement to have stopped when updating splash effects.\n"); - endGroup( "Particle Effects" ); - - addGroup( "Sounds" ); - INITPERSISTFIELD_SOUNDASSET_ENUMED(BodySounds, bodySounds, Body::Sounds::MaxSounds, RigidShapeData, "Sounds for body."); INITPERSISTFIELD_SOUNDASSET_ENUMED(WaterSounds, waterSounds, Sounds::MaxSounds, RigidShapeData, "Sounds for interacting with water."); - endGroup( "Sounds" ); + endGroup("Collision"); addGroup( "Camera" ); addField("cameraRoll", TypeBool, Offset(cameraRoll, RigidShapeData), "Specifies whether the camera's rotation matrix, and the render eye transform are multiplied during camera updates.\n"); @@ -560,8 +562,6 @@ void RigidShapeData::initPersistFields() addField("cameraDecay", TypeF32, Offset(cameraDecay, RigidShapeData), "Scalar rate at which the third person camera offset decays, per tick.\n"); addField("cameraOffset", TypeF32, Offset(cameraOffset, RigidShapeData), "The vertical offset of the object's camera.\n"); endGroup( "Camera" ); - - Parent::initPersistFields(); } diff --git a/Engine/source/T3D/shapeBase.cpp b/Engine/source/T3D/shapeBase.cpp index ac04f7a1f..3353c3968 100644 --- a/Engine/source/T3D/shapeBase.cpp +++ b/Engine/source/T3D/shapeBase.cpp @@ -534,9 +534,11 @@ bool ShapeBaseData::_setMass( void* object, const char* index, const char* data void ShapeBaseData::initPersistFields() { - addGroup( "Shapes" ); INITPERSISTFIELD_SHAPEASSET(Shape, ShapeBaseData, "The source shape asset."); + addField("computeCRC", TypeBool, Offset(computeCRC, ShapeBaseData), + "If true, verify that the CRC of the client's shape model matches the " + "server's CRC for the shape model when loaded by the client."); addField("silentBBoxValidation", TypeBool, Offset(silent_bbox_check, ShapeBaseData)); INITPERSISTFIELD_SHAPEASSET(DebrisShape, ShapeBaseData, "The shape asset to use for auto-generated breakups via blowup(). @note may not be functional."); endGroup( "Shapes" ); @@ -614,12 +616,6 @@ void ShapeBaseData::initPersistFields() "transform and FOV (instead of the default eye transform)." ); endGroup("Camera"); - addGroup( "Misc" ); - addField( "computeCRC", TypeBool, Offset(computeCRC, ShapeBaseData), - "If true, verify that the CRC of the client's shape model matches the " - "server's CRC for the shape model when loaded by the client." ); - endGroup( "Misc" ); - addGroup( "Reflection" ); addField( "cubeReflectorDesc", TypeRealString, Offset( cubeDescName, ShapeBaseData ), "References a ReflectorDesc datablock that defines performance and quality properties for dynamic reflections.\n"); @@ -631,6 +627,12 @@ void ShapeBaseData::initPersistFields() addField("remapTextureTags", TypeString, Offset(remap_txr_tags, ShapeBaseData)); + // disallow some field substitutions + onlyKeepClearSubstitutions("debris"); // subs resolving to "~~", or "~0" are OK + onlyKeepClearSubstitutions("explosion"); + onlyKeepClearSubstitutions("underwaterExplosion"); + Parent::initPersistFields(); + addGroup("BL Projected Shadows"); addField("shadowSize", TypeS32, Offset(shadowSize, ShapeBaseData), "Size of the projected shadow texture (must be power of 2)."); @@ -644,11 +646,6 @@ void ShapeBaseData::initPersistFields() "on the shape bounds but can be adjusted with this field)."); endGroup("BL Projected Shadows"); - // disallow some field substitutions - onlyKeepClearSubstitutions("debris"); // subs resolving to "~~", or "~0" are OK - onlyKeepClearSubstitutions("explosion"); - onlyKeepClearSubstitutions("underwaterExplosion"); - Parent::initPersistFields(); } DefineEngineMethod( ShapeBaseData, checkDeployPos, bool, ( TransformF txfm ),, diff --git a/Engine/source/T3D/staticShape.cpp b/Engine/source/T3D/staticShape.cpp index 941bf72ab..be8dbad5e 100644 --- a/Engine/source/T3D/staticShape.cpp +++ b/Engine/source/T3D/staticShape.cpp @@ -108,13 +108,12 @@ StaticShapeData::StaticShapeData(const StaticShapeData& other, bool temp_clone) void StaticShapeData::initPersistFields() { + Parent::initPersistFields(); addField("noIndividualDamage", TypeBool, Offset(noIndividualDamage, StaticShapeData), "Deprecated\n\n @internal"); addField("dynamicType", TypeS32, Offset(dynamicTypeField, StaticShapeData), "@brief An integer value which, if speficied, is added to the value retured by getType().\n\n" "This allows you to extend the type mask for a StaticShape that uses this datablock. Type masks " "are used for container queries, etc."); - - Parent::initPersistFields(); } void StaticShapeData::packData(BitStream* stream) diff --git a/Engine/source/T3D/turret/aiTurretShape.cpp b/Engine/source/T3D/turret/aiTurretShape.cpp index cb81cf33e..ecf24fa76 100644 --- a/Engine/source/T3D/turret/aiTurretShape.cpp +++ b/Engine/source/T3D/turret/aiTurretShape.cpp @@ -124,6 +124,7 @@ AITurretShapeData::AITurretShapeData() void AITurretShapeData::initPersistFields() { + Parent::initPersistFields(); addGroup("AI Steering"); addField("maxScanHeading", TypeF32, Offset(maxScanHeading, AITurretShapeData), "@brief Maximum number of degrees to scan left and right.\n\n" @@ -194,8 +195,6 @@ void AITurretShapeData::initPersistFields() "Scoped to AITurretShapeData."); endArray( "States" ); - - Parent::initPersistFields(); } bool AITurretShapeData::onAdd() diff --git a/Engine/source/T3D/turret/turretShape.cpp b/Engine/source/T3D/turret/turretShape.cpp index 0367e276e..b3a5afd07 100644 --- a/Engine/source/T3D/turret/turretShape.cpp +++ b/Engine/source/T3D/turret/turretShape.cpp @@ -131,6 +131,7 @@ TurretShapeData::TurretShapeData() void TurretShapeData::initPersistFields() { + Parent::initPersistFields(); addGroup("Steering"); addField("zRotOnly", TypeBool, Offset(zRotOnly, TurretShapeData), "@brief Should the turret allow only z rotations.\n\n" @@ -168,9 +169,6 @@ void TurretShapeData::initPersistFields() addField("cameraOffset", TypeF32, Offset(cameraOffset, TurretShapeData), "Vertical (Z axis) height of the camera above the turret." ); endGroup("Camera"); - - - Parent::initPersistFields(); } void TurretShapeData::packData(BitStream* stream) diff --git a/Engine/source/T3D/vehicles/flyingVehicle.cpp b/Engine/source/T3D/vehicles/flyingVehicle.cpp index 716a06851..cb1134acd 100644 --- a/Engine/source/T3D/vehicles/flyingVehicle.cpp +++ b/Engine/source/T3D/vehicles/flyingVehicle.cpp @@ -175,6 +175,8 @@ bool FlyingVehicleData::preload(bool server, String &errorStr) void FlyingVehicleData::initPersistFields() { + Parent::initPersistFields(); + addGroup("Physics"); addField( "rollForce", TypeF32, Offset(rollForce, FlyingVehicleData), "@brief Damping torque against rolling maneuvers (rotation about the y-axis), " @@ -249,7 +251,6 @@ void FlyingVehicleData::initPersistFields() addGroup("Sounds"); INITPERSISTFIELD_SOUNDASSET_ENUMED(FlyingSounds, engineSounds, Sounds::MaxSounds, FlyingVehicleData, "EngineSounds."); endGroup("Sounds"); - Parent::initPersistFields(); } void FlyingVehicleData::packData(BitStream* stream) diff --git a/Engine/source/T3D/vehicles/hoverVehicle.cpp b/Engine/source/T3D/vehicles/hoverVehicle.cpp index 17a486814..f210f9eda 100644 --- a/Engine/source/T3D/vehicles/hoverVehicle.cpp +++ b/Engine/source/T3D/vehicles/hoverVehicle.cpp @@ -174,6 +174,7 @@ HoverVehicleData::~HoverVehicleData() //-------------------------------------------------------------------------- void HoverVehicleData::initPersistFields() { + Parent::initPersistFields(); addGroup("Physics"); addField( "normalForce", TypeF32, Offset(normalForce, HoverVehicleData), "Force generated in the ground normal direction when the vehicle is not " @@ -273,10 +274,6 @@ void HoverVehicleData::initPersistFields() addGroup("Particle Effects"); INITPERSISTFIELD_SOUNDASSET_ENUMED(HoverSounds, hoverSoundsEnum, Sounds::MaxSounds, HoverVehicleData, "Sounds for hover vehicle."); endGroup("Sounds"); - - - - Parent::initPersistFields(); } diff --git a/Engine/source/T3D/vehicles/vehicle.cpp b/Engine/source/T3D/vehicles/vehicle.cpp index 49be9d0c2..1fd26a8d0 100644 --- a/Engine/source/T3D/vehicles/vehicle.cpp +++ b/Engine/source/T3D/vehicles/vehicle.cpp @@ -274,6 +274,38 @@ void VehicleData::unpackData(BitStream* stream) void VehicleData::initPersistFields() { + Parent::initPersistFields(); + + addGroup("Particle Effects"); + addField( "damageEmitter", TYPEID< ParticleEmitterData >(), Offset(damageEmitterList, VehicleData), VC_NUM_DAMAGE_EMITTERS, + "@brief Array of particle emitters used to generate damage (dust, smoke etc) " + "effects.\n\n" + "Currently, the first two emitters (indices 0 and 1) are used when the damage " + "level exceeds the associated damageLevelTolerance. The 3rd emitter is used " + "when the emitter point is underwater.\n\n" + "@see damageEmitterOffset" ); + addField( "damageEmitterOffset", TypePoint3F, Offset(damageEmitterOffset, VehicleData), VC_NUM_DAMAGE_EMITTER_AREAS, + "@brief Object space \"x y z\" offsets used to emit particles for the " + "active damageEmitter.\n\n" + "@tsexample\n" + "// damage levels\n" + "damageLevelTolerance[0] = 0.5;\n" + "damageEmitter[0] = SmokeEmitter;\n" + "// emit offsets (used for all active damage level emitters)\n" + "damageEmitterOffset[0] = \"0.5 3 1\";\n" + "damageEmitterOffset[1] = \"-0.5 3 1\";\n" + "numDmgEmitterAreas = 2;\n" + "@endtsexample\n" ); + addField( "damageLevelTolerance", TypeF32, Offset(damageLevelTolerance, VehicleData), VC_NUM_DAMAGE_LEVELS, + "@brief Damage levels (as a percentage of maxDamage) above which to begin " + "emitting particles from the associated damageEmitter.\n\n" + "Levels should be in order of increasing damage.\n\n" + "@see damageEmitterOffset" ); + addField( "numDmgEmitterAreas", TypeF32, Offset(numDmgEmitterAreas, VehicleData), + "Number of damageEmitterOffset values to use for each damageEmitter.\n\n" + "@see damageEmitterOffset" ); + endGroup("Particle Effects"); + addGroup("Physics"); addField("enablePhysicsRep", TypeBool, Offset(enablePhysicsRep, VehicleData), "@brief Creates a representation of the object in the physics plugin.\n"); @@ -309,38 +341,6 @@ void VehicleData::initPersistFields() addField( "steeringReturnSpeedScale", TypeF32, Offset(steeringReturnSpeedScale, VehicleData), "Amount of effect the vehicle's speed has on its rate of steering return." ); endGroup("AutoCorrection"); - - addGroup("Particle Effects"); - addField( "damageEmitter", TYPEID< ParticleEmitterData >(), Offset(damageEmitterList, VehicleData), VC_NUM_DAMAGE_EMITTERS, - "@brief Array of particle emitters used to generate damage (dust, smoke etc) " - "effects.\n\n" - "Currently, the first two emitters (indices 0 and 1) are used when the damage " - "level exceeds the associated damageLevelTolerance. The 3rd emitter is used " - "when the emitter point is underwater.\n\n" - "@see damageEmitterOffset" ); - addField( "damageEmitterOffset", TypePoint3F, Offset(damageEmitterOffset, VehicleData), VC_NUM_DAMAGE_EMITTER_AREAS, - "@brief Object space \"x y z\" offsets used to emit particles for the " - "active damageEmitter.\n\n" - "@tsexample\n" - "// damage levels\n" - "damageLevelTolerance[0] = 0.5;\n" - "damageEmitter[0] = SmokeEmitter;\n" - "// emit offsets (used for all active damage level emitters)\n" - "damageEmitterOffset[0] = \"0.5 3 1\";\n" - "damageEmitterOffset[1] = \"-0.5 3 1\";\n" - "numDmgEmitterAreas = 2;\n" - "@endtsexample\n" ); - addField( "damageLevelTolerance", TypeF32, Offset(damageLevelTolerance, VehicleData), VC_NUM_DAMAGE_LEVELS, - "@brief Damage levels (as a percentage of maxDamage) above which to begin " - "emitting particles from the associated damageEmitter.\n\n" - "Levels should be in order of increasing damage.\n\n" - "@see damageEmitterOffset" ); - addField( "numDmgEmitterAreas", TypeF32, Offset(numDmgEmitterAreas, VehicleData), - "Number of damageEmitterOffset values to use for each damageEmitter.\n\n" - "@see damageEmitterOffset" ); - endGroup("Particle Effects"); - - Parent::initPersistFields(); } diff --git a/Engine/source/T3D/vehicles/wheeledVehicle.cpp b/Engine/source/T3D/vehicles/wheeledVehicle.cpp index 80f45caf6..f9bbd7200 100644 --- a/Engine/source/T3D/vehicles/wheeledVehicle.cpp +++ b/Engine/source/T3D/vehicles/wheeledVehicle.cpp @@ -448,6 +448,18 @@ bool WheeledVehicleData::mirrorWheel(Wheel* we) void WheeledVehicleData::initPersistFields() { + Parent::initPersistFields(); + + addGroup("Particle Effects"); + addField("tireEmitter", TYPEID< ParticleEmitterData >(), Offset(tireEmitter, WheeledVehicleData), + "ParticleEmitterData datablock used to generate particles from each wheel " + "when the vehicle is moving and the wheel is in contact with the ground."); + endGroup("Particle Effects"); + + addGroup("Sounds"); + INITPERSISTFIELD_SOUNDASSET_ENUMED(WheeledVehicleSounds, WheeledVehicleSoundsEnum, MaxSounds, WheeledVehicleData, "Sounds related to wheeled vehicle."); + endGroup("Sounds"); + addGroup("Steering"); addField("maxWheelSpeed", TypeF32, Offset(maxWheelSpeed, WheeledVehicleData), "@brief Maximum linear velocity of each wheel.\n\n" @@ -463,18 +475,6 @@ void WheeledVehicleData::initPersistFields() "@brief Torque applied when braking.\n\n" "This controls how fast the vehicle will stop when the brakes are applied." ); endGroup("Steering"); - - addGroup("Particle Effects"); - addField("tireEmitter",TYPEID< ParticleEmitterData >(), Offset(tireEmitter, WheeledVehicleData), - "ParticleEmitterData datablock used to generate particles from each wheel " - "when the vehicle is moving and the wheel is in contact with the ground."); - endGroup("Particle Effects"); - - addGroup("Sounds"); - INITPERSISTFIELD_SOUNDASSET_ENUMED(WheeledVehicleSounds, WheeledVehicleSoundsEnum, MaxSounds, WheeledVehicleData, "Sounds related to wheeled vehicle."); - endGroup("Sounds"); - - Parent::initPersistFields(); } diff --git a/Engine/source/afx/afxMagicMissile.cpp b/Engine/source/afx/afxMagicMissile.cpp index d23077df7..e01cad932 100644 --- a/Engine/source/afx/afxMagicMissile.cpp +++ b/Engine/source/afx/afxMagicMissile.cpp @@ -331,18 +331,19 @@ void afxMagicMissileData::initPersistFields() { static IRangeValidatorScaled ticksFromMS(TickMs, 0, MaxLifetimeTicks); - addGroup("Particle Effects"); - addField("particleEmitter", TYPEID(), Offset(particleEmitter, afxMagicMissileData)); - addField("particleWaterEmitter", TYPEID(), Offset(particleWaterEmitter, afxMagicMissileData)); - endGroup("Particle Effects"); - addGroup("Shapes"); INITPERSISTFIELD_SHAPEASSET(ProjectileShape, afxMagicMissileData, "Shape for the projectile"); addField("scale", TypePoint3F, Offset(scale, afxMagicMissileData)); endGroup("Shapes"); - INITPERSISTFIELD_SOUNDASSET(ProjectileSound, afxMagicMissileData, "sound for the projectile"); + addGroup("Particle Effects"); + addField("particleEmitter", TYPEID(), Offset(particleEmitter, afxMagicMissileData)); + addField("particleWaterEmitter", TYPEID(), Offset(particleWaterEmitter, afxMagicMissileData)); + endGroup("Particle Effects"); + addGroup("Sounds"); + INITPERSISTFIELD_SOUNDASSET(ProjectileSound, afxMagicMissileData, "sound for the projectile"); + endGroup("Sounds"); /* From stock Projectile code... addField("explosion", TYPEID< ExplosionData >(), Offset(explosion, ProjectileData)); addField("waterExplosion", TYPEID< ExplosionData >(), Offset(waterExplosion, ProjectileData)); diff --git a/Engine/source/afx/ce/afxModel.cpp b/Engine/source/afx/ce/afxModel.cpp index 838bdb16e..bc5dd9349 100644 --- a/Engine/source/afx/ce/afxModel.cpp +++ b/Engine/source/afx/ce/afxModel.cpp @@ -176,7 +176,7 @@ void afxModelData::initPersistFields() INITPERSISTFIELD_SHAPEASSET(Shape, afxModelData, "The name of a .dts format file to use for the model."); addGroup("Shapes"); - addGroup("Rendering"); + addGroup("Animation"); addField("sequence", TypeString, myOffset(sequence), "The name of an animation sequence to play in the model."); addField("sequenceRate", TypeF32, myOffset(seq_rate), @@ -185,6 +185,9 @@ void afxModelData::initPersistFields() "An offset in seconds indicating a starting point for the animation sequence " "specified by the sequence field. A rate of 1.0 (rather than sequenceRate) is used " "to convert from seconds to the thread offset."); + endGroup("Animation"); + + addGroup("Rendering"); addField("alphaMult", TypeF32, myOffset(alpha_mult), "An alpha multiplier used to set maximum opacity of the model."); addField("fogMult", TypeF32, myOffset(fog_mult), ""); @@ -196,7 +199,7 @@ void afxModelData::initPersistFields() "that exists in the model, while the second is a new name to replace it. The string " "can have any number of remapping tokens as long as the total string length does not " "exceed 255."); - addGroup("Rendering"); + endGroup("Rendering"); addGroup("Deprecated"); addField("useVertexAlpha", TypeBool, myOffset(use_vertex_alpha), diff --git a/Engine/source/environment/VolumetricFog.cpp b/Engine/source/environment/VolumetricFog.cpp index 4fc4f9d0e..f0bbdf721 100644 --- a/Engine/source/environment/VolumetricFog.cpp +++ b/Engine/source/environment/VolumetricFog.cpp @@ -165,6 +165,7 @@ VolumetricFog::~VolumetricFog() void VolumetricFog::initPersistFields() { + Parent::initPersistFields(); addGroup("Shapes"); INITPERSISTFIELD_SHAPEASSET(Shape, VolumetricFog, "The source shape asset."); endGroup("Shapes"); @@ -212,7 +213,6 @@ void VolumetricFog::initPersistFields() addField("lightRayMod", TypeF32, Offset(mLightRayMod, VolumetricFog), "Modifier for LightRay PostFX when inside Fog."); endGroup("PostFX"); - Parent::initPersistFields(); } bool VolumetricFog::_setShapeAsset(void* obj, const char* index, const char* data) diff --git a/Engine/source/environment/sun.cpp b/Engine/source/environment/sun.cpp index 47cc91070..dcb374fbc 100644 --- a/Engine/source/environment/sun.cpp +++ b/Engine/source/environment/sun.cpp @@ -138,9 +138,22 @@ void Sun::onRemove() removeFromScene(); Parent::onRemove(); } +const char * getDocsLink(const char* filename, U32 lineNumber) +{ + Vector fileStringSplit; + String::String(filename).split("source", fileStringSplit); + String fileString = fileStringSplit.last(); + String fileLineString = fileString + String::String("#L") + String::ToString(lineNumber); + String URL = String::String("docs"); + + return (new String(URL))->c_str(); +} + +#define doDocsLink getDocsLink(__FILE__,__LINE__) void Sun::initPersistFields() { + addProtectedField("docs", TypeBool, NULL, &defaultProtectedNotSetFn, &defaultProtectedGetFn, doDocsLink); addGroup( "Orbit" ); addField( "azimuth", TypeF32, Offset( mSunAzimuth, Sun ), diff --git a/Engine/source/forest/forestItem.cpp b/Engine/source/forest/forestItem.cpp index 4d75e8d0e..ed742ef4a 100644 --- a/Engine/source/forest/forestItem.cpp +++ b/Engine/source/forest/forestItem.cpp @@ -58,8 +58,6 @@ ForestItemData::ForestItemData() void ForestItemData::initPersistFields() { - Parent::initPersistFields(); - addGroup( "Shapes" ); INITPERSISTFIELD_SHAPEASSET(Shape, ForestItemData, "Shape asset for this item type"); @@ -108,6 +106,7 @@ void ForestItemData::initPersistFields() "Frequency (speed) of the effect on leafs/fronds." ); endGroup( "Wind" ); + Parent::initPersistFields(); } void ForestItemData::consoleInit() diff --git a/Engine/source/math/mathTypes.cpp b/Engine/source/math/mathTypes.cpp index 21a8d0bf5..5beb3f9b0 100644 --- a/Engine/source/math/mathTypes.cpp +++ b/Engine/source/math/mathTypes.cpp @@ -1011,6 +1011,11 @@ DefineEngineFunction( VectorOrthoBasis, MatrixF, ( AngAxisF aa ),, return mat; } +DefineEngineFunction(toEuler, VectorF, (MatrixF _in), , + "#Brief get the rotation of a matrix\n") +{ + return _in.getForwardVector(); +} //----------------------------------------------------------------------------- //ConsoleFunction(VectorRot, const char*, 3, 3, "(Vector3F, float) rotate a vector in 2d") From 41cb2e63cff7cabd8ba740fe938ae7127f7025e7 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Tue, 24 Jan 2023 19:43:07 -0600 Subject: [PATCH 3/7] remove auto-documentation experiment --- Engine/source/environment/sun.cpp | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/Engine/source/environment/sun.cpp b/Engine/source/environment/sun.cpp index dcb374fbc..47cc91070 100644 --- a/Engine/source/environment/sun.cpp +++ b/Engine/source/environment/sun.cpp @@ -138,22 +138,9 @@ void Sun::onRemove() removeFromScene(); Parent::onRemove(); } -const char * getDocsLink(const char* filename, U32 lineNumber) -{ - Vector fileStringSplit; - String::String(filename).split("source", fileStringSplit); - String fileString = fileStringSplit.last(); - String fileLineString = fileString + String::String("#L") + String::ToString(lineNumber); - String URL = String::String("docs"); - - return (new String(URL))->c_str(); -} - -#define doDocsLink getDocsLink(__FILE__,__LINE__) void Sun::initPersistFields() { - addProtectedField("docs", TypeBool, NULL, &defaultProtectedNotSetFn, &defaultProtectedGetFn, doDocsLink); addGroup( "Orbit" ); addField( "azimuth", TypeF32, Offset( mSunAzimuth, Sun ), From a0bbe0ec1838a9f09c417f164e6cfbaecf1ce772 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Thu, 26 Jan 2023 20:01:10 -0600 Subject: [PATCH 4/7] layout consistency pass pt 3 - some afx bits, correct malformed shapeimage grouping causing a crash. -must have addgroup and endgroup --- Engine/source/T3D/shapeImage.cpp | 2 +- Engine/source/afx/afxMagicMissile.cpp | 117 ++++++++++-------------- Engine/source/afx/ce/afxProjectile.cpp | 34 +++---- Engine/source/afx/ce/afxStaticShape.cpp | 25 +++-- 4 files changed, 81 insertions(+), 97 deletions(-) diff --git a/Engine/source/T3D/shapeImage.cpp b/Engine/source/T3D/shapeImage.cpp index 6e9f0068d..e0bfb460f 100644 --- a/Engine/source/T3D/shapeImage.cpp +++ b/Engine/source/T3D/shapeImage.cpp @@ -689,7 +689,7 @@ void ShapeBaseImageData::initPersistFields() "the amount of time it takes to transition from the previously playing animation sequence to" "the new script prefix-based animation sequence.\n" "@see ShapeBase::setImageScriptAnimPrefix()"); - addGroup("Animation"); + endGroup("Animation"); addField( "projectile", TYPEID< ProjectileData >(), Offset(projectile, ShapeBaseImageData), "@brief The projectile fired by this Image\n\n" ); diff --git a/Engine/source/afx/afxMagicMissile.cpp b/Engine/source/afx/afxMagicMissile.cpp index e01cad932..0efd86790 100644 --- a/Engine/source/afx/afxMagicMissile.cpp +++ b/Engine/source/afx/afxMagicMissile.cpp @@ -334,96 +334,75 @@ void afxMagicMissileData::initPersistFields() addGroup("Shapes"); INITPERSISTFIELD_SHAPEASSET(ProjectileShape, afxMagicMissileData, "Shape for the projectile"); addField("scale", TypePoint3F, Offset(scale, afxMagicMissileData)); + addField("missileShapeScale", TypePoint3F, myOffset(scale)); endGroup("Shapes"); addGroup("Particle Effects"); addField("particleEmitter", TYPEID(), Offset(particleEmitter, afxMagicMissileData)); addField("particleWaterEmitter", TYPEID(), Offset(particleWaterEmitter, afxMagicMissileData)); + addField("splash", TYPEID(), Offset(splash, afxMagicMissileData)); endGroup("Particle Effects"); addGroup("Sounds"); INITPERSISTFIELD_SOUNDASSET(ProjectileSound, afxMagicMissileData, "sound for the projectile"); endGroup("Sounds"); - /* From stock Projectile code... - addField("explosion", TYPEID< ExplosionData >(), Offset(explosion, ProjectileData)); - addField("waterExplosion", TYPEID< ExplosionData >(), Offset(waterExplosion, ProjectileData)); - */ - addField("splash", TYPEID(), Offset(splash, afxMagicMissileData)); - /* From stock Projectile code... - addField("decal", TYPEID< DecalData >(), Offset(decal, ProjectileData)); - */ + addGroup("Light Emitter"); + addField("lightDesc", TYPEID< LightDescription >(), Offset(lightDesc, afxMagicMissileData)); + endGroup("Light Emitter"); - addField("lightDesc", TYPEID< LightDescription >(), Offset(lightDesc, afxMagicMissileData)); + addGroup("Physics"); + addNamedFieldV(lifetime, TypeS32, afxMagicMissileData, &ticksFromMS); + addFieldV("casterSafetyTime", TypeS32, myOffset(caster_safety_time), &ticksFromMS); + addField("isBallistic", TypeBool, Offset(isBallistic, afxMagicMissileData)); + addNamedFieldV(muzzleVelocity, TypeF32, afxMagicMissileData, &muzzleVelocityValidator); + addNamedFieldV(ballisticCoefficient, TypeF32, afxMagicMissileData, &missileBallisticCoefficientValidator); + addField("gravityMod", TypeF32, Offset(gravityMod, afxMagicMissileData)); + addField("collisionMask", TypeS32, myOffset(collision_mask)); + addField("startingVelocityVector",TypePoint3F, myOffset(starting_vel_vec)); + addNamedField(acceleration, TypeF32, afxMagicMissileData); + addNamedFieldV(accelDelay, TypeS32, afxMagicMissileData, &ticksFromMS); + addNamedFieldV(accelLifetime, TypeS32, afxMagicMissileData, &ticksFromMS); + addField("reverseTargeting", TypeBool, myOffset(reverse_targeting)); + endGroup("Physics"); - addField("isBallistic", TypeBool, Offset(isBallistic, afxMagicMissileData)); - /* From stock Projectile code... - addField("velInheritFactor", TypeF32, Offset(velInheritFactor, ProjectileData)); - */ - addNamedFieldV(muzzleVelocity, TypeF32, afxMagicMissileData, &muzzleVelocityValidator); - /* From stock Projectile code... - addField("impactForce", TypeF32, Offset(impactForce, ProjectileData)); - */ - addNamedFieldV(lifetime, TypeS32, afxMagicMissileData, &ticksFromMS); - /* From stock Projectile code... - addProtectedField("armingDelay", TypeS32, Offset(armingDelay, ProjectileData), &setArmingDelay, &getScaledValue, - "The time in milliseconds before the projectile is armed and will cause damage or explode on impact." ); + addGroup("Physics-Tracking"); + addNamedField(isGuided, TypeBool, afxMagicMissileData); + addNamedFieldV(precision, TypeF32, afxMagicMissileData, &missilePrecisionValidator); + addNamedFieldV(trackDelay, TypeS32, afxMagicMissileData, &missileTrackDelayValidator); + endGroup("Physics-Tracking"); - addProtectedField("fadeDelay", TypeS32, Offset(fadeDelay, ProjectileData), &setFadeDelay, &getScaledValue, - "The time in milliseconds when the projectile begins to fade out. Must be less than the lifetime to have an effect." ); + addGroup("Physics-Avoidance"); + addField("followTerrain", TypeBool, myOffset(followTerrain)); + addField("followTerrainHeight", TypeF32, myOffset(followTerrainHeight)); + addField("followTerrainAdjustRate", TypeF32, myOffset(followTerrainAdjustRate)); + addFieldV("followTerrainAdjustDelay", TypeS32, myOffset(followTerrainAdjustDelay), &ticksFromMS); - addField("bounceElasticity", TypeF32, Offset(bounceElasticity, ProjectileData)); - addField("bounceFriction", TypeF32, Offset(bounceFriction, ProjectileData)); - */ - addField("gravityMod", TypeF32, Offset(gravityMod, afxMagicMissileData)); + addField("hoverAltitude", TypeF32, myOffset(hover_altitude)); + addField("hoverAttackDistance", TypeF32, myOffset(hover_attack_distance)); + addField("hoverAttackGradient", TypeF32, myOffset(hover_attack_gradient)); + addFieldV("hoverTime", TypeS32, myOffset(hover_time), &ticksFromMS); + endGroup("Physics-Avoidance"); - // FIELDS ADDED BY MAGIC-MISSILE - - //addField("missileShapeName", TypeFilename, myOffset(projectileShapeName)); - addField("missileShapeScale", TypePoint3F, myOffset(scale)); - - addField("startingVelocityVector",TypePoint3F, myOffset(starting_vel_vec)); - - addNamedField(isGuided, TypeBool, afxMagicMissileData); - addNamedFieldV(precision, TypeF32, afxMagicMissileData, &missilePrecisionValidator); - addNamedFieldV(trackDelay, TypeS32, afxMagicMissileData, &missileTrackDelayValidator); - addNamedFieldV(ballisticCoefficient, TypeF32, afxMagicMissileData, &missileBallisticCoefficientValidator); - - addField("collisionMask", TypeS32, myOffset(collision_mask)); - - addField("followTerrain", TypeBool, myOffset(followTerrain)); - addField("followTerrainHeight", TypeF32, myOffset(followTerrainHeight)); - addField("followTerrainAdjustRate", TypeF32, myOffset(followTerrainAdjustRate)); - addFieldV("followTerrainAdjustDelay", TypeS32, myOffset(followTerrainAdjustDelay), &ticksFromMS); - - addNamedField(acceleration, TypeF32, afxMagicMissileData); - addNamedFieldV(accelDelay, TypeS32, afxMagicMissileData, &ticksFromMS); - addNamedFieldV(accelLifetime, TypeS32, afxMagicMissileData, &ticksFromMS); - - addField("launchNode", TypeString, myOffset(launch_node)); - addField("launchOffset", TypePoint3F, myOffset(launch_offset)); - addField("launchOffsetServer",TypePoint3F, myOffset(launch_offset_server)); - addField("launchOffsetClient",TypePoint3F, myOffset(launch_offset_client)); - addField("launchNodeOffset", TypePoint3F, myOffset(launch_node_offset)); - addField("launchAimPitch", TypeF32, myOffset(launch_pitch)); - addField("launchAimPan", TypeF32, myOffset(launch_pan)); - addField("launchConstraintServer", TypeString, myOffset(launch_cons_s_spec)); - addField("launchConstraintClient", TypeString, myOffset(launch_cons_c_spec)); - // - addField("echoLaunchOffset", TypeBool, myOffset(echo_launch_offset)); + addGroup("Physics-Launch"); + addField("launchNode", TypeString, myOffset(launch_node)); + addField("launchOffset", TypePoint3F, myOffset(launch_offset)); + addField("launchOffsetServer",TypePoint3F, myOffset(launch_offset_server)); + addField("launchOffsetClient",TypePoint3F, myOffset(launch_offset_client)); + addField("launchNodeOffset", TypePoint3F, myOffset(launch_node_offset)); + addField("launchAimPitch", TypeF32, myOffset(launch_pitch)); + addField("launchAimPan", TypeF32, myOffset(launch_pan)); + addField("launchConstraintServer", TypeString, myOffset(launch_cons_s_spec)); + addField("launchConstraintClient", TypeString, myOffset(launch_cons_c_spec)); + addField("echoLaunchOffset", TypeBool, myOffset(echo_launch_offset)); + endGroup("Physics-Launch"); + addGroup("Physics-Wiggle"); addField("wiggleMagnitudes", TypeF32Vector, myOffset(wiggle_magnitudes)); addField("wiggleSpeeds", TypeF32Vector, myOffset(wiggle_speeds)); addField("wiggleAxis", TypeString, myOffset(wiggle_axis_string)); + endGroup("Physics-Wiggle"); - addField("hoverAltitude", TypeF32, myOffset(hover_altitude)); - addField("hoverAttackDistance", TypeF32, myOffset(hover_attack_distance)); - addField("hoverAttackGradient", TypeF32, myOffset(hover_attack_gradient)); - addFieldV("hoverTime", TypeS32, myOffset(hover_time), &ticksFromMS); - - addField("reverseTargeting", TypeBool, myOffset(reverse_targeting)); - - addFieldV("casterSafetyTime", TypeS32, myOffset(caster_safety_time), &ticksFromMS); Parent::initPersistFields(); diff --git a/Engine/source/afx/ce/afxProjectile.cpp b/Engine/source/afx/ce/afxProjectile.cpp index 581e16d3c..9d52e5d2d 100644 --- a/Engine/source/afx/ce/afxProjectile.cpp +++ b/Engine/source/afx/ce/afxProjectile.cpp @@ -82,23 +82,23 @@ EndImplementEnumType; void afxProjectileData::initPersistFields() { - addField("networking", TypeS8, myOffset(networking), - "..."); - addField("launchPosSpec", TypeString, myOffset(launch_pos_spec), - "..."); - addField("launchDirBias", TypePoint3F, myOffset(launch_dir_bias), - "..."); - addField("ignoreSourceTimeout", TypeBool, myOffset(ignore_src_timeout), - "..."); - addField("dynamicCollisionMask", TypeS32, myOffset(dynamicCollisionMask), - "..."); - addField("staticCollisionMask", TypeS32, myOffset(staticCollisionMask), - "..."); - addField("overrideCollisionMasks", TypeBool, myOffset(override_collision_masks), - "..."); + addGroup("Physics"); + addField("ignoreSourceTimeout", TypeBool, myOffset(ignore_src_timeout), "..."); + addField("dynamicCollisionMask", TypeS32, myOffset(dynamicCollisionMask), "..."); + addField("staticCollisionMask", TypeS32, myOffset(staticCollisionMask), "..."); + addField("overrideCollisionMasks", TypeBool, myOffset(override_collision_masks), "..."); + endGroup("Physics"); - addField("launchDirMethod", TYPEID(), myOffset(launch_dir_method), - "Possible values: towardPos2Constraint, orientConstraint, or launchDirField."); + addGroup("Physics-Launch"); + addField("launchPosSpec", TypeString, myOffset(launch_pos_spec), "..."); + addField("launchDirBias", TypePoint3F, myOffset(launch_dir_bias), "..."); + addField("launchDirMethod", TYPEID(), myOffset(launch_dir_method), + "Possible values: towardPos2Constraint, orientConstraint, or launchDirField."); + endGroup("Physics-Launch"); + + addGroup("Networking"); + addField("networking", TypeS8, myOffset(networking), "..."); + endGroup("Networking"); Parent::initPersistFields(); } @@ -368,4 +368,4 @@ void afxProjectile::explode(const Point3F& p, const Point3F& n, const U32 collid Sim::postEvent(this, new afxProjectileDeleteEvent, Sim::getCurrentTime() + DeleteWaitTime); } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/ce/afxStaticShape.cpp b/Engine/source/afx/ce/afxStaticShape.cpp index 4aad448f8..f58706552 100644 --- a/Engine/source/afx/ce/afxStaticShape.cpp +++ b/Engine/source/afx/ce/afxStaticShape.cpp @@ -70,17 +70,22 @@ afxStaticShapeData::afxStaticShapeData(const afxStaticShapeData& other, bool tem void afxStaticShapeData::initPersistFields() { - addField("sequence", TypeString, myOffset(sequence), + addGroup("Animation"); + addField("sequence", TypeString, myOffset(sequence), "An animation sequence in the StaticShape to play."); - addField("ignoreSceneAmbient", TypeBool, myOffset(ignore_scene_amb), - "..."); - addField("useCustomSceneAmbient", TypeBool, myOffset(use_custom_scene_amb), - "..."); - addField("customSceneAmbient", TypeColorF, myOffset(custom_scene_amb), - "..."); - addField("doSpawn", TypeBool, myOffset(do_spawn), - "When true, the StaticShape effect will leave behind the StaticShape object as a " - "permanent part of the scene."); + endGroup("Animation"); + + addGroup("Rendering"); + addField("ignoreSceneAmbient", TypeBool, myOffset(ignore_scene_amb), "..."); + addField("useCustomSceneAmbient", TypeBool, myOffset(use_custom_scene_amb), "..."); + addField("customSceneAmbient", TypeColorF, myOffset(custom_scene_amb), "..."); + endGroup("Rendering"); + + addGroup("Behaviour"); + addField("doSpawn", TypeBool, myOffset(do_spawn), + "When true, the StaticShape effect will leave behind the StaticShape object as a " + "permanent part of the scene."); + endGroup("Behaviour"); Parent::initPersistFields(); } From f5a34308f9a60d6d915917478ecc61aecaaf8a65 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Fri, 27 Jan 2023 01:13:15 -0600 Subject: [PATCH 5/7] add a docsURL; macro to link a given set of script config vars to git or similar storage urls via clicking on the inspector --- Engine/source/T3D/Scene.cpp | 1 + Engine/source/T3D/accumulationVolume.cpp | 1 + Engine/source/T3D/aiPlayer.cpp | 1 + Engine/source/T3D/assets/CppAsset.cpp | 1 + Engine/source/T3D/assets/CubemapAsset.cpp | 1 + Engine/source/T3D/assets/ExampleAsset.cpp | 1 + Engine/source/T3D/assets/GUIAsset.cpp | 1 + Engine/source/T3D/assets/GameObjectAsset.cpp | 1 + Engine/source/T3D/assets/ImageAsset.cpp | 1 + Engine/source/T3D/assets/LevelAsset.cpp | 1 + Engine/source/T3D/assets/MaterialAsset.cpp | 1 + Engine/source/T3D/assets/ParticleAsset.cpp | 1 + Engine/source/T3D/assets/PostEffectAsset.cpp | 1 + Engine/source/T3D/assets/ScriptAsset.cpp | 1 + .../source/T3D/assets/ShapeAnimationAsset.cpp | 1 + Engine/source/T3D/assets/ShapeAsset.cpp | 1 + Engine/source/T3D/assets/SoundAsset.cpp | 1 + Engine/source/T3D/assets/TerrainAsset.cpp | 1 + .../T3D/assets/TerrainMaterialAsset.cpp | 1 + Engine/source/T3D/assets/assetImporter.cpp | 3 + .../source/T3D/assets/stateMachineAsset.cpp | 1 + Engine/source/T3D/camera.cpp | 2 + Engine/source/T3D/convexShape.cpp | 1 + Engine/source/T3D/debris.cpp | 2 + Engine/source/T3D/decal/decalData.cpp | 1 + .../source/T3D/examples/renderMeshExample.cpp | 1 + .../T3D/examples/renderObjectExample.cpp | 3 +- .../T3D/examples/renderShapeExample.cpp | 1 + Engine/source/T3D/fps/guiClockHud.cpp | 1 + Engine/source/T3D/fps/guiCrossHairHud.cpp | 1 + Engine/source/T3D/fps/guiHealthBarHud.cpp | 1 + Engine/source/T3D/fps/guiHealthTextHud.cpp | 5 +- Engine/source/T3D/fps/guiShapeNameHud.cpp | 1 + Engine/source/T3D/fx/explosion.cpp | 2 + Engine/source/T3D/fx/fxFoliageReplicator.cpp | 1 + Engine/source/T3D/fx/fxShapeReplicator.cpp | 1 + Engine/source/T3D/fx/groundCover.cpp | 1 + Engine/source/T3D/fx/lightning.cpp | 2 + Engine/source/T3D/fx/particleEmitterNode.cpp | 2 + Engine/source/T3D/fx/precipitation.cpp | 2 + Engine/source/T3D/fx/ribbon.cpp | 2 + Engine/source/T3D/fx/ribbonNode.cpp | 2 + Engine/source/T3D/fx/splash.cpp | 3 +- Engine/source/T3D/gameBase/gameBase.cpp | 2 + Engine/source/T3D/groundPlane.cpp | 1 + Engine/source/T3D/guiObjectView.cpp | 1 + Engine/source/T3D/item.cpp | 1 + Engine/source/T3D/levelInfo.cpp | 1 + Engine/source/T3D/lightAnimData.cpp | 1 + Engine/source/T3D/lightBase.cpp | 1 + Engine/source/T3D/lightDescription.cpp | 1 + Engine/source/T3D/lightFlareData.cpp | 1 + .../T3D/lighting/boxEnvironmentProbe.cpp | 1 + .../source/T3D/lighting/reflectionProbe.cpp | 1 + Engine/source/T3D/lighting/skylight.cpp | 1 + .../T3D/lighting/sphereEnvironmentProbe.cpp | 1 + Engine/source/T3D/missionArea.cpp | 3 +- Engine/source/T3D/missionMarker.cpp | 7 +- Engine/source/T3D/notesObject.cpp | 1 + Engine/source/T3D/pathCamera.cpp | 4 +- Engine/source/T3D/pathShape.cpp | 4 +- Engine/source/T3D/physicalZone.cpp | 1 + Engine/source/T3D/physics/physicsDebris.cpp | 2 + Engine/source/T3D/physics/physicsForce.cpp | 3 +- Engine/source/T3D/physics/physicsShape.cpp | 4 +- Engine/source/T3D/pointLight.cpp | 1 + Engine/source/T3D/portal.cpp | 1 + Engine/source/T3D/prefab.cpp | 1 + Engine/source/T3D/projectile.cpp | 2 + Engine/source/T3D/proximityMine.cpp | 1 + Engine/source/T3D/rigidShape.cpp | 2 + Engine/source/T3D/scopeAlwaysShape.cpp | 1 + Engine/source/T3D/sfx/sfxEmitter.cpp | 1 + Engine/source/T3D/shapeBase.cpp | 1 + Engine/source/T3D/shapeImage.cpp | 1 + Engine/source/T3D/spotLight.cpp | 1 + Engine/source/T3D/staticShape.cpp | 2 + Engine/source/T3D/trigger.cpp | 1 + Engine/source/T3D/tsStatic.cpp | 1 + Engine/source/T3D/turret/aiTurretShape.cpp | 1 + Engine/source/T3D/turret/turretShape.cpp | 1 + Engine/source/T3D/vehicles/flyingVehicle.cpp | 2 + Engine/source/T3D/vehicles/guiSpeedometer.cpp | 1 + Engine/source/T3D/vehicles/hoverVehicle.cpp | 1 + Engine/source/T3D/vehicles/vehicle.cpp | 2 + Engine/source/T3D/vehicles/vehicleBlocker.cpp | 1 + Engine/source/T3D/vehicles/wheeledVehicle.cpp | 4 + Engine/source/T3D/zone.cpp | 1 + Engine/source/Verve/Core/VController.cpp | 3 +- Engine/source/Verve/Core/VController.h | 2 +- Engine/source/Verve/Core/VEvent.cpp | 5 +- Engine/source/Verve/Core/VEvent.h | 2 +- Engine/source/Verve/Core/VObject.cpp | 3 +- Engine/source/Verve/Core/VObject.h | 2 +- .../Animation/VShapeAnimationEvent.cpp | 5 +- .../Animation/VShapeAnimationEvent.h | 2 +- .../Animation/VShapeAnimationTrack.cpp | 3 +- .../Animation/VShapeAnimationTrack.h | 2 +- .../Extension/Camera/VCameraShakeEvent.cpp | 5 +- .../Extension/Camera/VCameraShakeEvent.h | 2 +- .../Extension/Director/VDirectorEvent.cpp | 5 +- .../Verve/Extension/Director/VDirectorEvent.h | 2 +- .../Extension/Director/VSceneJumpEvent.cpp | 5 +- .../Extension/Director/VSceneJumpEvent.h | 2 +- .../Verve/Extension/Director/VSlowMoEvent.cpp | 5 +- .../Verve/Extension/Director/VSlowMoEvent.h | 2 +- .../Game/VSpawnSphereSpawnTargetEvent.cpp | 5 +- .../Game/VSpawnSphereSpawnTargetEvent.h | 2 +- .../Game/VSpawnSphereSpawnTargetTrack.cpp | 3 +- .../Game/VSpawnSphereSpawnTargetTrack.h | 2 +- .../VLightObjectAnimationEvent.cpp | 5 +- .../LightObject/VLightObjectAnimationEvent.h | 2 +- .../LightObject/VLightObjectToggleEvent.cpp | 5 +- .../LightObject/VLightObjectToggleEvent.h | 2 +- .../Verve/Extension/Motion/VMotionTrack.cpp | 3 +- .../Verve/Extension/Motion/VMotionTrack.h | 2 +- .../VParticleEffectToggleEvent.cpp | 5 +- .../VParticleEffectToggleEvent.h | 2 +- .../PostEffect/VPostEffectToggleEvent.cpp | 5 +- .../PostEffect/VPostEffectToggleEvent.h | 2 +- .../PostEffect/VPostEffectToggleTrack.cpp | 5 +- .../PostEffect/VPostEffectToggleTrack.h | 2 +- .../SceneObject/VSceneObjectGroup.cpp | 3 +- .../Extension/SceneObject/VSceneObjectGroup.h | 2 +- .../Verve/Extension/Script/VScriptEvent.cpp | 3 +- .../Verve/Extension/Script/VScriptEvent.h | 2 +- .../SoundEffect/VSoundEffectEvent.cpp | 5 +- .../Extension/SoundEffect/VSoundEffectEvent.h | 2 +- Engine/source/Verve/GUI/VEditorButton.cpp | 3 +- Engine/source/Verve/GUI/VEditorButton.h | 2 +- Engine/source/Verve/GUI/VTimeLineControl.cpp | 3 +- Engine/source/Verve/GUI/VTimeLineControl.h | 2 +- Engine/source/Verve/VActor/VActorData.cpp | 3 +- Engine/source/Verve/VActor/VActorData.h | 2 +- Engine/source/Verve/VPath/VPath.cpp | 3 +- Engine/source/Verve/VPath/VPath.h | 2 +- Engine/source/Verve/VPath/VPathEditor.cpp | 3 +- Engine/source/Verve/VPath/VPathEditor.h | 2 +- Engine/source/afx/afxCamera.cpp | 1 + Engine/source/afx/afxChoreographer.cpp | 2 + Engine/source/afx/afxEffectGroup.cpp | 1 + Engine/source/afx/afxEffectWrapper.cpp | 2 + Engine/source/afx/afxEffectron.cpp | 1 + Engine/source/afx/afxMagicMissile.cpp | 2 + Engine/source/afx/afxMagicSpell.cpp | 2 + Engine/source/afx/afxSelectron.cpp | 1 + Engine/source/afx/afxSpellBook.cpp | 2 + Engine/source/afx/ce/afxAnimClip.cpp | 1 + Engine/source/afx/ce/afxAnimLock.cpp | 1 + Engine/source/afx/ce/afxAreaDamage.cpp | 1 + Engine/source/afx/ce/afxAudioBank.cpp | 1 + Engine/source/afx/ce/afxBillboard.cpp | 1 + Engine/source/afx/ce/afxCameraPuppet.cpp | 3 +- Engine/source/afx/ce/afxCameraShake.cpp | 1 + Engine/source/afx/ce/afxCollisionEvent.cpp | 1 + Engine/source/afx/ce/afxConsoleMessage.cpp | 1 + Engine/source/afx/ce/afxDamage.cpp | 1 + Engine/source/afx/ce/afxFootSwitch.cpp | 1 + Engine/source/afx/ce/afxGuiController.cpp | 1 + Engine/source/afx/ce/afxGuiText.cpp | 1 + Engine/source/afx/ce/afxLightBase_T3D.cpp | 1 + Engine/source/afx/ce/afxMachineGun.cpp | 1 + Engine/source/afx/ce/afxModel.cpp | 1 + Engine/source/afx/ce/afxMooring.cpp | 1 + Engine/source/afx/ce/afxParticleEmitter.cpp | 4 + Engine/source/afx/ce/afxPhraseEffect.cpp | 1 + Engine/source/afx/ce/afxPhysicalZone.cpp | 3 +- Engine/source/afx/ce/afxPlayerMovement.cpp | 3 +- Engine/source/afx/ce/afxPlayerPuppet.cpp | 3 +- Engine/source/afx/ce/afxPointLight_T3D.cpp | 1 + Engine/source/afx/ce/afxProjectile.cpp | 1 + Engine/source/afx/ce/afxScriptEvent.cpp | 1 + Engine/source/afx/ce/afxSpotLight_T3D.cpp | 1 + Engine/source/afx/ce/afxStaticShape.cpp | 1 + Engine/source/afx/ce/afxZodiac.cpp | 1 + Engine/source/afx/ce/afxZodiacPlane.cpp | 1 + Engine/source/afx/ea/afxEA_Zodiac.cpp | 3 +- Engine/source/afx/forces/afxF_Drag.cpp | 1 + Engine/source/afx/forces/afxF_Gravity.cpp | 1 + Engine/source/afx/forces/afxForce.cpp | 3 +- Engine/source/afx/forces/afxXM_Force.cpp | 1 + Engine/source/afx/rpg/afxRPGMagicSpell.cpp | 1 + Engine/source/afx/ui/afxGuiTextHud.cpp | 1 + Engine/source/afx/ui/afxSpellButton.cpp | 1 + Engine/source/afx/ui/afxSpellCastBar.cpp | 1 + Engine/source/afx/ui/afxStatusBar.cpp | 1 + Engine/source/afx/util/afxParticlePool.cpp | 1 + Engine/source/afx/util/afxPath.cpp | 1 + Engine/source/afx/xm/afxXM_Aim.cpp | 3 +- .../source/afx/xm/afxXM_AltitudeConform.cpp | 1 + Engine/source/afx/xm/afxXM_BoxAdapt.cpp | 3 +- Engine/source/afx/xm/afxXM_BoxConform.cpp | 1 + .../source/afx/xm/afxXM_BoxHeightOffset.cpp | 3 +- Engine/source/afx/xm/afxXM_Freeze.cpp | 3 +- Engine/source/afx/xm/afxXM_GroundConform.cpp | 1 + Engine/source/afx/xm/afxXM_HeightSampler.cpp | 3 +- .../source/afx/xm/afxXM_MountedImageNode.cpp | 3 +- Engine/source/afx/xm/afxXM_Offset.cpp | 4 +- Engine/source/afx/xm/afxXM_Oscillate.cpp | 1 + .../afx/xm/afxXM_OscillateZodiacColor.cpp | 1 + Engine/source/afx/xm/afxXM_PathConform.cpp | 1 + .../source/afx/xm/afxXM_PivotNodeOffset.cpp | 3 +- Engine/source/afx/xm/afxXM_RandomRot.cpp | 3 +- Engine/source/afx/xm/afxXM_Scale.cpp | 3 +- Engine/source/afx/xm/afxXM_Shockwave.cpp | 3 +- Engine/source/afx/xm/afxXM_Spin.cpp | 3 +- Engine/source/afx/xm/afxXM_VelocityOffset.cpp | 3 +- Engine/source/afx/xm/afxXM_WaveBase.cpp | 4 +- Engine/source/afx/xm/afxXM_WaveColor.cpp | 2 + Engine/source/afx/xm/afxXM_WaveScalar.cpp | 2 + Engine/source/afx/xm/afxXfmMod.cpp | 2 + Engine/source/assets/assetBase.cpp | 1 + Engine/source/assets/assetManager.cpp | 1 + Engine/source/assets/assetQuery.cpp | 3 +- Engine/source/assets/autoloadAssets.cpp | 1 + Engine/source/assets/declaredAssets.cpp | 1 + Engine/source/assets/referencedAssets.cpp | 3 +- Engine/source/console/SimXMLDocument.cpp | 1 + Engine/source/console/arrayObject.cpp | 1 + Engine/source/console/consoleFunctions.cpp | 76 ++++++++++++++----- Engine/source/console/consoleFunctions.h | 10 ++- Engine/source/console/consoleLogger.cpp | 1 + Engine/source/console/consoleObject.h | 11 ++- Engine/source/console/fieldBrushObject.cpp | 1 + Engine/source/console/scriptObjects.cpp | 1 + Engine/source/console/simObject.cpp | 1 + Engine/source/environment/VolumetricFog.cpp | 1 + Engine/source/environment/basicClouds.cpp | 1 + Engine/source/environment/cloudLayer.cpp | 1 + Engine/source/environment/decalRoad.cpp | 1 + .../editors/guiMeshRoadEditorCtrl.cpp | 1 + .../editors/guiRiverEditorCtrl.cpp | 1 + .../environment/editors/guiRoadEditorCtrl.cpp | 1 + Engine/source/environment/meshRoad.cpp | 1 + Engine/source/environment/river.cpp | 1 + Engine/source/environment/scatterSky.cpp | 1 + Engine/source/environment/skyBox.cpp | 1 + Engine/source/environment/skySphere.cpp | 1 + Engine/source/environment/sun.cpp | 1 + Engine/source/environment/timeOfDay.cpp | 1 + Engine/source/environment/waterBlock.cpp | 1 + Engine/source/environment/waterObject.cpp | 1 + Engine/source/environment/waterPlane.cpp | 3 +- .../forest/editor/forestBrushElement.cpp | 3 +- .../source/forest/editor/forestBrushTool.cpp | 3 +- .../source/forest/editor/forestEditorCtrl.cpp | 1 + Engine/source/forest/forest.cpp | 1 + Engine/source/forest/forestItem.cpp | 1 + Engine/source/forest/forestWindEmitter.cpp | 3 +- Engine/source/gfx/sim/cubemapData.cpp | 1 + Engine/source/gfx/sim/gfxStateBlockData.cpp | 1 + .../source/gfx/video/theoraTextureObject.cpp | 1 + Engine/source/gui/3d/guiTSControl.cpp | 1 + .../gui/buttons/guiBitmapButtonCtrl.cpp | 1 + .../source/gui/buttons/guiButtonBaseCtrl.cpp | 1 + .../source/gui/buttons/guiIconButtonCtrl.cpp | 1 + .../gui/buttons/guiSwatchButtonCtrl.cpp | 1 + .../gui/buttons/guiToolboxButtonCtrl.cpp | 1 + .../gui/containers/guiAutoScrollCtrl.cpp | 1 + Engine/source/gui/containers/guiContainer.cpp | 1 + .../gui/containers/guiCtrlArrayCtrl.cpp | 1 + .../gui/containers/guiDragAndDropCtrl.cpp | 1 + .../containers/guiDynamicCtrlArrayCtrl.cpp | 1 + Engine/source/gui/containers/guiFormCtrl.cpp | 1 + Engine/source/gui/containers/guiFrameCtrl.cpp | 3 +- Engine/source/gui/containers/guiPaneCtrl.cpp | 1 + .../source/gui/containers/guiRolloutCtrl.cpp | 1 + .../source/gui/containers/guiScrollCtrl.cpp | 1 + .../gui/containers/guiSplitContainer.cpp | 1 + Engine/source/gui/containers/guiStackCtrl.cpp | 3 +- .../source/gui/containers/guiTabBookCtrl.cpp | 1 + .../source/gui/containers/guiWindowCtrl.cpp | 1 + .../gui/controls/gui3DProjectionCtrl.cpp | 3 +- .../source/gui/controls/guiAnimBitmapCtrl.cpp | 1 + .../source/gui/controls/guiBitmapBarCtrl.cpp | 3 +- Engine/source/gui/controls/guiBitmapCtrl.cpp | 1 + Engine/source/gui/controls/guiColorPicker.cpp | 1 + .../gui/controls/guiConsoleEditCtrl.cpp | 1 + .../gui/controls/guiConsoleTextCtrl.cpp | 1 + Engine/source/gui/controls/guiDecoyCtrl.cpp | 1 + .../gui/controls/guiDirectoryFileListCtrl.cpp | 1 + .../source/gui/controls/guiFileTreeCtrl.cpp | 1 + .../gui/controls/guiGameListMenuCtrl.cpp | 2 + .../gui/controls/guiGameListOptionsCtrl.cpp | 2 + .../gui/controls/guiGameSettingsCtrl.cpp | 1 + .../source/gui/controls/guiGradientCtrl.cpp | 1 + Engine/source/gui/controls/guiListBoxCtrl.cpp | 1 + Engine/source/gui/controls/guiMLTextCtrl.cpp | 1 + .../source/gui/controls/guiMLTextEditCtrl.cpp | 1 + .../source/gui/controls/guiMaterialCtrl.cpp | 1 + Engine/source/gui/controls/guiPopUpCtrl.cpp | 1 + Engine/source/gui/controls/guiPopUpCtrlEx.cpp | 1 + Engine/source/gui/controls/guiSliderCtrl.cpp | 1 + Engine/source/gui/controls/guiTabPageCtrl.cpp | 1 + Engine/source/gui/controls/guiTextCtrl.cpp | 1 + .../source/gui/controls/guiTextEditCtrl.cpp | 1 + .../controls/guiTextEditSliderBitmapCtrl.cpp | 1 + .../gui/controls/guiTextEditSliderCtrl.cpp | 1 + .../source/gui/controls/guiTextListCtrl.cpp | 1 + .../source/gui/controls/guiTreeViewCtrl.cpp | 1 + Engine/source/gui/core/guiCanvas.cpp | 1 + Engine/source/gui/core/guiControl.cpp | 1 + Engine/source/gui/core/guiOffscreenCanvas.cpp | 1 + .../gui/core/guiScriptNotifyControl.cpp | 1 + Engine/source/gui/core/guiTypes.cpp | 1 + Engine/source/gui/editor/guiEaseViewCtrl.cpp | 1 + Engine/source/gui/editor/guiEditCtrl.cpp | 1 + Engine/source/gui/editor/guiFilterCtrl.cpp | 1 + Engine/source/gui/editor/guiGraphCtrl.cpp | 1 + Engine/source/gui/editor/guiImageList.cpp | 1 + Engine/source/gui/editor/guiInspector.cpp | 1 + Engine/source/gui/editor/guiMenuBar.cpp | 1 + Engine/source/gui/editor/guiRectHandles.cpp | 1 + Engine/source/gui/editor/guiSeparatorCtrl.cpp | 1 + .../source/gui/editor/guiShapeEdPreview.cpp | 1 + Engine/source/gui/editor/popupMenu.cpp | 1 + .../source/gui/game/guiChunkedBitmapCtrl.cpp | 1 + .../source/gui/game/guiFadeinBitmapCtrl.cpp | 1 + .../source/gui/game/guiMessageVectorCtrl.cpp | 1 + .../source/gui/game/guiProgressBitmapCtrl.cpp | 1 + Engine/source/gui/theora/guiTheoraCtrl.cpp | 1 + Engine/source/gui/utility/guiInputCtrl.cpp | 1 + .../source/gui/utility/guiMouseEventCtrl.cpp | 3 +- .../gui/utility/guiRenderTargetVizCtrl.cpp | 1 + Engine/source/gui/utility/messageVector.cpp | 1 + Engine/source/gui/worldEditor/editTSCtrl.cpp | 1 + Engine/source/gui/worldEditor/gizmo.cpp | 2 + .../worldEditor/guiConvexShapeEditorCtrl.cpp | 3 +- .../gui/worldEditor/guiDecalEditorCtrl.cpp | 5 ++ .../source/gui/worldEditor/guiMissionArea.cpp | 1 + .../gui/worldEditor/guiMissionAreaEditor.cpp | 1 + .../gui/worldEditor/guiTerrPreviewCtrl.cpp | 1 + .../source/gui/worldEditor/terrainActions.cpp | 1 + .../source/gui/worldEditor/terrainEditor.cpp | 1 + Engine/source/gui/worldEditor/undoActions.cpp | 3 + Engine/source/gui/worldEditor/worldEditor.cpp | 1 + .../gui/worldEditor/worldEditorSelection.cpp | 1 + .../materials/customMaterialDefinition.cpp | 1 + .../source/materials/materialDefinition.cpp | 1 + Engine/source/module/moduleDefinition.cpp | 1 + Engine/source/module/moduleManager.cpp | 1 + .../source/module/moduleMergeDefinition.cpp | 1 + Engine/source/navigation/coverPoint.cpp | 1 + Engine/source/navigation/guiNavEditorCtrl.cpp | 1 + Engine/source/navigation/navMesh.cpp | 1 + Engine/source/navigation/navPath.cpp | 1 + Engine/source/persistence/taml/taml.cpp | 1 + .../platform/nativeDialogs/fileDialog.cpp | 4 + Engine/source/postFx/postEffect.cpp | 1 + .../renderInstance/forcedMaterialMeshMgr.cpp | 1 + .../renderInstance/renderBinManager.cpp | 1 + .../renderInstance/renderFormatChanger.cpp | 1 + .../renderInstance/renderImposterMgr.cpp | 1 + .../source/renderInstance/renderMeshMgr.cpp | 1 + .../source/renderInstance/renderObjectMgr.cpp | 3 +- .../renderInstance/renderOcclusionMgr.cpp | 1 + .../renderInstance/renderPassManager.cpp | 1 + .../renderInstance/renderPassStateToken.cpp | 2 + .../source/renderInstance/renderProbeMgr.cpp | 1 + .../renderInstance/renderTerrainMgr.cpp | 1 + .../renderTexTargetBinManager.cpp | 1 + Engine/source/scene/reflector.cpp | 1 + Engine/source/scene/sceneObject.cpp | 1 + Engine/source/scene/simPath.cpp | 2 + Engine/source/scene/zones/sceneSimpleZone.cpp | 1 + Engine/source/scene/zones/sceneZoneSpace.cpp | 1 + Engine/source/sfx/sfxAmbience.cpp | 1 + Engine/source/sfx/sfxController.cpp | 1 + Engine/source/sfx/sfxEnvironment.cpp | 1 + Engine/source/sfx/sfxParameter.cpp | 1 + Engine/source/sfx/sfxPlayList.cpp | 1 + Engine/source/sfx/sfxProfile.cpp | 1 + Engine/source/sfx/sfxSource.cpp | 1 + Engine/source/sfx/sfxState.cpp | 1 + Engine/source/sfx/sfxTrack.cpp | 1 + .../source/shaderGen/customShaderFeature.cpp | 1 + Engine/source/sim/netObject.cpp | 1 + Engine/source/terrain/terrData.cpp | 1 + Engine/source/terrain/terrMaterial.cpp | 1 + Engine/source/ts/tsShapeConstruct.cpp | 1 + .../util/messaging/messageForwarder.cpp | 1 + Engine/source/util/undo.cpp | 2 + 382 files changed, 588 insertions(+), 130 deletions(-) diff --git a/Engine/source/T3D/Scene.cpp b/Engine/source/T3D/Scene.cpp index 75517fc90..719004766 100644 --- a/Engine/source/T3D/Scene.cpp +++ b/Engine/source/T3D/Scene.cpp @@ -24,6 +24,7 @@ Scene::~Scene() void Scene::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup("Internal"); diff --git a/Engine/source/T3D/accumulationVolume.cpp b/Engine/source/T3D/accumulationVolume.cpp index 139a843b9..d7260f289 100644 --- a/Engine/source/T3D/accumulationVolume.cpp +++ b/Engine/source/T3D/accumulationVolume.cpp @@ -97,6 +97,7 @@ AccumulationVolume::~AccumulationVolume() void AccumulationVolume::initPersistFields() { + docsURL; addProtectedField("textureAsset", TypeImageAssetId, Offset(mTextureAssetId, AccumulationVolume), &_setTexture, &defaultProtectedGetFn, "Accumulation texture."); addProtectedField( "texture", TypeStringFilename, Offset( mTextureName, AccumulationVolume ), diff --git a/Engine/source/T3D/aiPlayer.cpp b/Engine/source/T3D/aiPlayer.cpp index 3cb53debd..abc84435c 100644 --- a/Engine/source/T3D/aiPlayer.cpp +++ b/Engine/source/T3D/aiPlayer.cpp @@ -133,6 +133,7 @@ AIPlayer::~AIPlayer() void AIPlayer::initPersistFields() { + docsURL; addGroup( "AI" ); addField( "mMoveTolerance", TypeF32, Offset( mMoveTolerance, AIPlayer ), diff --git a/Engine/source/T3D/assets/CppAsset.cpp b/Engine/source/T3D/assets/CppAsset.cpp index b78b9e025..b51ae1025 100644 --- a/Engine/source/T3D/assets/CppAsset.cpp +++ b/Engine/source/T3D/assets/CppAsset.cpp @@ -107,6 +107,7 @@ CppAsset::~CppAsset() void CppAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/CubemapAsset.cpp b/Engine/source/T3D/assets/CubemapAsset.cpp index 8a3c9c673..c5d7be7ca 100644 --- a/Engine/source/T3D/assets/CubemapAsset.cpp +++ b/Engine/source/T3D/assets/CubemapAsset.cpp @@ -111,6 +111,7 @@ CubemapAsset::~CubemapAsset() void CubemapAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/ExampleAsset.cpp b/Engine/source/T3D/assets/ExampleAsset.cpp index 8953880e5..b1f8330ea 100644 --- a/Engine/source/T3D/assets/ExampleAsset.cpp +++ b/Engine/source/T3D/assets/ExampleAsset.cpp @@ -104,6 +104,7 @@ ExampleAsset::~ExampleAsset() void ExampleAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/GUIAsset.cpp b/Engine/source/T3D/assets/GUIAsset.cpp index abbed3f99..8c56059f1 100644 --- a/Engine/source/T3D/assets/GUIAsset.cpp +++ b/Engine/source/T3D/assets/GUIAsset.cpp @@ -95,6 +95,7 @@ GUIAsset::~GUIAsset() void GUIAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/GameObjectAsset.cpp b/Engine/source/T3D/assets/GameObjectAsset.cpp index 41a8df043..566689f0f 100644 --- a/Engine/source/T3D/assets/GameObjectAsset.cpp +++ b/Engine/source/T3D/assets/GameObjectAsset.cpp @@ -109,6 +109,7 @@ GameObjectAsset::~GameObjectAsset() void GameObjectAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/ImageAsset.cpp b/Engine/source/T3D/assets/ImageAsset.cpp index 80f0053f1..044d72dfe 100644 --- a/Engine/source/T3D/assets/ImageAsset.cpp +++ b/Engine/source/T3D/assets/ImageAsset.cpp @@ -155,6 +155,7 @@ void ImageAsset::consoleInit() void ImageAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/LevelAsset.cpp b/Engine/source/T3D/assets/LevelAsset.cpp index f1dc398b0..0dcd04ec4 100644 --- a/Engine/source/T3D/assets/LevelAsset.cpp +++ b/Engine/source/T3D/assets/LevelAsset.cpp @@ -111,6 +111,7 @@ LevelAsset::~LevelAsset() void LevelAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/MaterialAsset.cpp b/Engine/source/T3D/assets/MaterialAsset.cpp index f5ef117ba..5332da0b1 100644 --- a/Engine/source/T3D/assets/MaterialAsset.cpp +++ b/Engine/source/T3D/assets/MaterialAsset.cpp @@ -150,6 +150,7 @@ void MaterialAsset::consoleInit() void MaterialAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/ParticleAsset.cpp b/Engine/source/T3D/assets/ParticleAsset.cpp index 3586277e2..9ba370c66 100644 --- a/Engine/source/T3D/assets/ParticleAsset.cpp +++ b/Engine/source/T3D/assets/ParticleAsset.cpp @@ -106,6 +106,7 @@ ParticleAsset::~ParticleAsset() void ParticleAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/PostEffectAsset.cpp b/Engine/source/T3D/assets/PostEffectAsset.cpp index 2b8a7091c..047a901fc 100644 --- a/Engine/source/T3D/assets/PostEffectAsset.cpp +++ b/Engine/source/T3D/assets/PostEffectAsset.cpp @@ -111,6 +111,7 @@ PostEffectAsset::~PostEffectAsset() void PostEffectAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/ScriptAsset.cpp b/Engine/source/T3D/assets/ScriptAsset.cpp index 199c6402c..06d6db061 100644 --- a/Engine/source/T3D/assets/ScriptAsset.cpp +++ b/Engine/source/T3D/assets/ScriptAsset.cpp @@ -105,6 +105,7 @@ ScriptAsset::~ScriptAsset() void ScriptAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/ShapeAnimationAsset.cpp b/Engine/source/T3D/assets/ShapeAnimationAsset.cpp index 649fc7bca..e0fbac423 100644 --- a/Engine/source/T3D/assets/ShapeAnimationAsset.cpp +++ b/Engine/source/T3D/assets/ShapeAnimationAsset.cpp @@ -112,6 +112,7 @@ ShapeAnimationAsset::~ShapeAnimationAsset() void ShapeAnimationAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/ShapeAsset.cpp b/Engine/source/T3D/assets/ShapeAsset.cpp index 3f67227e2..91fb9a379 100644 --- a/Engine/source/T3D/assets/ShapeAsset.cpp +++ b/Engine/source/T3D/assets/ShapeAsset.cpp @@ -165,6 +165,7 @@ void ShapeAsset::consoleInit() void ShapeAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/SoundAsset.cpp b/Engine/source/T3D/assets/SoundAsset.cpp index 515ecacd5..2c4d9697b 100644 --- a/Engine/source/T3D/assets/SoundAsset.cpp +++ b/Engine/source/T3D/assets/SoundAsset.cpp @@ -147,6 +147,7 @@ SoundAsset::~SoundAsset() void SoundAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/TerrainAsset.cpp b/Engine/source/T3D/assets/TerrainAsset.cpp index 66bd44e6a..af68777ac 100644 --- a/Engine/source/T3D/assets/TerrainAsset.cpp +++ b/Engine/source/T3D/assets/TerrainAsset.cpp @@ -134,6 +134,7 @@ TerrainAsset::~TerrainAsset() void TerrainAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/TerrainMaterialAsset.cpp b/Engine/source/T3D/assets/TerrainMaterialAsset.cpp index 0e1514698..88980b3b7 100644 --- a/Engine/source/T3D/assets/TerrainMaterialAsset.cpp +++ b/Engine/source/T3D/assets/TerrainMaterialAsset.cpp @@ -153,6 +153,7 @@ void TerrainMaterialAsset::consoleInit() void TerrainMaterialAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/assets/assetImporter.cpp b/Engine/source/T3D/assets/assetImporter.cpp index 07a718568..fed7ed005 100644 --- a/Engine/source/T3D/assets/assetImporter.cpp +++ b/Engine/source/T3D/assets/assetImporter.cpp @@ -134,6 +134,7 @@ void AssetImportConfig::onRemove() /// Engine. void AssetImportConfig::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup("General"); @@ -466,6 +467,7 @@ void AssetImportObject::onRemove() void AssetImportObject::initPersistFields() { + docsURL; Parent::initPersistFields(); addField("assetType", TypeRealString, Offset(assetType, AssetImportObject), "What type is the importing asset"); @@ -539,6 +541,7 @@ void AssetImporter::onRemove() void AssetImporter::initPersistFields() { + docsURL; Parent::initPersistFields(); addField("targetModuleId", TypeRealString, Offset(targetModuleId, AssetImporter), "The Id of the module the assets are to be imported into"); diff --git a/Engine/source/T3D/assets/stateMachineAsset.cpp b/Engine/source/T3D/assets/stateMachineAsset.cpp index 30f459004..137f64396 100644 --- a/Engine/source/T3D/assets/stateMachineAsset.cpp +++ b/Engine/source/T3D/assets/stateMachineAsset.cpp @@ -106,6 +106,7 @@ StateMachineAsset::~StateMachineAsset() void StateMachineAsset::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/T3D/camera.cpp b/Engine/source/T3D/camera.cpp index 19a8e3320..4d235f754 100644 --- a/Engine/source/T3D/camera.cpp +++ b/Engine/source/T3D/camera.cpp @@ -85,6 +85,7 @@ ConsoleDocClass( CameraData, void CameraData::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -1307,6 +1308,7 @@ void Camera::unpackUpdate(NetConnection *con, BitStream *bstream) void Camera::initPersistFields() { + docsURL; addGroup( "Camera" ); addProtectedField( "controlMode", TYPEID< CameraMotionMode >(), Offset( mMode, Camera ), &_setModeField, &defaultProtectedGetFn, diff --git a/Engine/source/T3D/convexShape.cpp b/Engine/source/T3D/convexShape.cpp index 14d2d0502..bdf32d833 100644 --- a/Engine/source/T3D/convexShape.cpp +++ b/Engine/source/T3D/convexShape.cpp @@ -309,6 +309,7 @@ ConvexShape::~ConvexShape() void ConvexShape::initPersistFields() { + docsURL; addGroup( "Rendering" ); INITPERSISTFIELD_MATERIALASSET(Material, ConvexShape, "Default material used to render the ConvexShape surface."); diff --git a/Engine/source/T3D/debris.cpp b/Engine/source/T3D/debris.cpp index e70983c07..739957af5 100644 --- a/Engine/source/T3D/debris.cpp +++ b/Engine/source/T3D/debris.cpp @@ -295,6 +295,7 @@ bool DebrisData::preload(bool server, String &errorStr) void DebrisData::initPersistFields() { + docsURL; addGroup("Shapes"); addField("texture", TypeString, Offset(textureName, DebrisData), "@brief Texture imagemap to use for this debris object.\n\nNot used any more.\n", AbstractClassRep::FIELD_HideInInspectors); @@ -567,6 +568,7 @@ Debris::~Debris() void Debris::initPersistFields() { + docsURL; addGroup( "Debris" ); addField( "lifetime", TypeF32, Offset(mLifetime, Debris), diff --git a/Engine/source/T3D/decal/decalData.cpp b/Engine/source/T3D/decal/decalData.cpp index d40d50853..0c8f84ca6 100644 --- a/Engine/source/T3D/decal/decalData.cpp +++ b/Engine/source/T3D/decal/decalData.cpp @@ -138,6 +138,7 @@ void DecalData::onRemove() void DecalData::initPersistFields() { + docsURL; addGroup( "Decal" ); addField( "size", TypeF32, Offset( size, DecalData ), diff --git a/Engine/source/T3D/examples/renderMeshExample.cpp b/Engine/source/T3D/examples/renderMeshExample.cpp index 343075358..cd8e1b593 100644 --- a/Engine/source/T3D/examples/renderMeshExample.cpp +++ b/Engine/source/T3D/examples/renderMeshExample.cpp @@ -74,6 +74,7 @@ RenderMeshExample::~RenderMeshExample() //----------------------------------------------------------------------------- void RenderMeshExample::initPersistFields() { + docsURL; addGroup( "Rendering" ); INITPERSISTFIELD_MATERIALASSET(Material, RenderMeshExample, "The material used to render the mesh."); endGroup( "Rendering" ); diff --git a/Engine/source/T3D/examples/renderObjectExample.cpp b/Engine/source/T3D/examples/renderObjectExample.cpp index e491eb447..16b29f819 100644 --- a/Engine/source/T3D/examples/renderObjectExample.cpp +++ b/Engine/source/T3D/examples/renderObjectExample.cpp @@ -68,6 +68,7 @@ RenderObjectExample::~RenderObjectExample() //----------------------------------------------------------------------------- void RenderObjectExample::initPersistFields() { + docsURL; // SceneObject already handles exposing the transform Parent::initPersistFields(); } @@ -277,4 +278,4 @@ void RenderObjectExample::render( ObjectRenderInst *ri, SceneRenderState *state, // Draw our triangles GFX->drawPrimitive( GFXTriangleList, 0, 12 ); -} \ No newline at end of file +} diff --git a/Engine/source/T3D/examples/renderShapeExample.cpp b/Engine/source/T3D/examples/renderShapeExample.cpp index 2b9051d58..731db472e 100644 --- a/Engine/source/T3D/examples/renderShapeExample.cpp +++ b/Engine/source/T3D/examples/renderShapeExample.cpp @@ -72,6 +72,7 @@ RenderShapeExample::~RenderShapeExample() //----------------------------------------------------------------------------- void RenderShapeExample::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup( "Shapes" ); INITPERSISTFIELD_SHAPEASSET(Shape, RenderShapeExample, "The path to the shape file.") diff --git a/Engine/source/T3D/fps/guiClockHud.cpp b/Engine/source/T3D/fps/guiClockHud.cpp index e823466e9..88be62f96 100644 --- a/Engine/source/T3D/fps/guiClockHud.cpp +++ b/Engine/source/T3D/fps/guiClockHud.cpp @@ -97,6 +97,7 @@ GuiClockHud::GuiClockHud() void GuiClockHud::initPersistFields() { + docsURL; addGroup("Misc"); addField( "showFill", TypeBool, Offset( mShowFill, GuiClockHud ), "If true, draws a background color behind the control."); addField( "showFrame", TypeBool, Offset( mShowFrame, GuiClockHud ), "If true, draws a frame around the control." ); diff --git a/Engine/source/T3D/fps/guiCrossHairHud.cpp b/Engine/source/T3D/fps/guiCrossHairHud.cpp index 723941b8c..17f1a6cdc 100644 --- a/Engine/source/T3D/fps/guiCrossHairHud.cpp +++ b/Engine/source/T3D/fps/guiCrossHairHud.cpp @@ -99,6 +99,7 @@ GuiCrossHairHud::GuiCrossHairHud() void GuiCrossHairHud::initPersistFields() { + docsURL; addGroup("Damage"); addField( "damageFillColor", TypeColorF, Offset( mDamageFillColor, GuiCrossHairHud ), "As the health bar depletes, this color will represent the health loss amount." ); addField( "damageFrameColor", TypeColorF, Offset( mDamageFrameColor, GuiCrossHairHud ), "Color for the health bar's frame." ); diff --git a/Engine/source/T3D/fps/guiHealthBarHud.cpp b/Engine/source/T3D/fps/guiHealthBarHud.cpp index 73994c82b..a01d17a69 100644 --- a/Engine/source/T3D/fps/guiHealthBarHud.cpp +++ b/Engine/source/T3D/fps/guiHealthBarHud.cpp @@ -112,6 +112,7 @@ GuiHealthBarHud::GuiHealthBarHud() void GuiHealthBarHud::initPersistFields() { + docsURL; addGroup("Colors"); addField( "fillColor", TypeColorF, Offset( mFillColor, GuiHealthBarHud ), "Standard color for the background of the control." ); addField( "frameColor", TypeColorF, Offset( mFrameColor, GuiHealthBarHud ), "Color for the control's frame." ); diff --git a/Engine/source/T3D/fps/guiHealthTextHud.cpp b/Engine/source/T3D/fps/guiHealthTextHud.cpp index 99a63d34b..989287484 100644 --- a/Engine/source/T3D/fps/guiHealthTextHud.cpp +++ b/Engine/source/T3D/fps/guiHealthTextHud.cpp @@ -115,7 +115,8 @@ GuiHealthTextHud::GuiHealthTextHud() } void GuiHealthTextHud::initPersistFields() -{ +{ + docsURL; addGroup("Colors"); addField("fillColor", TypeColorF, Offset(mFillColor, GuiHealthTextHud), "Color for the background of the control."); addField("frameColor", TypeColorF, Offset(mFrameColor, GuiHealthTextHud), "Color for the control's frame."); @@ -199,4 +200,4 @@ void GuiHealthTextHud::onRender(Point2I offset, const RectI &updateRect) // If enabled draw the border last if (mShowFrame) drawUtil->drawRect(updateRect, mFrameColor.toColorI()); -} \ No newline at end of file +} diff --git a/Engine/source/T3D/fps/guiShapeNameHud.cpp b/Engine/source/T3D/fps/guiShapeNameHud.cpp index 60a14a596..27eca76f6 100644 --- a/Engine/source/T3D/fps/guiShapeNameHud.cpp +++ b/Engine/source/T3D/fps/guiShapeNameHud.cpp @@ -126,6 +126,7 @@ GuiShapeNameHud::GuiShapeNameHud() void GuiShapeNameHud::initPersistFields() { + docsURL; addGroup("Colors"); addField( "fillColor", TypeColorF, Offset( mFillColor, GuiShapeNameHud ), "Standard color for the background of the control." ); addField( "frameColor", TypeColorF, Offset( mFrameColor, GuiShapeNameHud ), "Color for the control's frame." ); diff --git a/Engine/source/T3D/fx/explosion.cpp b/Engine/source/T3D/fx/explosion.cpp index 66af6c15d..61d27dae7 100644 --- a/Engine/source/T3D/fx/explosion.cpp +++ b/Engine/source/T3D/fx/explosion.cpp @@ -387,6 +387,7 @@ ExplosionData* ExplosionData::cloneAndPerformSubstitutions(const SimObject* owne void ExplosionData::initPersistFields() { + docsURL; addGroup("Shapes"); INITPERSISTFIELD_SHAPEASSET(ExplosionShape, ExplosionData, "@brief Optional shape asset to place at the center of the explosion.\n\n" "The ambient animation of this model will be played automatically at the start of the explosion."); @@ -980,6 +981,7 @@ void Explosion::setInitialState(const Point3F& point, const Point3F& normal, con //-------------------------------------------------------------------------- void Explosion::initPersistFields() { + docsURL; Parent::initPersistFields(); addField("initialNormal", TypePoint3F, Offset(mInitialNormal, Explosion), "Initial starting Normal."); // diff --git a/Engine/source/T3D/fx/fxFoliageReplicator.cpp b/Engine/source/T3D/fx/fxFoliageReplicator.cpp index 5078389bf..ca22a597e 100644 --- a/Engine/source/T3D/fx/fxFoliageReplicator.cpp +++ b/Engine/source/T3D/fx/fxFoliageReplicator.cpp @@ -345,6 +345,7 @@ fxFoliageReplicator::~fxFoliageReplicator() void fxFoliageReplicator::initPersistFields() { + docsURL; // Add out own persistent fields. addGroup( "Debugging" ); // MM: Added Group Header. addField( "UseDebugInfo", TypeBool, Offset( mFieldData.mUseDebugInfo, fxFoliageReplicator ), "Culling bins are drawn when set to true." ); diff --git a/Engine/source/T3D/fx/fxShapeReplicator.cpp b/Engine/source/T3D/fx/fxShapeReplicator.cpp index 1df326e45..19b97b88a 100644 --- a/Engine/source/T3D/fx/fxShapeReplicator.cpp +++ b/Engine/source/T3D/fx/fxShapeReplicator.cpp @@ -139,6 +139,7 @@ fxShapeReplicator::~fxShapeReplicator() void fxShapeReplicator::initPersistFields() { + docsURL; // Add out own persistent fields. addGroup( "Debugging" ); // MM: Added Group Header. addField( "HideReplications", TypeBool, Offset( mFieldData.mHideReplications, fxShapeReplicator ), "Replicated shapes are hidden when set to true." ); diff --git a/Engine/source/T3D/fx/groundCover.cpp b/Engine/source/T3D/fx/groundCover.cpp index e6d354d76..cfe618993 100644 --- a/Engine/source/T3D/fx/groundCover.cpp +++ b/Engine/source/T3D/fx/groundCover.cpp @@ -540,6 +540,7 @@ IMPLEMENT_CO_NETOBJECT_V1(GroundCover); void GroundCover::initPersistFields() { + docsURL; addGroup( "GroundCover General" ); INITPERSISTFIELD_MATERIALASSET(Material, GroundCover, "Material used by all GroundCover segments."); diff --git a/Engine/source/T3D/fx/lightning.cpp b/Engine/source/T3D/fx/lightning.cpp index 9fb30f625..0ffef45bf 100644 --- a/Engine/source/T3D/fx/lightning.cpp +++ b/Engine/source/T3D/fx/lightning.cpp @@ -262,6 +262,7 @@ LightningData::~LightningData() //-------------------------------------------------------------------------- void LightningData::initPersistFields() { + docsURL; INITPERSISTFIELD_SOUNDASSET(StrikeSound, LightningData, "Sound to play when lightning STRIKES!"); @@ -411,6 +412,7 @@ Lightning::~Lightning() //-------------------------------------------------------------------------- void Lightning::initPersistFields() { + docsURL; addGroup( "Strikes" ); addField( "strikesPerMinute", TypeS32, Offset(strikesPerMinute, Lightning), "@brief Number of lightning strikes to perform per minute.\n\n" diff --git a/Engine/source/T3D/fx/particleEmitterNode.cpp b/Engine/source/T3D/fx/particleEmitterNode.cpp index e03e5a1a7..fbc717bbd 100644 --- a/Engine/source/T3D/fx/particleEmitterNode.cpp +++ b/Engine/source/T3D/fx/particleEmitterNode.cpp @@ -89,6 +89,7 @@ ParticleEmitterNodeData::~ParticleEmitterNodeData() //----------------------------------------------------------------------------- void ParticleEmitterNodeData::initPersistFields() { + docsURL; addField( "timeMultiple", TYPEID< F32 >(), Offset(timeMultiple, ParticleEmitterNodeData), "@brief Time multiplier for particle emitter nodes.\n\n" "Increasing timeMultiple is like running the emitter at a faster rate - single-shot " @@ -181,6 +182,7 @@ ParticleEmitterNode::~ParticleEmitterNode() //----------------------------------------------------------------------------- void ParticleEmitterNode::initPersistFields() { + docsURL; addField( "active", TYPEID< bool >(), Offset(mActive,ParticleEmitterNode), "Controls whether particles are emitted from this node." ); addField( "emitter", TYPEID< ParticleEmitterData >(), Offset(mEmitterDatablock, ParticleEmitterNode), diff --git a/Engine/source/T3D/fx/precipitation.cpp b/Engine/source/T3D/fx/precipitation.cpp index 471c31734..fda28f597 100644 --- a/Engine/source/T3D/fx/precipitation.cpp +++ b/Engine/source/T3D/fx/precipitation.cpp @@ -143,6 +143,7 @@ PrecipitationData::PrecipitationData() void PrecipitationData::initPersistFields() { + docsURL; INITPERSISTFIELD_SOUNDASSET(Sound, PrecipitationData, "Looping SFXProfile effect to play while Precipitation is active."); addProtectedField( "dropTexture", TypeFilename, Offset(mDropName, PrecipitationData), &_setDropData, &defaultProtectedGetFn, @@ -367,6 +368,7 @@ IRangeValidator ValidNumDropsRange(1, 100000); void Precipitation::initPersistFields() { + docsURL; addGroup("Precipitation"); addFieldV( "numDrops", TypeS32, Offset(mNumDrops, Precipitation), &ValidNumDropsRange, diff --git a/Engine/source/T3D/fx/ribbon.cpp b/Engine/source/T3D/fx/ribbon.cpp index 42fa1e63e..2580d57fe 100644 --- a/Engine/source/T3D/fx/ribbon.cpp +++ b/Engine/source/T3D/fx/ribbon.cpp @@ -68,6 +68,7 @@ RibbonData::RibbonData() void RibbonData::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup("Ribbon"); @@ -205,6 +206,7 @@ Ribbon::~Ribbon() //-------------------------------------------------------------------------- void Ribbon::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/T3D/fx/ribbonNode.cpp b/Engine/source/T3D/fx/ribbonNode.cpp index 7e73fbc59..adc846017 100644 --- a/Engine/source/T3D/fx/ribbonNode.cpp +++ b/Engine/source/T3D/fx/ribbonNode.cpp @@ -56,6 +56,7 @@ RibbonNodeData::~RibbonNodeData() //----------------------------------------------------------------------------- void RibbonNodeData::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -90,6 +91,7 @@ RibbonNode::~RibbonNode() //----------------------------------------------------------------------------- void RibbonNode::initPersistFields() { + docsURL; addField( "active", TYPEID< bool >(), Offset(mActive,RibbonNode), "Controls whether ribbon is emitted from this node." ); addField( "ribbon", TYPEID< RibbonData >(), Offset(mRibbonDatablock, RibbonNode), diff --git a/Engine/source/T3D/fx/splash.cpp b/Engine/source/T3D/fx/splash.cpp index 509dd8923..46f1a22db 100644 --- a/Engine/source/T3D/fx/splash.cpp +++ b/Engine/source/T3D/fx/splash.cpp @@ -114,8 +114,9 @@ SplashData::SplashData() //-------------------------------------------------------------------------- // Init fields //-------------------------------------------------------------------------- - void SplashData::initPersistFields() +void SplashData::initPersistFields() { + docsURL; INITPERSISTFIELD_SOUNDASSET(Sound, SplashData, "Sound to play when splash, splashes."); addField("scale", TypePoint3F, Offset(scale, SplashData), "The scale of this splashing effect, defined as the F32 points X, Y, Z.\n"); diff --git a/Engine/source/T3D/gameBase/gameBase.cpp b/Engine/source/T3D/gameBase/gameBase.cpp index 2f6fd36d2..8f9b04a99 100644 --- a/Engine/source/T3D/gameBase/gameBase.cpp +++ b/Engine/source/T3D/gameBase/gameBase.cpp @@ -156,6 +156,7 @@ bool GameBaseData::onAdd() void GameBaseData::initPersistFields() { + docsURL; addGroup("Scripting"); addField( "category", TypeCaseString, Offset(mCategory, GameBaseData ), @@ -721,6 +722,7 @@ DefineEngineMethod( GameBase, setDataBlock, bool, ( GameBaseData* data ),, void GameBase::initPersistFields() { + docsURL; addGroup( "Game" ); addProtectedField( "dataBlock", TYPEID< GameBaseData >(), Offset(mDataBlock, GameBase), diff --git a/Engine/source/T3D/groundPlane.cpp b/Engine/source/T3D/groundPlane.cpp index 3062ff813..40f8349f7 100644 --- a/Engine/source/T3D/groundPlane.cpp +++ b/Engine/source/T3D/groundPlane.cpp @@ -103,6 +103,7 @@ GroundPlane::~GroundPlane() void GroundPlane::initPersistFields() { + docsURL; addGroup( "Plane" ); addField( "squareSize", TypeF32, Offset( mSquareSize, GroundPlane ), "Square size in meters to which %GroundPlane subdivides its geometry." ); diff --git a/Engine/source/T3D/guiObjectView.cpp b/Engine/source/T3D/guiObjectView.cpp index 5158004ee..1fb8451f5 100644 --- a/Engine/source/T3D/guiObjectView.cpp +++ b/Engine/source/T3D/guiObjectView.cpp @@ -135,6 +135,7 @@ GuiObjectView::~GuiObjectView() void GuiObjectView::initPersistFields() { + docsURL; addGroup( "Model" ); addField( "shapeFile", TypeStringFilename, Offset( mModelName, GuiObjectView ), diff --git a/Engine/source/T3D/item.cpp b/Engine/source/T3D/item.cpp index 454aea6d7..9466a62d8 100644 --- a/Engine/source/T3D/item.cpp +++ b/Engine/source/T3D/item.cpp @@ -1301,6 +1301,7 @@ bool Item::_setRotate(void *object, const char *index, const char *data) void Item::initPersistFields() { + docsURL; addGroup("Misc"); addProtectedField("static", TypeBool, Offset(mStatic, Item), &_setStatic, &defaultProtectedGetFn, "If true, the object is not moving in the world.\n"); addProtectedField("rotate", TypeBool, Offset(mRotate, Item), &_setRotate, &defaultProtectedGetFn, "If true, the object will automatically rotate around its Z axis.\n"); diff --git a/Engine/source/T3D/levelInfo.cpp b/Engine/source/T3D/levelInfo.cpp index d2f1c53f7..74280ffaf 100644 --- a/Engine/source/T3D/levelInfo.cpp +++ b/Engine/source/T3D/levelInfo.cpp @@ -127,6 +127,7 @@ FRangeValidator ValiDampnessRange(0.0f, 1.0f); void LevelInfo::initPersistFields() { + docsURL; addGroup( "Visibility" ); addField( "nearClip", TypeF32, Offset( mNearClip, LevelInfo ), "Closest distance from the camera's position to render the world." ); diff --git a/Engine/source/T3D/lightAnimData.cpp b/Engine/source/T3D/lightAnimData.cpp index 77e948935..8a5cc7793 100644 --- a/Engine/source/T3D/lightAnimData.cpp +++ b/Engine/source/T3D/lightAnimData.cpp @@ -62,6 +62,7 @@ ConsoleDocClass( LightAnimData, void LightAnimData::initPersistFields() { + docsURL; addGroup( "Offset", "The XYZ translation animation state relative to the light position." ); diff --git a/Engine/source/T3D/lightBase.cpp b/Engine/source/T3D/lightBase.cpp index 9ec867c07..957149e93 100644 --- a/Engine/source/T3D/lightBase.cpp +++ b/Engine/source/T3D/lightBase.cpp @@ -88,6 +88,7 @@ LightBase::~LightBase() void LightBase::initPersistFields() { + docsURL; // We only add the basic lighting options that all lighting // systems would use... the specific lighting system options // are injected at runtime by the lighting system itself. diff --git a/Engine/source/T3D/lightDescription.cpp b/Engine/source/T3D/lightDescription.cpp index cf326a9fe..52c29b641 100644 --- a/Engine/source/T3D/lightDescription.cpp +++ b/Engine/source/T3D/lightDescription.cpp @@ -90,6 +90,7 @@ ConsoleDocClass( LightDescription, void LightDescription::initPersistFields() { + docsURL; addGroup( "Light" ); addField( "color", TypeColorF, Offset( color, LightDescription ), "Changes the base color hue of the light." ); diff --git a/Engine/source/T3D/lightFlareData.cpp b/Engine/source/T3D/lightFlareData.cpp index fb8fbaa55..4aaa4747e 100644 --- a/Engine/source/T3D/lightFlareData.cpp +++ b/Engine/source/T3D/lightFlareData.cpp @@ -142,6 +142,7 @@ LightFlareData::~LightFlareData() void LightFlareData::initPersistFields() { + docsURL; addGroup( "LightFlareData" ); addField( "overallScale", TypeF32, Offset( mScale, LightFlareData ), diff --git a/Engine/source/T3D/lighting/boxEnvironmentProbe.cpp b/Engine/source/T3D/lighting/boxEnvironmentProbe.cpp index e532acd3c..4104ec87d 100644 --- a/Engine/source/T3D/lighting/boxEnvironmentProbe.cpp +++ b/Engine/source/T3D/lighting/boxEnvironmentProbe.cpp @@ -90,6 +90,7 @@ BoxEnvironmentProbe::~BoxEnvironmentProbe() //----------------------------------------------------------------------------- void BoxEnvironmentProbe::initPersistFields() { + docsURL; // SceneObject already handles exposing the transform Parent::initPersistFields(); diff --git a/Engine/source/T3D/lighting/reflectionProbe.cpp b/Engine/source/T3D/lighting/reflectionProbe.cpp index 73dddc6e9..c7a9cfed8 100644 --- a/Engine/source/T3D/lighting/reflectionProbe.cpp +++ b/Engine/source/T3D/lighting/reflectionProbe.cpp @@ -151,6 +151,7 @@ ReflectionProbe::~ReflectionProbe() //----------------------------------------------------------------------------- void ReflectionProbe::initPersistFields() { + docsURL; addField("canDamp", TypeBool, Offset(mCanDamp, ReflectionProbe),"wetness allowed"); addGroup("Rendering"); addProtectedField("enabled", TypeBool, Offset(mEnabled, ReflectionProbe), diff --git a/Engine/source/T3D/lighting/skylight.cpp b/Engine/source/T3D/lighting/skylight.cpp index 880c22681..3c9d6da5e 100644 --- a/Engine/source/T3D/lighting/skylight.cpp +++ b/Engine/source/T3D/lighting/skylight.cpp @@ -90,6 +90,7 @@ Skylight::~Skylight() //----------------------------------------------------------------------------- void Skylight::initPersistFields() { + docsURL; // SceneObject already handles exposing the transform Parent::initPersistFields(); diff --git a/Engine/source/T3D/lighting/sphereEnvironmentProbe.cpp b/Engine/source/T3D/lighting/sphereEnvironmentProbe.cpp index b3e0865a7..2979cc326 100644 --- a/Engine/source/T3D/lighting/sphereEnvironmentProbe.cpp +++ b/Engine/source/T3D/lighting/sphereEnvironmentProbe.cpp @@ -89,6 +89,7 @@ SphereEnvironmentProbe::~SphereEnvironmentProbe() //----------------------------------------------------------------------------- void SphereEnvironmentProbe::initPersistFields() { + docsURL; // SceneObject already handles exposing the transform Parent::initPersistFields(); diff --git a/Engine/source/T3D/missionArea.cpp b/Engine/source/T3D/missionArea.cpp index 4e66dde8a..a5f9670a6 100644 --- a/Engine/source/T3D/missionArea.cpp +++ b/Engine/source/T3D/missionArea.cpp @@ -130,6 +130,7 @@ void MissionArea::inspectPostApply() void MissionArea::initPersistFields() { + docsURL; addGroup("Dimensions"); addField("area", TypeRectI, Offset(mArea, MissionArea), "Four corners (X1, X2, Y1, Y2) that makes up the level's boundaries"); addField("flightCeiling", TypeF32, Offset(mFlightCeiling, MissionArea), "Represents the top of the mission area, used by FlyingVehicle. "); @@ -215,4 +216,4 @@ DefineEngineMethod( MissionArea, postApply, void, (),, ) { object->inspectPostApply(); -} \ No newline at end of file +} diff --git a/Engine/source/T3D/missionMarker.cpp b/Engine/source/T3D/missionMarker.cpp index 1bd19ae68..bf9e8561d 100644 --- a/Engine/source/T3D/missionMarker.cpp +++ b/Engine/source/T3D/missionMarker.cpp @@ -179,7 +179,9 @@ void MissionMarker::unpackUpdate(NetConnection * con, BitStream * stream) } } -void MissionMarker::initPersistFields() { +void MissionMarker::initPersistFields() +{ + docsURL; Parent::initPersistFields(); } @@ -281,6 +283,7 @@ void WayPoint::unpackUpdate(NetConnection * con, BitStream * stream) void WayPoint::initPersistFields() { + docsURL; addGroup("Misc"); addField("markerName", TypeCaseString, Offset(mName, WayPoint), "Unique name representing this waypoint"); endGroup("Misc"); @@ -468,6 +471,7 @@ void SpawnSphere::advanceTime( F32 timeDelta ) void SpawnSphere::initPersistFields() { + docsURL; addGroup( "Spawn" ); addField( "spawnClass", TypeRealString, Offset(mSpawnClass, SpawnSphere), "Object class to create (eg. Player, AIPlayer, Debris etc)" ); @@ -611,6 +615,7 @@ void CameraBookmark::unpackUpdate(NetConnection * con, BitStream * stream) void CameraBookmark::initPersistFields() { + docsURL; //addGroup("Misc"); //addField("name", TypeCaseString, Offset(mName, CameraBookmark)); //endGroup("Misc"); diff --git a/Engine/source/T3D/notesObject.cpp b/Engine/source/T3D/notesObject.cpp index 1b6ccd436..b5fd83087 100644 --- a/Engine/source/T3D/notesObject.cpp +++ b/Engine/source/T3D/notesObject.cpp @@ -40,6 +40,7 @@ NotesObject::~NotesObject() //----------------------------------------------------------------------------- void NotesObject::initPersistFields() { + docsURL; Parent::initPersistFields(); addField("Note", TypeCommand, Offset(mNote, NotesObject), ""); diff --git a/Engine/source/T3D/pathCamera.cpp b/Engine/source/T3D/pathCamera.cpp index 6b7aeddae..3a4ccd578 100644 --- a/Engine/source/T3D/pathCamera.cpp +++ b/Engine/source/T3D/pathCamera.cpp @@ -61,6 +61,7 @@ void PathCameraData::consoleInit() void PathCameraData::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -201,6 +202,7 @@ void PathCamera::onEditorDisable() void PathCamera::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -637,4 +639,4 @@ DefineEngineMethod(PathCamera, popFront, void, (),, "Removes the knot at the fro "@endtsexample\n") { object->popFront(); -} \ No newline at end of file +} diff --git a/Engine/source/T3D/pathShape.cpp b/Engine/source/T3D/pathShape.cpp index bd2292004..846e7bf18 100644 --- a/Engine/source/T3D/pathShape.cpp +++ b/Engine/source/T3D/pathShape.cpp @@ -44,6 +44,7 @@ bool PathShapeData::preload(bool server, String &errorStr) void PathShapeData::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -146,6 +147,7 @@ PathShapeData::PathShapeData() void PathShape::initPersistFields() { + docsURL; addField( "Path", TYPEID< SimObjectRef >(), Offset( mSimPath, PathShape ), "@brief Name of a Path to follow." ); @@ -587,4 +589,4 @@ DefineEngineMethod(PathShape, popFront, void, (), , "Removes the knot at the fro DefineEngineMethod(PathShape, getState, S32, (), , "PathShape.getState()") { return object->getState(); -} \ No newline at end of file +} diff --git a/Engine/source/T3D/physicalZone.cpp b/Engine/source/T3D/physicalZone.cpp index 9603a4f34..138222302 100644 --- a/Engine/source/T3D/physicalZone.cpp +++ b/Engine/source/T3D/physicalZone.cpp @@ -148,6 +148,7 @@ void PhysicalZone::consoleInit() void PhysicalZone::initPersistFields() { + docsURL; addGroup("Misc"); addField("velocityMod", TypeF32, Offset(mVelocityMod, PhysicalZone), "Multiply velocity of objects entering zone by this value every tick."); addField("gravityMod", TypeF32, Offset(mGravityMod, PhysicalZone), "Gravity in PhysicalZone. Multiplies against standard gravity."); diff --git a/Engine/source/T3D/physics/physicsDebris.cpp b/Engine/source/T3D/physics/physicsDebris.cpp index 142621b8e..79b8183e0 100644 --- a/Engine/source/T3D/physics/physicsDebris.cpp +++ b/Engine/source/T3D/physics/physicsDebris.cpp @@ -110,6 +110,7 @@ bool PhysicsDebrisData::preload( bool server, String &errorStr ) void PhysicsDebrisData::initPersistFields() { + docsURL; addGroup( "Shapes" ); addProtectedField( "shapeFile", TypeShapeFilename, Offset( mShapeName, PhysicsDebrisData ), &_setShapeData, &defaultProtectedGetFn, @@ -332,6 +333,7 @@ PhysicsDebris::~PhysicsDebris() void PhysicsDebris::initPersistFields() { + docsURL; Con::addVariable( "$pref::PhysicsDebris::lifetimeScale", TypeF32, &smLifetimeScale, "@brief Scales how long %PhysicsDebris will live before being removed.\n" "@note A value of 0 will disable PhysicsDebris entirely."); diff --git a/Engine/source/T3D/physics/physicsForce.cpp b/Engine/source/T3D/physics/physicsForce.cpp index a64cf71f7..457751a9a 100644 --- a/Engine/source/T3D/physics/physicsForce.cpp +++ b/Engine/source/T3D/physics/physicsForce.cpp @@ -54,7 +54,8 @@ PhysicsForce::~PhysicsForce() } void PhysicsForce::initPersistFields() -{ +{ + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/T3D/physics/physicsShape.cpp b/Engine/source/T3D/physics/physicsShape.cpp index 85345f61d..4666b2450 100644 --- a/Engine/source/T3D/physics/physicsShape.cpp +++ b/Engine/source/T3D/physics/physicsShape.cpp @@ -87,6 +87,7 @@ PhysicsShapeData::~PhysicsShapeData() void PhysicsShapeData::initPersistFields() { + docsURL; addGroup("Shapes"); INITPERSISTFIELD_SHAPEASSET(Shape, PhysicsShapeData, "@brief Shape asset to be used with this physics object.\n\n" @@ -430,7 +431,8 @@ void PhysicsShape::consoleInit() } void PhysicsShape::initPersistFields() -{ +{ + docsURL; addGroup( "PhysicsShape" ); addField( "playAmbient", TypeBool, Offset( mPlayAmbient, PhysicsShape ), diff --git a/Engine/source/T3D/pointLight.cpp b/Engine/source/T3D/pointLight.cpp index edf057a63..98fc16404 100644 --- a/Engine/source/T3D/pointLight.cpp +++ b/Engine/source/T3D/pointLight.cpp @@ -99,6 +99,7 @@ PointLight::~PointLight() void PointLight::initPersistFields() { + docsURL; addGroup( "Light" ); addField( "radius", TypeF32, Offset( mRadius, PointLight ), "Controls the falloff of the light emission" ); diff --git a/Engine/source/T3D/portal.cpp b/Engine/source/T3D/portal.cpp index 0f1a3cb3e..ed69329ce 100644 --- a/Engine/source/T3D/portal.cpp +++ b/Engine/source/T3D/portal.cpp @@ -147,6 +147,7 @@ Portal::Portal() void Portal::initPersistFields() { + docsURL; addGroup( "Zoning" ); addProtectedField( "frontSidePassable", TypeBool, Offset( mPassableSides[ FrontSide ], Portal ), diff --git a/Engine/source/T3D/prefab.cpp b/Engine/source/T3D/prefab.cpp index a211a41e5..d43abb54a 100644 --- a/Engine/source/T3D/prefab.cpp +++ b/Engine/source/T3D/prefab.cpp @@ -81,6 +81,7 @@ Prefab::~Prefab() void Prefab::initPersistFields() { + docsURL; addGroup( "Prefab" ); addProtectedField( "filename", TypePrefabFilename, Offset( mFilename, Prefab ), diff --git a/Engine/source/T3D/projectile.cpp b/Engine/source/T3D/projectile.cpp index edc990a10..d99188ac3 100644 --- a/Engine/source/T3D/projectile.cpp +++ b/Engine/source/T3D/projectile.cpp @@ -232,6 +232,7 @@ ProjectileData::ProjectileData(const ProjectileData& other, bool temp_clone) : G void ProjectileData::initPersistFields() { + docsURL; addGroup("Shapes"); addProtectedField("projectileShapeName", TypeShapeFilename, Offset(mProjectileShapeName, ProjectileData), &_setProjectileShapeData, &defaultProtectedGetFn, "@brief File path to the model of the projectile.\n\n", AbstractClassRep::FIELD_HideInInspectors); @@ -647,6 +648,7 @@ Projectile::~Projectile() //-------------------------------------------------------------------------- void Projectile::initPersistFields() { + docsURL; addGroup("Physics"); addProtectedField("initialPosition", TypePoint3F, Offset(mInitialPosition, Projectile), &_setInitialPosition, &defaultProtectedGetFn, diff --git a/Engine/source/T3D/proximityMine.cpp b/Engine/source/T3D/proximityMine.cpp index d03fc7c01..2cc49a8ef 100644 --- a/Engine/source/T3D/proximityMine.cpp +++ b/Engine/source/T3D/proximityMine.cpp @@ -88,6 +88,7 @@ ProximityMineData::ProximityMineData() void ProximityMineData::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup("Sounds"); INITPERSISTFIELD_SOUNDASSET(ArmSound, ProximityMineData, "Arming sound for this proximity mine."); diff --git a/Engine/source/T3D/rigidShape.cpp b/Engine/source/T3D/rigidShape.cpp index 91818abe4..cbece3f20 100644 --- a/Engine/source/T3D/rigidShape.cpp +++ b/Engine/source/T3D/rigidShape.cpp @@ -512,6 +512,7 @@ void RigidShapeData::unpackData(BitStream* stream) void RigidShapeData::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup( "Particle Effects" ); @@ -1685,6 +1686,7 @@ void RigidShape::consoleInit() void RigidShape::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/T3D/scopeAlwaysShape.cpp b/Engine/source/T3D/scopeAlwaysShape.cpp index b2c8551a0..ea804cf69 100644 --- a/Engine/source/T3D/scopeAlwaysShape.cpp +++ b/Engine/source/T3D/scopeAlwaysShape.cpp @@ -40,6 +40,7 @@ ScopeAlwaysShape::ScopeAlwaysShape() void ScopeAlwaysShape::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/T3D/sfx/sfxEmitter.cpp b/Engine/source/T3D/sfx/sfxEmitter.cpp index 59215acb4..e33409cdb 100644 --- a/Engine/source/T3D/sfx/sfxEmitter.cpp +++ b/Engine/source/T3D/sfx/sfxEmitter.cpp @@ -174,6 +174,7 @@ void SFXEmitter::consoleInit() void SFXEmitter::initPersistFields() { + docsURL; addGroup( "Media" ); INITPERSISTFIELD_SOUNDASSET(Sound, SFXEmitter, ""); diff --git a/Engine/source/T3D/shapeBase.cpp b/Engine/source/T3D/shapeBase.cpp index 3353c3968..c3437cb09 100644 --- a/Engine/source/T3D/shapeBase.cpp +++ b/Engine/source/T3D/shapeBase.cpp @@ -1033,6 +1033,7 @@ ShapeBase::~ShapeBase() void ShapeBase::initPersistFields() { + docsURL; addProtectedField( "skin", TypeRealString, Offset(mAppliedSkinName, ShapeBase), &_setFieldSkin, &_getFieldSkin, "@brief The skin applied to the shape.\n\n" diff --git a/Engine/source/T3D/shapeImage.cpp b/Engine/source/T3D/shapeImage.cpp index e0bfb460f..97ee3cea5 100644 --- a/Engine/source/T3D/shapeImage.cpp +++ b/Engine/source/T3D/shapeImage.cpp @@ -629,6 +629,7 @@ S32 ShapeBaseImageData::lookupState(const char* name) void ShapeBaseImageData::initPersistFields() { + docsURL; addGroup("Shapes"); INITPERSISTFIELD_SHAPEASSET_ARRAY(Shape, MaxShapes, ShapeBaseImageData, "The shape asset to use for this image in the third person") //addProtectedField("shapeFileFP", TypeShapeFilename, Offset(mShapeName[1], ShapeBaseImageData), _setShapeData, defaultProtectedGetFn, "deprecated alias for ShapeFPFile/Asset", AbstractClassRep::FIELD_HideInInspectors); diff --git a/Engine/source/T3D/spotLight.cpp b/Engine/source/T3D/spotLight.cpp index 359669cef..3f43305f7 100644 --- a/Engine/source/T3D/spotLight.cpp +++ b/Engine/source/T3D/spotLight.cpp @@ -95,6 +95,7 @@ SpotLight::~SpotLight() void SpotLight::initPersistFields() { + docsURL; addGroup( "Light" ); addField( "range", TypeF32, Offset( mRange, SpotLight ) ); diff --git a/Engine/source/T3D/staticShape.cpp b/Engine/source/T3D/staticShape.cpp index be8dbad5e..ad7a00ad1 100644 --- a/Engine/source/T3D/staticShape.cpp +++ b/Engine/source/T3D/staticShape.cpp @@ -108,6 +108,7 @@ StaticShapeData::StaticShapeData(const StaticShapeData& other, bool temp_clone) void StaticShapeData::initPersistFields() { + docsURL; Parent::initPersistFields(); addField("noIndividualDamage", TypeBool, Offset(noIndividualDamage, StaticShapeData), "Deprecated\n\n @internal"); addField("dynamicType", TypeS32, Offset(dynamicTypeField, StaticShapeData), @@ -193,6 +194,7 @@ StaticShape::~StaticShape() void StaticShape::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/T3D/trigger.cpp b/Engine/source/T3D/trigger.cpp index bcf85810b..7021d66af 100644 --- a/Engine/source/T3D/trigger.cpp +++ b/Engine/source/T3D/trigger.cpp @@ -370,6 +370,7 @@ void Trigger::consoleInit() void Trigger::initPersistFields() { + docsURL; addField("polyhedron", TypeTriggerPolyhedron, Offset(mTriggerPolyhedron, Trigger), "@brief Defines a non-rectangular area for the trigger.\n\n" "Rather than the standard rectangular bounds, this optional parameter defines a quadrilateral " diff --git a/Engine/source/T3D/tsStatic.cpp b/Engine/source/T3D/tsStatic.cpp index 7ffbc4004..2b454a1d1 100644 --- a/Engine/source/T3D/tsStatic.cpp +++ b/Engine/source/T3D/tsStatic.cpp @@ -176,6 +176,7 @@ FRangeValidator speedValidator(0.0f, AnimSpeedMax); void TSStatic::initPersistFields() { + docsURL; addGroup("Shape"); INITPERSISTFIELD_SHAPEASSET(Shape, TSStatic, "Model to use for this TSStatic"); diff --git a/Engine/source/T3D/turret/aiTurretShape.cpp b/Engine/source/T3D/turret/aiTurretShape.cpp index ecf24fa76..0c39fb77f 100644 --- a/Engine/source/T3D/turret/aiTurretShape.cpp +++ b/Engine/source/T3D/turret/aiTurretShape.cpp @@ -464,6 +464,7 @@ AITurretShape::~AITurretShape() void AITurretShape::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/T3D/turret/turretShape.cpp b/Engine/source/T3D/turret/turretShape.cpp index b3a5afd07..2032810ff 100644 --- a/Engine/source/T3D/turret/turretShape.cpp +++ b/Engine/source/T3D/turret/turretShape.cpp @@ -300,6 +300,7 @@ TurretShape::~TurretShape() void TurretShape::initPersistFields() { + docsURL; addField("respawn", TypeBool, Offset(mRespawn, TurretShape), "@brief Respawn the turret after it has been destroyed.\n\n" "If true, the turret will respawn after it is destroyed.\n"); diff --git a/Engine/source/T3D/vehicles/flyingVehicle.cpp b/Engine/source/T3D/vehicles/flyingVehicle.cpp index cb1134acd..13e42df15 100644 --- a/Engine/source/T3D/vehicles/flyingVehicle.cpp +++ b/Engine/source/T3D/vehicles/flyingVehicle.cpp @@ -175,6 +175,7 @@ bool FlyingVehicleData::preload(bool server, String &errorStr) void FlyingVehicleData::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup("Physics"); @@ -806,6 +807,7 @@ void FlyingVehicle::unpackUpdate(NetConnection *con, BitStream *stream) void FlyingVehicle::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/T3D/vehicles/guiSpeedometer.cpp b/Engine/source/T3D/vehicles/guiSpeedometer.cpp index 07e176438..a145f8b8d 100644 --- a/Engine/source/T3D/vehicles/guiSpeedometer.cpp +++ b/Engine/source/T3D/vehicles/guiSpeedometer.cpp @@ -108,6 +108,7 @@ GuiSpeedometerHud::GuiSpeedometerHud() void GuiSpeedometerHud::initPersistFields() { + docsURL; addGroup("Needle"); addField("maxSpeed", TypeF32, Offset( mMaxSpeed, GuiSpeedometerHud ), diff --git a/Engine/source/T3D/vehicles/hoverVehicle.cpp b/Engine/source/T3D/vehicles/hoverVehicle.cpp index f210f9eda..0172c573f 100644 --- a/Engine/source/T3D/vehicles/hoverVehicle.cpp +++ b/Engine/source/T3D/vehicles/hoverVehicle.cpp @@ -174,6 +174,7 @@ HoverVehicleData::~HoverVehicleData() //-------------------------------------------------------------------------- void HoverVehicleData::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup("Physics"); addField( "normalForce", TypeF32, Offset(normalForce, HoverVehicleData), diff --git a/Engine/source/T3D/vehicles/vehicle.cpp b/Engine/source/T3D/vehicles/vehicle.cpp index 1fd26a8d0..82e7d09d4 100644 --- a/Engine/source/T3D/vehicles/vehicle.cpp +++ b/Engine/source/T3D/vehicles/vehicle.cpp @@ -274,6 +274,7 @@ void VehicleData::unpackData(BitStream* stream) void VehicleData::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup("Particle Effects"); @@ -1108,6 +1109,7 @@ void Vehicle::consoleInit() void Vehicle::initPersistFields() { + docsURL; addField( "disableMove", TypeBool, Offset(mDisableMove, Vehicle), "When this flag is set, the vehicle will ignore throttle changes." ); diff --git a/Engine/source/T3D/vehicles/vehicleBlocker.cpp b/Engine/source/T3D/vehicles/vehicleBlocker.cpp index a31969d1b..6c8b17bd1 100644 --- a/Engine/source/T3D/vehicles/vehicleBlocker.cpp +++ b/Engine/source/T3D/vehicles/vehicleBlocker.cpp @@ -59,6 +59,7 @@ VehicleBlocker::~VehicleBlocker() //-------------------------------------------------------------------------- void VehicleBlocker::initPersistFields() { + docsURL; addField("dimensions", TypePoint3F, Offset(mDimensions, VehicleBlocker)); Parent::initPersistFields(); } diff --git a/Engine/source/T3D/vehicles/wheeledVehicle.cpp b/Engine/source/T3D/vehicles/wheeledVehicle.cpp index f9bbd7200..b11c040f9 100644 --- a/Engine/source/T3D/vehicles/wheeledVehicle.cpp +++ b/Engine/source/T3D/vehicles/wheeledVehicle.cpp @@ -112,6 +112,7 @@ bool WheeledVehicleTire::preload(bool server, String &errorStr) void WheeledVehicleTire::initPersistFields() { + docsURL; INITPERSISTFIELD_SHAPEASSET(Shape, WheeledVehicleTire, "The shape to use for the wheel."); addField( "mass", TypeF32, Offset(mass, WheeledVehicleTire), @@ -233,6 +234,7 @@ WheeledVehicleSpring::WheeledVehicleSpring() void WheeledVehicleSpring::initPersistFields() { + docsURL; addField( "length", TypeF32, Offset(length, WheeledVehicleSpring), "@brief Maximum spring length. ie. how far the wheel can extend from the " "root hub position.\n\n" @@ -448,6 +450,7 @@ bool WheeledVehicleData::mirrorWheel(Wheel* we) void WheeledVehicleData::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup("Particle Effects"); @@ -560,6 +563,7 @@ WheeledVehicle::~WheeledVehicle() void WheeledVehicle::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/T3D/zone.cpp b/Engine/source/T3D/zone.cpp index 936df171f..97078d5ec 100644 --- a/Engine/source/T3D/zone.cpp +++ b/Engine/source/T3D/zone.cpp @@ -85,6 +85,7 @@ void Zone::consoleInit() #ifdef TORQUE_TOOLS void Zone::initPersistFields() { + docsURL; addProtectedField("selectAll", TypeBool, Offset(mSelecting, Zone), &_doSelect, &defaultProtectedGetFn, "Select all in this zone", AbstractClassRep::FieldFlags::FIELD_ComponentInspectors); diff --git a/Engine/source/Verve/Core/VController.cpp b/Engine/source/Verve/Core/VController.cpp index abb84fbb9..4baa4e7df 100644 --- a/Engine/source/Verve/Core/VController.cpp +++ b/Engine/source/Verve/Core/VController.cpp @@ -60,8 +60,9 @@ VController::~VController( void ) // Void. } -void VController::initPersistFields( void ) +void VController::initPersistFields() { + docsURL; addGroup( "Controller" ); addProtectedField( "Time", TypeS32, Offset( mTime, VController ), &setTime, &defaultProtectedGetFn, "Current position of the Controller (in milliseconds)." ); addProtectedField( "Duration", TypeS32, Offset( mDuration, VController ), &setDuration, &defaultProtectedGetFn, "Total length of the sequence (in milliseconds)." ); diff --git a/Engine/source/Verve/Core/VController.h b/Engine/source/Verve/Core/VController.h index d6996c8ef..ca6ea13dd 100644 --- a/Engine/source/Verve/Core/VController.h +++ b/Engine/source/Verve/Core/VController.h @@ -152,7 +152,7 @@ public: VController(); ~VController(); - static void initPersistFields( void ); + static void initPersistFields(); // ITickable. diff --git a/Engine/source/Verve/Core/VEvent.cpp b/Engine/source/Verve/Core/VEvent.cpp index 6b4e8ed54..3f7fab3cd 100644 --- a/Engine/source/Verve/Core/VEvent.cpp +++ b/Engine/source/Verve/Core/VEvent.cpp @@ -40,8 +40,9 @@ VEvent::VEvent( void ) : setLabel( "DefaultEvent" ); } -void VEvent::initPersistFields( void ) +void VEvent::initPersistFields() { + docsURL; Parent::initPersistFields(); addProtectedField( "TriggerTime", TypeS32, Offset( mTriggerTime, VEvent ), &setTriggerTime, &defaultProtectedGetFn, "The time that this event is triggered." ); @@ -403,4 +404,4 @@ void VEvent::setDuration( const S32 &pDuration ) // Apply Duration. mDuration = pDuration; -} \ No newline at end of file +} diff --git a/Engine/source/Verve/Core/VEvent.h b/Engine/source/Verve/Core/VEvent.h index 7a1914f04..a5ac75aab 100644 --- a/Engine/source/Verve/Core/VEvent.h +++ b/Engine/source/Verve/Core/VEvent.h @@ -48,7 +48,7 @@ public: VEvent( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Controller Methods. diff --git a/Engine/source/Verve/Core/VObject.cpp b/Engine/source/Verve/Core/VObject.cpp index 248ed5032..09b52b672 100644 --- a/Engine/source/Verve/Core/VObject.cpp +++ b/Engine/source/Verve/Core/VObject.cpp @@ -42,8 +42,9 @@ VObject::~VObject( void ) remove(); } -void VObject::initPersistFields( void ) +void VObject::initPersistFields() { + docsURL; // Don't Use Parent Fields. // Parent::initPersistFields(); diff --git a/Engine/source/Verve/Core/VObject.h b/Engine/source/Verve/Core/VObject.h index f42b5cae7..18b9989d2 100644 --- a/Engine/source/Verve/Core/VObject.h +++ b/Engine/source/Verve/Core/VObject.h @@ -66,7 +66,7 @@ public: VObject( void ); virtual ~VObject( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Reference Methods. diff --git a/Engine/source/Verve/Extension/Animation/VShapeAnimationEvent.cpp b/Engine/source/Verve/Extension/Animation/VShapeAnimationEvent.cpp index b40460871..41255eec9 100644 --- a/Engine/source/Verve/Extension/Animation/VShapeAnimationEvent.cpp +++ b/Engine/source/Verve/Extension/Animation/VShapeAnimationEvent.cpp @@ -38,8 +38,9 @@ VShapeAnimationEvent::VShapeAnimationEvent( void ) : //----------------------------------------------------------------------------- -void VShapeAnimationEvent::initPersistFields( void ) +void VShapeAnimationEvent::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "AnimationData", TypeRealString, Offset( mAnimationData, VShapeAnimationEvent ), "The name of the Animation Sequence to play upon triggering." ); @@ -151,4 +152,4 @@ F32 VShapeAnimationEvent::getAnimationPosition( const S32 &pTime ) const S32 loopInterp = S32( mDuration * interp ) % duration; return ( F32 )loopInterp / ( F32 )duration; -} \ No newline at end of file +} diff --git a/Engine/source/Verve/Extension/Animation/VShapeAnimationEvent.h b/Engine/source/Verve/Extension/Animation/VShapeAnimationEvent.h index 9146836e9..5c08da976 100644 --- a/Engine/source/Verve/Extension/Animation/VShapeAnimationEvent.h +++ b/Engine/source/Verve/Extension/Animation/VShapeAnimationEvent.h @@ -46,7 +46,7 @@ public: VShapeAnimationEvent( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Callback Methods. diff --git a/Engine/source/Verve/Extension/Animation/VShapeAnimationTrack.cpp b/Engine/source/Verve/Extension/Animation/VShapeAnimationTrack.cpp index caeff5b38..627502112 100644 --- a/Engine/source/Verve/Extension/Animation/VShapeAnimationTrack.cpp +++ b/Engine/source/Verve/Extension/Animation/VShapeAnimationTrack.cpp @@ -38,8 +38,9 @@ VShapeAnimationTrack::VShapeAnimationTrack( void ) : //----------------------------------------------------------------------------- -void VShapeAnimationTrack::initPersistFields( void ) +void VShapeAnimationTrack::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "ThreadIndex", TypeS32, Offset( mThreadIndex, VShapeAnimationTrack ), "The index of the Animation Thread to play." ); diff --git a/Engine/source/Verve/Extension/Animation/VShapeAnimationTrack.h b/Engine/source/Verve/Extension/Animation/VShapeAnimationTrack.h index 3b9cf7bce..6eb08a253 100644 --- a/Engine/source/Verve/Extension/Animation/VShapeAnimationTrack.h +++ b/Engine/source/Verve/Extension/Animation/VShapeAnimationTrack.h @@ -43,7 +43,7 @@ public: VShapeAnimationTrack( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Controller Methods. diff --git a/Engine/source/Verve/Extension/Camera/VCameraShakeEvent.cpp b/Engine/source/Verve/Extension/Camera/VCameraShakeEvent.cpp index 88c528d27..58d9923e7 100644 --- a/Engine/source/Verve/Extension/Camera/VCameraShakeEvent.cpp +++ b/Engine/source/Verve/Extension/Camera/VCameraShakeEvent.cpp @@ -39,8 +39,9 @@ VCameraShakeEvent::VCameraShakeEvent( void ) : setLabel( "CameraShakeEvent" ); } -void VCameraShakeEvent::initPersistFields( void ) +void VCameraShakeEvent::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "Amplitude", TypePoint3F, Offset( mAmplitude, VCameraShakeEvent ), "Amplitude of the Camera Shake event." ); @@ -80,4 +81,4 @@ void VCameraShakeEvent::onTrigger( const S32 &pTime, const S32 &pDelta ) // Shake Camera. VTorque::startCameraShake( duration, mFalloff, mAmplitude, mFrequency ); -} \ No newline at end of file +} diff --git a/Engine/source/Verve/Extension/Camera/VCameraShakeEvent.h b/Engine/source/Verve/Extension/Camera/VCameraShakeEvent.h index 9a8af7899..6d0d15ad8 100644 --- a/Engine/source/Verve/Extension/Camera/VCameraShakeEvent.h +++ b/Engine/source/Verve/Extension/Camera/VCameraShakeEvent.h @@ -43,7 +43,7 @@ public: VCameraShakeEvent( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Event Methods. diff --git a/Engine/source/Verve/Extension/Director/VDirectorEvent.cpp b/Engine/source/Verve/Extension/Director/VDirectorEvent.cpp index 9030b4018..c9c4677c6 100644 --- a/Engine/source/Verve/Extension/Director/VDirectorEvent.cpp +++ b/Engine/source/Verve/Extension/Director/VDirectorEvent.cpp @@ -35,8 +35,9 @@ VDirectorEvent::VDirectorEvent( void ) : // Void. } -void VDirectorEvent::initPersistFields( void ) +void VDirectorEvent::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "Target", TypeRealString, Offset( mTarget, VDirectorEvent ), "The name of the CameraGroup that will be activated upon triggering." ); @@ -72,4 +73,4 @@ void VDirectorEvent::onTrigger( const S32 &pTime, const S32 &pDelta ) // Change Camera. targetGroup->setActive(); -} \ No newline at end of file +} diff --git a/Engine/source/Verve/Extension/Director/VDirectorEvent.h b/Engine/source/Verve/Extension/Director/VDirectorEvent.h index e890e5a06..9df880e8d 100644 --- a/Engine/source/Verve/Extension/Director/VDirectorEvent.h +++ b/Engine/source/Verve/Extension/Director/VDirectorEvent.h @@ -45,7 +45,7 @@ public: VDirectorEvent( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Event Methods. diff --git a/Engine/source/Verve/Extension/Director/VSceneJumpEvent.cpp b/Engine/source/Verve/Extension/Director/VSceneJumpEvent.cpp index 09df231b1..a9221cedb 100644 --- a/Engine/source/Verve/Extension/Director/VSceneJumpEvent.cpp +++ b/Engine/source/Verve/Extension/Director/VSceneJumpEvent.cpp @@ -38,8 +38,9 @@ VSceneJumpEvent::VSceneJumpEvent( void ) : setLabel( "SceneJumpEvent" ); } -void VSceneJumpEvent::initPersistFields( void ) +void VSceneJumpEvent::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "Target", TypeRealString, Offset( mTarget, VSceneJumpEvent ), "The name of the Scene that the controller will jump to upon triggering." ); @@ -79,4 +80,4 @@ void VSceneJumpEvent::onTrigger( const S32 &pTime, const S32 &pDelta ) // Go To Scene. getController()->jump( VController::k_JumpTime, event->getTriggerTime() ); -} \ No newline at end of file +} diff --git a/Engine/source/Verve/Extension/Director/VSceneJumpEvent.h b/Engine/source/Verve/Extension/Director/VSceneJumpEvent.h index bf7b597bf..f8d8765e9 100644 --- a/Engine/source/Verve/Extension/Director/VSceneJumpEvent.h +++ b/Engine/source/Verve/Extension/Director/VSceneJumpEvent.h @@ -41,7 +41,7 @@ public: VSceneJumpEvent( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Event Methods. diff --git a/Engine/source/Verve/Extension/Director/VSlowMoEvent.cpp b/Engine/source/Verve/Extension/Director/VSlowMoEvent.cpp index 3427bda43..6b407d363 100644 --- a/Engine/source/Verve/Extension/Director/VSlowMoEvent.cpp +++ b/Engine/source/Verve/Extension/Director/VSlowMoEvent.cpp @@ -36,8 +36,9 @@ VSlowMoEvent::VSlowMoEvent( void ) : setLabel( "SlowMoEvent" ); } -void VSlowMoEvent::initPersistFields( void ) +void VSlowMoEvent::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "TimeScale", TypeF32, Offset( mTimeScale, VSlowMoEvent ), "The Time Scale to be applied to the Root Controller." ); @@ -127,4 +128,4 @@ void VSlowMoEvent::onComplete( const S32 &pTime, const S32 &pDelta ) // Tidy Up. controller->setTimeScale( mTimeScale ); -} \ No newline at end of file +} diff --git a/Engine/source/Verve/Extension/Director/VSlowMoEvent.h b/Engine/source/Verve/Extension/Director/VSlowMoEvent.h index 1cdf75889..37f62e3c9 100644 --- a/Engine/source/Verve/Extension/Director/VSlowMoEvent.h +++ b/Engine/source/Verve/Extension/Director/VSlowMoEvent.h @@ -42,7 +42,7 @@ public: VSlowMoEvent( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Event Methods. diff --git a/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetEvent.cpp b/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetEvent.cpp index 92218060a..0826c77eb 100644 --- a/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetEvent.cpp +++ b/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetEvent.cpp @@ -34,8 +34,9 @@ VSpawnSphereSpawnTargetEvent::VSpawnSphereSpawnTargetEvent( void ) setLabel( "SpawnTargetEvent" ); } -void VSpawnSphereSpawnTargetEvent::initPersistFields( void ) +void VSpawnSphereSpawnTargetEvent::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -65,4 +66,4 @@ void VSpawnSphereSpawnTargetEvent::onTrigger( const S32 &pTime, const S32 &pDelt // Spawn the Target. track->spawnTarget(); -} \ No newline at end of file +} diff --git a/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetEvent.h b/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetEvent.h index 60b39952d..e19fd6861 100644 --- a/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetEvent.h +++ b/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetEvent.h @@ -40,7 +40,7 @@ public: VSpawnSphereSpawnTargetEvent( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Event Methods. diff --git a/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetTrack.cpp b/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetTrack.cpp index 220362290..b0a2078e8 100644 --- a/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetTrack.cpp +++ b/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetTrack.cpp @@ -34,8 +34,9 @@ VSpawnSphereSpawnTargetTrack::VSpawnSphereSpawnTargetTrack( void ) setLabel( "SpawnTargetTrack" ); } -void VSpawnSphereSpawnTargetTrack::initPersistFields( void ) +void VSpawnSphereSpawnTargetTrack::initPersistFields() { + docsURL; // Parent Call. Parent::initPersistFields(); diff --git a/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetTrack.h b/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetTrack.h index 0df6f2ae5..36efd32fd 100644 --- a/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetTrack.h +++ b/Engine/source/Verve/Extension/Game/VSpawnSphereSpawnTargetTrack.h @@ -48,7 +48,7 @@ public: VSpawnSphereSpawnTargetTrack( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Controller Methods. diff --git a/Engine/source/Verve/Extension/LightObject/VLightObjectAnimationEvent.cpp b/Engine/source/Verve/Extension/LightObject/VLightObjectAnimationEvent.cpp index 94f34c350..a6f99d47a 100644 --- a/Engine/source/Verve/Extension/LightObject/VLightObjectAnimationEvent.cpp +++ b/Engine/source/Verve/Extension/LightObject/VLightObjectAnimationEvent.cpp @@ -36,8 +36,9 @@ VLightObjectAnimationEvent::VLightObjectAnimationEvent( void ) : setLabel( "AnimationEvent" ); } -void VLightObjectAnimationEvent::initPersistFields( void ) +void VLightObjectAnimationEvent::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "AnimationData", TYPEID(), Offset( mAnimationData, VLightObjectAnimationEvent ) ); @@ -89,4 +90,4 @@ void VLightObjectAnimationEvent::onComplete( const S32 &pTime, const S32 &pDelta // Pause the Animation. VTorque::pauseAnimation( lightObject ); } -} \ No newline at end of file +} diff --git a/Engine/source/Verve/Extension/LightObject/VLightObjectAnimationEvent.h b/Engine/source/Verve/Extension/LightObject/VLightObjectAnimationEvent.h index 18162ff2c..1f1e328bd 100644 --- a/Engine/source/Verve/Extension/LightObject/VLightObjectAnimationEvent.h +++ b/Engine/source/Verve/Extension/LightObject/VLightObjectAnimationEvent.h @@ -45,7 +45,7 @@ public: VLightObjectAnimationEvent( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Event Methods. diff --git a/Engine/source/Verve/Extension/LightObject/VLightObjectToggleEvent.cpp b/Engine/source/Verve/Extension/LightObject/VLightObjectToggleEvent.cpp index 4e1475a5f..3d9f5179b 100644 --- a/Engine/source/Verve/Extension/LightObject/VLightObjectToggleEvent.cpp +++ b/Engine/source/Verve/Extension/LightObject/VLightObjectToggleEvent.cpp @@ -34,8 +34,9 @@ VLightObjectToggleEvent::VLightObjectToggleEvent( void ) : setLabel( "ToggleEvent" ); } -void VLightObjectToggleEvent::initPersistFields( void ) +void VLightObjectToggleEvent::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "Action", TYPEID(), Offset( mEventType, VLightObjectToggleEvent ) ); @@ -67,4 +68,4 @@ void VLightObjectToggleEvent::onTrigger( const S32 &pTime, const S32 &pDelta ) // Toggle Light. VTorque::setLightObjectOn( lightObject, turnOn ); } -} \ No newline at end of file +} diff --git a/Engine/source/Verve/Extension/LightObject/VLightObjectToggleEvent.h b/Engine/source/Verve/Extension/LightObject/VLightObjectToggleEvent.h index 382aee1c7..8be55ae9e 100644 --- a/Engine/source/Verve/Extension/LightObject/VLightObjectToggleEvent.h +++ b/Engine/source/Verve/Extension/LightObject/VLightObjectToggleEvent.h @@ -49,7 +49,7 @@ public: VLightObjectToggleEvent( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Event Methods. diff --git a/Engine/source/Verve/Extension/Motion/VMotionTrack.cpp b/Engine/source/Verve/Extension/Motion/VMotionTrack.cpp index cc33f12db..bfc446146 100644 --- a/Engine/source/Verve/Extension/Motion/VMotionTrack.cpp +++ b/Engine/source/Verve/Extension/Motion/VMotionTrack.cpp @@ -39,8 +39,9 @@ VMotionTrack::VMotionTrack( void ) : setLabel( "MotionTrack" ); } -void VMotionTrack::initPersistFields( void ) +void VMotionTrack::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "Reference", TypeRealString, Offset( mDataReference, VMotionTrack ), "The name of the data field referencing the object to be attached to the path." ); diff --git a/Engine/source/Verve/Extension/Motion/VMotionTrack.h b/Engine/source/Verve/Extension/Motion/VMotionTrack.h index b0fc25c34..7531f7cfa 100644 --- a/Engine/source/Verve/Extension/Motion/VMotionTrack.h +++ b/Engine/source/Verve/Extension/Motion/VMotionTrack.h @@ -53,7 +53,7 @@ public: VMotionTrack( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Controller Methods. diff --git a/Engine/source/Verve/Extension/ParticleEffect/VParticleEffectToggleEvent.cpp b/Engine/source/Verve/Extension/ParticleEffect/VParticleEffectToggleEvent.cpp index 658f3b5d0..c4c1c3b2c 100644 --- a/Engine/source/Verve/Extension/ParticleEffect/VParticleEffectToggleEvent.cpp +++ b/Engine/source/Verve/Extension/ParticleEffect/VParticleEffectToggleEvent.cpp @@ -34,8 +34,9 @@ VParticleEffectToggleEvent::VParticleEffectToggleEvent( void ) : setLabel( "ToggleEvent" ); } -void VParticleEffectToggleEvent::initPersistFields( void ) +void VParticleEffectToggleEvent::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "Action", TYPEID(), Offset( mEventType, VParticleEffectToggleEvent ) ); @@ -67,4 +68,4 @@ void VParticleEffectToggleEvent::onTrigger( const S32 &pTime, const S32 &pDelta // Toggle Particle Effect. VTorque::setParticleEffectOn( particleEffect, turnOn ); } -} \ No newline at end of file +} diff --git a/Engine/source/Verve/Extension/ParticleEffect/VParticleEffectToggleEvent.h b/Engine/source/Verve/Extension/ParticleEffect/VParticleEffectToggleEvent.h index e4028413a..73d4b2a92 100644 --- a/Engine/source/Verve/Extension/ParticleEffect/VParticleEffectToggleEvent.h +++ b/Engine/source/Verve/Extension/ParticleEffect/VParticleEffectToggleEvent.h @@ -49,7 +49,7 @@ public: VParticleEffectToggleEvent( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Event Methods. diff --git a/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleEvent.cpp b/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleEvent.cpp index 5e5d65d40..c865b74c1 100644 --- a/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleEvent.cpp +++ b/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleEvent.cpp @@ -36,8 +36,9 @@ VPostEffectToggleEvent::VPostEffectToggleEvent( void ) : setLabel( "ToggleEvent" ); } -void VPostEffectToggleEvent::initPersistFields( void ) +void VPostEffectToggleEvent::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "Action", TYPEID(), Offset( mEventType, VPostEffectToggleEvent ) ); @@ -74,4 +75,4 @@ void VPostEffectToggleEvent::onTrigger( const S32 &pTime, const S32 &pDelta ) // Enable Effect. VTorque::setPostEffectOn( track->getPostEffect(), turnOn ); -} \ No newline at end of file +} diff --git a/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleEvent.h b/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleEvent.h index 66668307b..714c76c58 100644 --- a/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleEvent.h +++ b/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleEvent.h @@ -49,7 +49,7 @@ public: VPostEffectToggleEvent( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Event Methods. diff --git a/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleTrack.cpp b/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleTrack.cpp index ff2dd52a5..d0404450a 100644 --- a/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleTrack.cpp +++ b/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleTrack.cpp @@ -36,8 +36,9 @@ VPostEffectToggleTrack::VPostEffectToggleTrack( void ) : setLabel( "PostEffectTrack" ); } -void VPostEffectToggleTrack::initPersistFields( void ) +void VPostEffectToggleTrack::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "PostEffect", TYPEID(), Offset( mPostEffect, VPostEffectToggleTrack ), "The name of the PostEffect object to be triggered." ); @@ -100,4 +101,4 @@ bool VPostEffectToggleTrack::onCameraEvent( const VCameraGroup::eCameraEventType } return true; -} \ No newline at end of file +} diff --git a/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleTrack.h b/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleTrack.h index 24a531684..e487f0cde 100644 --- a/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleTrack.h +++ b/Engine/source/Verve/Extension/PostEffect/VPostEffectToggleTrack.h @@ -45,7 +45,7 @@ public: VPostEffectToggleTrack( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Camera Methods. diff --git a/Engine/source/Verve/Extension/SceneObject/VSceneObjectGroup.cpp b/Engine/source/Verve/Extension/SceneObject/VSceneObjectGroup.cpp index 83307cc7b..e6be50610 100644 --- a/Engine/source/Verve/Extension/SceneObject/VSceneObjectGroup.cpp +++ b/Engine/source/Verve/Extension/SceneObject/VSceneObjectGroup.cpp @@ -36,8 +36,9 @@ VSceneObjectGroup::VSceneObjectGroup( void ) : setLabel( "SceneObjectGroup" ); }; -void VSceneObjectGroup::initPersistFields( void ) +void VSceneObjectGroup::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "Reference", TypeRealString, Offset( mDataReference, VSceneObjectGroup ), "The name of the data field referencing the targeted object." ); diff --git a/Engine/source/Verve/Extension/SceneObject/VSceneObjectGroup.h b/Engine/source/Verve/Extension/SceneObject/VSceneObjectGroup.h index 9af52eef6..cc78d0b4e 100644 --- a/Engine/source/Verve/Extension/SceneObject/VSceneObjectGroup.h +++ b/Engine/source/Verve/Extension/SceneObject/VSceneObjectGroup.h @@ -48,7 +48,7 @@ public: VSceneObjectGroup( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Reference Methods. diff --git a/Engine/source/Verve/Extension/Script/VScriptEvent.cpp b/Engine/source/Verve/Extension/Script/VScriptEvent.cpp index 69b477466..6fcdb8046 100644 --- a/Engine/source/Verve/Extension/Script/VScriptEvent.cpp +++ b/Engine/source/Verve/Extension/Script/VScriptEvent.cpp @@ -46,8 +46,9 @@ VScriptEvent::VScriptEvent( void ) : setLabel( "ScriptEvent" ); } -void VScriptEvent::initPersistFields( void ) +void VScriptEvent::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "CommandType", TYPEID(), Offset( mCommandType, VScriptEvent ), "The type of command to be evaluated." ); diff --git a/Engine/source/Verve/Extension/Script/VScriptEvent.h b/Engine/source/Verve/Extension/Script/VScriptEvent.h index ee0b139ca..59b7eed55 100644 --- a/Engine/source/Verve/Extension/Script/VScriptEvent.h +++ b/Engine/source/Verve/Extension/Script/VScriptEvent.h @@ -50,7 +50,7 @@ public: VScriptEvent( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Event Methods. diff --git a/Engine/source/Verve/Extension/SoundEffect/VSoundEffectEvent.cpp b/Engine/source/Verve/Extension/SoundEffect/VSoundEffectEvent.cpp index 92c352427..932229e9a 100644 --- a/Engine/source/Verve/Extension/SoundEffect/VSoundEffectEvent.cpp +++ b/Engine/source/Verve/Extension/SoundEffect/VSoundEffectEvent.cpp @@ -36,8 +36,9 @@ VSoundEffectEvent::VSoundEffectEvent( void ) : setLabel( "SoundEvent" ); } -void VSoundEffectEvent::initPersistFields( void ) +void VSoundEffectEvent::initPersistFields() { + docsURL; Parent::initPersistFields(); addProtectedField( "SoundEffect", TYPEID(), Offset( mSoundEffect, VSoundEffectEvent ), &setSoundData, &defaultProtectedGetFn, "" ); @@ -128,4 +129,4 @@ bool VSoundEffectEvent::setSoundData( void *pObject, const char *pArray, const c event->setDuration( 0 ); return false; -} \ No newline at end of file +} diff --git a/Engine/source/Verve/Extension/SoundEffect/VSoundEffectEvent.h b/Engine/source/Verve/Extension/SoundEffect/VSoundEffectEvent.h index 79ea79d65..285fd6084 100644 --- a/Engine/source/Verve/Extension/SoundEffect/VSoundEffectEvent.h +++ b/Engine/source/Verve/Extension/SoundEffect/VSoundEffectEvent.h @@ -50,7 +50,7 @@ public: VSoundEffectEvent( void ); - static void initPersistFields( void ); + static void initPersistFields(); static bool setSoundData( void *pObject, const char *pArray, const char *pData ); diff --git a/Engine/source/Verve/GUI/VEditorButton.cpp b/Engine/source/Verve/GUI/VEditorButton.cpp index d86f86e3f..d166eed86 100644 --- a/Engine/source/Verve/GUI/VEditorButton.cpp +++ b/Engine/source/Verve/GUI/VEditorButton.cpp @@ -36,8 +36,9 @@ VEditorButton::VEditorButton( void ) : // Void. } -void VEditorButton::initPersistFields( void ) +void VEditorButton::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "IsDraggable", TypeBool, Offset( mIsDraggable, VEditorButton ) ); diff --git a/Engine/source/Verve/GUI/VEditorButton.h b/Engine/source/Verve/GUI/VEditorButton.h index 15b3e0dfa..00456956d 100644 --- a/Engine/source/Verve/GUI/VEditorButton.h +++ b/Engine/source/Verve/GUI/VEditorButton.h @@ -39,7 +39,7 @@ public: VEditorButton(); - static void initPersistFields( void ); + static void initPersistFields(); void onMouseDown( const GuiEvent &pEvent ); void onMouseUp( const GuiEvent &pEvent ); diff --git a/Engine/source/Verve/GUI/VTimeLineControl.cpp b/Engine/source/Verve/GUI/VTimeLineControl.cpp index 9bfc7ccfc..1f8e7552e 100644 --- a/Engine/source/Verve/GUI/VTimeLineControl.cpp +++ b/Engine/source/Verve/GUI/VTimeLineControl.cpp @@ -43,8 +43,9 @@ VTimeLineControl::VTimeLineControl( void ) : mSelection.EndTime = 0; } -void VTimeLineControl::initPersistFields( void ) +void VTimeLineControl::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "IsController", TypeBool, Offset( mIsController, VTimeLineControl ) ); diff --git a/Engine/source/Verve/GUI/VTimeLineControl.h b/Engine/source/Verve/GUI/VTimeLineControl.h index 1dd1b9851..865e8f594 100644 --- a/Engine/source/Verve/GUI/VTimeLineControl.h +++ b/Engine/source/Verve/GUI/VTimeLineControl.h @@ -57,7 +57,7 @@ public: VTimeLineControl( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Mouse. diff --git a/Engine/source/Verve/VActor/VActorData.cpp b/Engine/source/Verve/VActor/VActorData.cpp index 5b757344a..b3321bfa3 100644 --- a/Engine/source/Verve/VActor/VActorData.cpp +++ b/Engine/source/Verve/VActor/VActorData.cpp @@ -47,8 +47,9 @@ VActorData::~VActorData( void ) // Void. } -void VActorData::initPersistFields( void ) +void VActorData::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "MaxStepHeight", TypeF32, Offset( mMaxStepHeight, VActorData ) ); diff --git a/Engine/source/Verve/VActor/VActorData.h b/Engine/source/Verve/VActor/VActorData.h index 2aaf0fc58..fb3b85028 100644 --- a/Engine/source/Verve/VActor/VActorData.h +++ b/Engine/source/Verve/VActor/VActorData.h @@ -106,7 +106,7 @@ public: VActorData( void ); ~VActorData( void ); - static void initPersistFields( void ); + static void initPersistFields(); virtual bool initAnimationSequenceList( const S32 &pSize, const sAnimationSequence *pTable ); virtual bool initAnimationTransitionList( const S32 &pSize, const sAnimationTransition *pTable ); diff --git a/Engine/source/Verve/VPath/VPath.cpp b/Engine/source/Verve/VPath/VPath.cpp index 965e1c574..3a96010e3 100644 --- a/Engine/source/Verve/VPath/VPath.cpp +++ b/Engine/source/Verve/VPath/VPath.cpp @@ -166,8 +166,9 @@ void VPath::onRemove( void ) Parent::onRemove(); } -void VPath::initPersistFields( void ) +void VPath::initPersistFields() { + docsURL; Parent::initPersistFields(); addProtectedField( "PathType", TYPEID(), Offset( mPathType, VPath ), &setPathType, &defaultProtectedGetFn, "The type of path this is." ); diff --git a/Engine/source/Verve/VPath/VPath.h b/Engine/source/Verve/VPath/VPath.h index 925d88d78..6fa570b92 100644 --- a/Engine/source/Verve/VPath/VPath.h +++ b/Engine/source/Verve/VPath/VPath.h @@ -104,7 +104,7 @@ public: void onDeleteNotify( SimObject *pObject ); void onRemove( void ); - static void initPersistFields( void ); + static void initPersistFields(); static SimSet *getServerSet( void ); diff --git a/Engine/source/Verve/VPath/VPathEditor.cpp b/Engine/source/Verve/VPath/VPathEditor.cpp index 670ab6b0f..05d0eb567 100644 --- a/Engine/source/Verve/VPath/VPathEditor.cpp +++ b/Engine/source/Verve/VPath/VPathEditor.cpp @@ -85,8 +85,9 @@ bool VPathEditor::onWake( void ) return Parent::onWake(); } -void VPathEditor::initPersistFields( void ) +void VPathEditor::initPersistFields() { + docsURL; addField( "IsDirty", TypeBool, Offset( mIsDirty, VPathEditor ) ); addField( "EditMode", TYPEID(), Offset( mEditMode, VPathEditor ) ); diff --git a/Engine/source/Verve/VPath/VPathEditor.h b/Engine/source/Verve/VPath/VPathEditor.h index 9b98af686..47071bd2e 100644 --- a/Engine/source/Verve/VPath/VPathEditor.h +++ b/Engine/source/Verve/VPath/VPathEditor.h @@ -122,7 +122,7 @@ public: virtual bool onAdd( void ); virtual bool onWake( void ); - static void initPersistFields( void ); + static void initPersistFields(); // Gui Events. diff --git a/Engine/source/afx/afxCamera.cpp b/Engine/source/afx/afxCamera.cpp index 50ba064a4..f4f141b5e 100644 --- a/Engine/source/afx/afxCamera.cpp +++ b/Engine/source/afx/afxCamera.cpp @@ -67,6 +67,7 @@ U32 afxCameraData::sCameraCollisionMask = TerrainObjectType | InteriorLikeObject void afxCameraData::initPersistFields() { + docsURL; Con::addVariable("pref::afxCamera::collisionMask", TypeS32, &sCameraCollisionMask); Parent::initPersistFields(); diff --git a/Engine/source/afx/afxChoreographer.cpp b/Engine/source/afx/afxChoreographer.cpp index d1b4d9069..2997f27dd 100644 --- a/Engine/source/afx/afxChoreographer.cpp +++ b/Engine/source/afx/afxChoreographer.cpp @@ -68,6 +68,7 @@ afxChoreographerData::afxChoreographerData(const afxChoreographerData& other, bo void afxChoreographerData::initPersistFields() { + docsURL; addField("execOnNewClients", TypeBool, myOffset(exec_on_new_clients), "..."); addField("echoPacketUsage", TypeS8, myOffset(echo_packet_usage), @@ -178,6 +179,7 @@ afxChoreographer::~afxChoreographer() void afxChoreographer::initPersistFields() { + docsURL; // conditionals addField("extra", TYPEID(), Offset(mExtra, afxChoreographer), "..."); diff --git a/Engine/source/afx/afxEffectGroup.cpp b/Engine/source/afx/afxEffectGroup.cpp index e7677d4a7..2bc5a858e 100644 --- a/Engine/source/afx/afxEffectGroup.cpp +++ b/Engine/source/afx/afxEffectGroup.cpp @@ -140,6 +140,7 @@ void afxEffectGroupData::unpack_fx(BitStream* stream, afxEffectList& fx) void afxEffectGroupData::initPersistFields() { + docsURL; addField("groupEnabled", TypeBool, myOffset(group_enabled), "..."); addField("count", TypeS32, myOffset(group_count), diff --git a/Engine/source/afx/afxEffectWrapper.cpp b/Engine/source/afx/afxEffectWrapper.cpp index 3ec9d855f..d6f516db5 100644 --- a/Engine/source/afx/afxEffectWrapper.cpp +++ b/Engine/source/afx/afxEffectWrapper.cpp @@ -213,6 +213,7 @@ afxEffectWrapperData::~afxEffectWrapperData() void afxEffectWrapperData::initPersistFields() { + docsURL; // the wrapped effect addField("effect", TYPEID(), myOffset(effect_data), "..."); @@ -737,6 +738,7 @@ afxEffectWrapper::~afxEffectWrapper() void afxEffectWrapper::initPersistFields() { + docsURL; addField("liveScaleFactor", TypeF32, myOffset(mLive_scale_factor), "..."); addField("liveFadeFactor", TypeF32, myOffset(mLive_fade_factor), diff --git a/Engine/source/afx/afxEffectron.cpp b/Engine/source/afx/afxEffectron.cpp index f90d20f73..6c9a36299 100644 --- a/Engine/source/afx/afxEffectron.cpp +++ b/Engine/source/afx/afxEffectron.cpp @@ -110,6 +110,7 @@ void afxEffectronData::reloadReset() void afxEffectronData::initPersistFields() { + docsURL; addField("duration", TypeF32, myOffset(duration), "..."); addField("numLoops", TypeS32, myOffset(n_loops), diff --git a/Engine/source/afx/afxMagicMissile.cpp b/Engine/source/afx/afxMagicMissile.cpp index 0efd86790..09a4e7053 100644 --- a/Engine/source/afx/afxMagicMissile.cpp +++ b/Engine/source/afx/afxMagicMissile.cpp @@ -329,6 +329,7 @@ FRangeValidator missileBallisticCoefficientValidator(0, 1); void afxMagicMissileData::initPersistFields() { + docsURL; static IRangeValidatorScaled ticksFromMS(TickMs, 0, MaxLifetimeTicks); addGroup("Shapes"); @@ -983,6 +984,7 @@ afxMagicMissile::~afxMagicMissile() //-------------------------------------------------------------------------- void afxMagicMissile::initPersistFields() { + docsURL; addGroup("Physics"); addField("initialPosition", TypePoint3F, Offset(mCurrPosition, afxMagicMissile) , "Initial starting position for this missile."); diff --git a/Engine/source/afx/afxMagicSpell.cpp b/Engine/source/afx/afxMagicSpell.cpp index 9d05f0b80..8d0822b51 100644 --- a/Engine/source/afx/afxMagicSpell.cpp +++ b/Engine/source/afx/afxMagicSpell.cpp @@ -210,6 +210,7 @@ void afxMagicSpellData::reloadReset() void afxMagicSpellData::initPersistFields() { + docsURL; static ewValidator _castingPhrase(CASTING_PHRASE); static ewValidator _launchPhrase(LAUNCH_PHRASE); static ewValidator _deliveryPhrase(DELIVERY_PHRASE); @@ -980,6 +981,7 @@ void afxMagicSpell::onDeleteNotify(SimObject* obj) // static void afxMagicSpell::initPersistFields() { + docsURL; addField("caster", TYPEID(), Offset(mCaster_field, afxMagicSpell), "..."); addField("target", TYPEID(), Offset(mTarget_field, afxMagicSpell), diff --git a/Engine/source/afx/afxSelectron.cpp b/Engine/source/afx/afxSelectron.cpp index 1b6194b9a..1aa182f6c 100644 --- a/Engine/source/afx/afxSelectron.cpp +++ b/Engine/source/afx/afxSelectron.cpp @@ -148,6 +148,7 @@ void afxSelectronData::reloadReset() void afxSelectronData::initPersistFields() { + docsURL; static ewValidator _mainPhrase(MAIN_PHRASE); static ewValidator _selectPhrase(SELECT_PHRASE); static ewValidator _deselectPhrase(DESELECT_PHRASE); diff --git a/Engine/source/afx/afxSpellBook.cpp b/Engine/source/afx/afxSpellBook.cpp index 190c01fea..35d207c57 100644 --- a/Engine/source/afx/afxSpellBook.cpp +++ b/Engine/source/afx/afxSpellBook.cpp @@ -64,6 +64,7 @@ afxSpellBookData::afxSpellBookData() void afxSpellBookData::initPersistFields() { + docsURL; addField("spellsPerPage", TypeS8, myOffset(spells_per_page), "..."); addField("pagesPerBook", TypeS8, myOffset(pages_per_book), @@ -172,6 +173,7 @@ afxSpellBook::~afxSpellBook() void afxSpellBook::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/afx/ce/afxAnimClip.cpp b/Engine/source/afx/ce/afxAnimClip.cpp index ed9561f2b..5adb7642a 100644 --- a/Engine/source/afx/ce/afxAnimClip.cpp +++ b/Engine/source/afx/ce/afxAnimClip.cpp @@ -101,6 +101,7 @@ void afxAnimClipData::onStaticModified(const char* slot, const char* newValue) void afxAnimClipData::initPersistFields() { + docsURL; addField("clipName", TYPEID< StringTableEntry >(), myOffset(clip_name), "The name of an animation sequence to be played by a ShapeBase-derived object to which this effect is " "constrained. Also works on afxModel effects.\n" diff --git a/Engine/source/afx/ce/afxAnimLock.cpp b/Engine/source/afx/ce/afxAnimLock.cpp index cd5da6654..2fd394ef4 100644 --- a/Engine/source/afx/ce/afxAnimLock.cpp +++ b/Engine/source/afx/ce/afxAnimLock.cpp @@ -70,6 +70,7 @@ afxAnimLockData::afxAnimLockData() void afxAnimLockData::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/afx/ce/afxAreaDamage.cpp b/Engine/source/afx/ce/afxAreaDamage.cpp index bd63045c4..6699f3793 100644 --- a/Engine/source/afx/ce/afxAreaDamage.cpp +++ b/Engine/source/afx/ce/afxAreaDamage.cpp @@ -74,6 +74,7 @@ afxAreaDamageData::afxAreaDamageData(const afxAreaDamageData& other, bool temp_c void afxAreaDamageData::initPersistFields() { + docsURL; addField("flavor", TypeString, myOffset(flavor), "An arbitrary string which is passed as an argument to a spell's onDamage() script " "method. It is used to classify a type of damage such as 'melee', 'magical', or " diff --git a/Engine/source/afx/ce/afxAudioBank.cpp b/Engine/source/afx/ce/afxAudioBank.cpp index 82537419d..6398e8166 100644 --- a/Engine/source/afx/ce/afxAudioBank.cpp +++ b/Engine/source/afx/ce/afxAudioBank.cpp @@ -121,6 +121,7 @@ void afxAudioBank::onPerformSubstitutions() void afxAudioBank::initPersistFields() { + docsURL; addField("path", TypeFilename, Offset(mPath, afxAudioBank), "A filesystem path to the folder containing the sound files specified by the " "filenames[] field. All sound files used in a single AudioBank must be located in " diff --git a/Engine/source/afx/ce/afxBillboard.cpp b/Engine/source/afx/ce/afxBillboard.cpp index c0092c389..ce541f4b1 100644 --- a/Engine/source/afx/ce/afxBillboard.cpp +++ b/Engine/source/afx/ce/afxBillboard.cpp @@ -91,6 +91,7 @@ EndImplementEnumType; void afxBillboardData::initPersistFields() { + docsURL; addField("color", TypeColorF, myOffset(color), "The color assigned to the quadrangle geometry. The way it combines with the given " "texture varies according to the setting of the textureFunction field."); diff --git a/Engine/source/afx/ce/afxCameraPuppet.cpp b/Engine/source/afx/ce/afxCameraPuppet.cpp index 14b578494..2c22eb31c 100644 --- a/Engine/source/afx/ce/afxCameraPuppet.cpp +++ b/Engine/source/afx/ce/afxCameraPuppet.cpp @@ -80,6 +80,7 @@ afxCameraPuppetData::afxCameraPuppetData(const afxCameraPuppetData& other, bool void afxCameraPuppetData::initPersistFields() { + docsURL; addField("cameraSpec", TypeString, myOffset(cam_spec), "This field is like the effect-wrapper fields for specifying constraint sources, " "but here it specifies a target for the camera-puppet effect."); @@ -129,4 +130,4 @@ void afxCameraPuppetData::gather_cons_defs(Vector& defs) defs.push_back(cam_def); }; -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/ce/afxCameraShake.cpp b/Engine/source/afx/ce/afxCameraShake.cpp index 152deaff2..a8ba8ad45 100644 --- a/Engine/source/afx/ce/afxCameraShake.cpp +++ b/Engine/source/afx/ce/afxCameraShake.cpp @@ -66,6 +66,7 @@ afxCameraShakeData::afxCameraShakeData(const afxCameraShakeData& other, bool tem void afxCameraShakeData::initPersistFields() { + docsURL; addField("frequency", TypePoint3F, Offset(camShakeFreq, afxCameraShakeData), "The camera shake frequencies for all three axes: X, Y, Z."); addField("amplitude", TypePoint3F, Offset(camShakeAmp, afxCameraShakeData), diff --git a/Engine/source/afx/ce/afxCollisionEvent.cpp b/Engine/source/afx/ce/afxCollisionEvent.cpp index 9b51e2dc7..1ca475c5a 100644 --- a/Engine/source/afx/ce/afxCollisionEvent.cpp +++ b/Engine/source/afx/ce/afxCollisionEvent.cpp @@ -65,6 +65,7 @@ afxCollisionEventData::afxCollisionEventData(const afxCollisionEventData& other, void afxCollisionEventData::initPersistFields() { + docsURL; addField("methodName", TypeString, myOffset(method_name), "..."); addField("scriptData", TypeString, myOffset(script_data), diff --git a/Engine/source/afx/ce/afxConsoleMessage.cpp b/Engine/source/afx/ce/afxConsoleMessage.cpp index 4854eef48..632b45973 100644 --- a/Engine/source/afx/ce/afxConsoleMessage.cpp +++ b/Engine/source/afx/ce/afxConsoleMessage.cpp @@ -61,6 +61,7 @@ afxConsoleMessageData::afxConsoleMessageData(const afxConsoleMessageData& other, void afxConsoleMessageData::initPersistFields() { + docsURL; addField("message", TypeString, myOffset(message_str), "A text message to be displayed when the effect is executed."); diff --git a/Engine/source/afx/ce/afxDamage.cpp b/Engine/source/afx/ce/afxDamage.cpp index 4d8ca412a..ee93fc507 100644 --- a/Engine/source/afx/ce/afxDamage.cpp +++ b/Engine/source/afx/ce/afxDamage.cpp @@ -74,6 +74,7 @@ afxDamageData::afxDamageData(const afxDamageData& other, bool temp_clone) : Game void afxDamageData::initPersistFields() { + docsURL; addField("label", TypeString, myOffset(label), "An arbitrary string which is passed as an argument to a spell's onDamage() script " "method. It can be used to identify which damage effect the damage came from in " diff --git a/Engine/source/afx/ce/afxFootSwitch.cpp b/Engine/source/afx/ce/afxFootSwitch.cpp index 45d273b90..6e081021c 100644 --- a/Engine/source/afx/ce/afxFootSwitch.cpp +++ b/Engine/source/afx/ce/afxFootSwitch.cpp @@ -74,6 +74,7 @@ afxFootSwitchData::afxFootSwitchData(const afxFootSwitchData& other, bool temp_c void afxFootSwitchData::initPersistFields() { + docsURL; addField("overrideAll", TypeBool, myOffset(override_all), "When true, all of a Player's footstep effects are turned off for the duration of " "the foot-switch effect."); diff --git a/Engine/source/afx/ce/afxGuiController.cpp b/Engine/source/afx/ce/afxGuiController.cpp index 094cd0f5b..2ff2fe0f5 100644 --- a/Engine/source/afx/ce/afxGuiController.cpp +++ b/Engine/source/afx/ce/afxGuiController.cpp @@ -66,6 +66,7 @@ afxGuiControllerData::afxGuiControllerData(const afxGuiControllerData& other, bo void afxGuiControllerData::initPersistFields() { + docsURL; addField("controlName", TypeString, myOffset(control_name), "Specifies the name of an existing gui-control."); addField("preservePosition", TypeBool, myOffset(preserve_pos), diff --git a/Engine/source/afx/ce/afxGuiText.cpp b/Engine/source/afx/ce/afxGuiText.cpp index 2b733f3f4..45304e57e 100644 --- a/Engine/source/afx/ce/afxGuiText.cpp +++ b/Engine/source/afx/ce/afxGuiText.cpp @@ -63,6 +63,7 @@ afxGuiTextData::afxGuiTextData(const afxGuiTextData& other, bool temp_clone) : G void afxGuiTextData::initPersistFields() { + docsURL; addField("text", TypeString, myOffset(text_str), "The literal text to display on the afxGuiTextHud. The center of the text will be " "placed at the projection of the 3D constraint position into 2D screen space.\n" diff --git a/Engine/source/afx/ce/afxLightBase_T3D.cpp b/Engine/source/afx/ce/afxLightBase_T3D.cpp index a6b8da051..3645c5720 100644 --- a/Engine/source/afx/ce/afxLightBase_T3D.cpp +++ b/Engine/source/afx/ce/afxLightBase_T3D.cpp @@ -93,6 +93,7 @@ afxT3DLightBaseData::afxT3DLightBaseData(const afxT3DLightBaseData& other, bool // void afxT3DLightBaseData::initPersistFields() { + docsURL; // We only add the basic lighting options that all lighting // systems would use... the specific lighting system options // are injected at runtime by the lighting system itself. diff --git a/Engine/source/afx/ce/afxMachineGun.cpp b/Engine/source/afx/ce/afxMachineGun.cpp index 6b040ff5b..8a8a3d071 100644 --- a/Engine/source/afx/ce/afxMachineGun.cpp +++ b/Engine/source/afx/ce/afxMachineGun.cpp @@ -65,6 +65,7 @@ afxMachineGunData::afxMachineGunData(const afxMachineGunData& other, bool temp_c void afxMachineGunData::initPersistFields() { + docsURL; addField("projectile", TYPEID(), myOffset(projectile_data), "A ProjectileData datablock describing the projectile to be launched."); addField("roundsPerMinute", TypeS32, myOffset(rounds_per_minute), diff --git a/Engine/source/afx/ce/afxModel.cpp b/Engine/source/afx/ce/afxModel.cpp index bc5dd9349..434a58985 100644 --- a/Engine/source/afx/ce/afxModel.cpp +++ b/Engine/source/afx/ce/afxModel.cpp @@ -172,6 +172,7 @@ bool afxModelData::preload(bool server, String &errorStr) void afxModelData::initPersistFields() { + docsURL; addGroup("Shapes"); INITPERSISTFIELD_SHAPEASSET(Shape, afxModelData, "The name of a .dts format file to use for the model."); addGroup("Shapes"); diff --git a/Engine/source/afx/ce/afxMooring.cpp b/Engine/source/afx/ce/afxMooring.cpp index 9adf47526..abe76b23a 100644 --- a/Engine/source/afx/ce/afxMooring.cpp +++ b/Engine/source/afx/ce/afxMooring.cpp @@ -67,6 +67,7 @@ afxMooringData::afxMooringData(const afxMooringData& other, bool temp_clone) : G void afxMooringData::initPersistFields() { + docsURL; addField("displayAxisMarker", TypeBool, myOffset(display_axis_marker), "Specifies whether to display an axis to help visualize the position and orientation " "of the mooring."); diff --git a/Engine/source/afx/ce/afxParticleEmitter.cpp b/Engine/source/afx/ce/afxParticleEmitter.cpp index c34bd5510..cb6023b96 100644 --- a/Engine/source/afx/ce/afxParticleEmitter.cpp +++ b/Engine/source/afx/ce/afxParticleEmitter.cpp @@ -232,6 +232,7 @@ afxParticleEmitterVectorData::afxParticleEmitterVectorData(const afxParticleEmit void afxParticleEmitterVectorData::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -289,6 +290,7 @@ afxParticleEmitterConeData::afxParticleEmitterConeData(const afxParticleEmitterC void afxParticleEmitterConeData::initPersistFields() { + docsURL; addField("spreadMin", TypeF32, Offset(spread_min, afxParticleEmitterConeData), "..."); addField("spreadMax", TypeF32, Offset(spread_max, afxParticleEmitterConeData), @@ -399,6 +401,7 @@ EndImplementEnumType; void afxParticleEmitterPathData::initPersistFields() { + docsURL; addField("paths", TypeString, Offset(epaths_string, afxParticleEmitterPathData), "..."); @@ -642,6 +645,7 @@ afxParticleEmitterDiscData::afxParticleEmitterDiscData(const afxParticleEmitterD void afxParticleEmitterDiscData::initPersistFields() { + docsURL; addField("radiusMin", TypeF32, Offset(pe_radius_min, afxParticleEmitterDiscData), "..."); addField("radiusMax", TypeF32, Offset(pe_radius_max, afxParticleEmitterDiscData), diff --git a/Engine/source/afx/ce/afxPhraseEffect.cpp b/Engine/source/afx/ce/afxPhraseEffect.cpp index eff1315ec..d83d589bf 100644 --- a/Engine/source/afx/ce/afxPhraseEffect.cpp +++ b/Engine/source/afx/ce/afxPhraseEffect.cpp @@ -139,6 +139,7 @@ EndImplementEnumType; void afxPhraseEffectData::initPersistFields() { + docsURL; addField("duration", TypeF32, myOffset(duration), "Specifies a duration for the phrase-effect. If set to infinity, the phrase-effect " "needs to have a phraseType of continuous. Set infinite duration using " diff --git a/Engine/source/afx/ce/afxPhysicalZone.cpp b/Engine/source/afx/ce/afxPhysicalZone.cpp index 2ed7ca6b6..e63759f4c 100644 --- a/Engine/source/afx/ce/afxPhysicalZone.cpp +++ b/Engine/source/afx/ce/afxPhysicalZone.cpp @@ -75,6 +75,7 @@ afxPhysicalZoneData::afxPhysicalZoneData(const afxPhysicalZoneData& other, bool void afxPhysicalZoneData::initPersistFields() { + docsURL; addField("velocityMod", TypeF32, myOffset(mVelocityMod), "A multiplier that biases the velocity of an object every tick it is within the " "zone."); @@ -111,4 +112,4 @@ void afxPhysicalZoneData::unpackData(BitStream* stream) } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/ce/afxPlayerMovement.cpp b/Engine/source/afx/ce/afxPlayerMovement.cpp index bd5161cc8..94327ea22 100644 --- a/Engine/source/afx/ce/afxPlayerMovement.cpp +++ b/Engine/source/afx/ce/afxPlayerMovement.cpp @@ -80,6 +80,7 @@ EndImplementEnumType; void afxPlayerMovementData::initPersistFields() { + docsURL; addField("speedBias", TypeF32, myOffset(speed_bias), "A floating-point multiplier that scales the constraint Player's movement speed."); addField("movement", TypePoint3F, myOffset(movement), @@ -137,4 +138,4 @@ bool afxPlayerMovementData::hasMovementOverride() } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/ce/afxPlayerPuppet.cpp b/Engine/source/afx/ce/afxPlayerPuppet.cpp index b9ec4f090..495397828 100644 --- a/Engine/source/afx/ce/afxPlayerPuppet.cpp +++ b/Engine/source/afx/ce/afxPlayerPuppet.cpp @@ -73,6 +73,7 @@ afxPlayerPuppetData::afxPlayerPuppetData(const afxPlayerPuppetData& other, bool void afxPlayerPuppetData::initPersistFields() { + docsURL; addField("objectSpec", TypeString, myOffset(obj_spec), "..."); addField("networking", TypeS8, myOffset(networking), @@ -119,4 +120,4 @@ void afxPlayerPuppetData::gather_cons_defs(Vector& defs) defs.push_back(obj_def); }; -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/ce/afxPointLight_T3D.cpp b/Engine/source/afx/ce/afxPointLight_T3D.cpp index 748ecf26c..a44c4092d 100644 --- a/Engine/source/afx/ce/afxPointLight_T3D.cpp +++ b/Engine/source/afx/ce/afxPointLight_T3D.cpp @@ -62,6 +62,7 @@ afxT3DPointLightData::afxT3DPointLightData(const afxT3DPointLightData& other, bo // void afxT3DPointLightData::initPersistFields() { + docsURL; addGroup( "Light" ); addField( "radius", TypeF32, Offset( mRadius, afxT3DPointLightData ), diff --git a/Engine/source/afx/ce/afxProjectile.cpp b/Engine/source/afx/ce/afxProjectile.cpp index 9d52e5d2d..e95cf88f9 100644 --- a/Engine/source/afx/ce/afxProjectile.cpp +++ b/Engine/source/afx/ce/afxProjectile.cpp @@ -82,6 +82,7 @@ EndImplementEnumType; void afxProjectileData::initPersistFields() { + docsURL; addGroup("Physics"); addField("ignoreSourceTimeout", TypeBool, myOffset(ignore_src_timeout), "..."); addField("dynamicCollisionMask", TypeS32, myOffset(dynamicCollisionMask), "..."); diff --git a/Engine/source/afx/ce/afxScriptEvent.cpp b/Engine/source/afx/ce/afxScriptEvent.cpp index 762652119..3dec37089 100644 --- a/Engine/source/afx/ce/afxScriptEvent.cpp +++ b/Engine/source/afx/ce/afxScriptEvent.cpp @@ -63,6 +63,7 @@ afxScriptEventData::afxScriptEventData(const afxScriptEventData& other, bool tem void afxScriptEventData::initPersistFields() { + docsURL; addField("methodName", TypeString, myOffset(method_name), "The name of a script method defined for the instance class of an effects " "choreographer. The arguments used to call this method are determined by the type " diff --git a/Engine/source/afx/ce/afxSpotLight_T3D.cpp b/Engine/source/afx/ce/afxSpotLight_T3D.cpp index aa21e50a5..d2c5009a4 100644 --- a/Engine/source/afx/ce/afxSpotLight_T3D.cpp +++ b/Engine/source/afx/ce/afxSpotLight_T3D.cpp @@ -66,6 +66,7 @@ afxT3DSpotLightData::afxT3DSpotLightData(const afxT3DSpotLightData& other, bool // void afxT3DSpotLightData::initPersistFields() { + docsURL; addGroup( "Light" ); addField( "range", TypeF32, Offset( mRange, afxT3DSpotLightData ), diff --git a/Engine/source/afx/ce/afxStaticShape.cpp b/Engine/source/afx/ce/afxStaticShape.cpp index f58706552..a5bac7549 100644 --- a/Engine/source/afx/ce/afxStaticShape.cpp +++ b/Engine/source/afx/ce/afxStaticShape.cpp @@ -70,6 +70,7 @@ afxStaticShapeData::afxStaticShapeData(const afxStaticShapeData& other, bool tem void afxStaticShapeData::initPersistFields() { + docsURL; addGroup("Animation"); addField("sequence", TypeString, myOffset(sequence), "An animation sequence in the StaticShape to play."); diff --git a/Engine/source/afx/ce/afxZodiac.cpp b/Engine/source/afx/ce/afxZodiac.cpp index dc4cb5b01..5d9f310ef 100644 --- a/Engine/source/afx/ce/afxZodiac.cpp +++ b/Engine/source/afx/ce/afxZodiac.cpp @@ -156,6 +156,7 @@ EndImplementEnumType; void afxZodiacData::initPersistFields() { + docsURL; INITPERSISTFIELD_IMAGEASSET(Texture, afxZodiacData, "An image to use as the zodiac's texture."); addField("radius", TypeF32, Offset(radius_xy, afxZodiacData), "The zodiac's radius in scene units."); diff --git a/Engine/source/afx/ce/afxZodiacPlane.cpp b/Engine/source/afx/ce/afxZodiacPlane.cpp index c9045bc95..be645c091 100644 --- a/Engine/source/afx/ce/afxZodiacPlane.cpp +++ b/Engine/source/afx/ce/afxZodiacPlane.cpp @@ -111,6 +111,7 @@ EndImplementEnumType; void afxZodiacPlaneData::initPersistFields() { + docsURL; INITPERSISTFIELD_IMAGEASSET(Texture, afxZodiacPlaneData, "An image to use as the zodiac's texture."); addField("radius", TypeF32, myOffset(radius_xy), diff --git a/Engine/source/afx/ea/afxEA_Zodiac.cpp b/Engine/source/afx/ea/afxEA_Zodiac.cpp index 9e76f50ad..dcaa05ee4 100644 --- a/Engine/source/afx/ea/afxEA_Zodiac.cpp +++ b/Engine/source/afx/ea/afxEA_Zodiac.cpp @@ -396,6 +396,7 @@ void afxEA_Zodiac::do_runtime_substitutions() void afxEA_Zodiac::initPersistFields() { + docsURL; addField("liveColor", TypeColorF, myOffset(live_color), "..."); addField("liveColorFactor", TypeF32, myOffset(live_color_factor), @@ -431,4 +432,4 @@ bool afxEA_ZodiacDesc::requiresStop(const afxEffectWrapperData* ew, const afxEff return (timing.lifetime < 0); } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/forces/afxF_Drag.cpp b/Engine/source/afx/forces/afxF_Drag.cpp index f006fc2ad..2eab36584 100644 --- a/Engine/source/afx/forces/afxF_Drag.cpp +++ b/Engine/source/afx/forces/afxF_Drag.cpp @@ -103,6 +103,7 @@ afxF_DragData::afxF_DragData(const afxF_DragData& other, bool temp_clone) : afxF void afxF_DragData::initPersistFields() { + docsURL; addField("drag", TypeF32, myOffset(drag_coefficient), "..."); addField("airDensity", TypeF32, myOffset(air_density), diff --git a/Engine/source/afx/forces/afxF_Gravity.cpp b/Engine/source/afx/forces/afxF_Gravity.cpp index cbe9e6ad2..b91665031 100644 --- a/Engine/source/afx/forces/afxF_Gravity.cpp +++ b/Engine/source/afx/forces/afxF_Gravity.cpp @@ -95,6 +95,7 @@ afxF_GravityData::afxF_GravityData(const afxF_GravityData& other, bool temp_clon void afxF_GravityData::initPersistFields() { + docsURL; addField("gravity", TypeF32, myOffset(gravity), "..."); diff --git a/Engine/source/afx/forces/afxForce.cpp b/Engine/source/afx/forces/afxForce.cpp index 935ef7174..5727d05e5 100644 --- a/Engine/source/afx/forces/afxForce.cpp +++ b/Engine/source/afx/forces/afxForce.cpp @@ -52,6 +52,7 @@ afxForceData::afxForceData(const afxForceData& other, bool temp_clone) : GameBas void afxForceData::initPersistFields() { + docsURL; addField("forceSetName", TypeString, myOffset(force_set_name), "..."); @@ -145,4 +146,4 @@ bool afxForceDesc::identifyForce(afxForceData* force_data) } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/forces/afxXM_Force.cpp b/Engine/source/afx/forces/afxXM_Force.cpp index cfe534dd8..2b8ab6278 100644 --- a/Engine/source/afx/forces/afxXM_Force.cpp +++ b/Engine/source/afx/forces/afxXM_Force.cpp @@ -118,6 +118,7 @@ afxXM_ForceData::afxXM_ForceData(const afxXM_ForceData& other, bool temp_clone) void afxXM_ForceData::initPersistFields() { + docsURL; addField("forceSetName", TypeString, Offset(force_set_name, afxXM_ForceData), "..."); addField("updateDT", TypeF32, Offset(update_dt, afxXM_ForceData), diff --git a/Engine/source/afx/rpg/afxRPGMagicSpell.cpp b/Engine/source/afx/rpg/afxRPGMagicSpell.cpp index 3e9362435..fe9f6578a 100644 --- a/Engine/source/afx/rpg/afxRPGMagicSpell.cpp +++ b/Engine/source/afx/rpg/afxRPGMagicSpell.cpp @@ -81,6 +81,7 @@ EndImplementEnumType; void afxRPGMagicSpellData::initPersistFields() { + docsURL; // spell parameters addField("spellName", TypeString, myOffset(spell_name), "..."); diff --git a/Engine/source/afx/ui/afxGuiTextHud.cpp b/Engine/source/afx/ui/afxGuiTextHud.cpp index 90bc24b00..46cbfc1a2 100644 --- a/Engine/source/afx/ui/afxGuiTextHud.cpp +++ b/Engine/source/afx/ui/afxGuiTextHud.cpp @@ -60,6 +60,7 @@ afxGuiTextHud::afxGuiTextHud() void afxGuiTextHud::initPersistFields() { + docsURL; addGroup("Colors"); addField( "fillColor", TypeColorF, Offset( mFillColor, afxGuiTextHud ), "..."); diff --git a/Engine/source/afx/ui/afxSpellButton.cpp b/Engine/source/afx/ui/afxSpellButton.cpp index 43f054769..70b4d3a84 100644 --- a/Engine/source/afx/ui/afxSpellButton.cpp +++ b/Engine/source/afx/ui/afxSpellButton.cpp @@ -83,6 +83,7 @@ afxSpellButton::~afxSpellButton() void afxSpellButton::initPersistFields() { + docsURL; addField("bitmap", TypeFilename, Offset(mBitmapName, afxSpellButton), "..."); addField("book_slot", TypePoint2I, Offset(book_slot, afxSpellButton), diff --git a/Engine/source/afx/ui/afxSpellCastBar.cpp b/Engine/source/afx/ui/afxSpellCastBar.cpp index f08740743..2b2c29b90 100644 --- a/Engine/source/afx/ui/afxSpellCastBar.cpp +++ b/Engine/source/afx/ui/afxSpellCastBar.cpp @@ -103,6 +103,7 @@ void afxSpellCastBar::onStaticModified(const char* slotName, const char* newValu // STATIC void afxSpellCastBar::initPersistFields() { + docsURL; addGroup("Colors"); addField( "backgroundColor", TypeColorF, Offset(rgba_background, afxSpellCastBar), "..."); diff --git a/Engine/source/afx/ui/afxStatusBar.cpp b/Engine/source/afx/ui/afxStatusBar.cpp index b2e79e69c..fabb0c0b7 100644 --- a/Engine/source/afx/ui/afxStatusBar.cpp +++ b/Engine/source/afx/ui/afxStatusBar.cpp @@ -134,6 +134,7 @@ void afxStatusBar::onSleep() // STATIC void afxStatusBar::initPersistFields() { + docsURL; addField("fillColor", TypeColorF, Offset(rgba_fill, afxStatusBar), "..."); addField("displayEnergy", TypeBool, Offset(show_energy, afxStatusBar), diff --git a/Engine/source/afx/util/afxParticlePool.cpp b/Engine/source/afx/util/afxParticlePool.cpp index e6dbb172f..6fe71a658 100644 --- a/Engine/source/afx/util/afxParticlePool.cpp +++ b/Engine/source/afx/util/afxParticlePool.cpp @@ -70,6 +70,7 @@ afxParticlePoolData::~afxParticlePoolData() void afxParticlePoolData::initPersistFields() { + docsURL; addField("poolType", TYPEID< afxParticlePoolData::PoolType >(), Offset(pool_type, afxParticlePoolData), "..."); addField("baseColor", TypeColorF, Offset(base_color, afxParticlePoolData), diff --git a/Engine/source/afx/util/afxPath.cpp b/Engine/source/afx/util/afxPath.cpp index 1a9ecc4af..cc1843333 100644 --- a/Engine/source/afx/util/afxPath.cpp +++ b/Engine/source/afx/util/afxPath.cpp @@ -142,6 +142,7 @@ afxPathData::~afxPathData() void afxPathData::initPersistFields() { + docsURL; addField("points", TypeString, Offset(points_string, afxPathData), "..."); addField("roll", TypeString, Offset(roll_string, afxPathData), diff --git a/Engine/source/afx/xm/afxXM_Aim.cpp b/Engine/source/afx/xm/afxXM_Aim.cpp index 5e52823b7..fb0bac753 100644 --- a/Engine/source/afx/xm/afxXM_Aim.cpp +++ b/Engine/source/afx/xm/afxXM_Aim.cpp @@ -131,6 +131,7 @@ afxXM_AimData::afxXM_AimData(const afxXM_AimData& other, bool temp_clone) : afxX void afxXM_AimData::initPersistFields() { + docsURL; addField("aimZOnly", TypeBool, Offset(aim_z_only, afxXM_AimData), "..."); @@ -258,4 +259,4 @@ void afxXM_Aim_fixed_z::updateParams(F32 dt, F32 elapsed, afxXM_Params& params) params.ori = MathUtils::createOrientFromDir(line_of_sight); } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/xm/afxXM_AltitudeConform.cpp b/Engine/source/afx/xm/afxXM_AltitudeConform.cpp index d2be81cc8..ba9faf695 100644 --- a/Engine/source/afx/xm/afxXM_AltitudeConform.cpp +++ b/Engine/source/afx/xm/afxXM_AltitudeConform.cpp @@ -109,6 +109,7 @@ afxXM_AltitudeConformData::afxXM_AltitudeConformData(const afxXM_AltitudeConform void afxXM_AltitudeConformData::initPersistFields() { + docsURL; addField("height", TypeF32, Offset(height, afxXM_AltitudeConformData), "..."); addField("conformToTerrain", TypeBool, Offset(do_terrain, afxXM_AltitudeConformData), diff --git a/Engine/source/afx/xm/afxXM_BoxAdapt.cpp b/Engine/source/afx/xm/afxXM_BoxAdapt.cpp index 14df4b399..e5fd631e6 100644 --- a/Engine/source/afx/xm/afxXM_BoxAdapt.cpp +++ b/Engine/source/afx/xm/afxXM_BoxAdapt.cpp @@ -99,6 +99,7 @@ afxXM_BoxAdaptData::afxXM_BoxAdaptData(const afxXM_BoxAdaptData& other, bool tem void afxXM_BoxAdaptData::initPersistFields() { + docsURL; addField("scaleFactor", TypeF32, Offset(scale_factor, afxXM_BoxAdaptData), "..."); addField("dimensionRange", TypePoint2F, Offset(dim_range, afxXM_BoxAdaptData), @@ -172,4 +173,4 @@ void afxXM_BoxAdapt::updateParams(F32 dt, F32 elapsed, afxXM_Params& params) fx_wrapper->setField("liveScaleFactor", avar("%g", dim)); } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/xm/afxXM_BoxConform.cpp b/Engine/source/afx/xm/afxXM_BoxConform.cpp index 3ae897446..10c99d8c3 100644 --- a/Engine/source/afx/xm/afxXM_BoxConform.cpp +++ b/Engine/source/afx/xm/afxXM_BoxConform.cpp @@ -105,6 +105,7 @@ EndImplementEnumType; void afxXM_BoxConformData::initPersistFields() { + docsURL; addField("boxAlignment", TYPEID< afxXM_BoxConformType >(), Offset(aabb_alignment, afxXM_BoxConformData), "..."); diff --git a/Engine/source/afx/xm/afxXM_BoxHeightOffset.cpp b/Engine/source/afx/xm/afxXM_BoxHeightOffset.cpp index d8fccb013..96fce645a 100644 --- a/Engine/source/afx/xm/afxXM_BoxHeightOffset.cpp +++ b/Engine/source/afx/xm/afxXM_BoxHeightOffset.cpp @@ -97,6 +97,7 @@ afxXM_BoxHeightOffsetData::afxXM_BoxHeightOffsetData(const afxXM_BoxHeightOffset void afxXM_BoxHeightOffsetData::initPersistFields() { + docsURL; addField("offset", TypePoint3F, Offset(offset, afxXM_BoxHeightOffsetData)); Parent::initPersistFields(); @@ -142,4 +143,4 @@ void afxXM_BoxHeightOffset::updateParams(F32 dt, F32 elapsed, afxXM_Params& para params.pos += offset; } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/xm/afxXM_Freeze.cpp b/Engine/source/afx/xm/afxXM_Freeze.cpp index 4476c6090..901715ffa 100644 --- a/Engine/source/afx/xm/afxXM_Freeze.cpp +++ b/Engine/source/afx/xm/afxXM_Freeze.cpp @@ -161,6 +161,7 @@ afxXM_FreezeData::afxXM_FreezeData(const afxXM_FreezeData& other, bool temp_clon void afxXM_FreezeData::initPersistFields() { + docsURL; addField("mask", TypeS32, Offset(mask, afxXM_FreezeData), "..."); addField("delay", TypeF32, Offset(delay, afxXM_FreezeData), @@ -333,4 +334,4 @@ void afxXM_Freeze_ori::updateParams(F32 dt, F32 elapsed, afxXM_Params& params) params.ori = frozen_ori; } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/xm/afxXM_GroundConform.cpp b/Engine/source/afx/xm/afxXM_GroundConform.cpp index f31509b41..088ca5224 100644 --- a/Engine/source/afx/xm/afxXM_GroundConform.cpp +++ b/Engine/source/afx/xm/afxXM_GroundConform.cpp @@ -101,6 +101,7 @@ afxXM_GroundConformData::afxXM_GroundConformData(const afxXM_GroundConformData& void afxXM_GroundConformData::initPersistFields() { + docsURL; addField("height", TypeF32, Offset(height, afxXM_GroundConformData), "..."); addField("conformToTerrain", TypeBool, Offset(do_terrain, afxXM_GroundConformData), diff --git a/Engine/source/afx/xm/afxXM_HeightSampler.cpp b/Engine/source/afx/xm/afxXM_HeightSampler.cpp index 2a627bb12..261bb5488 100644 --- a/Engine/source/afx/xm/afxXM_HeightSampler.cpp +++ b/Engine/source/afx/xm/afxXM_HeightSampler.cpp @@ -91,6 +91,7 @@ afxXM_HeightSamplerData::afxXM_HeightSamplerData(const afxXM_HeightSamplerData& void afxXM_HeightSamplerData::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -143,4 +144,4 @@ void afxXM_HeightSampler::updateParams(F32 dt, F32 elapsed, afxXM_Params& params fx_wrapper->setField("liveFadeFactor", avar("%g", factor)); } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/xm/afxXM_MountedImageNode.cpp b/Engine/source/afx/xm/afxXM_MountedImageNode.cpp index b4b244011..115c76598 100644 --- a/Engine/source/afx/xm/afxXM_MountedImageNode.cpp +++ b/Engine/source/afx/xm/afxXM_MountedImageNode.cpp @@ -104,6 +104,7 @@ afxXM_MountedImageNodeData::afxXM_MountedImageNodeData(const afxXM_MountedImageN void afxXM_MountedImageNodeData::initPersistFields() { + docsURL; addField("imageSlot", TypeS32, Offset(image_slot, afxXM_MountedImageNodeData), "..."); addField("nodeName", TypeString, Offset(node_name, afxXM_MountedImageNodeData), @@ -228,4 +229,4 @@ void afxXM_MountedImageNode::updateParams(F32 dt, F32 elapsed, afxXM_Params& par } } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/xm/afxXM_Offset.cpp b/Engine/source/afx/xm/afxXM_Offset.cpp index d4547c05b..745885709 100644 --- a/Engine/source/afx/xm/afxXM_Offset.cpp +++ b/Engine/source/afx/xm/afxXM_Offset.cpp @@ -231,6 +231,7 @@ afxXM_LocalOffsetData::afxXM_LocalOffsetData(const afxXM_LocalOffsetData& other, void afxXM_LocalOffsetData::initPersistFields() { + docsURL; addField("localOffset", TypePoint3F, Offset(local_offset, afxXM_LocalOffsetData), "..."); addField("offsetPos2", TypeBool, Offset(offset_pos2, afxXM_LocalOffsetData), @@ -384,6 +385,7 @@ afxXM_WorldOffsetData::afxXM_WorldOffsetData(const afxXM_WorldOffsetData& other, void afxXM_WorldOffsetData::initPersistFields() { + docsURL; addField("worldOffset", TypePoint3F, Offset(world_offset, afxXM_WorldOffsetData), "..."); addField("offsetPos2", TypeBool, Offset(offset_pos2, afxXM_WorldOffsetData), @@ -486,4 +488,4 @@ void afxXM_WorldOffset2_fixed::updateParams(F32 dt, F32 elapsed, afxXM_Params& p params.pos2 += world_offset; } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/xm/afxXM_Oscillate.cpp b/Engine/source/afx/xm/afxXM_Oscillate.cpp index 769aaeed0..55d8dd7c2 100644 --- a/Engine/source/afx/xm/afxXM_Oscillate.cpp +++ b/Engine/source/afx/xm/afxXM_Oscillate.cpp @@ -160,6 +160,7 @@ afxXM_OscillateData::afxXM_OscillateData(const afxXM_OscillateData& other, bool void afxXM_OscillateData::initPersistFields() { + docsURL; addField("mask", TypeS32, Offset(mask, afxXM_OscillateData), "..."); addField("min", TypePoint3F, Offset(min, afxXM_OscillateData), diff --git a/Engine/source/afx/xm/afxXM_OscillateZodiacColor.cpp b/Engine/source/afx/xm/afxXM_OscillateZodiacColor.cpp index 28fc98eb6..fc91e5046 100644 --- a/Engine/source/afx/xm/afxXM_OscillateZodiacColor.cpp +++ b/Engine/source/afx/xm/afxXM_OscillateZodiacColor.cpp @@ -90,6 +90,7 @@ afxXM_OscillateZodiacColorData::afxXM_OscillateZodiacColorData() void afxXM_OscillateZodiacColorData::initPersistFields() { + docsURL; addField("colorA", TypeColorF, Offset(color_a, afxXM_OscillateZodiacColorData), "..."); addField("colorB", TypeColorF, Offset(color_b, afxXM_OscillateZodiacColorData), diff --git a/Engine/source/afx/xm/afxXM_PathConform.cpp b/Engine/source/afx/xm/afxXM_PathConform.cpp index 07bd86d92..d2a92e7fd 100644 --- a/Engine/source/afx/xm/afxXM_PathConform.cpp +++ b/Engine/source/afx/xm/afxXM_PathConform.cpp @@ -128,6 +128,7 @@ afxXM_PathConformData::afxXM_PathConformData(const afxXM_PathConformData& other, void afxXM_PathConformData::initPersistFields() { + docsURL; addField("paths", TypeString, Offset(paths_string, afxXM_PathConformData), "..."); addField("pathMult", TypeF32, Offset(path_mult, afxXM_PathConformData), diff --git a/Engine/source/afx/xm/afxXM_PivotNodeOffset.cpp b/Engine/source/afx/xm/afxXM_PivotNodeOffset.cpp index 9d1c73270..7204b1ce3 100644 --- a/Engine/source/afx/xm/afxXM_PivotNodeOffset.cpp +++ b/Engine/source/afx/xm/afxXM_PivotNodeOffset.cpp @@ -102,6 +102,7 @@ afxXM_PivotNodeOffsetData::afxXM_PivotNodeOffsetData(const afxXM_PivotNodeOffset void afxXM_PivotNodeOffsetData::initPersistFields() { + docsURL; addField("nodeName", TypeString, Offset(node_name, afxXM_PivotNodeOffsetData), "..."); addField("nodeIsStatic", TypeBool, Offset(node_is_static, afxXM_PivotNodeOffsetData), @@ -177,4 +178,4 @@ void afxXM_PivotNodeOffset::updateParams(F32 dt, F32 elapsed, afxXM_Params& para params.pos += pivot_offset_temp; } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/xm/afxXM_RandomRot.cpp b/Engine/source/afx/xm/afxXM_RandomRot.cpp index f7534a214..c8278293f 100644 --- a/Engine/source/afx/xm/afxXM_RandomRot.cpp +++ b/Engine/source/afx/xm/afxXM_RandomRot.cpp @@ -107,6 +107,7 @@ afxXM_RandomRotData::afxXM_RandomRotData(const afxXM_RandomRotData& other, bool void afxXM_RandomRotData::initPersistFields() { + docsURL; addField("axis", TypePoint3F, Offset(axis, afxXM_RandomRotData), "..."); addField("thetaMin", TypeF32, Offset(theta_min, afxXM_RandomRotData), @@ -178,4 +179,4 @@ void afxXM_RandomRot::updateParams(F32 dt, F32 elapsed, afxXM_Params& params) params.ori = rand_ori; } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/xm/afxXM_Scale.cpp b/Engine/source/afx/xm/afxXM_Scale.cpp index 109051087..4444ec537 100644 --- a/Engine/source/afx/xm/afxXM_Scale.cpp +++ b/Engine/source/afx/xm/afxXM_Scale.cpp @@ -98,6 +98,7 @@ afxXM_ScaleData::afxXM_ScaleData(const afxXM_ScaleData& other, bool temp_clone) void afxXM_ScaleData::initPersistFields() { + docsURL; addField("scale", TypePoint3F, Offset(scale, afxXM_ScaleData), "..."); @@ -152,4 +153,4 @@ void afxXM_Scale_weighted::updateParams(F32 dt, F32 elapsed, afxXM_Params& param params.scale.z = 0.00001f; } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/xm/afxXM_Shockwave.cpp b/Engine/source/afx/xm/afxXM_Shockwave.cpp index 47c6e5eb2..13e0c7c10 100644 --- a/Engine/source/afx/xm/afxXM_Shockwave.cpp +++ b/Engine/source/afx/xm/afxXM_Shockwave.cpp @@ -103,6 +103,7 @@ afxXM_ShockwaveData::afxXM_ShockwaveData(const afxXM_ShockwaveData& other, bool void afxXM_ShockwaveData::initPersistFields() { + docsURL; addField("rate", TypeF32, Offset(rate, afxXM_ShockwaveData), "..."); addField("aimZOnly", TypeBool, Offset(aim_z_only, afxXM_ShockwaveData), @@ -167,4 +168,4 @@ void afxXM_Shockwave::updateParams(F32 dt, F32 elapsed, afxXM_Params& params) params.pos = fixed_pos + line_of_sight*(elapsed*db->rate); } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/xm/afxXM_Spin.cpp b/Engine/source/afx/xm/afxXM_Spin.cpp index 753835c1a..a76de1e53 100644 --- a/Engine/source/afx/xm/afxXM_Spin.cpp +++ b/Engine/source/afx/xm/afxXM_Spin.cpp @@ -120,6 +120,7 @@ afxXM_SpinData::afxXM_SpinData(const afxXM_SpinData& other, bool temp_clone) : a void afxXM_SpinData::initPersistFields() { + docsURL; addField("spinAxis", TypePoint3F, Offset(spin_axis, afxXM_SpinData), "..."); addField("spinAngle", TypeF32, Offset(spin_angle, afxXM_SpinData), @@ -238,4 +239,4 @@ void afxXM_Spin_fixed::updateParams(F32 dt, F32 elapsed, afxXM_Params& params) params.ori.mul(spin_xfm); } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/xm/afxXM_VelocityOffset.cpp b/Engine/source/afx/xm/afxXM_VelocityOffset.cpp index 38fce9e7d..3f4f75b4f 100644 --- a/Engine/source/afx/xm/afxXM_VelocityOffset.cpp +++ b/Engine/source/afx/xm/afxXM_VelocityOffset.cpp @@ -166,6 +166,7 @@ afxXM_VelocityOffsetData::afxXM_VelocityOffsetData(const afxXM_VelocityOffsetDat void afxXM_VelocityOffsetData::initPersistFields() { + docsURL; addField("offsetFactor", TypeF32, Offset(offset_factor, afxXM_VelocityOffsetData), "..."); addField("offsetPos2", TypeBool, Offset(offset_pos2, afxXM_VelocityOffsetData), @@ -370,4 +371,4 @@ void afxXM_VelocityOffset2_fixed::updateParams(F32 dt, F32 elapsed, afxXM_Params } } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/xm/afxXM_WaveBase.cpp b/Engine/source/afx/xm/afxXM_WaveBase.cpp index 4d5f6c3dd..036bc3a56 100644 --- a/Engine/source/afx/xm/afxXM_WaveBase.cpp +++ b/Engine/source/afx/xm/afxXM_WaveBase.cpp @@ -143,6 +143,7 @@ EndImplementEnumType; void afxXM_WaveBaseData::initPersistFields() { + docsURL; addField("waveform", TYPEID< afxXM_WaveBaseData::WaveFormType >(), Offset(waveform_type, afxXM_WaveBaseData), "..."); addField("parameter", TYPEID< afxXM_WaveBaseData::WaveParamType >(), Offset(parameter, afxXM_WaveBaseData), @@ -365,6 +366,7 @@ afxXM_WaveRiderBaseData::afxXM_WaveRiderBaseData(const afxXM_WaveRiderBaseData& void afxXM_WaveRiderBaseData::initPersistFields() { + docsURL; addField("waveform", TYPEID< afxXM_WaveBaseData::WaveFormType >(), Offset(waveform_type, afxXM_WaveRiderBaseData), "..."); addField("parameter", TYPEID< afxXM_WaveBaseData::WaveParamType >(), Offset(parameter, afxXM_WaveRiderBaseData), @@ -607,4 +609,4 @@ void afxXM_WaveRiderBase::updateParams(F32 dt, F32 elapsed, afxXM_Params& params } } -//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// \ No newline at end of file +//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~//~~~~~~~~~~~~~~~~~~~~~// diff --git a/Engine/source/afx/xm/afxXM_WaveColor.cpp b/Engine/source/afx/xm/afxXM_WaveColor.cpp index af823d58f..bc2df445f 100644 --- a/Engine/source/afx/xm/afxXM_WaveColor.cpp +++ b/Engine/source/afx/xm/afxXM_WaveColor.cpp @@ -216,6 +216,7 @@ afxXM_WaveColorData::afxXM_WaveColorData(const afxXM_WaveColorData& other, bool void afxXM_WaveColorData::initPersistFields() { + docsURL; addField("a", TypeColorF, Offset(a, afxXM_WaveColorData), "..."); addField("b", TypeColorF, Offset(b, afxXM_WaveColorData), @@ -331,6 +332,7 @@ afxXM_WaveRiderColorData::afxXM_WaveRiderColorData(const afxXM_WaveRiderColorDat void afxXM_WaveRiderColorData::initPersistFields() { + docsURL; addField("a", TypeColorF, Offset(a, afxXM_WaveRiderColorData), "..."); addField("b", TypeColorF, Offset(b, afxXM_WaveRiderColorData), diff --git a/Engine/source/afx/xm/afxXM_WaveScalar.cpp b/Engine/source/afx/xm/afxXM_WaveScalar.cpp index 5a052b43d..211382a76 100644 --- a/Engine/source/afx/xm/afxXM_WaveScalar.cpp +++ b/Engine/source/afx/xm/afxXM_WaveScalar.cpp @@ -631,6 +631,7 @@ afxXM_WaveScalarData::afxXM_WaveScalarData(const afxXM_WaveScalarData& other, bo void afxXM_WaveScalarData::initPersistFields() { + docsURL; addField("a", TypeF32, Offset(a, afxXM_WaveScalarData), "..."); addField("b", TypeF32, Offset(b, afxXM_WaveScalarData), @@ -757,6 +758,7 @@ afxXM_WaveRiderScalarData::afxXM_WaveRiderScalarData(const afxXM_WaveRiderScalar void afxXM_WaveRiderScalarData::initPersistFields() { + docsURL; addField("a", TypeF32, Offset(a, afxXM_WaveRiderScalarData), "..."); addField("b", TypeF32, Offset(b, afxXM_WaveRiderScalarData), diff --git a/Engine/source/afx/xm/afxXfmMod.cpp b/Engine/source/afx/xm/afxXfmMod.cpp index 896cc06d0..9759d844f 100644 --- a/Engine/source/afx/xm/afxXfmMod.cpp +++ b/Engine/source/afx/xm/afxXfmMod.cpp @@ -132,6 +132,7 @@ afxXM_BaseData::afxXM_BaseData(const afxXM_BaseData& other, bool temp_clone) : G void afxXM_BaseData::initPersistFields() { + docsURL; addField("ignoreTimeFactor", TypeBool, Offset(ignore_time_factor, afxXM_BaseData), "..."); @@ -213,6 +214,7 @@ F32 afxXM_WeightedBaseData::getWeightFactor() const void afxXM_WeightedBaseData::initPersistFields() { + docsURL; addField("delay", TypeF32, Offset(delay, afxXM_WeightedBaseData), "..."); addField("lifetime", TypeF32, Offset(lifetime, afxXM_WeightedBaseData), diff --git a/Engine/source/assets/assetBase.cpp b/Engine/source/assets/assetBase.cpp index bdd7072fd..3741ece3d 100644 --- a/Engine/source/assets/assetBase.cpp +++ b/Engine/source/assets/assetBase.cpp @@ -93,6 +93,7 @@ AssetBase::~AssetBase() void AssetBase::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/assets/assetManager.cpp b/Engine/source/assets/assetManager.cpp index 557520f79..8f2c84f3e 100644 --- a/Engine/source/assets/assetManager.cpp +++ b/Engine/source/assets/assetManager.cpp @@ -127,6 +127,7 @@ void AssetManager::onRemove() void AssetManager::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/assets/assetQuery.cpp b/Engine/source/assets/assetQuery.cpp index 7b66db6fc..074a03fff 100644 --- a/Engine/source/assets/assetQuery.cpp +++ b/Engine/source/assets/assetQuery.cpp @@ -43,6 +43,7 @@ IMPLEMENT_CONOBJECT( AssetQuery ); void AssetQuery::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); @@ -118,4 +119,4 @@ void AssetQuery::onTamlCustomRead( const TamlCustomNodes& customNodes ) // Store asset. mAssetList.push_back(pField->getFieldValue()); } -} \ No newline at end of file +} diff --git a/Engine/source/assets/autoloadAssets.cpp b/Engine/source/assets/autoloadAssets.cpp index e5b3ca53f..4341d69a3 100644 --- a/Engine/source/assets/autoloadAssets.cpp +++ b/Engine/source/assets/autoloadAssets.cpp @@ -36,6 +36,7 @@ IMPLEMENT_CONOBJECT(AutoloadAssets); void AutoloadAssets::initPersistFields() { + docsURL; // Call Parent. Parent::initPersistFields(); diff --git a/Engine/source/assets/declaredAssets.cpp b/Engine/source/assets/declaredAssets.cpp index d888093a6..5cc65a77b 100644 --- a/Engine/source/assets/declaredAssets.cpp +++ b/Engine/source/assets/declaredAssets.cpp @@ -36,6 +36,7 @@ IMPLEMENT_CONOBJECT( DeclaredAssets ); void DeclaredAssets::initPersistFields() { + docsURL; // Call Parent. Parent::initPersistFields(); diff --git a/Engine/source/assets/referencedAssets.cpp b/Engine/source/assets/referencedAssets.cpp index f5807de2b..4f59b6a4c 100644 --- a/Engine/source/assets/referencedAssets.cpp +++ b/Engine/source/assets/referencedAssets.cpp @@ -36,10 +36,11 @@ IMPLEMENT_CONOBJECT( ReferencedAssets ); void ReferencedAssets::initPersistFields() { + docsURL; // Call Parent. Parent::initPersistFields(); addField("Path", TypeString, Offset(mPath, ReferencedAssets), "" ); addField("Extension", TypeString, Offset(mExtension, ReferencedAssets), "" ); addField("Recurse", TypeBool, Offset(mRecurse, ReferencedAssets), "" ); -} \ No newline at end of file +} diff --git a/Engine/source/console/SimXMLDocument.cpp b/Engine/source/console/SimXMLDocument.cpp index 6e0de4c19..798ad3478 100644 --- a/Engine/source/console/SimXMLDocument.cpp +++ b/Engine/source/console/SimXMLDocument.cpp @@ -199,6 +199,7 @@ void SimXMLDocument::onRemove() // ----------------------------------------------------------------------------- void SimXMLDocument::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/console/arrayObject.cpp b/Engine/source/console/arrayObject.cpp index 6449775ef..bd3893ab0 100644 --- a/Engine/source/console/arrayObject.cpp +++ b/Engine/source/console/arrayObject.cpp @@ -133,6 +133,7 @@ ArrayObject::ArrayObject() void ArrayObject::initPersistFields() { + docsURL; addField( "caseSensitive", TypeBool, Offset( mCaseSensitive, ArrayObject ), "Makes the keys and values case-sensitive.\n" "By default, comparison of key and value strings will be case-insensitive." ); diff --git a/Engine/source/console/consoleFunctions.cpp b/Engine/source/console/consoleFunctions.cpp index b17909184..2d8933fe2 100644 --- a/Engine/source/console/consoleFunctions.cpp +++ b/Engine/source/console/consoleFunctions.cpp @@ -2130,24 +2130,15 @@ DefineEngineFunction( quitWithStatus, void, ( S32 status ), (0), } //----------------------------------------------------------------------------- - -DefineEngineFunction( gotoWebPage, void, ( const char* address ),, - "Open the given URL or file in the user's web browser.\n\n" - "@param address The address to open. If this is not prefixed by a protocol specifier (\"...://\"), then " - "the function checks whether the address refers to a file or directory and if so, prepends \"file://\" " - "to @a adress; if the file check fails, \"http://\" is prepended to @a address.\n\n" - "@tsexample\n" - "gotoWebPage( \"http://www.garagegames.com\" );\n" - "@endtsexample\n\n" - "@ingroup Platform" ) +void gotoWebPage(const char* address) { // If there's a protocol prefix in the address, just invoke // the browser on the given address. - - char* protocolSep = dStrstr( address,"://"); - if( protocolSep != NULL ) + + char* protocolSep = dStrstr(address, "://"); + if (protocolSep != NULL) { - Platform::openWebBrowser( address ); + Platform::openWebBrowser(address); return; } @@ -2155,23 +2146,36 @@ DefineEngineFunction( gotoWebPage, void, ( const char* address ),, // sent us a bad url. We'll first check to see if a file inside the sandbox // with that name exists, then we'll just glom "http://" onto the front of // the bogus url, and hope for the best. - + String addr; - if( Torque::FS::IsFile( address ) || Torque::FS::IsDirectory( address ) ) + if (Torque::FS::IsFile(address) || Torque::FS::IsDirectory(address)) { #ifdef TORQUE2D_TOOLS_FIXME - addr = String::ToString( "file://%s", address ); + addr = String::ToString("file://%s", address); #else - addr = String::ToString( "file://%s/%s", Platform::getCurrentDirectory(), address ); + addr = String::ToString("file://%s/%s", Platform::getCurrentDirectory(), address); #endif } else - addr = String::ToString( "http://%s", address ); - - Platform::openWebBrowser( addr ); + addr = String::ToString("http://%s", address); + + Platform::openWebBrowser(addr); return; } +DefineEngineFunction( gotoWebPage, void, ( const char* address ),, + "Open the given URL or file in the user's web browser.\n\n" + "@param address The address to open. If this is not prefixed by a protocol specifier (\"...://\"), then " + "the function checks whether the address refers to a file or directory and if so, prepends \"file://\" " + "to @a adress; if the file check fails, \"http://\" is prepended to @a address.\n\n" + "@tsexample\n" + "gotoWebPage( \"https://torque3d.org/\" );\n" + "@endtsexample\n\n" + "@ingroup Platform" ) +{ + gotoWebPage(address); +} + //----------------------------------------------------------------------------- DefineEngineFunction( displaySplashWindow, bool, (const char* path), (""), @@ -2876,4 +2880,34 @@ DefineEngineFunction(systemCommand, S32, (const char* commandLineAction, const c return -1; } + +const char* getDocsLink(const char* filename, U32 lineNumber) +{ + Vector fileStringSplit; + String(filename).split("source", fileStringSplit); + String fileString = fileStringSplit.last(); + String fileLineString = fileString + String("#L") + String::ToString(lineNumber-2); + String baseUrL = String(Con::getVariable("Pref::DocURL","https://github.com/TorqueGameEngines/Torque3D/blob/development/Engine/source")); + String URL = String("docs"); + + return (new String(URL))->c_str(); +} + +bool getDocsURL(void* obj, const char* array, const char* data) +{ + ConsoleObject* cObj = static_cast(obj); + if (cObj->mDocsClick) + { + + String docpage = String(cObj->findField(StringTable->insert("docsURL"))->pFieldDocs); + //strip wrapper + docpage.replace("docs", ""); + Con::errorf("%s", docpage.c_str()); + gotoWebPage(docpage.c_str()); + } + cObj->mDocsClick = !cObj->mDocsClick; + return false; +} + #endif diff --git a/Engine/source/console/consoleFunctions.h b/Engine/source/console/consoleFunctions.h index 1cb19d1df..7da94874d 100644 --- a/Engine/source/console/consoleFunctions.h +++ b/Engine/source/console/consoleFunctions.h @@ -13,4 +13,12 @@ bool isValidIP(const char* ip); bool isValidPort(U16 port); -#endif \ No newline at end of file +void gotoWebPage(const char* address); + +bool getDocsURL(void* obj, const char* array, const char* data); +const char* getDocsLink(const char* filename, U32 lineNumber); + +#define docsURL addGroup("Ungrouped");\ + addProtectedField("docsURL", TypeBool, Offset(mDocsClick, ConsoleObject), &getDocsURL, &defaultProtectedGetFn, getDocsLink(__FILE__,__LINE__), AbstractClassRep::FieldFlags::FIELD_ComponentInspectors);\ + endGroup("Ungrouped") +#endif diff --git a/Engine/source/console/consoleLogger.cpp b/Engine/source/console/consoleLogger.cpp index d68cdb6c0..5334c0b8e 100644 --- a/Engine/source/console/consoleLogger.cpp +++ b/Engine/source/console/consoleLogger.cpp @@ -70,6 +70,7 @@ EndImplementEnumType; void ConsoleLogger::initPersistFields() { + docsURL; addGroup( "Logging" ); addField( "level", TYPEID< ConsoleLogEntry::Level >(), Offset( mLevel, ConsoleLogger ), "Determines the priority level and attention the logged entry gets when recorded\n\n" ); endGroup( "Logging" ); diff --git a/Engine/source/console/consoleObject.h b/Engine/source/console/consoleObject.h index beaf94235..aa4e372ab 100644 --- a/Engine/source/console/consoleObject.h +++ b/Engine/source/console/consoleObject.h @@ -55,6 +55,10 @@ #include "tinyxml2.h" #endif +#ifndef _CONSOLFUNCTIONS_H_ +#include "console/consoleFunctions.h" +#endif + /// @file /// Legacy console object system. @@ -824,8 +828,11 @@ protected: ConsoleObject(const ConsoleObject&); public: - - ConsoleObject() {} + /// + /// Only used for interfacing with the editor's inspector docsURL button + /// + bool mDocsClick; + ConsoleObject() { mDocsClick = false; } /// Get a reference to a field by name. const AbstractClassRep::Field *findField(StringTableEntry fieldName) const; diff --git a/Engine/source/console/fieldBrushObject.cpp b/Engine/source/console/fieldBrushObject.cpp index f0671b711..0a2c626c1 100644 --- a/Engine/source/console/fieldBrushObject.cpp +++ b/Engine/source/console/fieldBrushObject.cpp @@ -51,6 +51,7 @@ FieldBrushObject::FieldBrushObject() //----------------------------------------------------------------------------- void FieldBrushObject::initPersistFields() { + docsURL; // Add Fields. addProtectedField("description", TypeCaseString, Offset(mDescription, FieldBrushObject), setDescription, defaultProtectedGetFn, ""); addProtectedField("sortName", TypeString, Offset(mSortName, FieldBrushObject), setSortName, defaultProtectedGetFn, ""); diff --git a/Engine/source/console/scriptObjects.cpp b/Engine/source/console/scriptObjects.cpp index f33011993..129e77e1a 100644 --- a/Engine/source/console/scriptObjects.cpp +++ b/Engine/source/console/scriptObjects.cpp @@ -126,6 +126,7 @@ ScriptTickObject::ScriptTickObject() void ScriptTickObject::initPersistFields() { + docsURL; addField("callOnAdvanceTime", TypeBool, Offset(mCallOnAdvanceTime, ScriptTickObject), "Call the onAdvaceTime() callback."); Parent::initPersistFields(); diff --git a/Engine/source/console/simObject.cpp b/Engine/source/console/simObject.cpp index 7cde17c29..e84177f2c 100644 --- a/Engine/source/console/simObject.cpp +++ b/Engine/source/console/simObject.cpp @@ -149,6 +149,7 @@ bool SimObject::processArguments(S32 argc, ConsoleValue *argv) //----------------------------------------------------------------------------- + void SimObject::initPersistFields() { addGroup( "Ungrouped" ); diff --git a/Engine/source/environment/VolumetricFog.cpp b/Engine/source/environment/VolumetricFog.cpp index f0bbdf721..e6302d826 100644 --- a/Engine/source/environment/VolumetricFog.cpp +++ b/Engine/source/environment/VolumetricFog.cpp @@ -165,6 +165,7 @@ VolumetricFog::~VolumetricFog() void VolumetricFog::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup("Shapes"); INITPERSISTFIELD_SHAPEASSET(Shape, VolumetricFog, "The source shape asset."); diff --git a/Engine/source/environment/basicClouds.cpp b/Engine/source/environment/basicClouds.cpp index f6d6d8bdb..b4b7a9765 100644 --- a/Engine/source/environment/basicClouds.cpp +++ b/Engine/source/environment/basicClouds.cpp @@ -169,6 +169,7 @@ void BasicClouds::onRemove() void BasicClouds::initPersistFields() { + docsURL; addGroup( "BasicClouds" ); addArray( "Layers", TEX_COUNT ); diff --git a/Engine/source/environment/cloudLayer.cpp b/Engine/source/environment/cloudLayer.cpp index 0bc5b5944..d6de0c055 100644 --- a/Engine/source/environment/cloudLayer.cpp +++ b/Engine/source/environment/cloudLayer.cpp @@ -191,6 +191,7 @@ void CloudLayer::onRemove() void CloudLayer::initPersistFields() { + docsURL; addGroup( "CloudLayer" ); INITPERSISTFIELD_IMAGEASSET(Texture, CloudLayer, "An RGBA texture which should contain normals and opacity (density)."); diff --git a/Engine/source/environment/decalRoad.cpp b/Engine/source/environment/decalRoad.cpp index 28be1efc8..4ee7b98de 100644 --- a/Engine/source/environment/decalRoad.cpp +++ b/Engine/source/environment/decalRoad.cpp @@ -303,6 +303,7 @@ IMPLEMENT_CO_NETOBJECT_V1(DecalRoad); void DecalRoad::initPersistFields() { + docsURL; addGroup( "DecalRoad" ); INITPERSISTFIELD_MATERIALASSET(Material, DecalRoad, "Material used for rendering."); diff --git a/Engine/source/environment/editors/guiMeshRoadEditorCtrl.cpp b/Engine/source/environment/editors/guiMeshRoadEditorCtrl.cpp index 671c39e96..16e6bcd8c 100644 --- a/Engine/source/environment/editors/guiMeshRoadEditorCtrl.cpp +++ b/Engine/source/environment/editors/guiMeshRoadEditorCtrl.cpp @@ -214,6 +214,7 @@ bool GuiMeshRoadEditorCtrl::onAdd() void GuiMeshRoadEditorCtrl::initPersistFields() { + docsURL; addField( "DefaultWidth", TypeF32, Offset( mDefaultWidth, GuiMeshRoadEditorCtrl ) ); addField( "DefaultDepth", TypeF32, Offset( mDefaultDepth, GuiMeshRoadEditorCtrl ) ); addField( "DefaultNormal", TypePoint3F,Offset( mDefaultNormal, GuiMeshRoadEditorCtrl ) ); diff --git a/Engine/source/environment/editors/guiRiverEditorCtrl.cpp b/Engine/source/environment/editors/guiRiverEditorCtrl.cpp index 983c8a01e..8dc21ef1b 100644 --- a/Engine/source/environment/editors/guiRiverEditorCtrl.cpp +++ b/Engine/source/environment/editors/guiRiverEditorCtrl.cpp @@ -168,6 +168,7 @@ bool GuiRiverEditorCtrl::onAdd() void GuiRiverEditorCtrl::initPersistFields() { + docsURL; addField( "DefaultWidth", TypeF32, Offset( mDefaultWidth, GuiRiverEditorCtrl ) ); addField( "DefaultDepth", TypeF32, Offset( mDefaultDepth, GuiRiverEditorCtrl ) ); addField( "DefaultNormal", TypePoint3F,Offset( mDefaultNormal, GuiRiverEditorCtrl ) ); diff --git a/Engine/source/environment/editors/guiRoadEditorCtrl.cpp b/Engine/source/environment/editors/guiRoadEditorCtrl.cpp index 67b6ef883..a644bc9d3 100644 --- a/Engine/source/environment/editors/guiRoadEditorCtrl.cpp +++ b/Engine/source/environment/editors/guiRoadEditorCtrl.cpp @@ -158,6 +158,7 @@ bool GuiRoadEditorCtrl::onAdd() void GuiRoadEditorCtrl::initPersistFields() { + docsURL; addField( "DefaultWidth", TypeF32, Offset( mDefaultWidth, GuiRoadEditorCtrl ) ); addField( "HoverSplineColor", TypeColorI, Offset( mHoverSplineColor, GuiRoadEditorCtrl ) ); addField( "SelectedSplineColor", TypeColorI, Offset( mSelectedSplineColor, GuiRoadEditorCtrl ) ); diff --git a/Engine/source/environment/meshRoad.cpp b/Engine/source/environment/meshRoad.cpp index 2413198a8..0fcb1d7b4 100644 --- a/Engine/source/environment/meshRoad.cpp +++ b/Engine/source/environment/meshRoad.cpp @@ -935,6 +935,7 @@ MeshRoad::~MeshRoad() void MeshRoad::initPersistFields() { + docsURL; addGroup( "MeshRoad" ); INITPERSISTFIELD_MATERIALASSET(TopMaterial, MeshRoad, "Material for the upper surface of the road."); diff --git a/Engine/source/environment/river.cpp b/Engine/source/environment/river.cpp index 0213f9d1d..e5862710a 100644 --- a/Engine/source/environment/river.cpp +++ b/Engine/source/environment/river.cpp @@ -626,6 +626,7 @@ River::~River() void River::initPersistFields() { + docsURL; addGroup( "River" ); addField( "SegmentLength", TypeF32, Offset( mMetersPerSegment, River ), diff --git a/Engine/source/environment/scatterSky.cpp b/Engine/source/environment/scatterSky.cpp index 407ca5827..9869bf4a7 100644 --- a/Engine/source/environment/scatterSky.cpp +++ b/Engine/source/environment/scatterSky.cpp @@ -320,6 +320,7 @@ void ScatterSky::inspectPostApply() void ScatterSky::initPersistFields() { + docsURL; addGroup( "ScatterSky", "Only azimuth and elevation are networked fields. To trigger a full update of all other fields use the applyChanges ConsoleMethod." ); diff --git a/Engine/source/environment/skyBox.cpp b/Engine/source/environment/skyBox.cpp index de32d0e92..7cd590a0e 100644 --- a/Engine/source/environment/skyBox.cpp +++ b/Engine/source/environment/skyBox.cpp @@ -114,6 +114,7 @@ void SkyBox::onRemove() void SkyBox::initPersistFields() { + docsURL; addGroup( "Sky Box" ); INITPERSISTFIELD_MATERIALASSET(Material, SkyBox, "The name of a cubemap material for the sky box."); diff --git a/Engine/source/environment/skySphere.cpp b/Engine/source/environment/skySphere.cpp index 67dddc5f8..fc9255bde 100644 --- a/Engine/source/environment/skySphere.cpp +++ b/Engine/source/environment/skySphere.cpp @@ -113,6 +113,7 @@ void SkySphere::onRemove() void SkySphere::initPersistFields() { + docsURL; addGroup("Sky Sphere"); INITPERSISTFIELD_MATERIALASSET(Material, SkySphere, "The name of a cubemap material for the sky box."); diff --git a/Engine/source/environment/sun.cpp b/Engine/source/environment/sun.cpp index 47cc91070..4237a34f7 100644 --- a/Engine/source/environment/sun.cpp +++ b/Engine/source/environment/sun.cpp @@ -141,6 +141,7 @@ void Sun::onRemove() void Sun::initPersistFields() { + docsURL; addGroup( "Orbit" ); addField( "azimuth", TypeF32, Offset( mSunAzimuth, Sun ), diff --git a/Engine/source/environment/timeOfDay.cpp b/Engine/source/environment/timeOfDay.cpp index b1338bf77..c943a4000 100644 --- a/Engine/source/environment/timeOfDay.cpp +++ b/Engine/source/environment/timeOfDay.cpp @@ -124,6 +124,7 @@ bool TimeOfDay::setDayLength( void *object, const char *index, const char *data void TimeOfDay::initPersistFields() { + docsURL; addGroup( "TimeOfDay" ); addField( "axisTilt", TypeF32, Offset( mAxisTilt, TimeOfDay ), diff --git a/Engine/source/environment/waterBlock.cpp b/Engine/source/environment/waterBlock.cpp index 23345985a..9b8c3ecf2 100644 --- a/Engine/source/environment/waterBlock.cpp +++ b/Engine/source/environment/waterBlock.cpp @@ -527,6 +527,7 @@ bool WaterBlock::setGridSizeProperty( void *obj, const char *index, const char * //----------------------------------------------------------------------------- void WaterBlock::initPersistFields() { + docsURL; addGroup( "WaterBlock" ); addProtectedField( "gridElementSize", TypeF32, Offset( mGridElementSize, WaterBlock ), &setGridSizeProperty, &defaultProtectedGetFn, "Spacing between vertices in the WaterBlock mesh" ); diff --git a/Engine/source/environment/waterObject.cpp b/Engine/source/environment/waterObject.cpp index 246e95c78..c2074446d 100644 --- a/Engine/source/environment/waterObject.cpp +++ b/Engine/source/environment/waterObject.cpp @@ -275,6 +275,7 @@ WaterObject::~WaterObject() void WaterObject::initPersistFields() { + docsURL; addGroup( "WaterObject" ); addProtectedField( "density", TypeF32, Offset( mDensity, WaterObject ), &WaterObject::_checkDensity, &defaultProtectedGetFn, "Affects buoyancy of an object, thus affecting the Z velocity of a player (jumping, falling, etc."); diff --git a/Engine/source/environment/waterPlane.cpp b/Engine/source/environment/waterPlane.cpp index 3e5904a31..55470e253 100644 --- a/Engine/source/environment/waterPlane.cpp +++ b/Engine/source/environment/waterPlane.cpp @@ -118,6 +118,7 @@ void WaterPlane::onRemove() void WaterPlane::initPersistFields() { + docsURL; addGroup( "WaterPlane" ); addProtectedField( "gridSize", TypeS32, Offset( mGridSize, WaterPlane ), &protectedSetGridSize, &defaultProtectedGetFn, @@ -1006,4 +1007,4 @@ void WaterPlane::_getWaterPlane( const Point3F &camPos, PlaneF &outPlane, Point3 { outPos = getPosition(); outPlane.set( outPos, Point3F(0,0,1) ); -} \ No newline at end of file +} diff --git a/Engine/source/forest/editor/forestBrushElement.cpp b/Engine/source/forest/editor/forestBrushElement.cpp index 8c41cc969..33a0a7b81 100644 --- a/Engine/source/forest/editor/forestBrushElement.cpp +++ b/Engine/source/forest/editor/forestBrushElement.cpp @@ -58,7 +58,8 @@ ForestBrushElement::ForestBrushElement() void ForestBrushElement::initPersistFields() -{ +{ + docsURL; Parent::initPersistFields(); addGroup( "ForestBrushElement" ); diff --git a/Engine/source/forest/editor/forestBrushTool.cpp b/Engine/source/forest/editor/forestBrushTool.cpp index 06a75ea1d..f8f057fa6 100644 --- a/Engine/source/forest/editor/forestBrushTool.cpp +++ b/Engine/source/forest/editor/forestBrushTool.cpp @@ -104,7 +104,8 @@ ConsoleDocClass( ForestBrushTool, ); void ForestBrushTool::initPersistFields() -{ +{ + docsURL; addGroup( "ForestBrushTool" ); addField( "mode", TYPEID< BrushMode >(), Offset( mMode, ForestBrushTool) ); diff --git a/Engine/source/forest/editor/forestEditorCtrl.cpp b/Engine/source/forest/editor/forestEditorCtrl.cpp index bf88f0b4c..a3d5710d0 100644 --- a/Engine/source/forest/editor/forestEditorCtrl.cpp +++ b/Engine/source/forest/editor/forestEditorCtrl.cpp @@ -59,6 +59,7 @@ bool ForestEditorCtrl::onAdd() void ForestEditorCtrl::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/forest/forest.cpp b/Engine/source/forest/forest.cpp index 2a7c7329a..6be22be8c 100644 --- a/Engine/source/forest/forest.cpp +++ b/Engine/source/forest/forest.cpp @@ -100,6 +100,7 @@ Forest::~Forest() void Forest::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "dataFile", TypeFilename, Offset( mDataFileName, Forest ), diff --git a/Engine/source/forest/forestItem.cpp b/Engine/source/forest/forestItem.cpp index ed742ef4a..2303bbf53 100644 --- a/Engine/source/forest/forestItem.cpp +++ b/Engine/source/forest/forestItem.cpp @@ -58,6 +58,7 @@ ForestItemData::ForestItemData() void ForestItemData::initPersistFields() { + docsURL; addGroup( "Shapes" ); INITPERSISTFIELD_SHAPEASSET(Shape, ForestItemData, "Shape asset for this item type"); diff --git a/Engine/source/forest/forestWindEmitter.cpp b/Engine/source/forest/forestWindEmitter.cpp index 1b4f02351..a9f4d5840 100644 --- a/Engine/source/forest/forestWindEmitter.cpp +++ b/Engine/source/forest/forestWindEmitter.cpp @@ -238,6 +238,7 @@ ForestWindEmitter::~ForestWindEmitter() void ForestWindEmitter::initPersistFields() { + docsURL; // Initialise parents' persistent fields. Parent::initPersistFields(); @@ -591,4 +592,4 @@ DefineEngineMethod( ForestWindEmitter, attachToObject, void, ( U32 objectID ),, Con::warnf( "ForestWindEmitter::attachToObject - failed to find object with ID: %d", objectID ); object->attachToObject( obj ); -} \ No newline at end of file +} diff --git a/Engine/source/gfx/sim/cubemapData.cpp b/Engine/source/gfx/sim/cubemapData.cpp index 618e1842f..0e7d7686e 100644 --- a/Engine/source/gfx/sim/cubemapData.cpp +++ b/Engine/source/gfx/sim/cubemapData.cpp @@ -76,6 +76,7 @@ ConsoleDocClass( CubemapData, void CubemapData::initPersistFields() { + docsURL; addProtectedField( "cubeFace", TypeStringFilename, Offset(mCubeMapFaceName, CubemapData), _setCubeMapFaceData, defaultProtectedGetFn, 6, "@brief The 6 cubemap face textures for a static cubemap.\n\n" "They are in the following order:\n" diff --git a/Engine/source/gfx/sim/gfxStateBlockData.cpp b/Engine/source/gfx/sim/gfxStateBlockData.cpp index 913dbbf00..ca9937c4b 100644 --- a/Engine/source/gfx/sim/gfxStateBlockData.cpp +++ b/Engine/source/gfx/sim/gfxStateBlockData.cpp @@ -279,6 +279,7 @@ ConsoleDocClass( GFXSamplerStateData, void GFXSamplerStateData::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup( "Address Mode" ); diff --git a/Engine/source/gfx/video/theoraTextureObject.cpp b/Engine/source/gfx/video/theoraTextureObject.cpp index d75692ac5..515b766e4 100644 --- a/Engine/source/gfx/video/theoraTextureObject.cpp +++ b/Engine/source/gfx/video/theoraTextureObject.cpp @@ -77,6 +77,7 @@ TheoraTextureObject::TheoraTextureObject() void TheoraTextureObject::initPersistFields() { + docsURL; addGroup( "Theora" ); addField( "theoraFile", TypeStringFilename, Offset( mFilename, TheoraTextureObject ), diff --git a/Engine/source/gui/3d/guiTSControl.cpp b/Engine/source/gui/3d/guiTSControl.cpp index 1ae6940b2..ba882278a 100644 --- a/Engine/source/gui/3d/guiTSControl.cpp +++ b/Engine/source/gui/3d/guiTSControl.cpp @@ -172,6 +172,7 @@ GuiTSCtrl::GuiTSCtrl() void GuiTSCtrl::initPersistFields() { + docsURL; addGroup( "Camera" ); addField("cameraZRot", TypeF32, Offset(mCameraZRot, GuiTSCtrl), diff --git a/Engine/source/gui/buttons/guiBitmapButtonCtrl.cpp b/Engine/source/gui/buttons/guiBitmapButtonCtrl.cpp index 3976bb4f4..ca51045ad 100644 --- a/Engine/source/gui/buttons/guiBitmapButtonCtrl.cpp +++ b/Engine/source/gui/buttons/guiBitmapButtonCtrl.cpp @@ -136,6 +136,7 @@ GuiBitmapButtonCtrl::GuiBitmapButtonCtrl() void GuiBitmapButtonCtrl::initPersistFields() { + docsURL; addGroup( "Bitmap" ); addProtectedField("Bitmap", TypeImageFilename, Offset(mBitmapName, GuiBitmapButtonCtrl), _setBitmapFieldData, &defaultProtectedGetFn, "Texture file to display on this button.\n" diff --git a/Engine/source/gui/buttons/guiButtonBaseCtrl.cpp b/Engine/source/gui/buttons/guiButtonBaseCtrl.cpp index b4232217f..e5efe0279 100644 --- a/Engine/source/gui/buttons/guiButtonBaseCtrl.cpp +++ b/Engine/source/gui/buttons/guiButtonBaseCtrl.cpp @@ -114,6 +114,7 @@ GuiButtonBaseCtrl::GuiButtonBaseCtrl() void GuiButtonBaseCtrl::initPersistFields() { + docsURL; addGroup( "Button" ); addField( "text", TypeCaseString, Offset(mButtonText, GuiButtonBaseCtrl), diff --git a/Engine/source/gui/buttons/guiIconButtonCtrl.cpp b/Engine/source/gui/buttons/guiIconButtonCtrl.cpp index 32b5be36b..c6d0a2e83 100644 --- a/Engine/source/gui/buttons/guiIconButtonCtrl.cpp +++ b/Engine/source/gui/buttons/guiIconButtonCtrl.cpp @@ -121,6 +121,7 @@ EndImplementEnumType; void GuiIconButtonCtrl::initPersistFields() { + docsURL; addField( "buttonMargin", TypePoint2I, Offset( mButtonMargin, GuiIconButtonCtrl ),"Margin area around the button.\n"); addProtectedField( "iconBitmap", TypeImageFilename, Offset( mBitmapName, GuiIconButtonCtrl ), &_setBitmapData, &defaultProtectedGetFn, "Bitmap file for the icon to display on the button.\n", AbstractClassRep::FIELD_HideInInspectors); diff --git a/Engine/source/gui/buttons/guiSwatchButtonCtrl.cpp b/Engine/source/gui/buttons/guiSwatchButtonCtrl.cpp index dea3e8535..08df9530f 100644 --- a/Engine/source/gui/buttons/guiSwatchButtonCtrl.cpp +++ b/Engine/source/gui/buttons/guiSwatchButtonCtrl.cpp @@ -71,6 +71,7 @@ GuiSwatchButtonCtrl::GuiSwatchButtonCtrl() void GuiSwatchButtonCtrl::initPersistFields() { + docsURL; addField("color", TypeColorF, Offset(mSwatchColor, GuiSwatchButtonCtrl), "The foreground color of GuiSwatchButtonCtrl"); addField( "gridBitmap", TypeRealString, Offset( mGridBitmap, GuiSwatchButtonCtrl ), "The bitmap used for the transparent grid" ); diff --git a/Engine/source/gui/buttons/guiToolboxButtonCtrl.cpp b/Engine/source/gui/buttons/guiToolboxButtonCtrl.cpp index c7f01d572..dc2c92d61 100644 --- a/Engine/source/gui/buttons/guiToolboxButtonCtrl.cpp +++ b/Engine/source/gui/buttons/guiToolboxButtonCtrl.cpp @@ -58,6 +58,7 @@ GuiToolboxButtonCtrl::GuiToolboxButtonCtrl() //------------------------------------- void GuiToolboxButtonCtrl::initPersistFields() { + docsURL; INITPERSISTFIELD_IMAGEASSET(NormalBitmap, GuiToolboxButtonCtrl, ""); INITPERSISTFIELD_IMAGEASSET(LoweredBitmap, GuiToolboxButtonCtrl, ""); INITPERSISTFIELD_IMAGEASSET(HoverBitmap, GuiToolboxButtonCtrl, ""); diff --git a/Engine/source/gui/containers/guiAutoScrollCtrl.cpp b/Engine/source/gui/containers/guiAutoScrollCtrl.cpp index bb3432bce..e657a6b5f 100644 --- a/Engine/source/gui/containers/guiAutoScrollCtrl.cpp +++ b/Engine/source/gui/containers/guiAutoScrollCtrl.cpp @@ -107,6 +107,7 @@ GuiAutoScrollCtrl::GuiAutoScrollCtrl() void GuiAutoScrollCtrl::initPersistFields() { + docsURL; addGroup( "Scrolling" ); addField( "scrollDirection", TYPEID< Direction >(), Offset( mDirection, GuiAutoScrollCtrl ), diff --git a/Engine/source/gui/containers/guiContainer.cpp b/Engine/source/gui/containers/guiContainer.cpp index 2f83ef1c7..0d471f6c9 100644 --- a/Engine/source/gui/containers/guiContainer.cpp +++ b/Engine/source/gui/containers/guiContainer.cpp @@ -75,6 +75,7 @@ GuiContainer::~GuiContainer() void GuiContainer::initPersistFields() { + docsURL; Con::setIntVariable("$DOCKING_NONE", Docking::dockNone); Con::setIntVariable("$DOCKING_CLIENT", Docking::dockClient); Con::setIntVariable("$DOCKING_TOP", Docking::dockTop); diff --git a/Engine/source/gui/containers/guiCtrlArrayCtrl.cpp b/Engine/source/gui/containers/guiCtrlArrayCtrl.cpp index 2e93a69cb..ab81a9d2f 100644 --- a/Engine/source/gui/containers/guiCtrlArrayCtrl.cpp +++ b/Engine/source/gui/containers/guiCtrlArrayCtrl.cpp @@ -53,6 +53,7 @@ GuiControlArrayControl::GuiControlArrayControl() void GuiControlArrayControl::initPersistFields() { + docsURL; addGroup( "Array" ); addField( "colCount", TypeS32, Offset(mCols, GuiControlArrayControl), diff --git a/Engine/source/gui/containers/guiDragAndDropCtrl.cpp b/Engine/source/gui/containers/guiDragAndDropCtrl.cpp index a4aebe34c..7503da072 100644 --- a/Engine/source/gui/containers/guiDragAndDropCtrl.cpp +++ b/Engine/source/gui/containers/guiDragAndDropCtrl.cpp @@ -164,6 +164,7 @@ GuiDragAndDropControl::GuiDragAndDropControl() : mDeleteOnMouseUp(true), mUseWho void GuiDragAndDropControl::initPersistFields() { + docsURL; addField( "deleteOnMouseUp", TypeBool, Offset( mDeleteOnMouseUp, GuiDragAndDropControl ), "If true, the control deletes itself when the left mouse button is released.\n\n" "If at this point, the drag&drop control still contains its payload, it will be deleted along with the control." ); diff --git a/Engine/source/gui/containers/guiDynamicCtrlArrayCtrl.cpp b/Engine/source/gui/containers/guiDynamicCtrlArrayCtrl.cpp index f66a14bb0..a9765bb4a 100644 --- a/Engine/source/gui/containers/guiDynamicCtrlArrayCtrl.cpp +++ b/Engine/source/gui/containers/guiDynamicCtrlArrayCtrl.cpp @@ -97,6 +97,7 @@ ConsoleDocClass( GuiDynamicCtrlArrayControl, void GuiDynamicCtrlArrayControl::initPersistFields() { + docsURL; addField( "colCount", TypeS32, Offset( mCols, GuiDynamicCtrlArrayControl ), "Number of columns the child controls have been arranged into. This " "value is calculated automatically when children are added, removed or " diff --git a/Engine/source/gui/containers/guiFormCtrl.cpp b/Engine/source/gui/containers/guiFormCtrl.cpp index 9397d4be7..c232b852a 100644 --- a/Engine/source/gui/containers/guiFormCtrl.cpp +++ b/Engine/source/gui/containers/guiFormCtrl.cpp @@ -79,6 +79,7 @@ bool GuiFormCtrl::_setHasMenu( void *object, const char *index, const char *data void GuiFormCtrl::initPersistFields() { + docsURL; addField("caption", TypeRealString, Offset(mCaption, GuiFormCtrl)); addField("contentLibrary",TypeString, Offset(mContentLibrary, GuiFormCtrl)); addField("content", TypeString, Offset(mContent, GuiFormCtrl)); diff --git a/Engine/source/gui/containers/guiFrameCtrl.cpp b/Engine/source/gui/containers/guiFrameCtrl.cpp index a756ca560..ea18b1a4e 100644 --- a/Engine/source/gui/containers/guiFrameCtrl.cpp +++ b/Engine/source/gui/containers/guiFrameCtrl.cpp @@ -85,6 +85,7 @@ EndImplementEnumType; //----------------------------------------------------------------------------- void GuiFrameSetCtrl::initPersistFields() { + docsURL; addField( "columns", TypeS32Vector, Offset(mColumnOffsets, GuiFrameSetCtrl), "A vector of column offsets (determines the width of each column)." ); @@ -1150,4 +1151,4 @@ RectSpacingI GuiFrameSetCtrl::getFramePadding(S32 index) return fd->mPadding; return RectSpacingI( 0, 0, 0, 0 ); -} \ No newline at end of file +} diff --git a/Engine/source/gui/containers/guiPaneCtrl.cpp b/Engine/source/gui/containers/guiPaneCtrl.cpp index f658c59f8..ccb01ad2c 100644 --- a/Engine/source/gui/containers/guiPaneCtrl.cpp +++ b/Engine/source/gui/containers/guiPaneCtrl.cpp @@ -78,6 +78,7 @@ GuiPaneControl::GuiPaneControl() void GuiPaneControl::initPersistFields() { + docsURL; addGroup( "Pane" ); addField("caption", TypeRealString, Offset(mCaption, GuiPaneControl), diff --git a/Engine/source/gui/containers/guiRolloutCtrl.cpp b/Engine/source/gui/containers/guiRolloutCtrl.cpp index 095a6a358..1df533d68 100644 --- a/Engine/source/gui/containers/guiRolloutCtrl.cpp +++ b/Engine/source/gui/containers/guiRolloutCtrl.cpp @@ -92,6 +92,7 @@ GuiRolloutCtrl::~GuiRolloutCtrl() void GuiRolloutCtrl::initPersistFields() { + docsURL; addGroup( "Rollout" ); addField( "caption", TypeRealString, Offset( mCaption, GuiRolloutCtrl ), diff --git a/Engine/source/gui/containers/guiScrollCtrl.cpp b/Engine/source/gui/containers/guiScrollCtrl.cpp index 43e2da663..8671b09a2 100644 --- a/Engine/source/gui/containers/guiScrollCtrl.cpp +++ b/Engine/source/gui/containers/guiScrollCtrl.cpp @@ -96,6 +96,7 @@ GuiScrollCtrl::GuiScrollCtrl() void GuiScrollCtrl::initPersistFields() { + docsURL; addGroup( "Scolling" ); addField( "willFirstRespond", TypeBool, Offset(mWillFirstRespond, GuiScrollCtrl)); diff --git a/Engine/source/gui/containers/guiSplitContainer.cpp b/Engine/source/gui/containers/guiSplitContainer.cpp index 59b2bb75f..ff7f609c0 100644 --- a/Engine/source/gui/containers/guiSplitContainer.cpp +++ b/Engine/source/gui/containers/guiSplitContainer.cpp @@ -113,6 +113,7 @@ GuiSplitContainer::GuiSplitContainer() void GuiSplitContainer::initPersistFields() { + docsURL; addGroup( "Splitter", "Options to configure split panels contained by this control" ); addField( "orientation", TYPEID< Orientation >(), Offset( mOrientation, GuiSplitContainer), diff --git a/Engine/source/gui/containers/guiStackCtrl.cpp b/Engine/source/gui/containers/guiStackCtrl.cpp index 3d587f8d1..e0ef13297 100644 --- a/Engine/source/gui/containers/guiStackCtrl.cpp +++ b/Engine/source/gui/containers/guiStackCtrl.cpp @@ -96,6 +96,7 @@ GuiStackControl::GuiStackControl() void GuiStackControl::initPersistFields() { + docsURL; addGroup( "Stacking" ); addField( "stackingType", TYPEID< StackingType >(), Offset(mStackingType, GuiStackControl), @@ -385,4 +386,4 @@ bool GuiStackControl::reOrder(SimObject* obj, SimObject* target) void GuiStackControl::childResized(GuiControl *child) { updatePanes(); -} \ No newline at end of file +} diff --git a/Engine/source/gui/containers/guiTabBookCtrl.cpp b/Engine/source/gui/containers/guiTabBookCtrl.cpp index 049d4dc7d..3a9c9c608 100644 --- a/Engine/source/gui/containers/guiTabBookCtrl.cpp +++ b/Engine/source/gui/containers/guiTabBookCtrl.cpp @@ -98,6 +98,7 @@ GuiTabBookCtrl::GuiTabBookCtrl() void GuiTabBookCtrl::initPersistFields() { + docsURL; addGroup( "TabBook" ); addField( "tabPosition", TYPEID< TabPosition >(), Offset( mTabPosition, GuiTabBookCtrl ), diff --git a/Engine/source/gui/containers/guiWindowCtrl.cpp b/Engine/source/gui/containers/guiWindowCtrl.cpp index b4fb08128..70549a3dd 100644 --- a/Engine/source/gui/containers/guiWindowCtrl.cpp +++ b/Engine/source/gui/containers/guiWindowCtrl.cpp @@ -131,6 +131,7 @@ GuiWindowCtrl::GuiWindowCtrl() void GuiWindowCtrl::initPersistFields() { + docsURL; addGroup( "Window" ); addField( "text", TypeRealString, Offset( mText, GuiWindowCtrl ), diff --git a/Engine/source/gui/controls/gui3DProjectionCtrl.cpp b/Engine/source/gui/controls/gui3DProjectionCtrl.cpp index 765b3f1f8..6599c31f2 100644 --- a/Engine/source/gui/controls/gui3DProjectionCtrl.cpp +++ b/Engine/source/gui/controls/gui3DProjectionCtrl.cpp @@ -70,7 +70,8 @@ Gui3DProjectionCtrl::Gui3DProjectionCtrl() } void Gui3DProjectionCtrl::initPersistFields() -{ +{ + docsURL; Parent::initPersistFields(); addGroup("3DProjection"); addField("pointWorld" , TypePoint3F , Offset(mPtWorld , Gui3DProjectionCtrl)); diff --git a/Engine/source/gui/controls/guiAnimBitmapCtrl.cpp b/Engine/source/gui/controls/guiAnimBitmapCtrl.cpp index 8500cd9b7..a098518e2 100644 --- a/Engine/source/gui/controls/guiAnimBitmapCtrl.cpp +++ b/Engine/source/gui/controls/guiAnimBitmapCtrl.cpp @@ -64,6 +64,7 @@ guiAnimBitmapCtrl::~guiAnimBitmapCtrl(void) } void guiAnimBitmapCtrl::initPersistFields() { + docsURL; addField("AnimTexTiling", TYPEID< Point2I >(), Offset(mAnimTexTiling, guiAnimBitmapCtrl), "@brief The number of frames, in rows and columns stored in textureName " "(when animateTexture is true).\n\n" diff --git a/Engine/source/gui/controls/guiBitmapBarCtrl.cpp b/Engine/source/gui/controls/guiBitmapBarCtrl.cpp index 5a2e480fb..d1f17d2d0 100644 --- a/Engine/source/gui/controls/guiBitmapBarCtrl.cpp +++ b/Engine/source/gui/controls/guiBitmapBarCtrl.cpp @@ -43,6 +43,7 @@ GuiBitmapBarCtrl::GuiBitmapBarCtrl(void) void GuiBitmapBarCtrl::initPersistFields() { + docsURL; addField("percent", TypeF32, Offset(mPercent, GuiBitmapBarCtrl), "% shown"); addField("vertical", TypeBool, Offset(mVertical, GuiBitmapBarCtrl), @@ -98,4 +99,4 @@ void GuiBitmapBarCtrl::onRender(Point2I offset, const RectI &updateRect) } renderChildControls(offset, updateRect); -} \ No newline at end of file +} diff --git a/Engine/source/gui/controls/guiBitmapCtrl.cpp b/Engine/source/gui/controls/guiBitmapCtrl.cpp index 7a1d8b4f2..0c34280e0 100644 --- a/Engine/source/gui/controls/guiBitmapCtrl.cpp +++ b/Engine/source/gui/controls/guiBitmapCtrl.cpp @@ -78,6 +78,7 @@ bool GuiBitmapCtrl::setBitmapName( void *object, const char *index, const char * void GuiBitmapCtrl::initPersistFields() { + docsURL; addGroup( "Bitmap" ); INITPERSISTFIELD_IMAGEASSET(Bitmap, GuiBitmapCtrl, The bitmap file to display in the control); diff --git a/Engine/source/gui/controls/guiColorPicker.cpp b/Engine/source/gui/controls/guiColorPicker.cpp index d0e3034b6..bed80df84 100644 --- a/Engine/source/gui/controls/guiColorPicker.cpp +++ b/Engine/source/gui/controls/guiColorPicker.cpp @@ -101,6 +101,7 @@ EndImplementEnumType; void GuiColorPickerCtrl::initPersistFields() { + docsURL; addGroup("ColorPicker"); addField("baseColor", TypeColorF, Offset(mBaseColor, GuiColorPickerCtrl)); addField("pickColor", TypeColorF, Offset(mPickColor, GuiColorPickerCtrl)); diff --git a/Engine/source/gui/controls/guiConsoleEditCtrl.cpp b/Engine/source/gui/controls/guiConsoleEditCtrl.cpp index d032b8766..2f31ffa6b 100644 --- a/Engine/source/gui/controls/guiConsoleEditCtrl.cpp +++ b/Engine/source/gui/controls/guiConsoleEditCtrl.cpp @@ -62,6 +62,7 @@ GuiConsoleEditCtrl::GuiConsoleEditCtrl() void GuiConsoleEditCtrl::initPersistFields() { + docsURL; addGroup("GuiConsoleEditCtrl"); addField("useSiblingScroller", TypeBool, Offset(mUseSiblingScroller, GuiConsoleEditCtrl)); endGroup("GuiConsoleEditCtrl"); diff --git a/Engine/source/gui/controls/guiConsoleTextCtrl.cpp b/Engine/source/gui/controls/guiConsoleTextCtrl.cpp index 5001663fd..20a80c8e8 100644 --- a/Engine/source/gui/controls/guiConsoleTextCtrl.cpp +++ b/Engine/source/gui/controls/guiConsoleTextCtrl.cpp @@ -46,6 +46,7 @@ GuiConsoleTextCtrl::~GuiConsoleTextCtrl() void GuiConsoleTextCtrl::initPersistFields() { + docsURL; addGroup("GuiConsoleTextCtrl"); addField("expression", TypeRealString, Offset(mConsoleExpression, GuiConsoleTextCtrl)); endGroup("GuiConsoleTextCtrl"); diff --git a/Engine/source/gui/controls/guiDecoyCtrl.cpp b/Engine/source/gui/controls/guiDecoyCtrl.cpp index 54ca105ae..f15b613db 100644 --- a/Engine/source/gui/controls/guiDecoyCtrl.cpp +++ b/Engine/source/gui/controls/guiDecoyCtrl.cpp @@ -65,6 +65,7 @@ GuiDecoyCtrl::~GuiDecoyCtrl() void GuiDecoyCtrl::initPersistFields() { + docsURL; addField("isDecoy", TypeBool, Offset(mIsDecoy, GuiDecoyCtrl), "Sets this control to decoy mode"); Parent::initPersistFields(); diff --git a/Engine/source/gui/controls/guiDirectoryFileListCtrl.cpp b/Engine/source/gui/controls/guiDirectoryFileListCtrl.cpp index 724c0c4e2..a23a016a9 100644 --- a/Engine/source/gui/controls/guiDirectoryFileListCtrl.cpp +++ b/Engine/source/gui/controls/guiDirectoryFileListCtrl.cpp @@ -51,6 +51,7 @@ GuiDirectoryFileListCtrl::GuiDirectoryFileListCtrl() void GuiDirectoryFileListCtrl::initPersistFields() { + docsURL; addProtectedField( "filePath", TypeString, Offset( mFilePath, GuiDirectoryFileListCtrl ), &_setFilePath, &defaultProtectedGetFn, "Path in game directory from which to list files." ); addProtectedField( "fileFilter", TypeString, Offset( mFilter, GuiDirectoryFileListCtrl ), diff --git a/Engine/source/gui/controls/guiFileTreeCtrl.cpp b/Engine/source/gui/controls/guiFileTreeCtrl.cpp index 3baff1b84..398d859af 100644 --- a/Engine/source/gui/controls/guiFileTreeCtrl.cpp +++ b/Engine/source/gui/controls/guiFileTreeCtrl.cpp @@ -73,6 +73,7 @@ GuiFileTreeCtrl::GuiFileTreeCtrl() void GuiFileTreeCtrl::initPersistFields() { + docsURL; addGroup( "File Tree" ); addField( "rootPath", TypeRealString, Offset( mRootPath, GuiFileTreeCtrl ), "Path in game directory that should be displayed in the control." ); addProtectedField( "fileFilter", TypeRealString, Offset( mFileFilter, GuiFileTreeCtrl ), diff --git a/Engine/source/gui/controls/guiGameListMenuCtrl.cpp b/Engine/source/gui/controls/guiGameListMenuCtrl.cpp index 7a9951087..839a58bed 100644 --- a/Engine/source/gui/controls/guiGameListMenuCtrl.cpp +++ b/Engine/source/gui/controls/guiGameListMenuCtrl.cpp @@ -1475,6 +1475,7 @@ IMPLEMENT_CALLBACK(GuiGameListMenuCtrl, onAxisEvent, void, (const char* device, void GuiGameListMenuCtrl::initPersistFields() { + docsURL; addField("debugRender", TypeBool, Offset(mDebugRender, GuiGameListMenuCtrl), "Enable debug rendering" ); @@ -1862,6 +1863,7 @@ ConsoleDocClass( GuiGameListMenuProfile, void GuiGameListMenuProfile::initPersistFields() { + docsURL; addField( "hitAreaUpperLeft", TypePoint2I, Offset(mHitAreaUpperLeft, GuiGameListMenuProfile), "Position of the upper left corner of the row hit area (relative to row's top left corner)" ); diff --git a/Engine/source/gui/controls/guiGameListOptionsCtrl.cpp b/Engine/source/gui/controls/guiGameListOptionsCtrl.cpp index cd5be7955..f4d40ebe6 100644 --- a/Engine/source/gui/controls/guiGameListOptionsCtrl.cpp +++ b/Engine/source/gui/controls/guiGameListOptionsCtrl.cpp @@ -446,6 +446,7 @@ ConsoleDocClass( GuiGameListOptionsCtrl, void GuiGameListOptionsCtrl::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -542,6 +543,7 @@ ConsoleDocClass( GuiGameListOptionsProfile, void GuiGameListOptionsProfile::initPersistFields() { + docsURL; addField( "columnSplit", TypeS32, Offset(mColumnSplit, GuiGameListOptionsProfile), "Padding between the leftmost edge of the control, and the row's left arrow." ); diff --git a/Engine/source/gui/controls/guiGameSettingsCtrl.cpp b/Engine/source/gui/controls/guiGameSettingsCtrl.cpp index 254d63634..04d39ca10 100644 --- a/Engine/source/gui/controls/guiGameSettingsCtrl.cpp +++ b/Engine/source/gui/controls/guiGameSettingsCtrl.cpp @@ -900,6 +900,7 @@ IMPLEMENT_CALLBACK(GuiGameSettingsCtrl, onAxisEvent, void, (const char* device, void GuiGameSettingsCtrl::initPersistFields() { + docsURL; INITPERSISTFIELD_IMAGEASSET(KeybindBitmap, GuiGameSettingsCtrl, "Bitmap used to display the bound key for this keybind option."); INITPERSISTFIELD_IMAGEASSET(PreviousBitmap, GuiGameSettingsCtrl, "Bitmap used for the previous button when in list mode."); INITPERSISTFIELD_IMAGEASSET(NextBitmap, GuiGameSettingsCtrl, "Bitmap used for the next button when in list mode."); diff --git a/Engine/source/gui/controls/guiGradientCtrl.cpp b/Engine/source/gui/controls/guiGradientCtrl.cpp index 3b5959ae8..324a488ab 100644 --- a/Engine/source/gui/controls/guiGradientCtrl.cpp +++ b/Engine/source/gui/controls/guiGradientCtrl.cpp @@ -232,6 +232,7 @@ GuiGradientCtrl::GuiGradientCtrl() //-------------------------------------------------------------------------- void GuiGradientCtrl::initPersistFields() { + docsURL; addGroup("ColorPicker"); addField("baseColor", TypeColorF, Offset(mBaseColor, GuiGradientCtrl)); addField("pickColor", TypeColorF, Offset(mPickColor, GuiGradientCtrl)); diff --git a/Engine/source/gui/controls/guiListBoxCtrl.cpp b/Engine/source/gui/controls/guiListBoxCtrl.cpp index 4835b6d40..8b69b89e8 100644 --- a/Engine/source/gui/controls/guiListBoxCtrl.cpp +++ b/Engine/source/gui/controls/guiListBoxCtrl.cpp @@ -176,6 +176,7 @@ GuiListBoxCtrl::~GuiListBoxCtrl() void GuiListBoxCtrl::initPersistFields() { + docsURL; addField( "allowMultipleSelections", TypeBool, Offset( mMultipleSelections, GuiListBoxCtrl), "If true, will allow the selection of multiple items in the listbox.\n"); addField( "fitParentWidth", TypeBool, Offset( mFitParentWidth, GuiListBoxCtrl), "If true, the width of the listbox will match the width of its parent control.\n"); addField( "colorBullet", TypeBool, Offset( mColorBullet, GuiListBoxCtrl), "If true, colored items will render a colored rectangular bullet next to the item text.\n"); diff --git a/Engine/source/gui/controls/guiMLTextCtrl.cpp b/Engine/source/gui/controls/guiMLTextCtrl.cpp index 1b1c3184f..d455e0ba7 100644 --- a/Engine/source/gui/controls/guiMLTextCtrl.cpp +++ b/Engine/source/gui/controls/guiMLTextCtrl.cpp @@ -285,6 +285,7 @@ GuiMLTextCtrl::~GuiMLTextCtrl() //-------------------------------------------------------------------------- void GuiMLTextCtrl::initPersistFields() { + docsURL; addGroup( "Text" ); addField("lineSpacing", TypeS32, Offset(mLineSpacingPixels, GuiMLTextCtrl), "The number of blank pixels to place between each line.\n"); diff --git a/Engine/source/gui/controls/guiMLTextEditCtrl.cpp b/Engine/source/gui/controls/guiMLTextEditCtrl.cpp index 771ae24ad..2877b1150 100644 --- a/Engine/source/gui/controls/guiMLTextEditCtrl.cpp +++ b/Engine/source/gui/controls/guiMLTextEditCtrl.cpp @@ -89,6 +89,7 @@ bool GuiMLTextEditCtrl::resize(const Point2I &newPosition, const Point2I &newExt //-------------------------------------------------------------------------- void GuiMLTextEditCtrl::initPersistFields() { + docsURL; addField( "escapeCommand", TypeString, Offset( mEscapeCommand, GuiMLTextEditCtrl ), "Script function to run whenever the 'escape' key is pressed when this control is in focus.\n"); Parent::initPersistFields(); } diff --git a/Engine/source/gui/controls/guiMaterialCtrl.cpp b/Engine/source/gui/controls/guiMaterialCtrl.cpp index 6d177767f..e55a74087 100644 --- a/Engine/source/gui/controls/guiMaterialCtrl.cpp +++ b/Engine/source/gui/controls/guiMaterialCtrl.cpp @@ -50,6 +50,7 @@ GuiMaterialCtrl::GuiMaterialCtrl() void GuiMaterialCtrl::initPersistFields() { + docsURL; addGroup( "Material" ); INITPERSISTFIELD_MATERIALASSET(Material, GuiMaterialCtrl, ""); addProtectedField( "materialName", TypeStringFilename, Offset( mMaterialName, GuiMaterialCtrl ), &GuiMaterialCtrl::_setMaterialData, &defaultProtectedGetFn, "", AbstractClassRep::FIELD_HideInInspectors ); diff --git a/Engine/source/gui/controls/guiPopUpCtrl.cpp b/Engine/source/gui/controls/guiPopUpCtrl.cpp index 2e0f022b5..695ddc3fb 100644 --- a/Engine/source/gui/controls/guiPopUpCtrl.cpp +++ b/Engine/source/gui/controls/guiPopUpCtrl.cpp @@ -297,6 +297,7 @@ GuiPopUpMenuCtrl::~GuiPopUpMenuCtrl() //------------------------------------------------------------------------------ void GuiPopUpMenuCtrl::initPersistFields(void) { + docsURL; addField("maxPopupHeight", TypeS32, Offset(mMaxPopupHeight, GuiPopUpMenuCtrl)); addField("sbUsesNAColor", TypeBool, Offset(mRenderScrollInNA, GuiPopUpMenuCtrl)); addField("reverseTextList", TypeBool, Offset(mReverseTextList, GuiPopUpMenuCtrl)); diff --git a/Engine/source/gui/controls/guiPopUpCtrlEx.cpp b/Engine/source/gui/controls/guiPopUpCtrlEx.cpp index e9a732a53..8fb0edf3a 100644 --- a/Engine/source/gui/controls/guiPopUpCtrlEx.cpp +++ b/Engine/source/gui/controls/guiPopUpCtrlEx.cpp @@ -349,6 +349,7 @@ GuiPopUpMenuCtrlEx::~GuiPopUpMenuCtrlEx() //------------------------------------------------------------------------------ void GuiPopUpMenuCtrlEx::initPersistFields(void) { + docsURL; addField("maxPopupHeight", TypeS32, Offset(mMaxPopupHeight, GuiPopUpMenuCtrlEx), "Length of menu when it extends"); addField("sbUsesNAColor", TypeBool, Offset(mRenderScrollInNA, GuiPopUpMenuCtrlEx), "Deprecated" "@internal"); addField("reverseTextList", TypeBool, Offset(mReverseTextList, GuiPopUpMenuCtrlEx), "Reverses text list if popup extends up, instead of down"); diff --git a/Engine/source/gui/controls/guiSliderCtrl.cpp b/Engine/source/gui/controls/guiSliderCtrl.cpp index 9c61aaf5e..5fc81d5f3 100644 --- a/Engine/source/gui/controls/guiSliderCtrl.cpp +++ b/Engine/source/gui/controls/guiSliderCtrl.cpp @@ -111,6 +111,7 @@ GuiSliderCtrl::GuiSliderCtrl() void GuiSliderCtrl::initPersistFields() { + docsURL; addGroup( "Slider" ); addField( "range", TypePoint2F, Offset( mRange, GuiSliderCtrl ), diff --git a/Engine/source/gui/controls/guiTabPageCtrl.cpp b/Engine/source/gui/controls/guiTabPageCtrl.cpp index b8c84ff0b..6604639ef 100644 --- a/Engine/source/gui/controls/guiTabPageCtrl.cpp +++ b/Engine/source/gui/controls/guiTabPageCtrl.cpp @@ -58,6 +58,7 @@ GuiTabPageCtrl::GuiTabPageCtrl(void) void GuiTabPageCtrl::initPersistFields() { + docsURL; addField( "fitBook", TypeBool, Offset( mFitBook, GuiTabPageCtrl ), "Determines whether to resize this page when it is added to the tab book. " "If true, the page will be resized according to the tab book extents and " diff --git a/Engine/source/gui/controls/guiTextCtrl.cpp b/Engine/source/gui/controls/guiTextCtrl.cpp index 8759e3973..00b2bac2c 100644 --- a/Engine/source/gui/controls/guiTextCtrl.cpp +++ b/Engine/source/gui/controls/guiTextCtrl.cpp @@ -89,6 +89,7 @@ DefineEngineMethod( GuiTextCtrl, setTextID, void, (const char* textID),, void GuiTextCtrl::initPersistFields() { + docsURL; addProtectedField("text", TypeCaseString, Offset(mInitialText, GuiTextCtrl), setText, getTextProperty, "The text to show on the control."); diff --git a/Engine/source/gui/controls/guiTextEditCtrl.cpp b/Engine/source/gui/controls/guiTextEditCtrl.cpp index 85f76a36a..ea30740b5 100644 --- a/Engine/source/gui/controls/guiTextEditCtrl.cpp +++ b/Engine/source/gui/controls/guiTextEditCtrl.cpp @@ -169,6 +169,7 @@ GuiTextEditCtrl::~GuiTextEditCtrl() void GuiTextEditCtrl::initPersistFields() { + docsURL; addProtectedField("placeholderText", TypeCaseString, Offset(mPlaceholderText, GuiTextEditCtrl), setPlaceholderText, getPlaceholderText, "The text to show on the control."); diff --git a/Engine/source/gui/controls/guiTextEditSliderBitmapCtrl.cpp b/Engine/source/gui/controls/guiTextEditSliderBitmapCtrl.cpp index c80221d73..bdc8c77e9 100644 --- a/Engine/source/gui/controls/guiTextEditSliderBitmapCtrl.cpp +++ b/Engine/source/gui/controls/guiTextEditSliderBitmapCtrl.cpp @@ -105,6 +105,7 @@ GuiTextEditSliderBitmapCtrl::~GuiTextEditSliderBitmapCtrl() void GuiTextEditSliderBitmapCtrl::initPersistFields() { + docsURL; addField("format", TypeString, Offset(mFormat, GuiTextEditSliderBitmapCtrl), "Character format type to place in the control.\n"); addField("range", TypePoint2F, Offset(mRange, GuiTextEditSliderBitmapCtrl), "Maximum vertical and horizontal range to allow in the control.\n"); addField("increment", TypeF32, Offset(mIncAmount, GuiTextEditSliderBitmapCtrl), "How far to increment the slider on each step.\n"); diff --git a/Engine/source/gui/controls/guiTextEditSliderCtrl.cpp b/Engine/source/gui/controls/guiTextEditSliderCtrl.cpp index 599678fc3..3b4bd605b 100644 --- a/Engine/source/gui/controls/guiTextEditSliderCtrl.cpp +++ b/Engine/source/gui/controls/guiTextEditSliderCtrl.cpp @@ -71,6 +71,7 @@ GuiTextEditSliderCtrl::~GuiTextEditSliderCtrl() void GuiTextEditSliderCtrl::initPersistFields() { + docsURL; addField("format", TypeString, Offset(mFormat, GuiTextEditSliderCtrl), "Character format type to place in the control.\n"); addField("range", TypePoint2F, Offset(mRange, GuiTextEditSliderCtrl), "Maximum vertical and horizontal range to allow in the control.\n"); addField("increment", TypeF32, Offset(mIncAmount, GuiTextEditSliderCtrl), "How far to increment the slider on each step.\n"); diff --git a/Engine/source/gui/controls/guiTextListCtrl.cpp b/Engine/source/gui/controls/guiTextListCtrl.cpp index 834e2d500..174687f79 100644 --- a/Engine/source/gui/controls/guiTextListCtrl.cpp +++ b/Engine/source/gui/controls/guiTextListCtrl.cpp @@ -130,6 +130,7 @@ GuiTextListCtrl::GuiTextListCtrl() void GuiTextListCtrl::initPersistFields() { + docsURL; addField("columns", TypeS32Vector, Offset(mColumnOffsets, GuiTextListCtrl), "A vector of column offsets. The number of values determines the number of columns in the table.\n" ); addField("fitParentWidth", TypeBool, Offset(mFitParentWidth, GuiTextListCtrl), "If true, the width of this control will match the width of its parent.\n"); addField("clipColumnText", TypeBool, Offset(mClipColumnText, GuiTextListCtrl), "If true, text exceeding a column's given width will get clipped.\n" ); diff --git a/Engine/source/gui/controls/guiTreeViewCtrl.cpp b/Engine/source/gui/controls/guiTreeViewCtrl.cpp index 986cfba71..fa6a6f73b 100644 --- a/Engine/source/gui/controls/guiTreeViewCtrl.cpp +++ b/Engine/source/gui/controls/guiTreeViewCtrl.cpp @@ -859,6 +859,7 @@ GuiTreeViewCtrl::~GuiTreeViewCtrl() void GuiTreeViewCtrl::initPersistFields() { + docsURL; addGroup( "TreeView" ); addField( "tabSize", TypeS32, Offset(mTabSize, GuiTreeViewCtrl)); diff --git a/Engine/source/gui/core/guiCanvas.cpp b/Engine/source/gui/core/guiCanvas.cpp index 721c3e6b2..19342b24d 100644 --- a/Engine/source/gui/core/guiCanvas.cpp +++ b/Engine/source/gui/core/guiCanvas.cpp @@ -201,6 +201,7 @@ bool GuiCanvas::setProtectedNumFences( void *object, const char *index, const ch void GuiCanvas::initPersistFields() { + docsURL; addGroup("Mouse Handling"); addField("alwaysHandleMouseButtons", TypeBool, Offset(mAlwaysHandleMouseButtons, GuiCanvas), "Deal with mouse buttons, even if the cursor is hidden." ); diff --git a/Engine/source/gui/core/guiControl.cpp b/Engine/source/gui/core/guiControl.cpp index 5f20c4302..f25c19130 100644 --- a/Engine/source/gui/core/guiControl.cpp +++ b/Engine/source/gui/core/guiControl.cpp @@ -252,6 +252,7 @@ void GuiControl::consoleInit() void GuiControl::initPersistFields() { + docsURL; addGroup( "Layout" ); addField("position", TypePoint2I, Offset(mBounds.point, GuiControl), diff --git a/Engine/source/gui/core/guiOffscreenCanvas.cpp b/Engine/source/gui/core/guiOffscreenCanvas.cpp index 47eb409a3..522882b14 100644 --- a/Engine/source/gui/core/guiOffscreenCanvas.cpp +++ b/Engine/source/gui/core/guiOffscreenCanvas.cpp @@ -27,6 +27,7 @@ GuiOffscreenCanvas::~GuiOffscreenCanvas() void GuiOffscreenCanvas::initPersistFields() { + docsURL; addField( "targetSize", TypePoint2I, Offset( mTargetSize, GuiOffscreenCanvas ),"" ); addField( "targetFormat", TypeGFXFormat, Offset( mTargetFormat, GuiOffscreenCanvas ), ""); addField( "targetName", TypeRealString, Offset( mTargetName, GuiOffscreenCanvas ), ""); diff --git a/Engine/source/gui/core/guiScriptNotifyControl.cpp b/Engine/source/gui/core/guiScriptNotifyControl.cpp index d756f562f..cfc7b61ca 100644 --- a/Engine/source/gui/core/guiScriptNotifyControl.cpp +++ b/Engine/source/gui/core/guiScriptNotifyControl.cpp @@ -67,6 +67,7 @@ GuiScriptNotifyCtrl::~GuiScriptNotifyCtrl() void GuiScriptNotifyCtrl::initPersistFields() { + docsURL; // Callbacks Group addGroup("Callbacks"); addField("notifyOnChildAdded", TypeBool, Offset( mOnChildAdded, GuiScriptNotifyCtrl ), "Enables/disables onChildAdded callback" ); diff --git a/Engine/source/gui/core/guiTypes.cpp b/Engine/source/gui/core/guiTypes.cpp index 1928f5dbc..65d8ddfc0 100644 --- a/Engine/source/gui/core/guiTypes.cpp +++ b/Engine/source/gui/core/guiTypes.cpp @@ -88,6 +88,7 @@ GuiCursor::~GuiCursor() void GuiCursor::initPersistFields() { + docsURL; addField("hotSpot", TypePoint2I, Offset(mHotSpot, GuiCursor), "The location of the cursor's hot spot (which pixel carries the click)."); addField("renderOffset",TypePoint2F, Offset(mRenderOffset, GuiCursor), "Offset of the bitmap, where 0 signifies left edge of the bitmap, 1, the right. Similarly for the Y-component."); diff --git a/Engine/source/gui/editor/guiEaseViewCtrl.cpp b/Engine/source/gui/editor/guiEaseViewCtrl.cpp index ae97c36cb..c78d92266 100644 --- a/Engine/source/gui/editor/guiEaseViewCtrl.cpp +++ b/Engine/source/gui/editor/guiEaseViewCtrl.cpp @@ -49,6 +49,7 @@ GuiEaseViewCtrl::GuiEaseViewCtrl() void GuiEaseViewCtrl::initPersistFields() { + docsURL; Parent::initPersistFields(); addField("ease", TypeEaseF, Offset( mEase, GuiEaseViewCtrl ) ); diff --git a/Engine/source/gui/editor/guiEditCtrl.cpp b/Engine/source/gui/editor/guiEditCtrl.cpp index 6be77962c..e95857c8c 100644 --- a/Engine/source/gui/editor/guiEditCtrl.cpp +++ b/Engine/source/gui/editor/guiEditCtrl.cpp @@ -139,6 +139,7 @@ GuiEditCtrl::GuiEditCtrl() void GuiEditCtrl::initPersistFields() { + docsURL; addGroup( "Snapping" ); addField( "snapToControls", TypeBool, Offset( mSnapToControls, GuiEditCtrl ), "If true, edge and center snapping will work against controls." ); diff --git a/Engine/source/gui/editor/guiFilterCtrl.cpp b/Engine/source/gui/editor/guiFilterCtrl.cpp index 1be90b8e2..d331efbf0 100644 --- a/Engine/source/gui/editor/guiFilterCtrl.cpp +++ b/Engine/source/gui/editor/guiFilterCtrl.cpp @@ -50,6 +50,7 @@ GuiFilterCtrl::GuiFilterCtrl() void GuiFilterCtrl::initPersistFields() { + docsURL; addField("controlPoints", TypeS32, Offset(mControlPointRequest, GuiFilterCtrl), "Total number of control points in the spline curve." ); addField("filter", TypeF32Vector, Offset(mFilter, GuiFilterCtrl), diff --git a/Engine/source/gui/editor/guiGraphCtrl.cpp b/Engine/source/gui/editor/guiGraphCtrl.cpp index bc2a43542..551b737c9 100644 --- a/Engine/source/gui/editor/guiGraphCtrl.cpp +++ b/Engine/source/gui/editor/guiGraphCtrl.cpp @@ -102,6 +102,7 @@ GuiGraphCtrl::GuiGraphCtrl() void GuiGraphCtrl::initPersistFields() { + docsURL; addGroup( "Graph" ); addField( "centerY", TypeF32, Offset( mCenterY, GuiGraphCtrl ), diff --git a/Engine/source/gui/editor/guiImageList.cpp b/Engine/source/gui/editor/guiImageList.cpp index 3fc436ad4..d4cf2ec48 100644 --- a/Engine/source/gui/editor/guiImageList.cpp +++ b/Engine/source/gui/editor/guiImageList.cpp @@ -138,6 +138,7 @@ U32 GuiImageList::IndexFromPath ( const char* Path ) void GuiImageList::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/gui/editor/guiInspector.cpp b/Engine/source/gui/editor/guiInspector.cpp index 47d1e3c85..d14780a4b 100644 --- a/Engine/source/gui/editor/guiInspector.cpp +++ b/Engine/source/gui/editor/guiInspector.cpp @@ -66,6 +66,7 @@ GuiInspector::~GuiInspector() void GuiInspector::initPersistFields() { + docsURL; addGroup( "Inspector" ); addField( "dividerMargin", TypeS32, Offset( mDividerMargin, GuiInspector ) ); diff --git a/Engine/source/gui/editor/guiMenuBar.cpp b/Engine/source/gui/editor/guiMenuBar.cpp index 7f2b9484f..a8364c80d 100644 --- a/Engine/source/gui/editor/guiMenuBar.cpp +++ b/Engine/source/gui/editor/guiMenuBar.cpp @@ -1126,6 +1126,7 @@ void GuiMenuBar::onRemove() void GuiMenuBar::initPersistFields() { + docsURL; addField("padding", TypeS32, Offset( mPadding, GuiMenuBar ),"Extra padding to add to the bounds of the control.\n"); addField("menubarHeight", TypeS32, Offset(mMenubarHeight, GuiMenuBar), "Sets the height of the menubar when attached to the canvas.\n"); diff --git a/Engine/source/gui/editor/guiRectHandles.cpp b/Engine/source/gui/editor/guiRectHandles.cpp index 4090a0bbb..52a303673 100644 --- a/Engine/source/gui/editor/guiRectHandles.cpp +++ b/Engine/source/gui/editor/guiRectHandles.cpp @@ -53,6 +53,7 @@ GuiRectHandles::~GuiRectHandles() //-------------------------------------------------------------------------- void GuiRectHandles::initPersistFields() { + docsURL; addField("handleRect", TypeRectF, Offset(mHandleRect, GuiRectHandles), "RectF of handle's box." ); addField("handleSize", TypeS32, Offset(mHandleSize, GuiRectHandles), "Size of handles in pixels." ); addField("useCustomColor", TypeBool, Offset(mUseCustomColor, GuiRectHandles), "Use given custom color for handles." ); diff --git a/Engine/source/gui/editor/guiSeparatorCtrl.cpp b/Engine/source/gui/editor/guiSeparatorCtrl.cpp index 98eb41761..bb6b6c903 100644 --- a/Engine/source/gui/editor/guiSeparatorCtrl.cpp +++ b/Engine/source/gui/editor/guiSeparatorCtrl.cpp @@ -72,6 +72,7 @@ GuiSeparatorCtrl::GuiSeparatorCtrl() : GuiControl() //-------------------------------------------------------------------------- void GuiSeparatorCtrl::initPersistFields() { + docsURL; addField("caption", TypeRealString, Offset(mText, GuiSeparatorCtrl), "Optional text label to display." ); addField("type", TYPEID< separatorTypeOptions >(), Offset(mSeparatorType, GuiSeparatorCtrl), diff --git a/Engine/source/gui/editor/guiShapeEdPreview.cpp b/Engine/source/gui/editor/guiShapeEdPreview.cpp index 38d5e92b2..10cfaf28d 100644 --- a/Engine/source/gui/editor/guiShapeEdPreview.cpp +++ b/Engine/source/gui/editor/guiShapeEdPreview.cpp @@ -119,6 +119,7 @@ GuiShapeEdPreview::~GuiShapeEdPreview() void GuiShapeEdPreview::initPersistFields() { + docsURL; addGroup( "Rendering" ); addField( "editSun", TypeBool, Offset( mEditingSun, GuiShapeEdPreview ), "If true, dragging the gizmo will rotate the sun direction" ); diff --git a/Engine/source/gui/editor/popupMenu.cpp b/Engine/source/gui/editor/popupMenu.cpp index be160d08f..0de09e9f9 100644 --- a/Engine/source/gui/editor/popupMenu.cpp +++ b/Engine/source/gui/editor/popupMenu.cpp @@ -82,6 +82,7 @@ ConsoleDocClass( PopupMenu, //----------------------------------------------------------------------------- void PopupMenu::initPersistFields() { + docsURL; Parent::initPersistFields(); addField("barTitle", TypeCaseString, Offset(mBarTitle, PopupMenu), ""); diff --git a/Engine/source/gui/game/guiChunkedBitmapCtrl.cpp b/Engine/source/gui/game/guiChunkedBitmapCtrl.cpp index 90e940e07..4aab2a247 100644 --- a/Engine/source/gui/game/guiChunkedBitmapCtrl.cpp +++ b/Engine/source/gui/game/guiChunkedBitmapCtrl.cpp @@ -65,6 +65,7 @@ ConsoleDocClass( GuiChunkedBitmapCtrl, void GuiChunkedBitmapCtrl::initPersistFields() { + docsURL; addGroup("GuiChunkedBitmapCtrl"); INITPERSISTFIELD_IMAGEASSET(Bitmap, GuiChunkedBitmapCtrl, "This is the bitmap to render to the control."); diff --git a/Engine/source/gui/game/guiFadeinBitmapCtrl.cpp b/Engine/source/gui/game/guiFadeinBitmapCtrl.cpp index 85ac57dd4..f2820ae2c 100644 --- a/Engine/source/gui/game/guiFadeinBitmapCtrl.cpp +++ b/Engine/source/gui/game/guiFadeinBitmapCtrl.cpp @@ -87,6 +87,7 @@ GuiFadeinBitmapCtrl::GuiFadeinBitmapCtrl() void GuiFadeinBitmapCtrl::initPersistFields() { + docsURL; addGroup( "Fading" ); addField( "fadeColor", TypeColorF, Offset( mFadeColor, GuiFadeinBitmapCtrl ), diff --git a/Engine/source/gui/game/guiMessageVectorCtrl.cpp b/Engine/source/gui/game/guiMessageVectorCtrl.cpp index 2b2d12fc0..313b7a265 100644 --- a/Engine/source/gui/game/guiMessageVectorCtrl.cpp +++ b/Engine/source/gui/game/guiMessageVectorCtrl.cpp @@ -192,6 +192,7 @@ GuiMessageVectorCtrl::~GuiMessageVectorCtrl() //-------------------------------------------------------------------------- void GuiMessageVectorCtrl::initPersistFields() { + docsURL; addField("lineSpacing", TypeS32, Offset(mLineSpacingPixels, GuiMessageVectorCtrl)); addField("lineContinuedIndex", TypeS32, Offset(mLineContinuationIndent, GuiMessageVectorCtrl)); addField("allowedMatches", TypeString, Offset(mAllowedMatches, GuiMessageVectorCtrl), 16); diff --git a/Engine/source/gui/game/guiProgressBitmapCtrl.cpp b/Engine/source/gui/game/guiProgressBitmapCtrl.cpp index 0faf2a8e0..0d85213e1 100644 --- a/Engine/source/gui/game/guiProgressBitmapCtrl.cpp +++ b/Engine/source/gui/game/guiProgressBitmapCtrl.cpp @@ -131,6 +131,7 @@ GuiProgressBitmapCtrl::GuiProgressBitmapCtrl() void GuiProgressBitmapCtrl::initPersistFields() { + docsURL; INITPERSISTFIELD_IMAGEASSET(Bitmap, GuiProgressBitmapCtrl, "Bitmap file to use for rendering the progress bar.\n\n" "If the profile assigned to the control already has a bitmap assigned, this property need not be " "set in which case the bitmap from the profile is used."); diff --git a/Engine/source/gui/theora/guiTheoraCtrl.cpp b/Engine/source/gui/theora/guiTheoraCtrl.cpp index 31ee289a3..cb5722d85 100644 --- a/Engine/source/gui/theora/guiTheoraCtrl.cpp +++ b/Engine/source/gui/theora/guiTheoraCtrl.cpp @@ -82,6 +82,7 @@ GuiTheoraCtrl::GuiTheoraCtrl() void GuiTheoraCtrl::initPersistFields() { + docsURL; addGroup( "Playback"); addField( "theoraFile", TypeStringFilename, Offset( mFilename, GuiTheoraCtrl ), diff --git a/Engine/source/gui/utility/guiInputCtrl.cpp b/Engine/source/gui/utility/guiInputCtrl.cpp index 4c56f9133..f5f41b486 100644 --- a/Engine/source/gui/utility/guiInputCtrl.cpp +++ b/Engine/source/gui/utility/guiInputCtrl.cpp @@ -70,6 +70,7 @@ GuiInputCtrl::GuiInputCtrl() void GuiInputCtrl::initPersistFields() { + docsURL; addGroup("GuiInputCtrl"); addField("sendAxisEvents", TypeBool, Offset(mSendAxisEvents, GuiInputCtrl), "If true, onAxisEvent callbacks will be sent for SI_AXIS Move events (Default false)."); diff --git a/Engine/source/gui/utility/guiMouseEventCtrl.cpp b/Engine/source/gui/utility/guiMouseEventCtrl.cpp index 6c3024214..80c6c8360 100644 --- a/Engine/source/gui/utility/guiMouseEventCtrl.cpp +++ b/Engine/source/gui/utility/guiMouseEventCtrl.cpp @@ -293,6 +293,7 @@ void GuiMouseEventCtrl::sendMouseEvent(const char * name, const GuiEvent & event //------------------------------------------------------------------------------ void GuiMouseEventCtrl::initPersistFields() { + docsURL; addGroup( "Input" ); addField("lockMouse", TypeBool, Offset(mLockMouse, GuiMouseEventCtrl), @@ -365,4 +366,4 @@ void GuiMouseEventCtrl::onRightMouseUp(const GuiEvent & event) void GuiMouseEventCtrl::onRightMouseDragged(const GuiEvent & event) { sendMouseEvent("onRightMouseDragged", event); -} \ No newline at end of file +} diff --git a/Engine/source/gui/utility/guiRenderTargetVizCtrl.cpp b/Engine/source/gui/utility/guiRenderTargetVizCtrl.cpp index 6c1366afb..f957ba55b 100644 --- a/Engine/source/gui/utility/guiRenderTargetVizCtrl.cpp +++ b/Engine/source/gui/utility/guiRenderTargetVizCtrl.cpp @@ -78,6 +78,7 @@ bool GuiRenderTargetVizCtrl::onWake() void GuiRenderTargetVizCtrl::initPersistFields() { + docsURL; Parent::initPersistFields(); addField("RenderTargetName", TypeString, Offset(mTargetName, GuiRenderTargetVizCtrl), ""); diff --git a/Engine/source/gui/utility/messageVector.cpp b/Engine/source/gui/utility/messageVector.cpp index 97fd33382..d9669cc1e 100644 --- a/Engine/source/gui/utility/messageVector.cpp +++ b/Engine/source/gui/utility/messageVector.cpp @@ -425,6 +425,7 @@ MessageVector::~MessageVector() //-------------------------------------------------------------------------- void MessageVector::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/gui/worldEditor/editTSCtrl.cpp b/Engine/source/gui/worldEditor/editTSCtrl.cpp index fbe4ff090..4a219691c 100644 --- a/Engine/source/gui/worldEditor/editTSCtrl.cpp +++ b/Engine/source/gui/worldEditor/editTSCtrl.cpp @@ -219,6 +219,7 @@ void EditTSCtrl::onRender(Point2I offset, const RectI &updateRect) void EditTSCtrl::initPersistFields() { + docsURL; addGroup( "Grid" ); addField( "gridSize", TypeF32, Offset( mGridPlaneSize, EditTSCtrl ) ); diff --git a/Engine/source/gui/worldEditor/gizmo.cpp b/Engine/source/gui/worldEditor/gizmo.cpp index 7bfe554c4..200b036cb 100644 --- a/Engine/source/gui/worldEditor/gizmo.cpp +++ b/Engine/source/gui/worldEditor/gizmo.cpp @@ -240,6 +240,7 @@ bool GizmoProfile::onAdd() void GizmoProfile::initPersistFields() { + docsURL; addField( "alignment", TYPEID< GizmoAlignment >(), Offset(alignment, GizmoProfile ) ); addField( "mode", TYPEID< GizmoMode >(), Offset(mode, GizmoProfile ) ); @@ -371,6 +372,7 @@ void Gizmo::onRemove() void Gizmo::initPersistFields() { + docsURL; Parent::initPersistFields(); //addField( "profile",) diff --git a/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp b/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp index 5ed87fb0d..6344faa2a 100644 --- a/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp +++ b/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp @@ -113,7 +113,8 @@ void GuiConvexEditorCtrl::onRemove() } void GuiConvexEditorCtrl::initPersistFields() -{ +{ + docsURL; addField( "isDirty", TypeBool, Offset( mIsDirty, GuiConvexEditorCtrl ) ); addField( "materialName", TypeMaterialAssetId, Offset(mMaterialName, GuiConvexEditorCtrl) ); diff --git a/Engine/source/gui/worldEditor/guiDecalEditorCtrl.cpp b/Engine/source/gui/worldEditor/guiDecalEditorCtrl.cpp index 6420f5a00..5a2f545b2 100644 --- a/Engine/source/gui/worldEditor/guiDecalEditorCtrl.cpp +++ b/Engine/source/gui/worldEditor/guiDecalEditorCtrl.cpp @@ -76,6 +76,7 @@ bool GuiDecalEditorCtrl::onAdd() void GuiDecalEditorCtrl::initPersistFields() { + docsURL; addField( "currentDecalData", TYPEID< DecalData >(), Offset( mCurrentDecalData, GuiDecalEditorCtrl ) ); Parent::initPersistFields(); @@ -913,6 +914,7 @@ DICreateUndoAction::~DICreateUndoAction() void DICreateUndoAction::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -1001,6 +1003,7 @@ DIDeleteUndoAction::~DIDeleteUndoAction() void DIDeleteUndoAction::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -1089,6 +1092,7 @@ DBDeleteUndoAction::~DBDeleteUndoAction() void DBDeleteUndoAction::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -1198,6 +1202,7 @@ DBRetargetUndoAction::~DBRetargetUndoAction() void DBRetargetUndoAction::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/gui/worldEditor/guiMissionArea.cpp b/Engine/source/gui/worldEditor/guiMissionArea.cpp index a17b5a4ab..9302c12b0 100644 --- a/Engine/source/gui/worldEditor/guiMissionArea.cpp +++ b/Engine/source/gui/worldEditor/guiMissionArea.cpp @@ -87,6 +87,7 @@ GuiMissionAreaCtrl::~GuiMissionAreaCtrl() void GuiMissionAreaCtrl::initPersistFields() { + docsURL; addField( "squareBitmap", TypeBool, Offset(mSquareBitmap, GuiMissionAreaCtrl)); INITPERSISTFIELD_IMAGEASSET(HandleBitmap, GuiMissionAreaCtrl, "Bitmap for the mission area handles.\n"); diff --git a/Engine/source/gui/worldEditor/guiMissionAreaEditor.cpp b/Engine/source/gui/worldEditor/guiMissionAreaEditor.cpp index 91afea75e..a973a1f41 100644 --- a/Engine/source/gui/worldEditor/guiMissionAreaEditor.cpp +++ b/Engine/source/gui/worldEditor/guiMissionAreaEditor.cpp @@ -50,6 +50,7 @@ bool GuiMissionAreaEditorCtrl::onAdd() void GuiMissionAreaEditorCtrl::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/gui/worldEditor/guiTerrPreviewCtrl.cpp b/Engine/source/gui/worldEditor/guiTerrPreviewCtrl.cpp index 12699c7ca..9e0095253 100644 --- a/Engine/source/gui/worldEditor/guiTerrPreviewCtrl.cpp +++ b/Engine/source/gui/worldEditor/guiTerrPreviewCtrl.cpp @@ -81,6 +81,7 @@ bool GuiTerrPreviewCtrl::onAdd() void GuiTerrPreviewCtrl::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/gui/worldEditor/terrainActions.cpp b/Engine/source/gui/worldEditor/terrainActions.cpp index a6fbb5c21..f6ca18c13 100644 --- a/Engine/source/gui/worldEditor/terrainActions.cpp +++ b/Engine/source/gui/worldEditor/terrainActions.cpp @@ -779,6 +779,7 @@ TerrainSmoothAction::TerrainSmoothAction() void TerrainSmoothAction::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/gui/worldEditor/terrainEditor.cpp b/Engine/source/gui/worldEditor/terrainEditor.cpp index f95928a59..3eb896f28 100644 --- a/Engine/source/gui/worldEditor/terrainEditor.cpp +++ b/Engine/source/gui/worldEditor/terrainEditor.cpp @@ -2794,6 +2794,7 @@ DefineEngineMethod(TerrainEditor, getTerrainUnderWorldPoint, S32, (const char * void TerrainEditor::initPersistFields() { + docsURL; addGroup("Misc"); addField("isDirty", TypeBool, Offset(mIsDirty, TerrainEditor)); addField("isMissionDirty", TypeBool, Offset(mIsMissionDirty, TerrainEditor)); diff --git a/Engine/source/gui/worldEditor/undoActions.cpp b/Engine/source/gui/worldEditor/undoActions.cpp index 2f137bc72..a16f29719 100644 --- a/Engine/source/gui/worldEditor/undoActions.cpp +++ b/Engine/source/gui/worldEditor/undoActions.cpp @@ -47,6 +47,7 @@ MECreateUndoAction::~MECreateUndoAction() void MECreateUndoAction::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -132,6 +133,7 @@ MEDeleteUndoAction::~MEDeleteUndoAction() void MEDeleteUndoAction::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -238,6 +240,7 @@ InspectorFieldUndoAction::InspectorFieldUndoAction( const UTF8 *actionName ) void InspectorFieldUndoAction::initPersistFields() { + docsURL; addField( "inspectorGui", TYPEID< GuiInspector >(), Offset( mInspector, InspectorFieldUndoAction ) ); addField( "objectId", TypeS32, Offset( mObjId, InspectorFieldUndoAction ) ); addField( "fieldName", TypeString, Offset( mSlotName, InspectorFieldUndoAction ) ); diff --git a/Engine/source/gui/worldEditor/worldEditor.cpp b/Engine/source/gui/worldEditor/worldEditor.cpp index 56b6f94ce..385b7fa72 100644 --- a/Engine/source/gui/worldEditor/worldEditor.cpp +++ b/Engine/source/gui/worldEditor/worldEditor.cpp @@ -2781,6 +2781,7 @@ void WorldEditor::renderScene( const RectI &updateRect ) void WorldEditor::initPersistFields() { + docsURL; addGroup( "Grid" ); addField( "gridSnap", TypeBool, Offset( mGridSnap, WorldEditor ), diff --git a/Engine/source/gui/worldEditor/worldEditorSelection.cpp b/Engine/source/gui/worldEditor/worldEditorSelection.cpp index aa5a8e912..3d83ccb36 100644 --- a/Engine/source/gui/worldEditor/worldEditorSelection.cpp +++ b/Engine/source/gui/worldEditor/worldEditorSelection.cpp @@ -55,6 +55,7 @@ WorldEditorSelection::~WorldEditorSelection() void WorldEditorSelection::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/materials/customMaterialDefinition.cpp b/Engine/source/materials/customMaterialDefinition.cpp index 329ed59b1..f66273c41 100644 --- a/Engine/source/materials/customMaterialDefinition.cpp +++ b/Engine/source/materials/customMaterialDefinition.cpp @@ -81,6 +81,7 @@ CustomMaterial::CustomMaterial() //-------------------------------------------------------------------------- void CustomMaterial::initPersistFields() { + docsURL; addField("version", TypeF32, Offset(mVersion, CustomMaterial), "@brief Specifies pixel shader version for hardware.\n\n" "Valid pixel shader versions include 2.0, 3.0, etc. " diff --git a/Engine/source/materials/materialDefinition.cpp b/Engine/source/materials/materialDefinition.cpp index 29cc0420d..06e4907f4 100644 --- a/Engine/source/materials/materialDefinition.cpp +++ b/Engine/source/materials/materialDefinition.cpp @@ -245,6 +245,7 @@ Material::Material() void Material::initPersistFields() { + docsURL; addField("mapTo", TypeRealString, Offset(mMapTo, Material), "Used to map this material to the material name used by TSShape."); diff --git a/Engine/source/module/moduleDefinition.cpp b/Engine/source/module/moduleDefinition.cpp index 795186aef..a280e48f1 100644 --- a/Engine/source/module/moduleDefinition.cpp +++ b/Engine/source/module/moduleDefinition.cpp @@ -79,6 +79,7 @@ mModuleId(StringTable->EmptyString()), void ModuleDefinition::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/module/moduleManager.cpp b/Engine/source/module/moduleManager.cpp index 515c4ba58..38685735d 100644 --- a/Engine/source/module/moduleManager.cpp +++ b/Engine/source/module/moduleManager.cpp @@ -142,6 +142,7 @@ void ModuleManager::onRemove() void ModuleManager::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/module/moduleMergeDefinition.cpp b/Engine/source/module/moduleMergeDefinition.cpp index 9172636e5..ef09a978f 100644 --- a/Engine/source/module/moduleMergeDefinition.cpp +++ b/Engine/source/module/moduleMergeDefinition.cpp @@ -41,6 +41,7 @@ ModuleMergeDefinition::ModuleMergeDefinition() : void ModuleMergeDefinition::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/navigation/coverPoint.cpp b/Engine/source/navigation/coverPoint.cpp index 9db870f18..18ececcd7 100644 --- a/Engine/source/navigation/coverPoint.cpp +++ b/Engine/source/navigation/coverPoint.cpp @@ -71,6 +71,7 @@ CoverPoint::~CoverPoint() //----------------------------------------------------------------------------- void CoverPoint::initPersistFields() { + docsURL; addGroup("CoverPoint"); addField("size", TYPEID(), Offset(mSize, CoverPoint), diff --git a/Engine/source/navigation/guiNavEditorCtrl.cpp b/Engine/source/navigation/guiNavEditorCtrl.cpp index 1847fa60e..bf164bc4b 100644 --- a/Engine/source/navigation/guiNavEditorCtrl.cpp +++ b/Engine/source/navigation/guiNavEditorCtrl.cpp @@ -97,6 +97,7 @@ bool GuiNavEditorCtrl::onAdd() void GuiNavEditorCtrl::initPersistFields() { + docsURL; addField("isDirty", TypeBool, Offset(mIsDirty, GuiNavEditorCtrl)); addField("spawnClass", TypeRealString, Offset(mSpawnClass, GuiNavEditorCtrl), diff --git a/Engine/source/navigation/navMesh.cpp b/Engine/source/navigation/navMesh.cpp index ca5053b85..ee685904b 100644 --- a/Engine/source/navigation/navMesh.cpp +++ b/Engine/source/navigation/navMesh.cpp @@ -260,6 +260,7 @@ FRangeValidator CornerAngle(0.0f, 90.0f); void NavMesh::initPersistFields() { + docsURL; addGroup("NavMesh Options"); addField("fileName", TypeString, Offset(mFileName, NavMesh), diff --git a/Engine/source/navigation/navPath.cpp b/Engine/source/navigation/navPath.cpp index d19c26237..4d41fedb7 100644 --- a/Engine/source/navigation/navPath.cpp +++ b/Engine/source/navigation/navPath.cpp @@ -188,6 +188,7 @@ IRangeValidator ValidIterations(1, S32_MAX); void NavPath::initPersistFields() { + docsURL; addGroup("NavPath"); addProtectedField("from", TypePoint3F, Offset(mFrom, NavPath), diff --git a/Engine/source/persistence/taml/taml.cpp b/Engine/source/persistence/taml/taml.cpp index 5ea8778c4..74beffe24 100644 --- a/Engine/source/persistence/taml/taml.cpp +++ b/Engine/source/persistence/taml/taml.cpp @@ -159,6 +159,7 @@ ImplementEnumType(_TamlFormatMode, void Taml::initPersistFields() { + docsURL; // Call parent. Parent::initPersistFields(); diff --git a/Engine/source/platform/nativeDialogs/fileDialog.cpp b/Engine/source/platform/nativeDialogs/fileDialog.cpp index 12e664765..237e19de1 100644 --- a/Engine/source/platform/nativeDialogs/fileDialog.cpp +++ b/Engine/source/platform/nativeDialogs/fileDialog.cpp @@ -133,6 +133,7 @@ FileDialog::~FileDialog() void FileDialog::initPersistFields() { + docsURL; addProtectedField("defaultPath", TypeString, Offset(mData.mDefaultPath, FileDialog), &setDefaultPath, &defaultProtectedGetFn, "The default directory path when the dialog is shown."); @@ -581,6 +582,7 @@ IMPLEMENT_CONOBJECT(OpenFileDialog); //----------------------------------------------------------------------------- void OpenFileDialog::initPersistFields() { + docsURL; addProtectedField("MustExist", TypeBool, Offset(mMustExist, OpenFileDialog), &setMustExist, &getMustExist, "True/False whether the file returned must exist or not"); addProtectedField("MultipleFiles", TypeBool, Offset(mMultipleFiles, OpenFileDialog), &setMultipleFiles, &getMultipleFiles, "True/False whether multiple files may be selected and returned or not"); @@ -703,6 +705,7 @@ IMPLEMENT_CONOBJECT(SaveFileDialog); //----------------------------------------------------------------------------- void SaveFileDialog::initPersistFields() { + docsURL; addProtectedField("OverwritePrompt", TypeBool, Offset(mOverwritePrompt, SaveFileDialog), &setOverwritePrompt, &getOverwritePrompt, "True/False whether the dialog should prompt before accepting an existing file name"); Parent::initPersistFields(); @@ -761,6 +764,7 @@ ConsoleDocClass(OpenFolderDialog, void OpenFolderDialog::initPersistFields() { + docsURL; addField("fileMustExist", TypeFilename, Offset(mMustExistInDir, OpenFolderDialog), "File that must be in selected folder for it to be valid"); Parent::initPersistFields(); diff --git a/Engine/source/postFx/postEffect.cpp b/Engine/source/postFx/postEffect.cpp index 84d283bda..f5513f848 100644 --- a/Engine/source/postFx/postEffect.cpp +++ b/Engine/source/postFx/postEffect.cpp @@ -522,6 +522,7 @@ PostEffect::~PostEffect() void PostEffect::initPersistFields() { + docsURL; addField( "shader", TypeRealString, Offset( mShaderName, PostEffect ), "Name of a GFXShaderData for this effect." ); diff --git a/Engine/source/renderInstance/forcedMaterialMeshMgr.cpp b/Engine/source/renderInstance/forcedMaterialMeshMgr.cpp index bf50a8ecd..454c14a0c 100644 --- a/Engine/source/renderInstance/forcedMaterialMeshMgr.cpp +++ b/Engine/source/renderInstance/forcedMaterialMeshMgr.cpp @@ -63,6 +63,7 @@ ForcedMaterialMeshMgr::~ForcedMaterialMeshMgr() void ForcedMaterialMeshMgr::initPersistFields() { + docsURL; addProtectedField("material", TYPEID< Material >(), Offset(mOverrideMaterial, ForcedMaterialMeshMgr), &_setOverrideMat, &_getOverrideMat, "Material used to draw all meshes in the render bin."); diff --git a/Engine/source/renderInstance/renderBinManager.cpp b/Engine/source/renderInstance/renderBinManager.cpp index a9f979679..dc57687cd 100644 --- a/Engine/source/renderInstance/renderBinManager.cpp +++ b/Engine/source/renderInstance/renderBinManager.cpp @@ -52,6 +52,7 @@ ConsoleDocClass( RenderBinManager, void RenderBinManager::initPersistFields() { + docsURL; addField( "binType", TypeRealString, Offset(mRenderInstType.mName, RenderBinManager), "Sets the render bin type which limits what render instances are added to this bin." ); diff --git a/Engine/source/renderInstance/renderFormatChanger.cpp b/Engine/source/renderInstance/renderFormatChanger.cpp index 104bf5bd2..5e9fe6e31 100644 --- a/Engine/source/renderInstance/renderFormatChanger.cpp +++ b/Engine/source/renderInstance/renderFormatChanger.cpp @@ -320,6 +320,7 @@ bool RenderFormatToken::isEnabled() const void RenderFormatToken::initPersistFields() { + docsURL; addProtectedField("format", TypeGFXFormat, Offset(mColorFormat, RenderFormatToken), &_setFmt, &defaultProtectedGetFn, "Sets the color buffer format for this token."); diff --git a/Engine/source/renderInstance/renderImposterMgr.cpp b/Engine/source/renderInstance/renderImposterMgr.cpp index ab547e4fc..f7bafe816 100644 --- a/Engine/source/renderInstance/renderImposterMgr.cpp +++ b/Engine/source/renderInstance/renderImposterMgr.cpp @@ -75,6 +75,7 @@ RenderImposterMgr::RenderImposterMgr( F32 renderOrder, F32 processAddOrder ) void RenderImposterMgr::initPersistFields() { + docsURL; GFXDevice::getDeviceEventSignal().notify( &RenderImposterMgr::_clearStats ); Con::addVariable( "$ImposterStats::rendered", TypeS32, &smRendered, "@internal" ); diff --git a/Engine/source/renderInstance/renderMeshMgr.cpp b/Engine/source/renderInstance/renderMeshMgr.cpp index ddf1e4508..14de5b838 100644 --- a/Engine/source/renderInstance/renderMeshMgr.cpp +++ b/Engine/source/renderInstance/renderMeshMgr.cpp @@ -72,6 +72,7 @@ void RenderMeshMgr::init() void RenderMeshMgr::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/renderInstance/renderObjectMgr.cpp b/Engine/source/renderInstance/renderObjectMgr.cpp index 75b1e29a4..79bcb05a0 100644 --- a/Engine/source/renderInstance/renderObjectMgr.cpp +++ b/Engine/source/renderInstance/renderObjectMgr.cpp @@ -49,6 +49,7 @@ RenderObjectMgr::RenderObjectMgr(RenderInstType riType, F32 renderOrder, F32 pro void RenderObjectMgr::initPersistFields() { + docsURL; Parent::initPersistFields(); } @@ -78,4 +79,4 @@ void RenderObjectMgr::render( SceneRenderState *state ) if ( ri->renderDelegate ) ri->renderDelegate( ri, state, mOverrideMat ); } -} \ No newline at end of file +} diff --git a/Engine/source/renderInstance/renderOcclusionMgr.cpp b/Engine/source/renderInstance/renderOcclusionMgr.cpp index 32c61398d..7c1c95d89 100644 --- a/Engine/source/renderInstance/renderOcclusionMgr.cpp +++ b/Engine/source/renderInstance/renderOcclusionMgr.cpp @@ -160,6 +160,7 @@ void RenderOcclusionMgr::consoleInit() void RenderOcclusionMgr::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/renderInstance/renderPassManager.cpp b/Engine/source/renderInstance/renderPassManager.cpp index f21e6dfcc..5c88041c7 100644 --- a/Engine/source/renderInstance/renderPassManager.cpp +++ b/Engine/source/renderInstance/renderPassManager.cpp @@ -123,6 +123,7 @@ RenderPassManager::RenderBinEventSignal& RenderPassManager::getRenderBinSignal() void RenderPassManager::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/renderInstance/renderPassStateToken.cpp b/Engine/source/renderInstance/renderPassStateToken.cpp index c00b05cdf..6a355bd60 100644 --- a/Engine/source/renderInstance/renderPassStateToken.cpp +++ b/Engine/source/renderInstance/renderPassStateToken.cpp @@ -86,6 +86,7 @@ static const char *_get_enable(void* obj, const char* data) void RenderPassStateToken::initPersistFields() { + docsURL; addProtectedField("enabled", TypeBool, 0, &_set_enable, &_get_enable, "Enables or disables this token."); Parent::initPersistFields(); } @@ -136,6 +137,7 @@ void RenderPassStateBin::sort() void RenderPassStateBin::initPersistFields() { + docsURL; addProtectedField( "stateToken", TYPEID< RenderPassStateToken >(), Offset( mStateToken, RenderPassStateBin ), _setStateToken, _getStateToken, ""); diff --git a/Engine/source/renderInstance/renderProbeMgr.cpp b/Engine/source/renderInstance/renderProbeMgr.cpp index 557d10a29..7f8a3dc96 100644 --- a/Engine/source/renderInstance/renderProbeMgr.cpp +++ b/Engine/source/renderInstance/renderProbeMgr.cpp @@ -258,6 +258,7 @@ void RenderProbeMgr::onRemove() void RenderProbeMgr::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/renderInstance/renderTerrainMgr.cpp b/Engine/source/renderInstance/renderTerrainMgr.cpp index 58bbe5e71..9319619db 100644 --- a/Engine/source/renderInstance/renderTerrainMgr.cpp +++ b/Engine/source/renderInstance/renderTerrainMgr.cpp @@ -71,6 +71,7 @@ RenderTerrainMgr::~RenderTerrainMgr() void RenderTerrainMgr::initPersistFields() { + docsURL; Con::addVariable( "RenderTerrainMgr::renderWireframe", TypeBool, &smRenderWireframe, "Used to enable wireframe rendering on terrain for debugging.\n" "@ingroup RenderBin\n" ); diff --git a/Engine/source/renderInstance/renderTexTargetBinManager.cpp b/Engine/source/renderInstance/renderTexTargetBinManager.cpp index d1a7e1bc8..54befcec6 100644 --- a/Engine/source/renderInstance/renderTexTargetBinManager.cpp +++ b/Engine/source/renderInstance/renderTexTargetBinManager.cpp @@ -96,6 +96,7 @@ EndImplementEnumType; void RenderTexTargetBinManager::initPersistFields() { + docsURL; // TOM_TODO: //addField( "targetScale", mTargetScale ); //addPropertyNOPS( "targetSizeType", mTargetSizeType)->setEnumTable(gSizeTypeEnumTable); diff --git a/Engine/source/scene/reflector.cpp b/Engine/source/scene/reflector.cpp index 8b52f4b03..b9f19fe08 100644 --- a/Engine/source/scene/reflector.cpp +++ b/Engine/source/scene/reflector.cpp @@ -95,6 +95,7 @@ ReflectorDesc::~ReflectorDesc() void ReflectorDesc::initPersistFields() { + docsURL; addGroup( "ReflectorDesc" ); addField( "texSize", TypeS32, Offset( texSize, ReflectorDesc ), diff --git a/Engine/source/scene/sceneObject.cpp b/Engine/source/scene/sceneObject.cpp index 131a10e1e..ae448b5f8 100644 --- a/Engine/source/scene/sceneObject.cpp +++ b/Engine/source/scene/sceneObject.cpp @@ -633,6 +633,7 @@ void SceneObject::setHidden( bool hidden ) void SceneObject::initPersistFields() { + docsURL; //Disabled temporarily /*addGroup("GameObject"); addField("GameObject", TypeGameObjectAssetPtr, Offset(mGameObjectAsset, SceneObject), "The asset Id used for the game object this entity is based on."); diff --git a/Engine/source/scene/simPath.cpp b/Engine/source/scene/simPath.cpp index 2aa17cd09..b726caa8e 100644 --- a/Engine/source/scene/simPath.cpp +++ b/Engine/source/scene/simPath.cpp @@ -171,6 +171,7 @@ Path::~Path() //-------------------------------------------------------------------------- void Path::initPersistFields() { + docsURL; addField("isLooping", TypeBool, Offset(mIsLooping, Path), "If this is true, the loop is closed, otherwise it is open.\n"); addField("Speed", TypeF32, Offset(mPathSpeed, Path), "Speed.\n"); addProtectedField("mPathShape", TYPEID< PathShapeData >(), Offset(mDataBlock, Path), @@ -421,6 +422,7 @@ EndImplementEnumType; void Marker::initPersistFields() { + docsURL; addGroup( "Misc" ); addField("seqNum", TypeS32, Offset(mSeqNum, Marker), "Marker position in sequence of markers on this path.\n"); addField("hitCommand", TypeCommand, Offset(mHitCommand, Marker), "The command to execute when a path follower reaches this marker."); diff --git a/Engine/source/scene/zones/sceneSimpleZone.cpp b/Engine/source/scene/zones/sceneSimpleZone.cpp index 49f6d565c..4fd14470d 100644 --- a/Engine/source/scene/zones/sceneSimpleZone.cpp +++ b/Engine/source/scene/zones/sceneSimpleZone.cpp @@ -55,6 +55,7 @@ SceneSimpleZone::SceneSimpleZone() void SceneSimpleZone::initPersistFields() { + docsURL; addGroup( "Lighting" ); addProtectedField( "useAmbientLightColor", TypeBool, Offset( mUseAmbientLightColor, SceneSimpleZone ), diff --git a/Engine/source/scene/zones/sceneZoneSpace.cpp b/Engine/source/scene/zones/sceneZoneSpace.cpp index ffee4de2a..e417900a9 100644 --- a/Engine/source/scene/zones/sceneZoneSpace.cpp +++ b/Engine/source/scene/zones/sceneZoneSpace.cpp @@ -69,6 +69,7 @@ void SceneZoneSpace::onSceneRemove() void SceneZoneSpace::initPersistFields() { + docsURL; addGroup( "Zoning" ); addProtectedField( "zoneGroup", TypeS32, Offset( mZoneGroup, SceneZoneSpace ), diff --git a/Engine/source/sfx/sfxAmbience.cpp b/Engine/source/sfx/sfxAmbience.cpp index fa1d9ed5b..ade60dd92 100644 --- a/Engine/source/sfx/sfxAmbience.cpp +++ b/Engine/source/sfx/sfxAmbience.cpp @@ -95,6 +95,7 @@ SFXAmbience::SFXAmbience() void SFXAmbience::initPersistFields() { + docsURL; addGroup( "Sound" ); addField( "environment", TypeSFXEnvironmentName, Offset( mEnvironment, SFXAmbience ), diff --git a/Engine/source/sfx/sfxController.cpp b/Engine/source/sfx/sfxController.cpp index 4946280ff..0de38ad39 100644 --- a/Engine/source/sfx/sfxController.cpp +++ b/Engine/source/sfx/sfxController.cpp @@ -95,6 +95,7 @@ SFXController::~SFXController() void SFXController::initPersistFields() { + docsURL; addGroup( "Debug" ); addField( "trace", TypeBool, Offset( mTrace, SFXController ), "If true, the controller logs its operation to the console.\n" diff --git a/Engine/source/sfx/sfxEnvironment.cpp b/Engine/source/sfx/sfxEnvironment.cpp index 780821719..a63ef5266 100644 --- a/Engine/source/sfx/sfxEnvironment.cpp +++ b/Engine/source/sfx/sfxEnvironment.cpp @@ -142,6 +142,7 @@ SFXEnvironment::SFXEnvironment() void SFXEnvironment::initPersistFields() { + docsURL; addGroup( "Reverb" ); addField("reverbDensity", TypeF32, Offset(mReverb.flDensity, SFXEnvironment), diff --git a/Engine/source/sfx/sfxParameter.cpp b/Engine/source/sfx/sfxParameter.cpp index 2ed4c3ac2..9386cbe79 100644 --- a/Engine/source/sfx/sfxParameter.cpp +++ b/Engine/source/sfx/sfxParameter.cpp @@ -119,6 +119,7 @@ SFXParameter::~SFXParameter() void SFXParameter::initPersistFields() { + docsURL; addGroup( "Sound" ); addProtectedField( "value", TypeF32, Offset( mValue, SFXParameter ), diff --git a/Engine/source/sfx/sfxPlayList.cpp b/Engine/source/sfx/sfxPlayList.cpp index e0da33835..4cc6a56e3 100644 --- a/Engine/source/sfx/sfxPlayList.cpp +++ b/Engine/source/sfx/sfxPlayList.cpp @@ -228,6 +228,7 @@ SFXPlayList::SFXPlayList() void SFXPlayList::initPersistFields() { + docsURL; addGroup( "Sound" ); addField( "random", TYPEID< ERandomMode >(), Offset( mRandomMode, SFXPlayList ), diff --git a/Engine/source/sfx/sfxProfile.cpp b/Engine/source/sfx/sfxProfile.cpp index 92c79e9e0..37a55053b 100644 --- a/Engine/source/sfx/sfxProfile.cpp +++ b/Engine/source/sfx/sfxProfile.cpp @@ -103,6 +103,7 @@ SFXProfile::SFXProfile( SFXDescription* desc, const String& filename, bool prelo void SFXProfile::initPersistFields() { + docsURL; addGroup( "Sound" ); addField( "filename", TypeStringFilename, Offset( mFilename, SFXProfile ), diff --git a/Engine/source/sfx/sfxSource.cpp b/Engine/source/sfx/sfxSource.cpp index ac8fd6d19..51e09d795 100644 --- a/Engine/source/sfx/sfxSource.cpp +++ b/Engine/source/sfx/sfxSource.cpp @@ -297,6 +297,7 @@ SFXSource::~SFXSource() void SFXSource::initPersistFields() { + docsURL; addGroup( "Sound" ); addProtectedField( "description", TypeSFXDescriptionName, Offset( mDescription, SFXSource ), diff --git a/Engine/source/sfx/sfxState.cpp b/Engine/source/sfx/sfxState.cpp index 555f03511..ea4e0716b 100644 --- a/Engine/source/sfx/sfxState.cpp +++ b/Engine/source/sfx/sfxState.cpp @@ -114,6 +114,7 @@ SFXState::SFXState() void SFXState::initPersistFields() { + docsURL; addGroup( "State" ); addField( "includedStates", TypeSFXStateName, Offset( mIncludedStates, SFXState ), diff --git a/Engine/source/sfx/sfxTrack.cpp b/Engine/source/sfx/sfxTrack.cpp index 6b395fe91..c7b8cac93 100644 --- a/Engine/source/sfx/sfxTrack.cpp +++ b/Engine/source/sfx/sfxTrack.cpp @@ -78,6 +78,7 @@ SFXTrack::SFXTrack(const SFXTrack& other, bool temp_clone) : SimDataBlock(other, void SFXTrack::initPersistFields() { + docsURL; addGroup( "Sound" ); addField( "description", TypeSFXDescriptionName, Offset( mDescription, SFXTrack ), diff --git a/Engine/source/shaderGen/customShaderFeature.cpp b/Engine/source/shaderGen/customShaderFeature.cpp index 25e2975b0..89869f691 100644 --- a/Engine/source/shaderGen/customShaderFeature.cpp +++ b/Engine/source/shaderGen/customShaderFeature.cpp @@ -69,6 +69,7 @@ CustomShaderFeatureData::~CustomShaderFeatureData() //----------------------------------------------------------------------------- void CustomShaderFeatureData::initPersistFields() { + docsURL; // SceneObject already handles exposing the transform Parent::initPersistFields(); } diff --git a/Engine/source/sim/netObject.cpp b/Engine/source/sim/netObject.cpp index 0a33379ec..2ed8f3d79 100644 --- a/Engine/source/sim/netObject.cpp +++ b/Engine/source/sim/netObject.cpp @@ -366,6 +366,7 @@ void NetObject::onCameraScopeQuery(NetConnection *cr, CameraScopeQuery* /*camInf void NetObject::initPersistFields() { + docsURL; Parent::initPersistFields(); } diff --git a/Engine/source/terrain/terrData.cpp b/Engine/source/terrain/terrData.cpp index 954ee6cac..b529ccb0b 100644 --- a/Engine/source/terrain/terrData.cpp +++ b/Engine/source/terrain/terrData.cpp @@ -1272,6 +1272,7 @@ void TerrainBlock::setScale( const VectorF &scale ) void TerrainBlock::initPersistFields() { + docsURL; addGroup( "Media" ); addProtectedField("terrainAsset", TypeTerrainAssetId, Offset(mTerrainAssetId, TerrainBlock), diff --git a/Engine/source/terrain/terrMaterial.cpp b/Engine/source/terrain/terrMaterial.cpp index f2558e4ec..bcc5b812f 100644 --- a/Engine/source/terrain/terrMaterial.cpp +++ b/Engine/source/terrain/terrMaterial.cpp @@ -92,6 +92,7 @@ TerrainMaterial::~TerrainMaterial() void TerrainMaterial::initPersistFields() { + docsURL; INITPERSISTFIELD_IMAGEASSET(DiffuseMap, TerrainMaterial,"Base Albedo stretched over the whole map"); addField( "diffuseSize", TypeF32, Offset( mDiffuseSize, TerrainMaterial ), "Used to scale the diffuse map to the material square" ); diff --git a/Engine/source/ts/tsShapeConstruct.cpp b/Engine/source/ts/tsShapeConstruct.cpp index 1a1e60da3..60d0752bd 100644 --- a/Engine/source/ts/tsShapeConstruct.cpp +++ b/Engine/source/ts/tsShapeConstruct.cpp @@ -202,6 +202,7 @@ bool TSShapeConstructor::addSequenceFromField(void* obj, const char* index, cons void TSShapeConstructor::initPersistFields() { + docsURL; addGroup("Media"); addField("baseShapeAsset", TypeShapeAssetId, Offset(mShapeAssetId, TSShapeConstructor), "Specifies the path to the DTS or DAE file to be operated on by this object.\n" diff --git a/Engine/source/util/messaging/messageForwarder.cpp b/Engine/source/util/messaging/messageForwarder.cpp index 0b4bf8fbd..14b06ac61 100644 --- a/Engine/source/util/messaging/messageForwarder.cpp +++ b/Engine/source/util/messaging/messageForwarder.cpp @@ -64,6 +64,7 @@ ConsoleDocClass( MessageForwarder, void MessageForwarder::initPersistFields() { + docsURL; addField("toQueue", TypeCaseString, Offset(mToQueue, MessageForwarder), "Name of queue to forward to"); Parent::initPersistFields(); diff --git a/Engine/source/util/undo.cpp b/Engine/source/util/undo.cpp index 3276e1875..39a8bb631 100644 --- a/Engine/source/util/undo.cpp +++ b/Engine/source/util/undo.cpp @@ -62,6 +62,7 @@ UndoAction::~UndoAction() //----------------------------------------------------------------------------- void UndoAction::initPersistFields() { + docsURL; addField("actionName", TypeRealString, Offset(mActionName, UndoAction), "A brief description of the action, for UI representation of this undo/redo action."); @@ -185,6 +186,7 @@ UndoManager::~UndoManager() //----------------------------------------------------------------------------- void UndoManager::initPersistFields() { + docsURL; addField("numLevels", TypeS32, Offset(mNumLevels, UndoManager), "Number of undo & redo levels."); // arrange for the default undo manager to exist. // UndoManager &def = getDefaultManager(); From 1b33b01eb1fbafdb594182f887d5951907e1a5f6 Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Sat, 28 Jan 2023 16:12:05 -0600 Subject: [PATCH 6/7] add "docsURL" filter to assignFieldsFrom to prevent it from triggering opening web pages when inheriting values --- Engine/source/T3D/fx/particle.cpp | 1 + Engine/source/T3D/fx/particleEmitter.cpp | 1 + Engine/source/T3D/item.cpp | 1 + Engine/source/T3D/player.cpp | 1 + Engine/source/T3D/shapeBase.cpp | 1 + Engine/source/T3D/trigger.cpp | 1 + Engine/source/T3D/turret/aiTurretShape.cpp | 1 + Engine/source/T3D/turret/turretShape.cpp | 1 + Engine/source/afx/ce/afxParticleEmitter.cpp | 1 + Engine/source/console/consoleObject.cpp | 1 + Engine/source/console/simObject.cpp | 4 ++++ Engine/source/gfx/sim/gfxStateBlockData.cpp | 1 + Engine/source/gui/core/guiTypes.cpp | 1 + Engine/source/materials/shaderData.cpp | 1 + Engine/source/sfx/sfxDescription.cpp | 1 + 15 files changed, 18 insertions(+) diff --git a/Engine/source/T3D/fx/particle.cpp b/Engine/source/T3D/fx/particle.cpp index f1ed926fd..0826e22be 100644 --- a/Engine/source/T3D/fx/particle.cpp +++ b/Engine/source/T3D/fx/particle.cpp @@ -147,6 +147,7 @@ FRangeValidator spinRandFValidator(-1000.f, 1000.f); //----------------------------------------------------------------------------- void ParticleData::initPersistFields() { + docsURL; addFieldV( "dragCoefficient", TYPEID< F32 >(), Offset(dragCoefficient, ParticleData), &dragCoefFValidator, "Particle physics drag amount." ); addField( "windCoefficient", TYPEID< F32 >(), Offset(windCoefficient, ParticleData), diff --git a/Engine/source/T3D/fx/particleEmitter.cpp b/Engine/source/T3D/fx/particleEmitter.cpp index 9a600a094..a512e893c 100644 --- a/Engine/source/T3D/fx/particleEmitter.cpp +++ b/Engine/source/T3D/fx/particleEmitter.cpp @@ -207,6 +207,7 @@ FRangeValidator phiFValidator(0.f, 360.f); //----------------------------------------------------------------------------- void ParticleEmitterData::initPersistFields() { + docsURL; addGroup( "ParticleEmitterData" ); addFieldV("ejectionPeriodMS", TYPEID< S32 >(), Offset(ejectionPeriodMS, ParticleEmitterData), &ejectPeriodIValidator, diff --git a/Engine/source/T3D/item.cpp b/Engine/source/T3D/item.cpp index 9466a62d8..605275b2d 100644 --- a/Engine/source/T3D/item.cpp +++ b/Engine/source/T3D/item.cpp @@ -137,6 +137,7 @@ EndImplementEnumType; void ItemData::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup("Physics"); addField("friction", TypeF32, Offset(friction, ItemData), "A floating-point value specifying how much velocity is lost to impact and sliding friction."); diff --git a/Engine/source/T3D/player.cpp b/Engine/source/T3D/player.cpp index 0a50cc4ab..7d5c4be99 100644 --- a/Engine/source/T3D/player.cpp +++ b/Engine/source/T3D/player.cpp @@ -704,6 +704,7 @@ bool PlayerData::isJumpAction(U32 action) void PlayerData::initPersistFields() { + docsURL; Parent::initPersistFields(); addField( "pickupRadius", TypeF32, Offset(pickupRadius, PlayerData), diff --git a/Engine/source/T3D/shapeBase.cpp b/Engine/source/T3D/shapeBase.cpp index c3437cb09..f23f38a91 100644 --- a/Engine/source/T3D/shapeBase.cpp +++ b/Engine/source/T3D/shapeBase.cpp @@ -534,6 +534,7 @@ bool ShapeBaseData::_setMass( void* object, const char* index, const char* data void ShapeBaseData::initPersistFields() { + docsURL; addGroup( "Shapes" ); INITPERSISTFIELD_SHAPEASSET(Shape, ShapeBaseData, "The source shape asset."); addField("computeCRC", TypeBool, Offset(computeCRC, ShapeBaseData), diff --git a/Engine/source/T3D/trigger.cpp b/Engine/source/T3D/trigger.cpp index 7021d66af..4bde2c683 100644 --- a/Engine/source/T3D/trigger.cpp +++ b/Engine/source/T3D/trigger.cpp @@ -98,6 +98,7 @@ bool TriggerData::onAdd() void TriggerData::initPersistFields() { + docsURL; addGroup("Callbacks"); addField( "tickPeriodMS", TypeS32, Offset( tickPeriodMS, TriggerData ), diff --git a/Engine/source/T3D/turret/aiTurretShape.cpp b/Engine/source/T3D/turret/aiTurretShape.cpp index 0c39fb77f..dd54807a6 100644 --- a/Engine/source/T3D/turret/aiTurretShape.cpp +++ b/Engine/source/T3D/turret/aiTurretShape.cpp @@ -124,6 +124,7 @@ AITurretShapeData::AITurretShapeData() void AITurretShapeData::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup("AI Steering"); addField("maxScanHeading", TypeF32, Offset(maxScanHeading, AITurretShapeData), diff --git a/Engine/source/T3D/turret/turretShape.cpp b/Engine/source/T3D/turret/turretShape.cpp index 2032810ff..52cd198e6 100644 --- a/Engine/source/T3D/turret/turretShape.cpp +++ b/Engine/source/T3D/turret/turretShape.cpp @@ -131,6 +131,7 @@ TurretShapeData::TurretShapeData() void TurretShapeData::initPersistFields() { + docsURL; Parent::initPersistFields(); addGroup("Steering"); addField("zRotOnly", TypeBool, Offset(zRotOnly, TurretShapeData), diff --git a/Engine/source/afx/ce/afxParticleEmitter.cpp b/Engine/source/afx/ce/afxParticleEmitter.cpp index cb6023b96..afb4488cd 100644 --- a/Engine/source/afx/ce/afxParticleEmitter.cpp +++ b/Engine/source/afx/ce/afxParticleEmitter.cpp @@ -70,6 +70,7 @@ afxParticleEmitterData::afxParticleEmitterData(const afxParticleEmitterData& oth void afxParticleEmitterData::initPersistFields() { + docsURL; addField("fadeVelocity", TypeBool, Offset(fade_velocity, afxParticleEmitterData), "If true, the initial velocity of emitted particles is multiplied by the fade amount " "of the containing effect wrapper. As the effect fades-in and out, so does the " diff --git a/Engine/source/console/consoleObject.cpp b/Engine/source/console/consoleObject.cpp index c4b44c71f..96ea82c2f 100644 --- a/Engine/source/console/consoleObject.cpp +++ b/Engine/source/console/consoleObject.cpp @@ -681,6 +681,7 @@ bool ConsoleObject::removeField(const char* in_pFieldname) //-------------------------------------- void ConsoleObject::initPersistFields() { + docsURL; } //-------------------------------------- diff --git a/Engine/source/console/simObject.cpp b/Engine/source/console/simObject.cpp index e84177f2c..42f2f5c07 100644 --- a/Engine/source/console/simObject.cpp +++ b/Engine/source/console/simObject.cpp @@ -152,6 +152,7 @@ bool SimObject::processArguments(S32 argc, ConsoleValue *argv) void SimObject::initPersistFields() { + docsURL; addGroup( "Ungrouped" ); addProtectedField( "name", TypeName, Offset(mObjectName, SimObject), &setProtectedName, &defaultProtectedGetFn, @@ -913,6 +914,9 @@ void SimObject::assignFieldsFrom(SimObject *parent) { const AbstractClassRep::Field* f = &list[i]; + if (f->pFieldname == StringTable->insert("docsURL")) + continue; + // Skip the special field types. if ( f->type >= AbstractClassRep::ARCFirstCustomField ) continue; diff --git a/Engine/source/gfx/sim/gfxStateBlockData.cpp b/Engine/source/gfx/sim/gfxStateBlockData.cpp index ca9937c4b..9b015559d 100644 --- a/Engine/source/gfx/sim/gfxStateBlockData.cpp +++ b/Engine/source/gfx/sim/gfxStateBlockData.cpp @@ -65,6 +65,7 @@ GFXStateBlockData::GFXStateBlockData() void GFXStateBlockData::initPersistFields() { + docsURL; addGroup( "Alpha Blending" ); addField( "blendDefined", TypeBool, Offset(mState.blendDefined, GFXStateBlockData), diff --git a/Engine/source/gui/core/guiTypes.cpp b/Engine/source/gui/core/guiTypes.cpp index 65d8ddfc0..4bbb3d8d0 100644 --- a/Engine/source/gui/core/guiTypes.cpp +++ b/Engine/source/gui/core/guiTypes.cpp @@ -350,6 +350,7 @@ GuiControlProfile::~GuiControlProfile() void GuiControlProfile::initPersistFields() { + docsURL; addGroup( "Behavior" ); addField( "tab", TypeBool, Offset(mTabable, GuiControlProfile)); diff --git a/Engine/source/materials/shaderData.cpp b/Engine/source/materials/shaderData.cpp index d8f4befaf..8d8e8d103 100644 --- a/Engine/source/materials/shaderData.cpp +++ b/Engine/source/materials/shaderData.cpp @@ -71,6 +71,7 @@ ShaderData::ShaderData() void ShaderData::initPersistFields() { + docsURL; addField("DXVertexShaderFile", TypeStringFilename, Offset(mDXVertexShaderName, ShaderData), "@brief %Path to the DirectX vertex shader file to use for this ShaderData.\n\n" "It must contain only one program and no pixel shader, just the vertex shader." diff --git a/Engine/source/sfx/sfxDescription.cpp b/Engine/source/sfx/sfxDescription.cpp index 8cd93b6b2..09e08be5c 100644 --- a/Engine/source/sfx/sfxDescription.cpp +++ b/Engine/source/sfx/sfxDescription.cpp @@ -213,6 +213,7 @@ SFXDescription::SFXDescription(const SFXDescription& other, bool temp_clone) void SFXDescription::initPersistFields() { + docsURL; addGroup( "Playback" ); addField( "sourceGroup", TypeSFXSourceName, Offset( mSourceGroup, SFXDescription ), From 0d35016795f564343776fe78674d7819608f085c Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Sat, 28 Jan 2023 16:15:59 -0600 Subject: [PATCH 7/7] fix needing to doubleclick to bring up a docs link --- Engine/source/console/consoleFunctions.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Engine/source/console/consoleFunctions.cpp b/Engine/source/console/consoleFunctions.cpp index 2d8933fe2..7ec077950 100644 --- a/Engine/source/console/consoleFunctions.cpp +++ b/Engine/source/console/consoleFunctions.cpp @@ -2896,7 +2896,7 @@ const char* getDocsLink(const char* filename, U32 lineNumber) bool getDocsURL(void* obj, const char* array, const char* data) { ConsoleObject* cObj = static_cast(obj); - if (cObj->mDocsClick) + //if (cObj->mDocsClick) { String docpage = String(cObj->findField(StringTable->insert("docsURL"))->pFieldDocs); @@ -2906,7 +2906,7 @@ bool getDocsURL(void* obj, const char* array, const char* data) Con::errorf("%s", docpage.c_str()); gotoWebPage(docpage.c_str()); } - cObj->mDocsClick = !cObj->mDocsClick; + //cObj->mDocsClick = !cObj->mDocsClick; return false; }