-#ifndef MONSTERS_ALL_H
-#define MONSTERS_ALL_H
+#pragma once
-#include "monster.qh"
+string M_Model(string m_mdl);
-REGISTRY(Monsters, BITS(4))
-REGISTER_REGISTRY(RegisterMonsters)
+REGISTRY(Monsters, BITS(5))
+#define Monsters_from(i) _Monsters_from(i, MON_Null)
+#define get_monsterinfo(i) Monsters_from(i)
+REGISTER_REGISTRY(Monsters)
+REGISTRY_CHECK(Monsters)
const int MON_FIRST = 1;
#define MON_LAST (Monsters_COUNT - 1)
-/** If you register a new monster, make sure to add it to all.inc */
-#define REGISTER_MONSTER(id, inst) REGISTER(RegisterMonsters, MON, Monsters, id, monsterid, inst)
-
-REGISTER_MONSTER(Null, NEW(Monster));
+#define REGISTER_MONSTER(id, inst) REGISTER(Monsters, MON, id, monsterid, inst)
-Monster get_monsterinfo(int id)
-{
- if (id >= MON_FIRST && id <= MON_LAST) {
- Monster m = Monsters[id];
- if (m) return m;
- }
- return MON_Null;
-}
-
-#include "all.inc"
+#include "monster.qh"
-#endif
+REGISTER_MONSTER(Null, NEW(Monster));