* logger for d2audio & d2map
* logger for d2ui e.t.c
* d2inventory now passes on error messages
* no more importing log in d2core
* implemented #925
* added logger to part of d2networking & fixed "need to be changed" comments
* fixed lints
* fixed errors
Co-authored-by: M. Sz <mszeptuch@protonmail.com>
* d2player/hud: Make minipanel button a real ui/button
* d2ui/button: Add implicit tooltips
for now it is only for close buttons.
* d2ui/frame: Add size caluclation
now frame.GetSize() returns meaningful values.
* d2ui/button: Add minipanel button types
* d2ui/hero_stats_panel: Fix cached image being way to big
* d2ui/widget_group: Fix widget groups size calculation
* d2ui/widget_group: Add debug rendering
* d2ui/widget_group: SetVisible() now sets the visibility of the group object
* d2player: Refactor mini_panel
we converted all elements to widgets. Thus rendering from game_controls
is no longer neccessary.
* d2ui/button: Add disabled color to layouts
* d2player/gamecontrols: temp hide minipanel when in esc menu
* d2ui/widget_group: Add OffsetPosition() method
* d2player/mini_panel: Implement moving of minipanel
this only occours when other panels are opened.
* d2player/minipanel: Fix inv/skilltree/char closebuttons
these would screw up the moving of the mini panel.
* Fix linter
* d2player/minipanel: Add tooltips to buttons
* d2player/skilltree: Fix icon rendering
this simplifies error handling statements all over the ui code. Before
we had to write:
if err := foo.Render(target); err != nil {
return err
}
which simplifies now to foo.Render(target)
this also adds missing methods to elements not implementing widget. Note
here that we do not enable sprite and label, as this would produce a
crazy amount of linter warnings due to render() requiering error
handling then, which non of the callers handle. Since we remove the
render calls later anyways, we can postpone this static check for now.
* d2ui/UIFrame: Refactor into its own class
it's not useful to have the handling of frames for the
inventory/herostate/skilltree/quest panels individually in each of
those.
* d2ui/button: Fix crash when a buttonlayout was not allowing FrameChange
When AllowFrameChange is false we do not create pressedSurface. So if we
press the button the game will crash.
* d2ui/button: Allow label-only buttons
At least for the skillmenu we need buttons were the graphic size does
not match the buttonsize. So let's render the graphic in there and make
the button label only.
* d2hero/hero_state_factory: Give all heroes their class specific skills
* d2player/gamecontrols: Fix wrong inventory/stats layouts for exp chars
For Druid/Assassin the inventory frame was rendered for a 640x480
resolution. This brings it in line with all other characters.
* d2player: Add inital Skilltree panel
* d2player/game_controls: Enable skilltree
Note here, that the inventory panel and skilltree panel can overlap.
* d2player/skilltree: Add skillicon rendering
Note here, that I couldn't figure out how to render them dark if no
skillpoints are invested.
Signed-off-by: juander <juander@rumtueddeln.de>