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