]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/models/all.qh
Merge branch 'terencehill/quickmenu_file_example' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / models / all.qh
index 0f94644316607c6f8edf4b28e5d4425d05da234a..b81567427767f030fb5742c87be7089f4c56afe6 100644 (file)
@@ -1,35 +1,17 @@
 #ifndef MODELS_ALL_H
 #define MODELS_ALL_H
 
-#define setmodel(e, m) _setmodel((e), (m).model_str())
+#include "model.qh"
 
-REGISTRY(Models, 128)
+REGISTRY(Models, BITS(9))
+#define Models_from(i) _Models_from(i, MDL_Null)
 REGISTER_REGISTRY(RegisterModels)
 
-CLASS(Model, Object)
-    ATTRIB(Model, m_id, int, 0)
-    ATTRIB(Model, model_str, string(), func_null)
-    CONSTRUCTOR(Model, string() path)
-    {
-        CONSTRUCT(Model);
-        this.model_str = path;
-    }
-    METHOD(Model, model_precache, void(entity this)) {
-        string s = this.model_str();
-        if (s != "" && s != "null" && !fexists(s)) {
-            LOG_WARNINGF("Missing model: \"%s\"\n", s);
-            return;
-        }
-        LOG_TRACEF("precache_model(\"%s\")\n", s);
-        precache_model(s);
-    }
-ENDCLASS(Model)
-
 #define MODEL(name, path) \
     string MDL_##name##_get() { return path; } \
-    REGISTER(RegisterModels, MDL, Models, Models_COUNT, name, m_id, NEW(Model, MDL_##name##_get))
+    REGISTER(RegisterModels, MDL, Models, name, m_id, NEW(Model, MDL_##name##_get))
 
-STATIC_INIT(RegisterModels_precache) {
+PRECACHE(Models) {
     FOREACH(Models, true, LAMBDA({
         it.model_precache(it);
     }));