New engine features

Top  Previous  Next

BEAM / STREAK improvements

 

BEAM and STREAK now use a 3D mode that also works in isometric views

 

 

freeze_mode improvements

 

The freeze_mode variable can be used to freeze all particles now.

 

BMAP* snow_tga = "snow.tga";

 

function snow_effect(PARTICLE *p)

{

       p->vel_x = 1 - random(2);

       p->vel_y = 1 - random(2);

       p->vel_z = -5 + random(3);

       p.lifespan = 70; // this value sets the lifespan for your particles - play with it

       p.alpha = 40 + random(50);

       p.bmap = snow_tga;

       p.size = 3;

       p.flags |= (BRIGHT | MOVE);

       p.event = NULL;

}

 

action snow_particles()

{

       VECTOR temp;

       set (my, INVISIBLE | PASSABLE);

       while (1)

       {

               temp.x = my.x + 100 - random(200);

               temp.y = my.y + 100 - random(200);

               temp.z = my.z;

               effect(snow_effect, 1, temp.x, nullvector);

               wait (1);

       }

}

 

function freeze_startup()

{

       while (1)

       {

               if (key_1)

                       freeze_mode = 1; // stop all the actions and the particles if the player presses "1"

               if (key_2)

                       freeze_mode = 0; // resume the actions and the particle generation when pressing "2"

               wait (1);

       }

}

 

aum108_beta1

 

 

d3d_entsort improvements

 

The entities can now be sorted according to their z distance.

 

function main()

{

       d3d_entsort = 8; // sort the entities according to their Z distance to the camera

       // the rest of the main code goes here

}