To organize the project a bit, decided to add a new folder inside the
ui folder, to hold all custom components. ui/components/
Rewrote IconTextField
I wasn't happy with its functionality, so I rewrote it to
include the following:
- Left aligned centered icons
- Animated gif support (ex: loading wheels)
- Custom hover effects (color change)
- Input blocking
All changes:
- Created new folder ui/components/
- Moved JShadowLabel and JShadowLabelUI to components folder
- Moved IconTextField to components folder
- Rewrote IconTextField
- Created new components: MaterialTab & MaterialTabGroup
- Created new components: CustomScrollBarUI
- Created new components: PluginErrorPanel
- Created new components: ThinProgressBar
- Applied the new scroll bar ui to the UI defaults (UIManager)
- 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.