Merge branch 'master' into Mario/vaporizer_damage
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / items / item.qh
1 #ifndef GAMEITEM_H
2 #define GAMEITEM_H
3 #define ITEM_HANDLE(signal, ...) __Item_Send_##signal(__VA_ARGS__)
4 /** If you register a new item, make sure to add it to all.inc */
5 CLASS(GameItem, Object)
6     ATTRIB(GameItem, m_id, int, 0)
7     ATTRIB(GameItem, m_name, string, string_null)
8     ATTRIB(GameItem, m_icon, string, string_null)
9     ATTRIB(GameItem, m_color, vector, '1 1 1')
10     ATTRIB(GameItem, m_waypoint, string, string_null)
11     ATTRIB(GameItem, m_waypointblink, int, 1)
12     METHOD(GameItem, display, void(entity this, void(string name, string icon) returns)) {
13         returns(this.m_name, this.m_icon ? sprintf("/gfx/hud/%s/%s", cvar_string("menu_skin"), this.m_icon) : string_null);
14     }
15     METHOD(GameItem, show, void(entity this)) { LOG_INFO("A game item\n"); }
16     void ITEM_HANDLE(Show, entity this) { this.show(this); }
17 ENDCLASS(GameItem)
18
19 #endif