Cleaned up the mess, at this time, only viable data get synced (_work directory for Gothic-data, miranda for mdc-scripts. Need to symlink files to a working directory.
104 lines
3.4 KiB
D
104 lines
3.4 KiB
D
|
|
//////////////////////////////////////
|
|
//
|
|
// Particle-Effects v0.01 (<=>Docs)
|
|
// Class - Definitions
|
|
// Author: Dieter Hildebrandt
|
|
//
|
|
//////////////////////////////////////
|
|
|
|
CLASS C_ParticleFX {
|
|
|
|
// 1) Emitter: zeitliches Austoss-Verhalten, particles-per-second
|
|
VAR FLOAT ppsValue;
|
|
VAR STRING ppsScaleKeys_S;
|
|
VAR INT ppsIsLooping;
|
|
VAR INT ppsIsSmooth;
|
|
VAR FLOAT ppsFPS;
|
|
VAR STRING ppsCreateEm_S;
|
|
VAR FLOAT ppsCreateEmDelay;
|
|
|
|
// 2) Emitter: raeumliches Austoss-Verhalten
|
|
VAR STRING shpType_S; // "point, line, box, circle, sphere, mesh"
|
|
VAR STRING shpFOR_S; // "object,world"
|
|
VAR STRING shpOffsetVec_S;
|
|
VAR STRING shpDistribType_S; // "RAND, UNIFORM, WALK"
|
|
VAR FLOAT shpDistribWalkSpeed;
|
|
VAR INT shpIsVolume;
|
|
VAR STRING shpDim_S; // "", "30", "10 20 30", "30", "30", "" // line: nur 1 Dimension !=0 // shape Dimensions
|
|
VAR STRING shpMesh_S; // "cross.3ds"
|
|
VAR INT shpMeshRender_B;
|
|
VAR STRING shpScaleKeys_S; // "[1.0] [0.8 0.9 0.2] [1.0]"
|
|
VAR INT shpScaleIsLooping;
|
|
VAR INT shpScaleIsSmooth;
|
|
VAR FLOAT shpScaleFPS;
|
|
|
|
// 3) Partikel: Start Richtung/Speed:
|
|
VAR STRING dirMode_S; // "DIR, TARGET, MESH_POLY"
|
|
VAR STRING dirFOR_S; // "OBJECT, WORLD"
|
|
VAR STRING dirModeTargetFOR_S;
|
|
VAR STRING dirModeTargetPos_S; // "30 23 67"
|
|
VAR FLOAT dirAngleHead;
|
|
VAR FLOAT dirAngleHeadVar;
|
|
VAR FLOAT dirAngleElev;
|
|
VAR FLOAT dirAngleElevVar;
|
|
VAR FLOAT velAvg;
|
|
VAR FLOAT velVar;
|
|
|
|
// 4) Partikel: Lebensdauer
|
|
VAR FLOAT lspPartAvg;
|
|
VAR FLOAT lspPartVar;
|
|
|
|
// 5) Partikel: Flugverhalten (gravity, nicht-linear?, mesh-selfRot?,..)
|
|
// grav: a) nur Y, b) XYZ, c) auf Ziel zu steuern
|
|
// VAR STRING flyMode_S; // "LINEAR, LIN_SINUS,.."
|
|
// flyMeshSelfRotSpeedMin, flyMeshSelfRotSpeedMax
|
|
VAR STRING flyGravity_S;
|
|
VAR INT flyCollDet_B;
|
|
|
|
// 6) Partikel: Visualisierung
|
|
VAR STRING visName_S; // "NAME_V0_A0.TGA/.3DS" (Variation, Animation)
|
|
VAR STRING visOrientation_S; // "NONE, VELO"
|
|
VAR INT visTexIsQuadPoly; // 0=triMesh, 1=quadMesh
|
|
VAR FLOAT visTexAniFPS;
|
|
VAR INT visTexAniIsLooping; // 0=oneShot, 1=looping
|
|
// color (nur Tex, lifeSpan-Sync)
|
|
VAR STRING visTexColorStart_S;
|
|
VAR STRING visTexColorEnd_S;
|
|
// size-ani (nur Tex, lifeSpan-Sync)
|
|
VAR STRING visSizeStart_S;
|
|
VAR FLOAT visSizeEndScale;
|
|
// alpha (lifeSpan-Sync)
|
|
VAR STRING visAlphaFunc_S;
|
|
VAR FLOAT visAlphaStart;
|
|
VAR FLOAT visAlphaEnd;
|
|
|
|
// 7) misc effects
|
|
|
|
// trail
|
|
VAR FLOAT trlFadeSpeed;
|
|
VAR STRING trlTexture_S;
|
|
VAR FLOAT trlWidth;
|
|
|
|
// marks
|
|
VAR FLOAT mrkFadeSpeed;
|
|
VAR STRING mrkTexture_S;
|
|
VAR FLOAT mrkSize;
|
|
|
|
// flocking
|
|
VAR STRING flockMode;
|
|
VAR FLOAT flockStrength;
|
|
|
|
// local frame of reference override
|
|
// calculates the position of the particles each frame relative to the emitters pos/rot
|
|
// can be expensive
|
|
// WARNING: in comb with flyCollDet_B this can be a performance-hog deluxe
|
|
VAR INT useEmittersFOR;
|
|
|
|
// optional you can set a valid timeperiod in which this pfx should be rendered (e.g. "8 22": should be rendererd from 8 to 22 o clock")
|
|
var string timeStartEnd_S;
|
|
|
|
// with the next setting you can define weather this pfx is an ambient pfx, thus can be disabled in the gothic.ini with the value [ENGINE]/noAmbientPFX
|
|
var INT m_bIsAmbientPFX;
|
|
|
|
};
|