[ Обновленные темы · Новые сообщения · Участники · Поиск · RSS ]
  • Страница 1 из 1
  • 1
ParticleEmitterContainer
AlexBond
Админы
Сообщений: 1042
Реп: 106 / Инв: 8
Решил я поиграться с IDA скриптингом, и вот что у меня получилось. Мой скрипт для IDA достает инфу из EXE файла. Вот пример на типе ParticleEmitterContainer, с комментами вшитыми в класс.

Код
== Reading XConteiner Info ===
<ParticleEmitterContainer>
ParticleEmitterContainer.Comment <XString>
//    Description of the emitter. PLEASE FILL THIS IN!
ParticleEmitterContainer.EmitterType <XEnum>
// ParticleTypeEnum
/* enum    kNormal
kSnow
kRain
kTrail
*/
ParticleEmitterContainer.SpriteSet <XString>
//    Resource ID of the sprite used to render the perticle
ParticleEmitterContainer.MeshAnimNodeName <XString>
//    Animation frame(s) for XOM mesh particles. Syntax '[loop:]<NodeName1> [+|,[loop:]<NodeName2]...]. To Loop animation start with 'Loop:'. To play animations simultaneously use '+'. To play animations in sequence use ','. Any number of animations can be played
ParticleEmitterContainer.EmitterAcceleration <XVector3f>
//    Accelaration of the EMITTER
ParticleEmitterContainer.EmitterAccelerationRandomise <XVector3f>
//    Accelaration of the EMITTER
ParticleEmitterContainer.EmitterIsAttachedToLand <XBool>
//    If set then the emmiter will die if the land directly below it disappears
ParticleEmitterContainer.EmitterIsOfInterest <XBool>
//    If set then the current turn will not end until the emitter dies
ParticleEmitterContainer.EmitterIsLaunchedFromWeapon <XBool>
//    If set then the emitter will come the end of the weapon
ParticleEmitterContainer.EmitterLifeTime <XUint>
//    Lifetime of the emitter (in ms)
ParticleEmitterContainer.EmitterLifeTimeRandomise <XUint>
//    Lifetime of the emitter (in ms)
ParticleEmitterContainer.EmitterMaxParticles <XUint>
//    Maximum number of particles visible
ParticleEmitterContainer.EmitterNumCollide <XUint>
//    How many of MaxParticles will collide with the ground. VERY EXPENSIVE so keep low!
ParticleEmitterContainer.EmitterNumSpawn <XUint>
//    Number of particles the emitter will spawn at once
ParticleEmitterContainer.EmitterNumSpawnRadnomise <XUint>
//    Number of particles the emitter will spawn at once
ParticleEmitterContainer.EmitterOriginOffset <XVector3f>
//    Position of the emitter (relative to the emitter's origin)
ParticleEmitterContainer.EmitterOriginRandomise <XVector3f>
//    Position of the emitter (relative to the emitter's origin)
ParticleEmitterContainer.EmitterParticleExpireFX <XString>
//    Particle emitter to spawn when EACH particle expires - EXPENSIVE!
ParticleEmitterContainer.EmitterParticleFX <XString>
//    Particle emitter effect to attatch to EACH particle - EXPENSIVE!
ParticleEmitterContainer.EmitterSameDirectionAsWorm <XBool>
//    If set then particles will be emitted in the direction the worm is facing
ParticleEmitterContainer.EmitterSoundFX <XString>
//    Sound effect to play when the emitter is created
ParticleEmitterContainer.EmitterSoundFXVolume <XFloat>
//    Volume of the Sound effect
ParticleEmitterContainer.EmitterSpawnFreq <XUint>
//    How frequently the emitter will spawn particles (in ms)
ParticleEmitterContainer.EmitterSpawnFreqRansomise <XUint>
//    How frequently the emitter will spawn particles (in ms)
ParticleEmitterContainer.EmitterSpawnSizeVelocity <XVector2f>
ParticleEmitterContainer.EmitterStartDelay <XUint>
//    Delay before the emitter starts emitting prarticles (in ms)
ParticleEmitterContainer.EmitterVelocity <XVector3f>
//    Velocity of the EMITTER
ParticleEmitterContainer.EmitterVelocityRandomise <XVector3f>
//    Velocity of the EMITTER
ParticleEmitterContainer.ParticleAcceleration <XVector3f>
//    Acceleration of the particles. (Set Y to a negative value for gravity)
ParticleEmitterContainer.ParticleAccelerationRandomise <XVector3f>
//    Acceleration of the particles. (Set Y to a negative value for gravity)
ParticleEmitterContainer.ParticleAlpha <XFloat>
//    Initial alpha of the particle ( Between 0 & 1)
ParticleEmitterContainer.ParticleAlphaFadeIn <XUint>
//    Time until the alpha value reaches the value set in the ParticleAlpha files (i.e length of fade in )
ParticleEmitterContainer.ParticleAlphaVelocity <XFloat>
//    How the alpha changes over time. Set to -1 to fade out over lifetime
ParticleEmitterContainer.ParticleAlphaVelocityDelay <XUint>
//    Delay before alpha velocity is applied (in ms)
ParticleEmitterContainer.ParticleAlternateAccelerationN <XFloat>
ParticleEmitterContainer.ParticleAlternateAccelerationS <XFloat>
ParticleEmitterContainer.ParticleAnimationFrame <XUint8>
//    Inital Animation frame of the particle
ParticleEmitterContainer.ParticleAnimationFrameRandomise <XUint8>
//    Inital Animation frame of the particle
ParticleEmitterContainer.ParticleAnimationSpeed <XUint>
//    Speed to animate (in ms)
ParticleEmitterContainer.ParticleAnimationSpeedRandomize <XUint>
//    Speed to animate (in ms)
ParticleEmitterContainer.ParticleAttractor <XVector3f>
//    Position (relative to the emitter origin) that the particles attract towards
ParticleEmitterContainer.ParticleAttractorRandomise <XVector3f>
//    Position (relative to the emitter origin) that the particles attract towards
ParticleEmitterContainer.ParticleAttractorIsActive <XBool>
//    Enable attract to point mode
ParticleEmitterContainer.ParticleCanEnterWater <XBool>
//    If set to false then particles will expire when they hit the water
ParticleEmitterContainer.ParticleCollisionFreq <XUint>
//    Which particles collide with the worms ie Every n particle will do collision detection
ParticleEmitterContainer.ParticleCollisionImmuneTime <XUint>
//    Time (in MS) until the particle can re-collide with a worm.
ParticleEmitterContainer.ParticleCollisionMinAlpha <XFloat>
//    If the alpha of the particles is below this value then don't collide with a worm
ParticleEmitterContainer.ParticleCollisonRadius <XFloat>
//    Size of the collision sphere of the particle
ParticleEmitterContainer.ParticleCollisonRadiusOffset <XVector3f>
ParticleEmitterContainer.ParticleCollisonRadiusVelocity <XFloat>
//    How the collision sphere radius changes over time
ParticleEmitterContainer.ParticleCollisionShowDebug <XBool>
ParticleEmitterContainer.ParticleCollisionWormDamageMagnitude <XUint8>
ParticleEmitterContainer.ParticleCollisionWormImpulseMagnitude <XFloat>
ParticleEmitterContainer.ParticleCollisionWormImpulseYMagnitude <XFloat>
ParticleEmitterContainer.ParticleCollisionWormPoisonMagnitude <XUint8>
ParticleEmitterContainer.ParticleCollisionWormType <XEnum>
// WormCollideEnum
/* enum    kWC_Standard
kWC_Expire
kWC_Lightside
kWC_Darkside
*/
ParticleEmitterContainer.ParticleExpireShake <XBool>
//    Shake the camera when EACH particle dies
ParticleEmitterContainer.ParticleExpireShakeLength <XUint>
//    Length of the camera shake when EACH particle dies (in MS)
ParticleEmitterContainer.ParticleExpireShakeMagnitude <XFloat>
//    Strength of the camera shake when EACH particle dies
ParticleEmitterContainer.ParticleIsAlternateAcceleration <XBool>
//    If set then particles will come out fast & then quickly slow down
ParticleEmitterContainer.ParticleIsEffectedByWind <XBool>
//    If set then particles will be blown by the wind
ParticleEmitterContainer.ParticleIsSpiral <XBool>
//    If set then particles will spiral upwards
ParticleEmitterContainer.ParticleIsUnderWaterEffect <XBool>
//    If set then particles will die when the reach the water level (from under the water
ParticleEmitterContainer.ParticleLandCollideType <XEnum>
// LandCollideEnum
/* enum    kLC_None
kLC_Bounce
kLC_Expire
kLC_StopMoving
kLC_StopMovingAndAttach
*/
//    What to do when the particle collides with the land (NumCollide must be set too)
ParticleEmitterContainer.ParticleLife <XUint>
//    Lifetime of each particle (in ms)
ParticleEmitterContainer.ParticleLifeRandomise <XUint>
//    Lifetime of each particle (in ms)
ParticleEmitterContainer.ParticleMass <XFloat>
//    Mass of the particles
ParticleEmitterContainer.ParticleNumColors <XByte>
//    The number of colours in the particle effect
ParticleEmitterContainer.ParticleNumFrames <XByte>
//    Number of animation frames
ParticleEmitterContainer.ParticleOrientation <XVector3f>
//    Rotation of the particle (in degrees)
ParticleEmitterContainer.ParticleOrientationRandomise <XVector3f>
//    Rotation of the particle (in degrees)
ParticleEmitterContainer.ParticleOrientationVelocity <XVector3f>
//    How the rotation changes over time
ParticleEmitterContainer.ParticleOrientationVelocityRandomise <XVector3f>
//    How the rotation changes over time
ParticleEmitterContainer.ParticleSize <XVector2f>
//    Size of the particles
ParticleEmitterContainer.ParticleSizeOriginIsCenterPoint <XBool>
//    If set then the particle will be sizes around it's center point, rather than the bottom left corner
ParticleEmitterContainer.ParticleSizeRandomise <XFloat>
//    Size of the particles
ParticleEmitterContainer.ParticleSizeVelocity <XVector2f>
//    How the size changes over time
ParticleEmitterContainer.ParticleSizeVelocityRandomise <XVector2f>
//    How the size changes over time
ParticleEmitterContainer.ParticleSizeVelocityDelay <XUint>
//    Delay until the particle starts resizing
ParticleEmitterContainer.ParticleSizeVelocityDelayRandomise <XUint>
ParticleEmitterContainer.ParticleFinalSizeScale <XVector2f>
//    The size of the particle when it's finshed (dies). This value is a scale factor. eg set to (0.25,0.25) to make it shrink to a quater of it's original size when by the time it dies
ParticleEmitterContainer.ParticleFinalSizeScaleRandomise <XFloat>
ParticleEmitterContainer.ParticleSizeFadeIn <XUint>
//    Time taken (in MS) to fade the size of the particles from zero to their actual size
ParticleEmitterContainer.ParticleSizeFadeInRandomize <XUint>
ParticleEmitterContainer.ParticleSizeFadeInDelay <XUint>
//    Don't start fading in the size of the particles until this time
ParticleEmitterContainer.ParticleSizeFadeInDelayRandomize <XUint>
ParticleEmitterContainer.ParticleRenderScene <XEnum>
// ParticleSceneEnum
/* enum    kPS_Default
kPS_Scene1
kPS_Scene2
kPS_Scene3
kPS_Scene4
kPS_Scene5
*/
//    Order in which to render the particles. Scene1 will always be rendered before Scene2 and so on
ParticleEmitterContainer.ParticleSpiralRadius <XFloat>
//    Radius of the spiral effect
ParticleEmitterContainer.ParticleSpiralRadiusRandomise <XFloat>
ParticleEmitterContainer.ParticleSpiralRadiusVelocity <XFloat>
//    How fast the particles move around the spiral radius
ParticleEmitterContainer.ParticleSpiralRadiusVelocityRandomise <XFloat>
ParticleEmitterContainer.ParticleSpiralRadiusSizeVelocity <XFloat>
//    How the spiral radius changes over time
ParticleEmitterContainer.ParticleVelocity <XVector3f>
//    Velocity of the particles
ParticleEmitterContainer.ParticleVelocityRandomise <XVector3f>
ParticleEmitterContainer.ParticleVelocityIsNormalised <XBool>
== Reading XConteiner end ===


P.S. Знаю где-то это на форуме уже было, но тут более детальное описание некоторых Enum типов.


 
Woitek
Проверенные
Сообщений: 523
Реп: 57 / Инв: 11
Hmmm need start read how work particles in 3D editors... and try make simulation from Parttwk data.
 
  • Страница 1 из 1
  • 1
Поиск: