project: resize EvictingDualNodeHashTable

This commit is contained in:
Owain van Brakel
2021-12-21 20:00:11 +01:00
parent 7ad37fe8cb
commit 2b0f14427b
11 changed files with 321 additions and 44 deletions

View File

@@ -926,7 +926,7 @@ public interface RSClient extends RSGameEngine, Client
int[][] getOccupiedTilesTick();
@Import("ObjectDefinition_cachedModels")
RSEvictingDualNodeHashTable getCachedModels2();
RSEvictingDualNodeHashTable getObjectDefinitionModelsCache();
@Import("Scene_drawnCount")
int getCycle();
@@ -1483,4 +1483,91 @@ public interface RSClient extends RSGameEngine, Client
@Import("objectSounds")
Deque<AmbientSoundEffect> getAmbientSoundEffects();
@Import("EnumDefinition_cached")
RSEvictingDualNodeHashTable getEnumDefinitionCache();
@Import("FloorUnderlayDefinition_cached")
RSEvictingDualNodeHashTable getFloorUnderlayDefinitionCache();
@Import("FloorOverlayDefinition_cached")
RSEvictingDualNodeHashTable getFloorOverlayDefinitionCache();
@Import("HitSplatDefinition_cached")
RSEvictingDualNodeHashTable getHitSplatDefinitionCache();
@Import("HitSplatDefinition_cachedSprites")
RSEvictingDualNodeHashTable getHitSplatDefinitionSpritesCache();
@Import("HitSplatDefinition_cachedFonts")
RSEvictingDualNodeHashTable getHitSplatDefinitionDontsCache();
@Import("InvDefinition_cached")
RSEvictingDualNodeHashTable getInvDefinitionCache();
@Import("ItemDefinition_cachedModels")
RSEvictingDualNodeHashTable getItemDefinitionModelsCache();
@Import("ItemDefinition_cachedSprites")
RSEvictingDualNodeHashTable getItemDefinitionSpritesCache();
@Import("KitDefinition_cached")
RSEvictingDualNodeHashTable getKitDefinitionCache();
@Import("NpcDefinition_cached")
RSEvictingDualNodeHashTable getNpcDefinitionCache();
@Import("NpcDefinition_cachedModels")
RSEvictingDualNodeHashTable getNpcDefinitionModelsCache();
@Import("ObjectDefinition_cached")
RSEvictingDualNodeHashTable getObjectDefinitionCache();
@Import("ObjectDefinition_cachedModelData")
RSEvictingDualNodeHashTable getObjectDefinitionModelDataCache();
@Import("ObjectDefinition_cachedEntities")
RSEvictingDualNodeHashTable getObjectDefinitionEntitiesCache();
@Import("ParamDefinition_cached")
RSEvictingDualNodeHashTable getParamDefinitionCache();
@Import("PlayerAppearance_cachedModels")
RSEvictingDualNodeHashTable getPlayerAppearanceModelsCache();
@Import("SequenceDefinition_cached")
RSEvictingDualNodeHashTable getSequenceDefinitionCache();
@Import("SequenceDefinition_cachedFrames")
RSEvictingDualNodeHashTable getSequenceDefinitionFramesCache();
@Import("SequenceDefinition_cachedModel")
RSEvictingDualNodeHashTable getSequenceDefinitionModelsCache();
@Import("SpotAnimationDefinition_cached")
RSEvictingDualNodeHashTable getSpotAnimationDefinitionCache();
@Import("SpotAnimationDefinition_cachedModels")
RSEvictingDualNodeHashTable getSpotAnimationDefinitionModlesCache();
@Import("VarcInt_cached")
RSEvictingDualNodeHashTable getVarcIntCache();
@Import("VarpDefinition_cached")
RSEvictingDualNodeHashTable getVarpDefinitionCache();
@Import("Widget_cachedModels")
RSEvictingDualNodeHashTable getModelsCache();
@Import("Widget_cachedFonts")
RSEvictingDualNodeHashTable getFontsCache();
@Import("Widget_cachedSpriteMasks")
RSEvictingDualNodeHashTable getSpriteMasksCache();
@Import("WorldMapElement_cachedSprites")
RSEvictingDualNodeHashTable getSpritesCache();
@Construct
RSIterableNodeHashTable createIterableNodeHashTable(int size);
}

View File

@@ -29,6 +29,9 @@ import net.runelite.mapping.Import;
public interface RSDualNode extends RSNode, DualNode
{
@Import("previousDual")
RSDualNode previousDual();
@Import("removeDual")
void unlinkDual();
}

View File

@@ -8,15 +8,44 @@ public interface RSEvictingDualNodeHashTable extends NodeCache
@Import("get")
RSDualNode get(long id);
@Import("dualNode")
RSDualNode getDualNode();
@Import("clear")
@Override
void reset();
@Import("capacity")
int getCapacity();
@Import("capacity")
@Override
void setCapacity(int capacity);
@Import("remainingCapacity")
int getRemainingCapacity();
@Import("remainingCapacity")
@Override
void setRemainingCapacity(int remainingCapacity);
@Import("deque")
RSIterableDualNodeQueue getDeque();
@Import("hashTable")
void setHashTable(RSIterableNodeHashTable hashTable);
float getThreshold();
void setThreshold(float threshold);
int getTmpCapacity();
void setTmpCapacity(int tmpCapacity);
boolean isTrashing();
void resize(int newSize);
void increaseCapacity(int newSize);
}

View File

@@ -1,3 +1,9 @@
package net.runelite.rs.api;
public interface RSIterableDualNodeQueue {}
import net.runelite.mapping.Import;
public interface RSIterableDualNodeQueue
{
@Import("add")
void add(RSDualNode var1);
}