Esempio n. 1
0
void fxGetFallingStuffProps(CFastList<FX_PROP> *pList)
{
    FX_PROP fxProp;
    float fVec[3];
    fVec[0] = 0.0f;
    fVec[1] = 1.0f;
    fVec[2] = 0.0f;

    // Add the base props

    AddBaseProps(pList);

    // Add all the props to the list

    fxProp.Combo("Interpolate", "0,Yes,No");
    pList->AddTail(fxProp);

    fxProp.Path("Sprite", "spr|...");
    pList->AddTail(fxProp);

    fxProp.Int("StuffPerEmission", 5);
    pList->AddTail(fxProp);

    fxProp.Float("EmissionInterval", 0.01f);
    pList->AddTail(fxProp);

    fxProp.Float("StuffLifespan", 2.0f);
    pList->AddTail(fxProp);

    fxProp.Float("Radius", 10.0f);
    pList->AddTail(fxProp);

    fxProp.Vector("PlaneDir", fVec);
    pList->AddTail(fxProp);

    fxProp.Float("Velocity", 10.0f);
    pList->AddTail(fxProp);

    fxProp.Float("Stretch", 10.0f);
    pList->AddTail(fxProp);

    fxProp.Path("ImpactSprite", "spr|...");
    pList->AddTail(fxProp);

    fxProp.Float("ImpactLifespan", 1.0f);
    pList->AddTail(fxProp);

    fxProp.Float("ImpactScale1", 1.0f);
    pList->AddTail(fxProp);

    fxProp.Float("ImpactScale2", 1.0f);
    pList->AddTail(fxProp);

    fxProp.Int("ImpactCreate", 20);
    pList->AddTail(fxProp);

    fxProp.Combo("ImpactPerturb", "0,None,Sine,Pendulum");
    pList->AddTail(fxProp);
}
Esempio n. 2
0
void fxGetDynaLightProps(CFastList<CEffectPropertyDesc> *pList)
{
	CEffectPropertyDesc fxProp;

	// Add the base props

	AddBaseProps(pList);

	fxProp.SetupTextLine("Light Parameters");
	pList->AddTail(fxProp);

	fxProp.SetupEnum("LightLOD", "Low", "Low,Medium,High,Never", eCurve_None, "Specifies at which LOD levels this light will be rendered");
	pList->AddTail(fxProp);

	fxProp.SetupEnum("WorldShadowsLOD", "Low", "Low,Medium,High,Never", eCurve_None, "Specifies at which LOD levels this light will cast shadows from the world");
	pList->AddTail(fxProp);

	fxProp.SetupEnum("ObjectShadowsLOD", "Low", "Low,Medium,High,Never", eCurve_None, "Specifies at which LOD levels this light will cast shadows from objects it touches");
	pList->AddTail(fxProp);

	fxProp.SetupEnum( "InSky", SKY_PROP_DEFAULT, SKY_PROP_ENUM, eCurve_None, SKY_PROP_DESCRIPTION);
	pList->AddTail( fxProp );

	fxProp.SetupEnum("Type", "Point", "Point,PointFill,Spot,Cubic,BlackLight", eCurve_Step, "The type of light this light will be");
	pList->AddTail(fxProp);

	fxProp.SetupFloatMin("Radius", 100.0f, 0.0f, eCurve_Linear, "The radius of the light (Point,Spot,Cubic)");
	pList->AddTail(fxProp);

	fxProp.SetupPath("Texture", "", "Texture Files (*.dds)|*.dds|Texture Animation Files (*."RESEXT_TEXTUREANIM")|*."RESEXT_TEXTUREANIM"|All Files (*.*)|*.*||", eCurve_None, "The texture associated with this light (Ambient,Spot,Cubic)");
	pList->AddTail(fxProp);

	fxProp.SetupFloatMinMax("Intensity", 1.0f, 0.0f, 2.0f, eCurve_Linear, "The intensity of this light 0-1 (All)");
	pList->AddTail(fxProp);

	fxProp.SetupFloatMinMax("FlickerScale", 1.0f, 0.0f, 1.0f, eCurve_Linear, "The amount to randomly flicker the intensity by (All)");
	pList->AddTail(fxProp);

	fxProp.SetupTextLine("Color Parameters");
	pList->AddTail(fxProp);

	fxProp.SetupColor("Color", SETRGBA(0xFF, 0xFF, 0xFF, 0xFF), eCurve_Linear, "The color of the light (All)");
	pList->AddTail(fxProp);

	fxProp.SetupColor("TranslucentColor", SETRGBA(0xFF, 0xFF, 0xFF, 0xFF), eCurve_Linear, "The color that best fits the associated texture, modulates light color for translucent approximation (All)");
	pList->AddTail(fxProp);

	fxProp.SetupColor("SpecularColor", SETRGBA(0xFF, 0xFF, 0xFF, 0xFF), eCurve_Linear, "The specular color of the light. Modulates the base color (All)");
	pList->AddTail(fxProp);

	fxProp.SetupTextLine("Spotlight Parameters");
	pList->AddTail(fxProp);

	fxProp.SetupFloatMinMax("FovX", 45.0f, 0.0f, 170.0f, eCurve_Linear, "The field of view for a spotlight (Spot)");
	pList->AddTail(fxProp);

	fxProp.SetupFloatMinMax("FovY", 45.0f, 0.0f, 170.0f, eCurve_Linear, "The field of view for a spotlight (Spot)");
	pList->AddTail(fxProp);
}
Esempio n. 3
0
//------------------------------------------------------------------
//
//   FUNCTION : fxGetSpriteFXProps()
//
//   PURPOSE  : Returns a list of properties for this FX
//
//------------------------------------------------------------------
void fxGetBaseSpriteProps(CFastList<CEffectPropertyDesc> *pList)
{
	CEffectPropertyDesc fxProp;

	// Add the base props
	AddBaseProps(pList);

	// Add all the props to the list

	//-------------------------------------------
	fxProp.SetupTextLine("Sprite Alignment");
	pList->AddTail(fxProp);

	fxProp.SetupEnumBool( "AlignToCamera", true, eCurve_None, "Determines if the sprite should always face the camera");
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "AlignAroundZ", false, eCurve_None, "Determines if the sprite should always be oriented around the forward axis of the object. By doing so it will also be anchored on the middle right hand side. This is ignored if AlignToCamera is enabled.");
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "RandomRotation", false, eCurve_None, "Determines if the starting rotation for the sprite should be randomly selected. This only applies to camera aligned sprites.");
	pList->AddTail( fxProp );

	fxProp.SetupFloat( "RotationalVel", 0.0f, eCurve_None, "Specifies the rotational speed of the sprite in degrees per second. This only applies to camera aligned sprites.");
	pList->AddTail( fxProp );

	fxProp.SetupFloat( "ToCameraOffset", 0.0f, eCurve_None, "This specifies a distance that the sprite will be moved towards the camera, often useful for biasing sprites to avoid clipping. This only applies to camera aligned sprites.");
	pList->AddTail( fxProp );

	//-------------------------------------------
	fxProp.SetupTextLine("Sprite Rendering");
	pList->AddTail(fxProp);

	fxProp.SetupPath( "Material", "", "Material Files (*." RESEXT_MATERIAL ")|*." RESEXT_MATERIAL "|All Files (*.*)|*.*||", eCurve_None, "Determines the material that will be used when rendering the sprite");
	pList->AddTail(fxProp);

	fxProp.SetupFloatMin( "AspectWidth", 1.0f, 0.0f, eCurve_None, "Specifies the width of the texture to use for aspect ratio determination" );
	pList->AddTail( fxProp );

	fxProp.SetupFloatMin( "AspectHeight", 1.0f, 0.0f, eCurve_None, "Specifies the height of the texture to use for aspect ratio determination" );
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "Solid", false, eCurve_None, "Determines if the sprite should be considered solid or translucent");
	pList->AddTail( fxProp );	

	fxProp.SetupEnumBool( "TranslucentLight", true, eCurve_None, "For translucent objects, this determines if lighting should be approximated or if it should be fullbright" );
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "TwoSided", false, eCurve_None, "Determines if the sprite should have both a front and a back side. Should only be used when the back side of the sprite can be seen.");
	pList->AddTail( fxProp );	

	fxProp.SetupEnum( "InSky", SKY_PROP_DEFAULT, SKY_PROP_ENUM, eCurve_None, SKY_PROP_DESCRIPTION);
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "PlayerView", false, eCurve_None, "Determines if the sprite should be rendered in the player view, which means that it should have its Z values adjusted to not be clipped into nearby walls");
	pList->AddTail( fxProp );	
}
Esempio n. 4
0
void fxGetDynaLightProps(CFastList<FX_PROP> *pList)
{
	FX_PROP fxProp;

	// Add the base props

	AddBaseProps(pList);

	fxProp.Int("Flicker", 0);
	pList->AddTail(fxProp);

	fxProp.Combo( "ForceLightWorld", "0, No, Yes" );
	pList->AddTail( fxProp );
}
Esempio n. 5
0
void fxGetPolyTubeProps(CFastList<FX_PROP> *pList)
{
	FX_PROP fxProp;
	
	// Add the base props

	AddBaseProps(pList);

	// Add the class props

	fxProp.Path("Texture", "dtx|...");
	pList->AddTail(fxProp);

	fxProp.Float("TrailWidth", 20.0f);
	pList->AddTail(fxProp);

	fxProp.Combo("WidthStyle", "0,Constant,SmallToBig,SmallToSmall,BigToSmall" );
	pList->AddTail( fxProp );
	
	fxProp.Int("TrailLen", 50);
	pList->AddTail(fxProp);

	fxProp.Float("SectionLifespan", 1.0f);
	pList->AddTail(fxProp);

	fxProp.Float("UAdd", 0.0f);
	pList->AddTail(fxProp);

	fxProp.Float("SectionInterval", 0.1f);
	pList->AddTail(fxProp);

	fxProp.Combo("BlendMode", "0,None,Add,Saturate,ModSrcAlpha,ModSrcColor,ModDstColor,MulSrcColDstCol,MulSrcAlphaOne,MulSrcAlpha,MulSrcColOne,MulDstColZero" );
	pList->AddTail( fxProp );

	fxProp.Combo( "AlphaTest", "0,None,Less,LessOrEqual,Greater,GreaterOrEqual,Equal,NotEqual" );
	pList->AddTail( fxProp );

	fxProp.Combo( "ColorOp", "0,NoTexture,Modulate,Additive,NoColor" );
	pList->AddTail( fxProp );

	fxProp.Combo( "FillMode", "1,WireFrame,Fill" );
	pList->AddTail( fxProp );

	fxProp.Combo( "Allignment", "0,Camera,Up,Right,Forward" );
	pList->AddTail( fxProp );
}
Esempio n. 6
0
void fxGetLTBBouncyChunkProps(CFastList<FX_PROP> *pList)
{
	FX_PROP fxProp;

	float fVec[3];
	fVec[0] = 0.0f;
	fVec[1] = 1.0f;
	fVec[2] = 0.0f;

	// Add the base props

	AddBaseProps(pList);

	// Add all the props to the list

	fxProp.Path("Model", "ltb|...");
	pList->AddTail(fxProp);

	fxProp.Path("Skin", "dtx|...");
	pList->AddTail(fxProp);

	fxProp.Vector("ChunkDir", fVec);
	pList->AddTail(fxProp);

	fxProp.Float("ChunkSpeed", 40.0f);
	pList->AddTail(fxProp);

	fxProp.Float("ChunkSpread", 40.0f);
	pList->AddTail(fxProp);

	fVec[0] = 0.0f;
	fVec[1] = -1.0f;
	fVec[2] = 0.0f;

	fxProp.Vector("Gravity", fVec);
	pList->AddTail(fxProp);

	fxProp.Float("Amount", 10.0f);
	pList->AddTail(fxProp);

	fxProp.Path("ChunkSound", "wav|...");
	pList->AddTail(fxProp);
}
Esempio n. 7
0
void fxGetPolyFanProps(CFastList<FX_PROP> *pList)
{
	FX_PROP fxProp;
	float vTmp[3];
	vTmp[0] = 0.0f;
	vTmp[1] = 0.0f;
	vTmp[2] = 1.0f;

	// Add the base props

	AddBaseProps(pList);

	// Add all the props to the list

	fxProp.Path("Texture", "dtx|...");
	pList->AddTail(fxProp);

	fxProp.Combo("2nd Node","0,LeftHand,RightHand,LeftFoot,RightFoot,Head,Tail,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10");
	pList->AddTail(fxProp);	
}
Esempio n. 8
0
void fxGetCamWobbleProps(CFastList<FX_PROP> *pList)
{
	FX_PROP fxProp;

	// Add the base props

	AddBaseProps(pList);

	fxProp.Float("xMultiplier", 0.05f);
	pList->AddTail(fxProp);

	fxProp.Float("yMultiplier", 0.05f);
	pList->AddTail(fxProp);

	fxProp.Float("Reps", 5.0f);
	pList->AddTail(fxProp);

	fxProp.Float( "InnerRadius", 500.0f );
	pList->AddTail( fxProp );

	fxProp.Float( "OuterRadius", 600.0f );
	pList->AddTail( fxProp );
}
Esempio n. 9
0
void fxGetParticleSystemProps( CFastList<CEffectPropertyDesc> *pList )
{
	CEffectPropertyDesc	fxProp;

	LTVector vY(0, 1.0f, 0);
	LTVector vZero(0, 0, 0);

	// Add the generic "every effect has these" props
	AddBaseProps( pList );

	// Add specific Particle System Props
	
	//------------------------------------------------------------
	fxProp.SetupTextLine("System Rendering");
	pList->AddTail(fxProp);

	fxProp.SetupPath( "Material", "", "Material Files (*." RESEXT_MATERIAL ")|*." RESEXT_MATERIAL "|All Files (*.*)|*.*||", eCurve_None, "The material to use when rendering the particles. This material should be rigid, and if the alpha of the particle is not 1, should also be translucent." );
	pList->AddTail( fxProp );

	fxProp.SetupIntMinMax( "NumImages", 1, 1, CParticleSystemProps::knMaxParticleImages, eCurve_None, "The number of images contained within the textures used by the particle. These must be laid out in a horizontal strip, with each image occupying the same width." );
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "Solid", false, eCurve_None, "Determines if this particle system should be treated as opaque or translucent" );
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "TranslucentLight", true, eCurve_None, "For translucent objects, this determines if lighting should be approximated or if it should be fullbright" );
	pList->AddTail( fxProp );

	//------------------------------------------------------------
	fxProp.SetupTextLine("System Behavior");
	pList->AddTail(fxProp);

	fxProp.SetupEnumBool( "PlayerView", false, eCurve_None, "Determines if the sprite should be rendered in the player view, which means that it should have its Z values adjusted to not be clipped into nearby walls");
	pList->AddTail( fxProp );	

	fxProp.SetupEnum( "InSky", SKY_PROP_DEFAULT, SKY_PROP_ENUM, eCurve_None, SKY_PROP_DESCRIPTION);
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "MoveParticlesWithSystem", false, eCurve_None, "If this is enabled, the particles will move along with the emitter. This will cause the particle positions, velocity, and additional acceleration to all be specified in object space." );
	pList->AddTail( fxProp );

	fxProp.SetupFloatMin( "GroupCreationInterval", 0.0f, 0.0f, eCurve_None, "This indicates the amount of time that will elapse before a new group is created for the particles to be placed within. This should be set to zero to disable creation of multiple groups");
	pList->AddTail( fxProp );

	//------------------------------------------------------------
	fxProp.SetupTextLine("Particle Emission");
	pList->AddTail(fxProp);

	fxProp.SetupFloat( "EmissionInterval", 0.1f, eCurve_None, "This is the rate that batches of particles will be emitted from the particle system. This is measured in seconds, so .1 will emit every .1 seconds, or 10 times a second. This should be set to zero if only a single emission should occur." );
	pList->AddTail( fxProp );

	fxProp.SetupIntMin( "ParticlesPerEmission", 5, 0, eCurve_Linear, "Indicates the number of particles that will be emitted per batch." );
	pList->AddTail( fxProp );

	fxProp.SetupEnum( "EmissionType", "Sphere", "Sphere, Point, Cone, Cylinder, Box", eCurve_None, "The primitive to use for emitting the particles." );
	pList->AddTail( fxProp );

	fxProp.SetupVector( "EmissionDir", vY, eCurve_None, "The direction to aim the emission primitive. This is used for cone and cylinder to aim the direction of them." );
	pList->AddTail( fxProp );

	fxProp.SetupVector( "EmissionOffset", vZero, eCurve_Linear, "An additional offset from the position of the object that will be applied to where particles are emitted. For example, if a particle system is attached to a model, but should be offset in the Y direction this can be used to offset the point of emission." );
	pList->AddTail( fxProp );

	fxProp.SetupVectorMin( "EmissionDims", vZero, 0.0f, eCurve_Linear, "This indicates the dimensions of the area to emit in. For box all three are used to determine the half dimensions of the box, for cylinder and cone though, the Y component is used to indicate the height." );
	pList->AddTail( fxProp );

	fxProp.SetupFloatMin( "EmissionMinRadius", 0.0f, 0.0f, eCurve_Linear, "The minimum radius to use for the sphere, cone, and cylinder emission types." );
	pList->AddTail( fxProp );

	fxProp.SetupFloatMin( "EmissionMaxRadius", 10.0f, 0.0f, eCurve_Linear, "The maximum radius to use for the sphere, cone, and cylinder emission types." );
	pList->AddTail( fxProp );

	//------------------------------------------------------------
	fxProp.SetupTextLine("Particle Properties");
	pList->AddTail(fxProp);

	fxProp.SetupColor( "ParticleColor", 0xFFFFFFFF, eCurve_Linear, "The color of the particles over the course of each particle's lifetime." );
	pList->AddTail( fxProp );

	fxProp.SetupFloatMin("ParticleScale", 10.0f, 0.0f, eCurve_Linear, "This controls the size of the particles over the course of each particle's lifetime");
	pList->AddTail( fxProp );

	//------------------------------------------------------------
	fxProp.SetupTextLine("Particle Lifetime");
	pList->AddTail(fxProp);

	fxProp.SetupFloatMin( "MinParticleLifeSpan", 2.0f, 0.0f, eCurve_Linear, "The minimum length of time that a particle will live for, measured in seconds. Ignored if the particles have infinite life." );
	pList->AddTail( fxProp );

	fxProp.SetupFloatMin( "MaxParticleLifeSpan", 3.0f, 0.0f, eCurve_Linear, "The maximum length of time that a particle will live for, measured in seconds. Ignored if the particles have infinite life." );
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "InfiniteLife", false, eCurve_None, "Specifies whether or not the particles created should last until the end of the effect, or disappear when their lifetime expires" );
	pList->AddTail( fxProp );

	//------------------------------------------------------------
	fxProp.SetupTextLine("Particle Gravity");
	pList->AddTail(fxProp);

	fxProp.SetupFloat( "GravityScale", 1.0f, eCurve_Linear, "Indicates how much gravity will influence the particles. Zero indicates that gravity will not effect the system, and one indicates that gravity will have normal effect. Values outside of this range can be used for other effects such as negative gravity, or exceptionally fast gravity" );
	pList->AddTail( fxProp );

	fxProp.SetupVector( "AdditionalAcceleration", vZero, eCurve_Linear, "Indicates an additional acceleration to apply to the particles. This acts very much like additional gravity, but can be specified in any direction and can change over time." );
	pList->AddTail( fxProp );

	//------------------------------------------------------------
	fxProp.SetupTextLine("Particle Velocity");
	pList->AddTail(fxProp);

	fxProp.SetupEnum( "VelocityType", "Random", "Random, FromCenter", eCurve_None, "The method to use when determining the initial linear velocity to use for the particles. Random will pick a random value within the range specified below, while FromCenter will use the direction from the center as the velocity direction, and the X component of the below values to determine the speed" );
	pList->AddTail( fxProp );

	fxProp.SetupVector( "MinParticleVelocity", vY, eCurve_Linear, "The minimum range for the velocities to use when randomly determining the particle velocity. This is in cm per second, and only the X is used for FromCenter" );
	pList->AddTail( fxProp );

	fxProp.SetupVector( "MaxParticleVelocity", vY, eCurve_Linear, "The maximum range for the velocities to use when randomly determining the particle velocity. This is in cm per second, and only the X is used for FromCenter" );
	pList->AddTail( fxProp );

	fxProp.SetupFloatMinMax( "Drag", 0.0f, 0.0f, 1.0f, eCurve_Linear, "Indicates the amount of drag on the particles. This ranges from zero to one, where zero means no drag, and one means full drag, stopping the particles from moving." );
	pList->AddTail( fxProp );

	//------------------------------------------------------------
	fxProp.SetupTextLine("Particle Rotation");
	pList->AddTail(fxProp);

	fxProp.SetupEnumBool( "RotateParticles", false, eCurve_None, "Determines whether or not the particles will rotate. This cannot be used with streaks and does incur some additional cost." );
	pList->AddTail( fxProp );

	fxProp.SetupFloat( "MinAngularVelocity", 0.0f, eCurve_None, "If RotateParticles is enabled, this will indicate the minimum rotational velocity of the particles in radians per second." );
	pList->AddTail( fxProp );

	fxProp.SetupFloat( "MaxAngularVelocity", 360.0f, eCurve_None, "If RotateParticles is enabled, this will indicate the maximum rotational velocity of the particles in radians per second." );
	pList->AddTail( fxProp );

	//------------------------------------------------------------
	fxProp.SetupTextLine("Particle Streaks");
	pList->AddTail(fxProp);

	fxProp.SetupEnumBool( "Streak", false, eCurve_None, "Determines if the particles should be streaked based upon their current velocity. This cannot be used with rotating particles." );
	pList->AddTail( fxProp );

	fxProp.SetupFloat( "StreakScale", 1.0f, eCurve_None, "The scale of the streak to apply. The larger this number, the more the particles will streak. At 1.0, a particle going 1 cm/s will stream one unit, so setting this to 10 will make it streak ten times as large and so on.");
	pList->AddTail( fxProp );

	//------------------------------------------------------------
	fxProp.SetupTextLine("Particle Bounce");
	pList->AddTail(fxProp);

	fxProp.SetupEnumBool( "EnableBounceScale", true, eCurve_None, "Determines whether or not the global scaling of particle bouncing should be applied to the bounce and splat scales specified for this particle system." );
	pList->AddTail( fxProp );

	fxProp.SetupFloatMinMax( "PercentToBounce", 0.0f, 0.0f, 100.0f, eCurve_Linear, "Indicates the percentage of particles that should bounce when they impact a surface. This can range from 0 to 100 where 0 means none bounce, and 100 means all bounce." );
	pList->AddTail( fxProp );

	fxProp.SetupFloatMin( "BounceStrength", 0.75f, 0.0f, eCurve_None, "Specifies the amount of energy left when bouncing. 1 means an object will bounce as high as it was dropped, and 0 means it will not bounce at all" );
	pList->AddTail( fxProp );

	//------------------------------------------------------------
	fxProp.SetupTextLine("Particle Splat");
	pList->AddTail(fxProp);

	fxProp.SetupFloatMinMax( "SplatPercent", 0.0f, 0.0f, 100.0f, eCurve_Linear, "Indicates the percentage of particles that will create the impact effect named below when they impact a surface. This can range from 0 to 100 where 0 means none will create effects, and 100 means all will create effects." );
	pList->AddTail( fxProp );

	fxProp.SetupClientFXRef( "SplatEffect", "", eCurve_None, "The name of the impact effect to create when a particle impacts a surface.");
	pList->AddTail( fxProp );

}
Esempio n. 10
0
void fxGetLightningProps(CFastList<FX_PROP> *pList)
{
	FX_PROP fxProp;
	
	// Add the base props

	AddBaseProps(pList);
	

	fxProp.Path("Texture", "dtx|...");
	pList->AddTail(fxProp);

	fxProp.Combo("BlendMode", "0,None,Add,Saturate,ModSrcAlpha,ModSrcColor,ModDstColor,MulSrcColDstCol,MulSrcAlphaOne,MulSrcAlpha,MulSrcColOne,MulDstColZero" );
	pList->AddTail( fxProp );

	fxProp.Combo( "AlphaTest", "0,None,Less,LessOrEqual,Greater,GreaterOrEqual,Equal,NotEqual" );
	pList->AddTail( fxProp );

	fxProp.Combo( "ColorOp", "0,NoTexture,Modulate,Additive,NoColor" );
	pList->AddTail( fxProp );

	fxProp.Combo( "FillMode", "1,WireFrame,Fill" );
	pList->AddTail( fxProp );

	fxProp.Combo( "Allignment", "0,Camera,Up,Right,Forward" );
	pList->AddTail( fxProp );

	fxProp.String( "NodeAttractors", "" );
	pList->AddTail( fxProp );

	fxProp.String( "SocketAttractors", "" );
	pList->AddTail( fxProp );

	fxProp.Float( "OmniDirectionalRadius", 0.0f );
	pList->AddTail( fxProp );

	fxProp.Int( "MinNumBolts", 1 );
	pList->AddTail( fxProp );

	fxProp.Int( "MaxNumBolts", 5 );
	pList->AddTail( fxProp );

	fxProp.Int( "MinSegmentsPerBolt", 10 );
	pList->AddTail( fxProp );

	fxProp.Int( "MaxSegmentsPerBolt", 50 );
	pList->AddTail( fxProp );

	fxProp.Float( "MinBoltWidth", 0.5f );
	pList->AddTail(fxProp);

	fxProp.Float( "MaxBoltWidth", 3.0f );
	pList->AddTail( fxProp );

	fxProp.Float( "MinPerturb", 0.0f );
	pList->AddTail( fxProp );

	fxProp.Float( "MaxPerturb", 35.0f );
	pList->AddTail( fxProp );

	fxProp.Float( "MinLifetime", 0.1f );
	pList->AddTail( fxProp );

	fxProp.Float( "MaxLifetime", 3.0f );
	pList->AddTail( fxProp );

	fxProp.Float( "MinDelay", 0.0f );
	pList->AddTail( fxProp );

	fxProp.Float( "MaxDelay", 0.1f );
	pList->AddTail( fxProp );

	fxProp.Float( "Pulse", 5.0f );
	pList->AddTail( fxProp );
}
Esempio n. 11
0
void fxGetLTBModelProps(CFastList<FX_PROP> *pList)
{
	FX_PROP fxProp;
	float fVec[3];
	fVec[0] = 0.0f;
	fVec[1] = 0.0f;
	fVec[2] = 1.0f;

	// Add the base props

	AddBaseProps(pList);

	// Add all the props to the list

	fxProp.Path( "Model", "ltb|..." );
	pList->AddTail(fxProp);

	fxProp.Path( "Skin0", "dtx|..." );
	pList->AddTail(fxProp);

	fxProp.Path( "Skin1", "dtx|..." );
	pList->AddTail( fxProp );

	fxProp.Path( "Skin2", "dtx|..." );
	pList->AddTail( fxProp );

	fxProp.Path( "Skin3", "dtx|..." );
	pList->AddTail( fxProp );

	fxProp.Path( "Skin4", "dtx|..." );
	pList->AddTail( fxProp );

	fxProp.Path( "SpriteSkin0", "spr|..." );
	pList->AddTail(fxProp);

	fxProp.Path( "SpriteSkin1", "spr|..." );
	pList->AddTail( fxProp );

	fxProp.Path( "SpriteSkin2", "spr|..." );

	pList->AddTail( fxProp );
	fxProp.Path( "SpriteSkin3", "spr|..." );
	pList->AddTail( fxProp );

	fxProp.Path( "SpriteSkin4", "spr|..." );
	pList->AddTail( fxProp );

	fxProp.Vector( "Normal", fVec );
	pList->AddTail( fxProp );

	fxProp.Combo( "Facing", "2,CameraFacing,AlongNormal,ParentAlign" );
	pList->AddTail( fxProp );

	fxProp.Combo( "Shadow", "0,No,Yes" );
	pList->AddTail( fxProp );

	fxProp.Combo( "OverrideAniLength", "0,No,Yes" );
	pList->AddTail( fxProp );

	fxProp.String( "AniName", "");
	pList->AddTail( fxProp );

	fxProp.Float( "AniLength", 0 );
	pList->AddTail( fxProp );

	fxProp.Path( "RenderStyle0", "ltb|..." );
	pList->AddTail( fxProp );

	fxProp.Path( "RenderStyle1", "ltb|..." );
	pList->AddTail( fxProp );

	fxProp.Path( "RenderStyle2", "ltb|..." );
	pList->AddTail( fxProp );

	fxProp.Path( "RenderStyle3", "ltb|..." );
	pList->AddTail( fxProp );

	fxProp.Combo( "SyncToModelAnim", "0,No,Yes" );
	pList->AddTail( fxProp );

	fxProp.Combo( "SyncToKey", "0,No,Yes" );
	pList->AddTail( fxProp );
}
Esempio n. 12
0
//------------------------------------------------------------------
//
//   FUNCTION : fxGetTracerFXProps()
//
//   PURPOSE  : Returns a list of properties for this FX
//
//------------------------------------------------------------------
void fxGetTracerProps(CFastList<CEffectPropertyDesc> *pList)
{
	CEffectPropertyDesc fxProp;

	fxProp.SetupTextLine("Common Properties");
	pList->AddTail(fxProp);

	// Add the base props
	AddBaseProps(pList);

	fxProp.SetupTextLine("");
	pList->AddTail(fxProp);
	fxProp.SetupTextLine("Tracer Properties");
	pList->AddTail(fxProp);

	// Add all the props to the list
	fxProp.SetupPath( "Material", "", "Material Files (*." RESEXT_MATERIAL ")|*." RESEXT_MATERIAL "|All Files (*.*)|*.*||", eCurve_None, "Determines the material that will be used when rendering the tracer. This should have a translucent shader with a texture that will be mapped to the dimensions of the tracer");
	pList->AddTail(fxProp);

	fxProp.SetupEnumBool( "PlayerView", false, eCurve_None, "Determines if the sprite should be rendered in the player view, which means that it should have its Z values adjusted to not be clipped into nearby walls");
	pList->AddTail( fxProp );	

	fxProp.SetupFloatMin( "Thickness", 1.0f, 5.0f, eCurve_Linear, "Specifies how thick the tracer is perpendicular to the direction it is moving" );
	pList->AddTail( fxProp );

	fxProp.SetupFloatMin( "Length", 1.0f, 0.0f, eCurve_None, "Specifies the length of this tracer along the axis it is moving down" );
	pList->AddTail( fxProp );

	fxProp.SetupFloatMin( "Velocity", 1.0f, 0.0f, eCurve_None, "Specifies the speed that the tracer will travel in the forward direction" );
	pList->AddTail( fxProp );

	fxProp.SetupFloatMin( "MaxDistance", 10000.0f, 0.0f, eCurve_None, "Specifies the maximum distance that this tracer can travel. Useful for ensuring that they do not travel the length of the level or other such issues" );
	pList->AddTail( fxProp );

	fxProp.SetupColor("Color", 0xFFFFFFFF, eCurve_Linear, "Specifies the color of the tracer");
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "CropTexture", false, eCurve_None, "Determines if the texture on the tracer should be cropped when clipped to the beginning or end of the ray. If it is not, the texture will just be scaled to fit the visible portion." );
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "Solid", false, eCurve_None, "Determines if this tracer should be treated as solid or not when rendering" );
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "TranslucentLight", false, eCurve_None, "For translucent objects, this determines if lighting should be approximated or if it should be fullbright" );
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "FitLengthToRay", false, eCurve_None, "If set to true, this will ignore the specified length, and will instead use the length of the ray as the length of the tracer" );
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "StartEmitted", false, eCurve_None, "If set to true, the tracer will start so that it is fully emitted at the beginning instead of emerging out" );
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "UseTargetPos", true, eCurve_None, "If set to true, the tracer will travel to the target position associated with the effect when emitted instead of shooting down the forward axis" );
	pList->AddTail( fxProp );

	fxProp.SetupEnumBool( "BlockedByGeometry", true, eCurve_None, "This determines whether or not geometry between the tracer and the object will block the tracer" );
	pList->AddTail( fxProp );

	fxProp.SetupTextLine("");
	pList->AddTail(fxProp);
	fxProp.SetupTextLine("Light Properties (TEMPORARY FOR DEMO)");
	pList->AddTail(fxProp);

	fxProp.SetupFloatMin( "LightRadius", 0.0f, 0.0f, eCurve_None, "Specifies the radius of the point light that will be attached to the tracer (0 indicates no light)" );
	pList->AddTail( fxProp );

	fxProp.SetupColor( "LightColor", 0xFFFFFFFF, eCurve_None, "Specifies the color of the point light that will be attached to the tracer" );
	pList->AddTail( fxProp );

	fxProp.SetupEnum("LightLOD", "Low", "Low,Medium,High,Never", eCurve_None, "Specifies at which LOD levels this light will be rendered");
	pList->AddTail(fxProp);

	fxProp.SetupEnum("WorldShadowsLOD", "Low", "Low,Medium,High,Never", eCurve_None, "Specifies at which LOD levels this light will cast shadows from the world");
	pList->AddTail(fxProp);

	fxProp.SetupEnum("ObjectShadowsLOD", "Low", "Low,Medium,High,Never", eCurve_None, "Specifies at which LOD levels this light will cast shadows from objects it touches");
	pList->AddTail(fxProp);

}