MCPcopy Create free account
hub / github.com/demoth/jake2 / Mod_ForName

Method Mod_ForName

client/src/main/java/jake2/client/render/fast/Model.java:188–289  ·  view source on GitHub ↗
(String name, boolean crash)

Source from the content-addressed store, hash-verified

186 */
187 // todo: replace with constructor calls
188 model_t Mod_ForName(String name, boolean crash)
189 {
190 model_t mod = null;
191 int i;
192
193 if (name == null || name.length() == 0)
194 Com.Error(Defines.ERR_DROP, "Mod_ForName: NULL name");
195
196 //
197 // inline models are grabbed only from worldmodel
198 //
199 if (name.charAt(0) == '*')
200 {
201 i = Integer.parseInt(name.substring(1));
202 if (i < 1 || r_worldmodel == null || i >= r_worldmodel.numsubmodels)
203 Com.Error (Defines.ERR_DROP, "bad inline model number");
204 return mod_inline[i];
205 }
206
207 //
208 // search the currently loaded models
209 //
210 for (i=0; i<mod_numknown ; i++)
211 {
212 mod = mod_known[i];
213
214 if (mod.name.length() == 0)
215 continue;
216 if (mod.name.equals(name) )
217 return mod;
218 }
219
220 //
221 // find a free model slot spot
222 //
223 for (i=0; i<mod_numknown ; i++)
224 {
225 mod = mod_known[i];
226
227 if (mod.name.length() == 0)
228 break; // free spot
229 }
230 if (i == mod_numknown)
231 {
232 if (mod_numknown == MAX_MOD_KNOWN)
233 Com.Error (Defines.ERR_DROP, "mod_numknown == MAX_MOD_KNOWN");
234 mod_numknown++;
235 mod = mod_known[i];
236 }
237
238 mod.name = name;
239
240 //
241 // load the file
242 //
243 fileBuffer = FS.LoadFile(name);
244
245 if (fileBuffer == null)

Callers 2

R_BeginRegistrationMethod · 0.95
R_RegisterModelMethod · 0.95

Calls 8

ErrorMethod · 0.95
LoadFileMethod · 0.95
Mod_LoadAliasModelMethod · 0.95
Mod_LoadSpriteModelMethod · 0.95
Mod_LoadBrushModelMethod · 0.95
getIntMethod · 0.80
equalsMethod · 0.45
resetMethod · 0.45

Tested by

no test coverage detected