low memory plugin: set low memory mode after startup
Setting low memory mode too early prevents high detail textures from loading, which breaks the gpu plugin
This commit is contained in:
@@ -26,7 +26,10 @@ package net.runelite.client.plugins.lowmemory;
|
|||||||
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
|
import net.runelite.api.GameState;
|
||||||
|
import net.runelite.api.events.GameStateChanged;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
|
|
||||||
@@ -47,7 +50,10 @@ public class LowMemoryPlugin extends Plugin
|
|||||||
@Override
|
@Override
|
||||||
protected void startUp()
|
protected void startUp()
|
||||||
{
|
{
|
||||||
clientThread.invoke(() -> client.changeMemoryMode(true));
|
if (client.getGameState() == GameState.LOGGED_IN)
|
||||||
|
{
|
||||||
|
clientThread.invoke(() -> client.changeMemoryMode(true));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -55,4 +61,16 @@ public class LowMemoryPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
clientThread.invoke(() -> client.changeMemoryMode(false));
|
clientThread.invoke(() -> client.changeMemoryMode(false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onGameStateChanged(GameStateChanged event)
|
||||||
|
{
|
||||||
|
// When the client starts it initializes the texture size based on the memory mode setting.
|
||||||
|
// Don't set low memory before the login screen is ready to prevent loading the low detail textures,
|
||||||
|
// which breaks the gpu plugin due to it requiring the 128x128px textures
|
||||||
|
if (event.getGameState() == GameState.LOGIN_SCREEN)
|
||||||
|
{
|
||||||
|
client.changeMemoryMode(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user