- Created new substance theme "Obsidian"
- Created new ColorScheme file to hold all globally used colors
- Darkened the client frame using the substance color scheme file
- Changed substance's colorization factor to 1
- Tweaked the coloring on the dev plugin panel
- Set the UI default foreground color on Buttons and MenuItems to White.
- Merge highlightedNpcs and npc tags to one list
- Update highlightedNpcs with npc tags on spawn/despawn and menu entry
click
- Add brackets to single line ifs, remove redundant code
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
To not change low detail flag before sounds are loaded, delay it to be
set only when arriving at login screen to not end up with corrupted
sound data.
Fixes: #696
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This broke the speccounter plugin, and is moderately incorrect because client scripts can update varbits before a tick has happened, and the event should reflect that.
The rasterizer crashes on certain tiles ingame with specific camera angles.
java.lang.ArrayIndexOutOfBoundsException: -1
at Graphics3D.rasterGouraudLine(Graphics3D.java:797)
at Graphics3D.rasterGouraud(Graphics3D.java:680)
at Region.drawTileUnderlay(Region.java:1853)
at Region.draw(Region.java:1376)
at Region.drawRegion(Region.java:1187)
at class35.method682(class35.java:808)
at WorldMapType3.gameDraw(WorldMapType3.java:448)
at class218.method4359(class218.java:1069)
at Client.method1268(Client.java:3922)
at Client.methodDraw(Client.java:2239)
at GameEngine.method914(GameEngine.java:605)
at GameEngine.run(GameEngine.java:1027)
at java.lang.Thread.run(Thread.java:748)
Since commit 08c816e, the varbit change event is fired after this widget is shown and inRaidChambers is always false at that point. This would prevent the vanilla point box from being hidden.
If a plugin used a combination of renderPolygon and either use other
util methods or draw on their own on the same graphics object, the
stroke would get applied as well.
The map region change is triggered when a game starts loading new regions, but that doesn't necessarily mean the player is in the correct region. Additionally the currently loaded regions reveal very little information about where a player is actually located. Instead of relying on this event, the plugin now listens to game state changes, which are triggered for player region changes. When that happens, the plugin checks player region against the actual kingdom regions (2 in total).