*.psys files

PSYS files are the visual effect files used in the Luxor 1 engine (used in 1 and Amun Rising). They can make or break the game's aesthetics, and if done right, can add to a level / the game, and can be stunning.

How to include effects to a ui file

Create a new uiParticleSystem child in your ui file (yes, this means that you can add effects to a level!).

    Child child_name = uiParticleSystem
    {
        X = 0
        Y = 0
        Depth = YourDepthHere
        File = your\path\here.psys
    }

Make sure your uiParticleSystem child name is unique. Not doing so could make the game load the wrong uiParticleSystem child.

One thing to note is that unlike sprites, which have their anchor point in the top-left corner, their anchor point is at the center. This also goes for the emitter in the psys file.

For example, setting an effect to x0 y0 will still go to the top-left corner as any other child does, but only the lower-right portion of the effect will be displayed in that position.

An easier way of saying this is: Treat psys file positioning as you would position the frog in Zuma.

Anatomy of a .PSYS File

We will look at a specific part of the "extra life" psys that happens when you receieve an extra life.

Emitter ankh
{
	Type = Sprite
	Flags = EF_NONE
	StartParticles = 2
	MaxParticles = 2
	ParticleRate = 0.000000
	Sprite = data\sprites\particles\ankh.spr
	ColorRate = 0.000000
	AnimMin = 0
	AnimMax = 0
	AnimRate = 30
	FadeInEndTime = 0.000000
	FadeOutStartTime = 0.800000
	LifespanMin = 2.000000
	LifespanMax = 2.000000
	RenderDelay = 0.000000
	FirstFrameDelay = 0.000000
	PosX = 0.000000
	PosY = 0.000000
	SpawnRadiusMin = 0.000000 0.000000
	SpawnRadiusMax = 0.000000 0.000000
	StartVelMin = 0.000000 -25.000000
	StartVelMax = 0.000000 -25.000000
	Acc = 0.000000 0.000000
	DevDelay = 0.000000
	DevAngle = 0.000000 0.000000
	EmitterVelMin = 0.000000 0.000000
	EmitterVelMax = 0.000000 0.000000
	EmitterAcc = 0.000000 0.000000
	EmitterStart = 0.000000 0.000000
	EmitterLifespan = 0.250000 0.250000
}

At first glance it looks slightly simple - and it is simple!

Type

Not touched too much yet, keep it as Sprite.

Flags

These flags determine what this effect should do.

The Rest

Examples

When done right, you can do awesome effects like these:

An extra from Luxor Mod 2020:

Sniper Bullet:

Keep In Mind


Revision #3
Created 20 November 2020 14:55:54 by CrushyGreenRen
Updated 17 May 2023 10:45:40 by CrushyGreenRen