01 #ifndef COMMON_WEAPON_HH 02 #define COMMON_WEAPON_HH "poopants" 03 #include "UI.HC"; 04 #include "Utils"; 05 class CWeapon:CUIGridItem { 06 U0 (*fire)(CWeapon *,CGameThing *who); 07 U0 (*alt_fire)(CWeapon *,CGameThing *who); 08 U8 *big_icon; 09 I64 dft_ammo; 10 CPinWorm *owner; 11 }; 12 U0 ClickWeapon(CWeapon *w) { 13 14 } 15 CWeapon *WeaponTemplateNew(U8 *icon,I64 dft_ammo,U8 *fire,U8 *alt_fire=NULL) { 16 CWeapon *w=GCCAlloc(sizeof CWeapon); 17 CDC *d,*d2; 18 w->icon=DC2Sprite(d=SpriteToSquareDC(icon,24)); 19 w->big_icon=DC2Sprite(d2=SpriteToSquareDC(icon,128)); 20 DCDel(d),DCDel(d2); 21 w->fire=fire; 22 w->alt_fire=alt_fire; 23 return w; 24 } 25 CWeapon *WeaponNew0(CWeapon *w) { 26 w=GCMAllocIdent(w); 27 w->ammo=w->dft_ammo; 28 return w; 29 } 30 Bool AddWeaponToWorm(CWeapon *w,CPinWorm *pw) { 31 Bool added; 32 w=WeaponNew0(w); 33 w->owner=pw; 34 added=UIGridAddItem(worm->hotbar,w); 35 } 36 #endif