@@ -20,12 +20,12 @@ public class GameObjectDefinition extends CachedNode implements EntityDefinition
20
20
public static int count ;
21
21
public static int [] OBJECT_TYPES = new int []{0 , 0 , 0 , 0 , 1 , 1 , 1 , 1 , 1 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , 3 };
22
22
public static boolean lowMemory = false ;
23
- public static CacheArchive definitionCache ;
24
- public static CacheArchive modelCache ;
25
- private static NodeCache objectDefinitionCache = new NodeCache (64 );
26
- public static NodeCache objectModelCache = new NodeCache (500 );
23
+ private static CacheArchive definitionArchive ;
24
+ private static CacheArchive modelArchive ;
25
+ private static NodeCache definitionCache = new NodeCache (64 );
26
+ private static NodeCache modelCacheStatic = new NodeCache (500 );
27
27
private static Model [] objectModelHolder = new Model [4 ];
28
- private static NodeCache terrainObjectModelCache = new NodeCache (10 );
28
+ private static NodeCache modelCacheDynamic = new NodeCache (10 );
29
29
private static NodeCache animatedObjectModelCache = new NodeCache (30 );
30
30
31
31
public int unkn1 ;
@@ -150,11 +150,11 @@ public static void addTemporaryObject(int objectId, int x, int orientation, int
150
150
}
151
151
152
152
public static GameObjectDefinition getDefinition (int objectId ) {
153
- GameObjectDefinition gameObjectDefinition = (GameObjectDefinition ) objectDefinitionCache .get (objectId );
153
+ GameObjectDefinition gameObjectDefinition = (GameObjectDefinition ) definitionCache .get (objectId );
154
154
if (gameObjectDefinition != null ) {
155
155
return gameObjectDefinition ;
156
156
}
157
- byte [] is = definitionCache .getFile (6 , objectId );
157
+ byte [] is = definitionArchive .getFile (6 , objectId );
158
158
gameObjectDefinition = new GameObjectDefinition ();
159
159
gameObjectDefinition .id = objectId ;
160
160
if (is == null ) {
@@ -175,22 +175,26 @@ public static GameObjectDefinition getDefinition(int objectId) {
175
175
gameObjectDefinition .solid = false ;
176
176
gameObjectDefinition .walkable = false ;
177
177
}
178
- objectDefinitionCache .put (objectId , gameObjectDefinition );
178
+ definitionCache .put (objectId , gameObjectDefinition );
179
179
return gameObjectDefinition ;
180
180
}
181
181
182
182
public static void clearGameObjectModelCache () {
183
- objectDefinitionCache .clear ();
184
- objectModelCache .clear ();
185
- terrainObjectModelCache .clear ();
183
+ definitionCache .clear ();
184
+ modelCacheStatic .clear ();
185
+ modelCacheDynamic .clear ();
186
186
animatedObjectModelCache .clear ();
187
187
}
188
188
189
+ public static void clearStaticModelCache () {
190
+ modelCacheStatic .clear ();
191
+ }
192
+
189
193
public static void initializeGameObjectDefinitionCache (CacheArchive modelCache , boolean lowMemory , CacheArchive definitionCache ) {
190
- GameObjectDefinition .definitionCache = definitionCache ;
191
- count = GameObjectDefinition .definitionCache .fileLength (6 );
194
+ GameObjectDefinition .definitionArchive = definitionCache ;
195
+ count = GameObjectDefinition .definitionArchive .fileLength (6 );
192
196
GameObjectDefinition .lowMemory = lowMemory ;
193
- GameObjectDefinition .modelCache = modelCache ;
197
+ GameObjectDefinition .modelArchive = modelCache ;
194
198
}
195
199
196
200
public static boolean isObjectLoaded (int type , int id ) {
@@ -209,13 +213,13 @@ public Model createTerrainObjectModel(int arg0, int arg1, int arg2, int arg3, in
209
213
} else {
210
214
l = arg2 + (id << 10 ) + (arg4 << 3 );
211
215
}
212
- Model model = (Model ) terrainObjectModelCache .get (l );
216
+ Model model = (Model ) modelCacheDynamic .get (l );
213
217
if (model == null ) {
214
218
model = createObjectModel (!nonFlatShading , false , arg2 , arg4 );
215
219
if (model == null ) {
216
220
return null ;
217
221
}
218
- terrainObjectModelCache .put (l , model );
222
+ modelCacheDynamic .put (l , model );
219
223
}
220
224
if (adjustToTerrain || nonFlatShading ) {
221
225
model = new Model (adjustToTerrain , nonFlatShading , model );
@@ -293,16 +297,16 @@ public Model createObjectModel(boolean shaded, boolean hasBones, int orientation
293
297
if (bool ) {
294
298
modelId += 65536 ;
295
299
}
296
- model = (Model ) objectModelCache .get (modelId );
300
+ model = (Model ) modelCacheStatic .get (modelId );
297
301
if (model == null ) {
298
- model = Model .getModel (modelCache , modelId & 0xffff );
302
+ model = Model .getModel (modelArchive , modelId & 0xffff );
299
303
if (model == null ) {
300
304
return null ;
301
305
}
302
306
if (bool ) {
303
307
model .method818 ();
304
308
}
305
- objectModelCache .put (modelId , model );
309
+ modelCacheStatic .put (modelId , model );
306
310
}
307
311
if (modelCount > 1 ) {
308
312
objectModelHolder [modelIndex ] = model ;
@@ -327,16 +331,16 @@ public Model createObjectModel(boolean shaded, boolean hasBones, int orientation
327
331
if (bool ) {
328
332
modelId += 65536 ;
329
333
}
330
- model = (Model ) objectModelCache .get (modelId );
334
+ model = (Model ) modelCacheStatic .get (modelId );
331
335
if (model == null ) {
332
- model = Model .getModel (modelCache , 0xffff & modelId );
336
+ model = Model .getModel (modelArchive , 0xffff & modelId );
333
337
if (model == null ) {
334
338
return null ;
335
339
}
336
340
if (bool ) {
337
341
model .method818 ();
338
342
}
339
- objectModelCache .put (modelId , model );
343
+ modelCacheStatic .put (modelId , model );
340
344
}
341
345
}
342
346
boolean bool ;
@@ -542,7 +546,7 @@ public boolean isTypeModelLoaded(int type) {
542
546
if (objectTypes != null ) {
543
547
for (int i = 0 ; objectTypes .length > i ; i ++) {
544
548
if (objectTypes [i ] == type ) {
545
- return modelCache .loaded (objectModels [i ] & 0xffff , 0 );
549
+ return modelArchive .loaded (objectModels [i ] & 0xffff , 0 );
546
550
}
547
551
}
548
552
return true ;
@@ -555,7 +559,7 @@ public boolean isTypeModelLoaded(int type) {
555
559
}
556
560
boolean bool = true ;
557
561
for (int i = 0 ; objectModels .length > i ; i ++) {
558
- bool &= modelCache .loaded (0xffff & objectModels [i ], 0 );
562
+ bool &= modelArchive .loaded (0xffff & objectModels [i ], 0 );
559
563
}
560
564
return bool ;
561
565
}
@@ -582,7 +586,7 @@ public boolean method612() {
582
586
}
583
587
boolean bool = true ;
584
588
for (int i = 0 ; objectModels .length > i ; i ++) {
585
- bool &= modelCache .loaded (0xffff & objectModels [i ], 0 );
589
+ bool &= modelArchive .loaded (0xffff & objectModels [i ], 0 );
586
590
}
587
591
return bool ;
588
592
}
0 commit comments