/* Simple object (power ups, non-moving objects) long x,y; schar direction; ushort otype,state ushort current_frame; extension * Moving object (simple lisp controlled characters) uchar flags; long xvel,yvel,xacel,yacel; uchar fx,fy,fxvel,fyvel,fxacel,fyacel,aitype; ushort aistate,aistate_time; unsigned short hp,mp, extension * Complex objects (can controll lights, other characters, and have a neural net ai) uchar tobjs,tlights; object_list * light_list * nnet_info * schar fade_dir, frame_dir; unsigned char fade_count,fade_max; morph_char *morph_status; */ #include "extend.hpp" #include "view.hpp" #include "objects.hpp" #include "lisp.hpp" void simple_object::add_light(light_source *ls) { if (!ls) return ; ls->known=1; for (int i=0;iset_flags(o->flags()|KNOWN_FLAG); tobjs++; objs=(game_object **)jrealloc(objs,sizeof(game_object *)*tobjs,"Object list"); objs[tobjs-1]=o; } void simple_object::remove_light(light_source *ls) { for (int i=0;ifocus=NULL; } simple_object default_simple;