///////////////////////////////
#include <acknex.h>
#include <default.c>
///////////////////////////////
ENTITY* gondela_ph=NULL;
var gcon;
action gondela ()
{
phent_settype (my,PH_RIGID,PH_BOX);
phent_setmass(my,1,PH_SPHERE);
gcon = phcon_add(PH_HINGE,my,NULL);
phcon_setparams1(gcon,my.x,vector(0,0,1),nullvector);
phcon_setparams2(gcon,vector(-360,360,0),nullvector,nullvector);
gondela_ph = my;
}
action fun_sp ()
{
var con;
VECTOR aang;
while(!gondela_ph) wait(1);
phent_settype (my,PH_RIGID,PH_SPHERE);
phent_setmass(my,1,PH_SPHERE);
con = phcon_add(PH_HINGE,my,gondela_ph);
//now find rotate axis
vec_set(aang,gondela_ph.x);vec_sub (aang,my.x);vec_normalize(aang,1);
//
phcon_setparams1(con,vector(my.x,my.y,gondela_ph.z),vector(aang.x,aang.y,0),nullvector);
phcon_setparams2(con,vector(-360,360,0),nullvector,nullvector);
}
void main ()
{
level_load ("map.wmb");
ph_setgravity (vector(0,0,-300));
while(!gondela_ph) wait(1);
while (1)
{
phcon_setmotor (gcon,vector(3,50,0),nullvector,nullvector);
wait(1);
}
}