4 #define setmodel(e, m) _setmodel((e), (m).model_str())
7 const int MAX_MODELS = 128;
8 entity MODELS[MAX_MODELS], MODELS_first, MODELS_last;
12 ATTRIB(Model, m_id, int, 0)
13 ATTRIB(Model, model_str, string(), func_null)
14 CONSTRUCTOR(Model, string() path)
17 this.model_str = path;
19 METHOD(Model, model_precache, void(entity this)) {
20 string s = this.model_str();
21 if (s != "" && s != "null" && !fexists(s)) {
22 LOG_WARNINGF("Missing model: \"%s\"\n", s);
25 LOG_TRACEF("precache_model(\"%s\")\n", s);
30 #define MODEL(name, path) \
31 string MDL_##name##_get() { return path; } \
32 REGISTER(RegisterModels, MDL, MODELS, MODELS_COUNT, name, m_id, NEW(Model, MDL_##name##_get))
33 REGISTER_REGISTRY(RegisterModels)
35 STATIC_INIT(RegisterModels_precache) {
36 FOREACH(MODELS, true, LAMBDA({
37 it.model_precache(it);