KwirkyJ
12th Oct 08, 1:41 PM
Okay, I took a day and began dumping what I know into an annotated "archive," if you will. Taking a couple stock lua files from the game, I started annotating the files, picking up where Zatch left off in the linked thread above. They're kinda long (as I only added stuff, not removed it), so they're in the spoilers below.
BTW: this is a work-in-progress post, so I'll be updating these from time to time, as I work.
Spray effect:
Taken from flak_cloud_spray.lua
fx =
{
style = "STYLE_SPRAY", -- effect style (spray)
properties = -- begins effect properties
{
property_16 =
{
name = "Particle_Scale", -- scales particle size over time [keyframe, value; repeat]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
0.33333,
0.39625,
0.83333,
1,
0.56667,
},
},
property_15 =
{
name = "Gravwell_Strength", -- strength of "gravwell" on particles [keyframe, value; repeat]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
9.81,
1,
9.81,
},
},
property_09 =
{
name = "Emitter_Volume", -- determines in-game volume of emitter [keyframe,X,Y,Z] (1.5 radius)
type = "VARTYPE_ARRAY_TIMEVECTOR3",
value =
{
entry_00 =
{
0,
3,
3,
3,
},
entry_01 =
{
1,
3,
3,
3,
},
},
},
property_04 =
{
name = "Emitter_InheritVelocity", -- amount of vectored velocity received from parent [%?]
type = "VARTYPE_FLOAT",
value = 0,
},
property_03 =
{
name = "Emitter_Direction", -- sets direction of emitter [0="normal", 1=up, 2=down]
type = "VARTYPE_INT",
value = 0,
},
property_06 =
{
name = "Emitter_Rate", -- keyes particles/sec [0-100000] [keyframe, value; repeat]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
0,
0.15875,
10.06666,
0.5175,
0,
1,
0,
},
},
property_05 =
{
name = "Emitter_Drag", -- air resistane of emitted particles [0=100%, 1=0%]
type = "VARTYPE_FLOAT",
value = 1,
},
property_08 =
{
name = "Emitter_Deviation", -- cone aperture of emitter [degrees] [_,_,_,val?] [0,0,1,val?]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
0,
1,
180,
},
},
property_07 =
{
name = "Emitter_Rate_LOD%", -- minimum percentage particle count at lowest LOD [_,_,_,value??]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
0,
1,
0,
},
},
property_02 =
{
name = "Emitter_ScaleSpeed", -- scalable with the .xls tools in the efect-event paramter (no) (unnecessary?)
type = "VARTYPE_BOOL",
value = 0,
},
property_01 =
{
name = "Emitter_Loop", -- does this effect loop? (no)
type = "VARTYPE_BOOL",
value = 0,
},
property_13 =
{
name = "Particle_Fx", -- targets sprayed (emitted) effect
type = "VARTYPE_STRING",
value = "FLAK_ANIME_RING",
},
property_14 =
{
name = "Particle_Dynamics", -- How do the particles act? [0-10, see bottom]
type = "VARTYPE_INT",
value = 0,
},
property_11 =
{
name = "Particle_Speed", -- speed of particles flung from emitter [.001-100] [keyframe,value; repeat]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
0,
1,
0,
},
},
property_12 =
{
name = "Emitter_RotRate", -- rotate the emitter, spinning the effects with it [keyframe, value; repeat]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
0,
1,
0,
},
},
property_00 =
{
name = "Emitter_Duration", -- time emitter will spew [.1-30 seconds]
type = "VARTYPE_FLOAT",
value = 2,
},
property_10 =
{
name = "Emitter_Offset", -- offsets emitter from marker [keyframe,X,Y,Z]
type = "VARTYPE_ARRAY_TIMEVECTOR3",
value =
{
entry_00 =
{
0,
0,
0,
0,
},
entry_01 =
{
1,
0,
0,
0,
},
},
},
},
}
Ring effect:
Taken from flak_anime_ring.lua
fx =
{
style = "STYLE_RING",
properties =
{
property_28 =
{
name = "PointDistance", -beyond this distance, effect becomes vectored point [-1 disables]
type = "VARTYPE_FLOAT",
value = -1,
},
property_27 =
{
name = "DepthOffset", -- moves particle forward in scene; removes clipping with meshes
type = "VARTYPE_FLOAT",
value = 0,
},
property_26 =
{
name = "SortOrder", -- high values prioritize particles when drawing and "drowning" [0 disables]
type = "VARTYPE_INT",
value = 6,
},
property_25 =
{
name = "RandomBitmap", -- does it use a random bitmap? [does it ever?]
type = "VARTYPE_BOOL",
value = 0,
},
property_24 =
{
name = "BirthSpawn_Fx", -- targets spawned effect as ring generates
type = "VARTYPE_STRING",
value = "flak_trail_ring1",
},
property_23 =
{
name = "Spawn_Fx", -- unknown ??
type = "VARTYPE_STRING",
value = "",
},
property_22 =
{
name = "Mesh", -- targets mesh of the effect
type = "VARTYPE_STRING",
value = "Data:art/fx/box.hod",
},
property_21 =
{
name = "Texture", -- targed 32-bit TGA texture of effect (or reference...)
type = "VARTYPE_STRING",
value = "DATA:ART/FX/CLOUDS/OUTLINE_FAST.ANIM",
},
property_11 =
{
name = "SpinRandom", -- will the effect spin randomly? (no)
type = "VARTYPE_BOOL",
value = 0,
},
property_15 =
{
name = "UseDepthSort", --
type = "VARTYPE_BOOL",
value = 1,
},
property_18 =
{
name = "Billboard", -- does the effct always orient itself to the camera? (yes)
type = "VARTYPE_BOOL",
value = 1,
},
property_17 =
{
name = "AlternateFOV", -- ?? always 0, except for background effects ??
type = "VARTYPE_BOOL",
value = 0,
},
property_16 =
{
name = "Loop", -- does this effect loop? (no)
type = "VARTYPE_BOOL",
value = 0,
},
property_19 =
{
name = "SelfIlluminated", -- does this effect self-illuminate? (yes)
type = "VARTYPE_BOOL",
value = 1,
},
property_09 =
{
name = "SpinEpsilonY", -- variation in Y-axis rotation [.001-1]
type = "VARTYPE_FLOAT",
value = 0,
},
property_04 =
{
name = "SpinZ", -- animated values of rotation in Z-axis [-360 to 360 (deg/sec?)] [keyframe, value; repeat]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
1.66667,
0.00625,
0,
1,
0,
},
},
property_03 =
{
name = "SpinY", -- animated values of rotation in Y-axis [-360 to 360 (deg/sec?)] [keyframe, value; repeat]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
0,
1,
0,
},
},
property_06 =
{
name = "RadiusEpsilon", -- randomness of effect radius (.001-1]
type = "VARTYPE_FLOAT",
value = 0.5,
},
property_05 =
{
name = "Colour", -- keyed color of effect [keyframe,RGBA]
type = "VARTYPE_ARRAY_TIMECOLOUR",
value =
{
entry_00 =
{
0,
1,
1,
1,
1,
},
entry_01 =
{
0.51045,
0.66038,
0.44233,
0.44233,
0.97044,
},
entry_02 =
{
0.74328,
0,
0,
0,
0.54717,
},
entry_03 =
{
1,
0,
0,
0,
0,
},
},
},
property_08 =
{
name = "SpinEpsilonX",", -- variation in X-axis rotation [.001-1]
type = "VARTYPE_FLOAT",
value = 0,
},
property_07 =
{
name = "RateEpsilon", -- randomness of effect duration [.001-1]
type = "VARTYPE_FLOAT",
value = 0.5,
},
property_02 =
{
name = "SpinX", -- animated values of rotation in X-axis [-360 to 360 (deg/sec?)] [keyframe, value; repeat]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
7.73333,
1,
0,
},
},
property_01 =
{
name = "Offset", -- keyed offset of effect [keyframe,X,Y,Z]
type = "VARTYPE_ARRAY_TIMEVECTOR3",
value =
{
entry_00 =
{
0,
0,
0,
0,
},
entry_01 =
{
1,
0,
0,
0,
},
},
},
property_13 =
{
name = "UseMesh", -- does it use the targed mesh? [1=disables texture, as mesh has that already] (no)
type = "VARTYPE_BOOL",
value = 0,
},
property_14 =
{
name = "UseDepthTest", -- use rendering system to sort meshes for accurate z-buffer rendering? (no)
type = "VARTYPE_BOOL",
value = 0,
},
property_20 =
{
name = "Blending", -- blending mode of effect (additive blend)
type = "VARTYPE_INT",
value = 2,
},
property_12 =
{
name = "Duration", -- time in seconds the effect lasts
type = "VARTYPE_FLOAT",
value = 1,
},
property_00 =
{
name = "Radius", -- animated radius of effect [keyframe, value; repeat]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
0,
0.03,
0,
0.08198,
0.23333,
0.19835,
0.6,
0.35202,
0.8,
1,
1.1,
},
},
property_10 =
{
name = "SpinEpsilonZ",", -- variation in Z-axis rotation [.001-1]
type = "VARTYPE_FLOAT",
value = 0,
},
},
}
Light effect:
Taken from flak_light.lua
fx =
{
style = "STYLE_LIGHT", -- style of effect (light)
properties = -- begins properties [any order?]
{
property_02 =
{
name = "Offset", -- offsets position of effect [keyframe,X,Y,Z] (no offset)
type = "VARTYPE_ARRAY_TIMEVECTOR3",
value =
{
entry_00 =
{
0,
0,
0,
0,
},
entry_01 =
{
1,
0,
0,
0,
},
},
},
property_01 =
{
name = "Colour", -- sets keyed colors for effect [keyframe,RGBA]
type = "VARTYPE_ARRAY_TIMECOLOUR",
value =
{
entry_00 =
{
0,
0,
0,
0,
1,
},
entry_01 =
{
0.08806,
1,
0.89571,
0.69811,
1,
},
entry_02 =
{
0.14776,
0.67265,
0.30806,
0.17134,
1,
},
entry_03 =
{
0.21791,
1,
0.83774,
0.59434,
1,
},
entry_04 =
{
0.29104,
0.5,
0.21844,
0.18396,
1,
},
entry_05 =
{
0.3806,
1,
0.84528,
0.61321,
1,
},
entry_06 =
{
0.47612,
0.45283,
0.21671,
0.12816,
1,
},
entry_07 =
{
0.5806,
0.84906,
0.73051,
0.55269,
1,
},
entry_08 =
{
0.6791,
0.59434,
0.32653,
0.19624,
1,
},
entry_09 =
{
0.76567,
0.83019,
0.68423,
0.50908,
1,
},
entry_11 = -- notice: 11 listed before 10, but key values match entries!
{
1,
0,
0,
0,
1,
},
entry_10 = -- notice: 11 listed before 10, but key values match entries!
{
0.89701,
0,
0,
0,
1,
},
},
},
property_04 =
{
name = "Duration", -- duration in seconds of the effect
type = "VARTYPE_FLOAT",
value = 1,
},
property_03 =
{
name = "Loop", -- does the effect loop? (no)
type = "VARTYPE_BOOL",
value = 0,
},
property_00 =
{
name = "Radius", -- keyed radius of the effect [keyframe, value]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
50,
1,
50,
},
},
},
}
Unlisted:
property_n =
{
name = "PRIORITY" -- 0 is high priority, 1 is low priority WHY NOT HERE?
type = "(integer, float, or boolean; I don't know)"
value = n
}
Beam effect:
taken from ion_beam_simple.lua
fx =
{
style = "STYLE_BEAM", -- this is the type of effect (beam)
properties = -- begins the list of properites (any order?)
{
property_16 =
{
name = "LineDistance", -- distance from effect where effect becomes vector line
type = "VARTYPE_FLOAT",
value = 1750,
},
property_15 =
{
name = "WidthEpsilon", -- variation in beam width
type = "VARTYPE_FLOAT",
value = 0,
},
property_09 =
{
name = "Texture_U_Offset", -- animates where texture will be offset [0-10] in the effect [keyframe, val; repeat]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
0,
1,
6,
},
},
property_04 =
{
name = "SelfIlluminated", -- does it light itself (here, yes)
type = "VARTYPE_BOOL",
value = 1,
},
property_03 =
{
name = "Texture", -- targets the texture used for the beam
type = "VARTYPE_STRING",
value = "DATA:ART/FX/ION_BEAM/ION_BEAM.TGA",
},
property_06 =
{
name = "Length", -- sets beam length [1 to join two points] (keyframe, value; repeat)
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
1,
1,
1,
},
},
property_05 =
{
name = "Offset", -- xyz offset in space [keyframe,X,Y,Z; repeat] (no offset) ?
type = "VARTYPE_ARRAY_TIMEVECTOR3",
value =
{
entry_00 =
{
0,
0,
0,
0,
},
entry_01 =
{
1,
0,
0,
0,
},
},
},
property_08 =
{
name = "Segments", -- number of segments [1-10] along beam length [_,_,_,value; repeat] ? [0,1,1, val?]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
1,
1,
10,
},
},
property_07 =
{
name = "Noise", -- adds noise to the beam [_,_,_,value; repeat] ? [0,0,1, val?]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
0,
1,
0,
},
},
property_02 =
{
name = "Blending", -- sets blending mode for texture/effect (additive alpha)
type = "VARTYPE_INT",
value = 4,
},
property_01 =
{
name = "Loop", -- will this effect loop? (no)
type = "VARTYPE_BOOL",
value = 0,
},
property_13 =
{
name = "Arc", -- sets number of arcs witin beam [keyframe, val, val, val; repeat] ?
type = "VARTYPE_ARRAY_TIMEVECTOR3",
value =
{
entry_00 =
{
0,
0,
0,
0,
},
entry_01 =
{
1,
0,
0,
0,
},
},
},
property_14 =
{
name = "LengthEpsilon", -- variation in the length of the beam [.001-1] ? [specifics!]
type = "VARTYPE_FLOAT",
value = 0,
},
property_11 =
{
name = "Width", -- animated width of beam [keyframe, value; repeat]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
0,
0.01285,
2.08534,
0.07285,
2.08534,
0.08047,
10.08872,
0.09552,
4.93015,
0.11809,
8.57716,
0.18494,
10.90312,
0.85375,
11.14667,
0.975,
10.33333,
1,
0,
},
},
property_12 =
{
name = "Colour", -- animates color of beam [keyframe, RGBA] [R=G=B?]
type = "VARTYPE_ARRAY_TIMECOLOUR",
value =
{
entry_00 =
{
0,
0,
0,
0,
1,
},
entry_01 =
{
0.02537,
0.5283,
0.5283,
0.5283,
1,
},
entry_02 =
{
0.85672,
0.5283,
0.5283,
0.5283,
1,
},
entry_03 =
{
1,
0.51887,
0.51887,
0.51887,
1,
},
},
},
property_00 =
{
name = "Duration", -- duration in seconds of effect
type = "VARTYPE_FLOAT",
value = 2,
},
property_10 =
{
name = "Texture_U_Repeat", -- times (1-100) texture is repeated along beam [keyframe, value; repeat]
type = "VARTYPE_ARRAY_TIMEFLOAT",
value =
{
0,
10,
1,
10,
},
},
},
}
Segments=Texture_U_Repeat ?
So, after all that, I'm kinda done for the day. Kinda feel like :stupido: but at least I'm getting somewhere for a change
vBulletin v3.0.7, Copyright ©2000-2010, Jelsoft Enterprises Ltd.