#include <acknex.h>
#include <default.c>
PANEL* pSplash=
{
bmap="logo_800.jpg";
}
TEXT* tHelp=
{
pos_x=10;
pos_y=10;
font="Arial#24bi";
flags=SHADOW;
string("Press [Space] to kick the ball!");
}
ENTITY* eBall;
SOUND* sPong = "tap.wav";
VECTOR vSpeed,vAngularSpeed,vForce,vMove;
function Plop()
{
ent_playsound(eBall,sPong,100);
}
function Kick()
{
VECTOR vKick;
vKick.x=150;
vKick.y=0;
vKick.z=75;
vec_rotate(vKick,camera.pan);
phent_addvelcentral(eBall,vKick);
Plop();
}
function main()
{
video_mode=7;
shadow_stencil=3;
d3d_antialias=4;
sound_vol=100;
set(pSplash,SHOW);
wait(3);
level_load("small.hmp");
ENTITY* sky=ent_createlayer("skycube+6.dds",SKY|CUBE|SHOW,0);
sky.z = 30;
camera.z=30;
eBall=ent_create("earth.mdl",vector(0,0,100),NULL);
set(eBall,SHADOW);
eBall.material = mat_metal;
phent_settype(eBall,PH_RIGID,PH_SPHERE);
phent_setmass(eBall,1,PH_SPHERE);
phent_setfriction(eBall,90);
phent_setelasticity(eBall,75,100);
phent_setdamping(eBall,30,5);
phent_addvelcentral(eBall,vector(10,10,0));
ph_setgravity(vector(0,0,-500));
eBall.event = Plop;
eBall.emask|=ENABLE_FRICTION;
pan_remove(pSplash);
set(tHelp,SHOW);
on_space = Kick;Plop();
while (1)
{
vForce.x=-5*(key_force.x+mouse_force.x);
vForce.y=5*(key_force.y+mouse_force.y);
vForce.z=0;vec_accelerate(vMove,vAngularSpeed,vForce,0.8);
vec_add(camera.pan,vMove);
vForce.x=6*(key_w-key_s);
vForce.y = 6*(key_a-key_d);
vForce.z=6*(key_home- key_end);
vec_accelerate(vMove,vSpeed,vForce,0.5);
vec_rotate(vMove,camera.pan);
vec_add(camera.x,vMove);wait(1);
}
}