.bool m_hidden;
-#define _REGISTRY_SOURCE(id, arr_name, register_arr, cond) \
+#define _REGISTRY_SOURCE(id, arr_name, register_arr, cond1, cond2, cond3) \
ArrayList arr_name##_MENU; \
int arr_name##_MENU_COUNT; \
STATIC_INIT_LATE(arr_name##_MENU) \
{ \
AL_NEW(arr_name##_MENU, register_arr##_MAX, NULL, e); \
- FOREACH(register_arr, !it.m_hidden && (cond), { \
+ FOREACH(register_arr, !it.m_hidden && (cond1), { \
+ AL_sete(arr_name##_MENU, arr_name##_MENU_COUNT, it); \
+ arr_name##_MENU_COUNT++; \
+ }); \
+ FOREACH(register_arr, !it.m_hidden && (cond2), { \
+ AL_sete(arr_name##_MENU, arr_name##_MENU_COUNT, it); \
+ arr_name##_MENU_COUNT++; \
+ }); \
+ FOREACH(register_arr, !it.m_hidden && (cond3), { \
AL_sete(arr_name##_MENU, arr_name##_MENU_COUNT, it); \
arr_name##_MENU_COUNT++; \
}); \
ENDCLASS(id)
#define REGISTRY_SOURCE(...) EVAL(OVERLOAD(REGISTRY_SOURCE, __VA_ARGS__))
-#define REGISTRY_SOURCE_3(id, arr_name, register_arr) _REGISTRY_SOURCE(id, arr_name, register_arr, true)
-#define REGISTRY_SOURCE_4(id, arr_name, register_arr, cond) _REGISTRY_SOURCE(id, arr_name, register_arr, cond)
+#define REGISTRY_SOURCE_3(id, arr_name, register_arr) _REGISTRY_SOURCE(id, arr_name, register_arr, true, false, false)
+#define REGISTRY_SOURCE_4(id, arr_name, register_arr, cond1) _REGISTRY_SOURCE(id, arr_name, register_arr, cond1, false, false)
+#define REGISTRY_SOURCE_5(id, arr_name, register_arr, cond1, cond2) _REGISTRY_SOURCE(id, arr_name, register_arr, cond1, cond2, false)
+#define REGISTRY_SOURCE_6(id, arr_name, register_arr, cond1, cond2, cond3) _REGISTRY_SOURCE(id, arr_name, register_arr, cond1, cond2, cond3)
REGISTRY_SOURCE(FreetextSource, Guide, GuidePages)
// The descriptions for these are in common/mutators/mutator/powerups/powerup/*.qc and common/items/item/jetpack.qc
#include <common/items/all.qh>
-REGISTRY_SOURCE(ItemSource, Items, Items, !it.instanceOfPowerup)
+REGISTRY_SOURCE(ItemSource, Items, Items,
+ !it.instanceOfPowerup && it.instanceOfAmmo,
+ !it.instanceOfPowerup && it.instanceOfHealth,
+ !it.instanceOfPowerup && it.instanceOfArmor)
// The descriptions for these are in common/items/item/*.qc and common/mutators/mutator/instagib/items.qc
#include <common/mutators/mutator/nades/nades.qh>