#include <acknex.h>
#include <default.c>
#include <ackphysx.h>
void main()
{
video_mode = 4;
physX_open();
level_load( "" );
camera.x = -150;
// Ground
ENTITY *g = ent_create("CUBE.MDL", nullvector, NULL);
vec_set(g->scale_x, vector(5, 5, 0.1));
pXent_settype(g, PH_STATIC, PH_BOX);
// Static Plane
ENTITY *sp = ent_create("CUBE.MDL", vector(0, 0, 50), NULL);
vec_set(sp->scale_x, vector( 0.1, 2, 0.1 ));
// Set tilt
sp->roll = 20;
pXent_settype(sp, PH_STATIC, PH_BOX);
// Rigid Plane
ENTITY *rp = ent_create("CUBE.MDL", vector(0, -20, 35), NULL);
vec_set(rp->scale_x, vector( 0.1, 2, 0.1 ));
// Set tilt
rp->roll = -20;
pXent_settype(rp, PH_RIGID, PH_BOX);
pXent_setbodyflag(rp, NX_BF_DISABLE_GRAVITY, 1);
pXent_setbodyflag(rp, NX_BF_FROZEN_PAN, 1);
pXent_setbodyflag(rp, NX_BF_FROZEN_TILT, 1);
pXent_setbodyflag(rp, NX_BF_FROZEN_ROLL, 1);
pXent_setbodyflag(rp, NX_BF_FROZEN_POS_X, 1);
pXent_setbodyflag(rp, NX_BF_FROZEN_POS_Y, 1);
pXent_setbodyflag(rp, NX_BF_FROZEN_POS_Z, 1);
// Kinematic Plane
ENTITY *kp = ent_create("CUBE.MDL", vector(0, 0, 20), NULL);
vec_set(kp->scale_x, vector( 0.1, 2, 0.1 ));
// Set tilt
kp->roll = 20;
pXent_settype(kp, PH_RIGID, PH_BOX);
pXent_setbodyflag(kp, NX_BF_KINEMATIC, 1);
// Sphere
ENTITY *s = ent_create("SPHERE.MDL", vector(0, 10, 100), NULL);
vec_set(s->scale_x, vector(0.2, 0.2, 0.2));
pXent_settype(s, PH_RIGID, PH_SPHERE);
}