function SnapShot_Event()
{
if(render_view == camera) return(1);
return 0;
}
//
MATERIAL *SnapShot_mat = { event=SnapShot_Event; flags=ENABLE_TREE; }
//
//=======================================================================================
void preview_create(STRING* ent_name, BMAP* targ_bmap)
{
if((!ent_name)||(!targ_bmap)) return; //invalid capture parameter/s.
ENTITY* targ_ent = NULL;
var old_mode=preload_mode;
preload_mode = 3+4+8;
targ_ent = ent_create(ent_name, nullvector, NULL);
preload_mode=old_mode;
if(targ_ent==NULL) return; //invalid entity name
vec_set(targ_ent.pan,vector(35+random(300),10,0));
vec_set(targ_ent.x,vector(-0,-0,-0));
//------------------------------------------------------------------------------------
VIEW *view = view_create(1000);
view.genius = targ_ent;
view.bmap = targ_bmap;
view.size_x = targ_bmap.width;
view.size_y = targ_bmap.height;
c_updatehull(targ_ent, targ_ent.frame);
VECTOR box;
vec_set(view.x, targ_ent.x);
view.x -= 110;
vec_diff(box,targ_ent.x,view.x);
vec_to_angle(view.pan,box);
targ_ent.material=SnapShot_mat;
//------------------------------------------------------------------------------------
set(view, SHOW | NOENT);
wait(1);
ptr_remove(view);
ent_purge(targ_ent);
ent_remove(targ_ent);
beep();
}