X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fcommon%2Fitems%2Fall.qh;h=dc8cf21c020a6d06993f87281cc1dad98f29cbac;hp=3f8c603e7ab2aabeb75c74f438a00e73bba7593b;hb=201e1dace88941c841a9211c0e081fb21dc89577;hpb=541c234fd442f5857209128fc7a907e406f4be03 diff --git a/qcsrc/common/items/all.qh b/qcsrc/common/items/all.qh index 3f8c603e7..dc8cf21c0 100644 --- a/qcsrc/common/items/all.qh +++ b/qcsrc/common/items/all.qh @@ -1,20 +1,34 @@ -#ifndef ITEMS_ALL_H -#define ITEMS_ALL_H +#pragma once -void RegisterItems(); -const int MAX_ITEMS = 24; -entity ITEMS[MAX_ITEMS], ITEMS_first, ITEMS_last; -int ITEM_COUNT; -/** If you register a new item, make sure to add it to all.inc */ -#define REGISTER_ITEM(id, class) REGISTER(RegisterItems, ITEM, ITEMS, ITEM_COUNT, id, m_id, NEW(class)) -REGISTER_REGISTRY(RegisterItems) +#include + +#include "item.qh" + +REGISTRY(Items, BITS(7)) +#define Items_from(i) _Items_from(i, NULL) +REGISTER_REGISTRY(Items) +#define REGISTER_ITEM(id, class) REGISTER(Items, ITEM, id, m_id, NEW(class)) + +REGISTRY_SORT(Items) +REGISTRY_CHECK(Items) +STATIC_INIT(Items) { FOREACH(Items, true, it.m_id = i); } void Dump_Items(); -#ifndef MENUQC -string Item_Model(string item_mdl); -#endif +GENERIC_COMMAND(dumpitems, "Dump all items to the console") { + switch (request) { + case CMD_REQUEST_COMMAND: { + Dump_Items(); + return; + } + default: + case CMD_REQUEST_USAGE: { + LOG_INFOF("\nUsage:^3 %s dumpitems", GetProgramCommandPrefix()); + return; + } + } +} +#ifdef GAMEQC +string Item_Model(string item_mdl); #endif - -#include "inventory.qh"