Skip to content

ParticleSystemBase

ParticleSystemBase structure

Name Type Condition
header ThorResourceHeader
type uint32
partsys PSGenericSprite type == 0x1
partsys PSGenericGeometry type == 0x2
forces Array<Force>
states Array<SteadyState>

Note

If type is not any of the values listed above, Revelation will crash.

PSGenericSprite structure

Name Type
base PSGenericBase
defaultSpriteWidth float32
defaultSpriteHeight float32
scaleParams ScaleParams
isRotating bool
rotation VariableData<float32>
isPendulumRotating bool
pendulumRotationRange VariableData<float32>
pendulumRotationCycleTime VariableData<float32>
isTextureTiled bool
usedTextureTiles Array<uint8>
textureName EncryptedString
??? uint32
??? uint32
cylindricalBillboarding bool

PSGenericGeometry structure

Name Type
base PSGenericBase
scale3DParams Scale3DParams
??? bool

PSGenericBase structure

Name Type
maxPartCount uint32
emitterParams EmitterParams
generationRate float32
hasLifeTime bool
??? VariableData<float32>[3]
opacityParams OpacityParams
isColorHSV bool
colorParams ColorParams
bounceParams BounceParams
deathPlaneParams DeathPlaneParams
orbitalParams OrbitalParams
gravity Vector3

EmitterParams structure

Name Type
shapeType ShapeType
positionParams float32[3]
velocityType VelocityType
speed VariableData<float32>
velocityAngles float32[2]
globalMatrixOffset Vector3
globalMatrixRotation Vector3
ShapeType enum
Name Value
Point 0x0
Rectangle 0x1
Circle 0x2
CircleEdge 0x3
Cylinder 0x4
CylinderEdge 0x5
Sphere 0x6
HalfSphere 0x7
Box 0x8
VelocityType enum
Name Value
??? 0x0
??? 0x1
??? 0x2

OpacityParams structure

Also called LifeStageParameters<0>.

Name Type
??? bool
??? bool
??? VariableData<float32>[3]

ColorParams structure

Also called LifeStageParameters<1>.

Name Type
??? bool
??? bool
??? VariableData<Vector3>[3]

BounceParams structure

Name Type
??? bool
plane Plane
speedLossFactor float32

DeathPlaneParams structure

Name Type
??? bool
killParticles bool
planes Array<Plane>

OrbitalParams structure

Name Type
??? bool
speed VariableData<float32>
radius VariableData<float32>
orient bool
newGoalInterval float32
newGoalAxisAdjust float32
changeOrbitalForces bool
changeOfOrbitalTime VariableData<float32>
nOrbitalForces uint32

ScaleParams struct

Also called LifeStageParameters<2>.

Name Type
??? bool
keepScaleRatio bool
??? bool
??? VariableData<Vector2>[3]

Scale3DParams structure

Also called LifeStageParameters<3>.

Name Type
??? bool
keepScaleRatio bool
??? bool
??? VariableData<Vector3>[3]

VariableData<Type> structure

A VariableData describes the bounds within which a variable is to be randomised.

Name Type
min Type
max Type

Force structure

Name Type Condition
type uint32
data FWind type == 0x1
data FOrbital type == 0x2
data FFriction type == 0x3
data FRayRepulsor type == 0x4

Note

If type is not any of the values listed above, Revelation will crash.

FWind structure

Name Type
name EncryptedString
localMatrixOffset Vector3
localMatrixRotation Vector3
maxForces float32
??? float32

FOrbital structure

Name Type
name EncryptedString
localMatrixOffset Vector3
localMatrixRotation Vector3
id uint32
??? float32
radialTargetSpeedAdjust float32
??? float32

FFriction structure

Name Type
name EncryptedString
friction float32

FRayRepulsor structure

Name Type
name EncryptedString
localMatrixOffset Vector3
localMatrixRotation Vector3
??? float32
??? float32
maxDistance float32

SteadyState structure

Name Type
id uint32
??? Array<uint8>