#include <acknex.h>
#include "shared.c"
var ParticleSmoothness = 200;
BMAP* rttDepth;
MATERIAL* mDepth= {
effect = "depth.fx";
flags = AUTORELOAD | PASS_SOLID;}
MATERIAL* mSoftParticle = {
effect = "SoftParticle.fx";
flags = AUTORELOAD;}
VIEW* vDepth = {
material = mDepth;
aspect = -1;
flags = SHOW | NOFLAG1;}
function particle();
function main() {
video_set (sys_metrics(0),sys_metrics(1),32,1);
// video_set (700,700,32,0);fps_max=60;
level_load (null);
rttDepth = bmap_createblack(screen_size.x,screen_size.y,14);
vDepth.bmap = rttDepth;
you = ent_create ("what_is_it.mdl",nullvector,null);
camera.x = -2000;
camera.z = 2000;
camera.tilt =-45;
ENTITY *sky_ent = ent_createlayer(SPHERE_MDL, SHOW | SKY | CUBE, 1);
vec_fill(&sky_ent->scale_x, (camera->clip_far * 0.99) / 16);
sky_ent->material = mtl_create();
sky_ent->material->skin1 = bmap_create("skycube+6.tga");
bmap_to_cubemap(sky_ent->material->skin1);
effect_load(sky_ent->material, "sky.fx");
sky_ent->material->skill1 = floatv(1.6);
while (1) {
vec_set (vDepth.x,camera.x);
vec_set (vDepth.pan,camera.pan);
if (random(10) > 9) ent_create ("particle.tga",nullvector,particle);
ParticleSmoothness += sign(mickey.z) * 50;
ParticleSmoothness = clamp(ParticleSmoothness,0,1000);
mSoftParticle.skill1 = floatv(ParticleSmoothness);
wait(1);}}
function particle() {
my.roll = 1;
my.alpha = 100;
set(my,PASSABLE | TRANSLUCENT | FLAG1 | BRIGHT);
my.material = mSoftParticle;
vec_scale (my.scale_x,random(4)+1);
my.x =-1024;
my.y = random(2048)-1024;
my.z = random(512) - 256;
my.red = random(255);
my.green = random(255);
my.blue = random(255);
while (my.x < 1000) {
my.alpha = minv(100,1000 - abs(my.x));
my.x += 5;
wait(1);}
ent_remove (me);}
PANEL* pHelp = {
digits ( 0, 0,"WASD:",font,1,0);
digits (100, 0,"move camera",font,1,0);
digits ( 0,15,"mouse wheel:",font,1,0);
digits (100,15,"change smoothness (%0.0f)",font,1,ParticleSmoothness);
flags = SHOW | OUTLINE;}