void renderent(entity &e) { /* FIXME: if the item list change, this hack will be messed */ defformatstring(widn)("modmdlpickup%d", e.type-3); defformatstring(mdlname)("pickups/%s", identexists(widn)?getalias(widn): entmdlnames[e.type-I_CLIPS+(m_lss(gamemode, mutators) && e.type==I_GRENADE ? 5:0)]); float z = (float)(1+sinf(lastmillis/100.0f+e.x+e.y)/20), yaw = lastmillis/10.0f; rendermodel(mdlname, ANIM_MAPMODEL|(e.spawned ? 0 : ANIM_TRANSLUCENT)|ANIM_LOOP|ANIM_DYNALLOC, 0, 0, vec(e.x, e.y, z+S(e.x, e.y)->floor+e.attr1), yaw, 0); }
void selectweapon(weapon *w) { if(!w || !player1->weaponsel->deselectable()) return; if(w->selectable()) { int i = w->type; // substitute akimbo weapon *akimbo = player1->weapons[GUN_AKIMBO]; if(w->type==GUN_PISTOL && akimbo->selectable()) w = akimbo; player1->weaponswitch(w); if(identexists("onWeaponSwitch")) { string o; formatstring(o)("onWeaponSwitch %d", i); execute(o); } } }