I have been reading, but I think I got all wrong, because the program does the things exactly in the opposite order of what I tought. Take a look at my test:

//------------------------------------------------------//
#include<acknex.h>
#include<default.c>

action GREEN() //Entity draws permanently a green dot
{while(1)
{
//proc_mode=PROC_LATE;
draw_point3d(vector(0,8,-12),vector(0,255,0),100,15);//GREEN
wait(1);
}}

action BLUE() //Entity draws permanently a blue dot
{while(1)
{
//proc_mode=PROC_LATE;
draw_point3d(vector(0,0,0),vector(255,0,0),100,15);//BLUE
wait(1);
}}

action RED() //Entity draws permanently a red dot
{while(1)
{
//proc_mode=PROC_EARLY;
draw_point3d(vector(0,8,0),vector(0,0,255),100,10);//RED
wait(1);
}}

function create()
{
ENTITY* ENT3=ent_create("",vector(0,0,0),GREEN);
ENTITY* ENT2=ent_create("",vector(0,0,0),BLUE);
ENTITY* ENT1=ent_create("",vector(0,0,0),RED);
}

function main()
{
level_load("");
wait(2);
camera.x=-100;
create();
}
//------------------------------------------------------//

I thought that the green point should be behind, then the blue, and above the red, but its the opposite.

I know for certain that Im wrong now, since it draws first the red, then the blue and finally the green, and when I call proc_late for the green, it draws it behind all.

So Im really confused, why the actions are called backwards?
RED>>BLUE>>GREEN

Can someone explain me, or lead me to a document that explains it?

Last edited by FcoElizalde; 10/19/09 18:36.