void paging_touch_object( object * obj ) { int v; switch (obj->render_type) { case RT_NONE: break; //doesn't render, like the player case RT_POLYOBJ: if ( obj->rtype.pobj_info.tmap_override != -1 ) PIGGY_PAGE_IN( Textures[obj->rtype.pobj_info.tmap_override] ); else paging_touch_model(obj->rtype.pobj_info.model_num); break; case RT_POWERUP: if ( obj->rtype.vclip_info.vclip_num > -1 ) { //@@ #ifdef WINDOWS //@@ paging_touch_vclip_w(&Vclip[obj->rtype.vclip_info.vclip_num]); //@@ #else paging_touch_vclip(&Vclip[obj->rtype.vclip_info.vclip_num]); //@@ #endif } break; case RT_MORPH: break; case RT_FIREBALL: break; case RT_WEAPON_VCLIP: break; case RT_HOSTAGE: paging_touch_vclip(&Vclip[obj->rtype.vclip_info.vclip_num]); break; case RT_LASER: break; } switch (obj->type) { case OBJ_PLAYER: v = get_explosion_vclip(obj, 0); if ( v > -1 ) paging_touch_vclip(&Vclip[v]); break; case OBJ_ROBOT: paging_touch_robot( obj->id ); break; case OBJ_CNTRLCEN: paging_touch_weapon( CONTROLCEN_WEAPON_NUM ); if (Dead_modelnums[obj->rtype.pobj_info.model_num] != -1) { paging_touch_model( Dead_modelnums[obj->rtype.pobj_info.model_num] ); } break; } }
//blows up the player with a badass explosion //return the explosion object object *explode_badass_player(object *objp) { object *rval; rval = object_create_badass_explosion(objp, objp->segnum, &objp->pos, objp->size, get_explosion_vclip(objp, 0), F1_0*50, F1_0*40, F1_0*150, objp-Objects); if (rval) digi_link_sound_to_object(SOUND_BADASS_EXPLOSION, rval-Objects, 0, F1_0); return (rval); }