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 int fh = fopen(s, FILE_READ);
24 } else if (s && s != "" && s != "null") {
25 LOG_WARNINGF("Missing model: \"%s\"\n", s);
28 LOG_TRACEF("precache_model(\"%s\")\n", s);
33 #define MODEL(name, path) \
34 string MDL_##name##_get() { return path; } \
35 REGISTER(RegisterModels, MDL, MODELS, MODELS_COUNT, name, m_id, NEW(Model, MDL_##name##_get))
36 REGISTER_REGISTRY(RegisterModels)
38 STATIC_INIT(RegisterModels_precache) {
39 FOREACH(MODELS, true, LAMBDA({
40 it.model_precache(it);