#include <default.c>
#include <ackphysX.h>
ENTITY *EntDoor, *EntFrame;
function main()
{
shadow_stencil = 1;
vec_set(sky_color,vector(76,51,25));
physX_open();
level_load(""); pXent_settype(NULL,PH_STATIC,PH_PLANE);
vec_set(camera.x,vector(-250,0,50));
you = ent_createterrain(NULL,nullvector,10,10,70);
ent_setskin(you, bmap_fill(bmap_createblack(32,32,24),vector(76,51,25),100), 1);
EntDoor = ent_create(CUBE_MDL,vector(0,0,35),NULL); ent_cloneskin(EntDoor); ent_setskin(EntDoor, bmap_fill(bmap_createblack(32,32,24),vector(76,51,255),100), 1);
vec_set(EntDoor.scale_x, vector(.5,2,4));
c_setminmax(EntDoor); set(EntDoor,SHADOW|LIGHT);
pXent_settype(EntDoor,PH_RIGID,PH_BOX);
EntFrame = ent_create(CUBE_MDL,vector(0,-25,35),NULL); ent_setskin(EntFrame, bmap_fill(bmap_createblack(32,32,24),vector(76,255,25),100), 1);
vec_set(EntFrame.scale_x, vector(.5,.5,4.5));
c_setminmax(EntFrame); set(EntFrame,SHADOW|LIGHT);
pXent_settype(EntFrame,PH_STATIC,PH_BOX);
pXcon_add(PH_HINGE, EntDoor, NULL, 1);
pXcon_setparams1(EntDoor, EntFrame.x, vector(0,0,1), vector(10,10,0));
pXcon_setparams2(EntDoor, vector(0,90,0), NULL, NULL);
def_move();
while(1)
{
draw_text("[O] - Open/Close the Door",5,5,COLOR_GREEN);
draw_text("[B] - Break the Door",5,25,COLOR_RED);
if(key_o)
{
while (key_o) {wait (1);} pXent_addforcecentral (EntDoor, vector(20,20,0));
}
if(key_b)
{
while (key_b) {wait (1);} pXent_addforcecentral (EntDoor, vector(20,0,-500));
}
wait(1);
}
}