1
1
mirror of https://github.com/OpenDiablo2/OpenDiablo2 synced 2024-11-07 18:57:18 -05:00
Commit Graph

1017 Commits

Author SHA1 Message Date
Tim Sarbin
5b167df66d
Merge pull request #919 from gucio321/readme-update
readme screenshots update
2020-11-13 09:42:12 -05:00
juander
dbbfdd6acf d2gamescreen/char_select: Fix crash on double clicking singleplayer
if we clicked twice on the single player button of the main menu, then
the first click would set the current screen to the
character_select. The second click directly after that will be
handled by the character_select screen. It's OnLoad() method was not
called yet, which initialized all widgets. The click handler of
character_select screen referenced the nil scrollbar and crashes.
2020-11-13 13:46:40 +01:00
M. Sz
ab7705e835 readme screenshots update 2020-11-13 11:37:47 +01:00
gucio321
40dcd18487
added user IP in TCPIP menu (#916)
* added user IP in TCPIP menu
2020-11-12 02:43:05 -08:00
Tim Sarbin
2035a62ec6
Merge pull request #914 from juander-ux/drawable-refactor
d2ui/drawable refactor
2020-11-11 09:19:48 -05:00
juander
976431c8e5 Revert "d2ui/sprite: Refactor Render() to RenderNoError()"
This reverts commit 77cd538c2f.

Since we removed the return of errors from the Render() method, we no
longer require the RenderNoError() method.
2020-11-11 15:05:04 +01:00
juander
606fc028ac Revert "d2ui/label: Refactor Render() to RenderNoError()"
This reverts commit f2a55312e4.

Since we removed the return of errors from the Render() method, we no
longer require the RenderNoError() method.
2020-11-11 15:01:36 +01:00
juander
c148941194 d2ui/drawable: Refactor render() method to not return error
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)
2020-11-11 14:55:59 +01:00
Tim Sarbin
437e65564f
Merge pull request #912 from gucio321/cinematics
Cinematics menu
2020-11-10 10:31:19 -05:00
M. Sz
60566b3b0d fixed lint errors 2020-11-10 15:09:25 +01:00
M. Sz
3e6ec4c1cc removed some unused lines 2020-11-10 15:00:40 +01:00
M. Sz
a19d83ca7b fixed black screen in IPServer menu 2020-11-10 15:00:40 +01:00
M. Sz
15b2e7613f cinematics menu final commit 2020-11-10 15:00:40 +01:00
M. Sz
03ab084b42 fixed some lint errors 2020-11-10 15:00:40 +01:00
M. Sz
9ab694b6f6 Music in cinematics menu 2020-11-10 15:00:40 +01:00
M. Sz
c1ad9025f9 Label in cinematics menu 2020-11-10 15:00:40 +01:00
M. Sz
2eda3827ce cinematics select background 2020-11-10 15:00:40 +01:00
M. Sz
e20d544a8c Buttons in cinematics menu 2020-11-10 15:00:40 +01:00
M. Sz
bd4cf1a334 cinematics menu init 2020-11-10 15:00:40 +01:00
Tim Sarbin
5e5d8415ba
Merge pull request #911 from juander-ux/ui_refactor
d2ui refactor
I *almost* squashed it!
2020-11-10 00:04:08 -05:00
juander
622bc832d3 d2player/skilltree: Move every element to widgets
the uiManager now handles every element of the ui, so we don't need to
render elements manually in game_controls. Now we can also use
widget_groups to simplify handling the opening/closing of the panel.
2020-11-09 18:26:34 +01:00
juander
83acaefea2 d2player/game_controls: learnskills cmd not always creating new skill objects
when we ran the command before we would always throw away old skill
objects and create a new one. This is nasty if we have a pointer to the
old object. By throwing it away we have to update all these pointers.

Now we rather increase the skillpoint, if the hero already has this
skill.
2020-11-09 18:26:32 +01:00
juander
77cd538c2f d2ui/sprite: Refactor Render() to RenderNoError()
this allows us to create a Render() method that implements the Widget
interface without killing us with linter warnings.
2020-11-09 18:26:32 +01:00
juander
f2a55312e4 d2ui/label: Refactor Render() to RenderNoError()
this allows us to create a Render() method that implements the Widget
interface without killing us with linter warnings.
2020-11-09 18:26:28 +01:00
juander
01927d0f3b d2core/d2ui: Add checks to all widgets if they implement Widget
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.
2020-11-09 18:13:17 +01:00
juander
bad07defe8 d2ui: Add a custom widget
this allows us to encapsulate any custom render functionality into this
custom widget. It further helps us to remove the renderer from
game_controls.
2020-11-09 18:13:17 +01:00
juander
627bc8ec65 d2ui: Add WidgetGroup
this allows us to groups screens together, such that they can be
de-/activated by de-/activating the group instead of every ui element by
hand.

Before we were deactivating buttons and stopped rendering to deactivate ui
elements. This tied the renderer to these elements.
2020-11-09 18:13:17 +01:00
juander
881d5f1f71 d2ui: Create default base widget
this encapsulates all the repeating functions defined for all widgets in
the same way, like Set/GetPosition().
2020-11-09 18:13:17 +01:00
juander
aa1fca84d5 d2core/ui: Introduce clickable widgets
not all widgets need to be clickable, so let's make it it's own
interface.
2020-11-09 18:13:17 +01:00
Gürkan Kaymak
e99fbf5c4b
showed an error message if the client cannot connect to a host (#910) 2020-11-08 14:03:51 -05:00
gravestench
be9c29e9d2
Unfuck asset manager init (#906)
* moved loader bootstrap logic into d2app
2020-11-08 01:24:35 -08:00
gravestench
f2ab13afae
moved asset manager initialization logic to d2app (#905)
* move asset manager initialization logic to d2app

* updating to loogger printf statements
2020-11-07 23:08:25 -05:00
gucio321
d5a26fd495
Hotkeys in Main Menu (#903)
* Escape in MainMenu cause game exit

* Escape in MainMenu cause game exit

* Shortcuts in d2 main menu

* Shortcuts in Main Menu

* Shortcuts in Main Menu

* hotfix for "Shortcuts in Main Menu"

* hotfix for "Shortcuts in Main Menu" - removet some lint error

* fix lint errors

Co-authored-by: M. Sz <mszeptuch@protonmail.com>
Co-authored-by: gravestench <dknuth0101@gmail.com>
2020-11-06 11:44:40 -05:00
juander-ux
9e89d5b891
game_control: HUD refactor (#904)
* d2player/game_controls: Refactor HUD into it's own class

game_controls slowly becomes a superclass that does too many things.
So move HUD into it's own class. This is the first step of getting the
renderer out of game_controls (#798)

* d2ui/tooltip: Allow background box to be disabled

* d2ui/tooltip: Make GetSize() a public function

* d2player: Move const from game_controls to hud

* d2player: Fix missing entity hover tooltip
2020-11-05 11:55:09 -08:00
gravestench
f7fb35a4ec
removed debug printer singleton from d2util (#901)
resolves #504
2020-11-03 11:19:59 -08:00
gravestench
af1f0a0eda
removed string table singleton from d2common/d2fileformats/d2tbl/ (#900) 2020-11-03 11:10:11 -08:00
gravestench
5ac03d6f49
refactored game bootstrap, removed d2config.Config singleton (#899)
* Remove d2config.Config singleton

* refactored config file bootstrap
* `d2loader.Loader` adds the config directories during init
* `d2asset.AssetManager` loads the config file during init
* mpq verification logic removed from d2config; this is done by d2loader
* added `errorMessage` to `d2app.App` for setting the error message for the error screen.

* fixed loader test
2020-11-03 07:54:15 -05:00
gravestench
d6c9748fef
refactored logging in d2loader, d2record, and d2asset (#898)
* refactored logging in d2config, d2record, and d2asset

* asset manager, record manager, and file loader now utilitize d2util.Logger
* added colored logging to d2util.Logger (excluding windows platforms)
* removed mpq file verification from d2config; d2loader handles this
* record loaders now use the record manager's logger for printing info
* added command line argument for setting log level (`--loglevel 4`, `-l4`, or `-l 4`
* added `LogLevel` parameter to config file
* default log level will show errors, warnings, and info log messages
* specifying log level as an argument overrides setting from config file

* fixed log level tests
2020-11-02 21:23:07 -05:00
gravestench
b052006922
add comment explaining significance of input handler return value (#895) 2020-11-02 01:14:03 -08:00
Julien Ganichot
004a3faf7d
Misc(CONTRIB): Adds Ganitzsh as a contributor (#896) 2020-11-02 01:13:46 -08:00
Julien Ganichot
8365400ff5
Feat(KeyMapping): Adds a configurable keymap to GameControls, resolves #793 (#893)
* Feat(KeyMapping): Adds a configurable keymap to GameControls + Updates help overlay to use it

Co-authored-by: gravestench <dknuth0101@gmail.com>
2020-11-01 19:43:23 -08:00
Julien Ganichot
1f2771e8bc
Resolves #874 and #892 (#894)
* Move engine initialization to d2app
* adding debug print of error returned from `App.Run`
* adding ClampInt utility function to d2math
* cleaned up argument parsing in app.go, dedicated server no longer starts a renderer

Co-authored-by: gravestench <dknuth0101@gmail.com>
2020-11-01 16:05:50 -08:00
gravestench
33cf06732e
Revert "Misc(CodeCleanup): Moves engine initialization to d2app #874 (#890)" (#891)
This reverts commit 40879db32f.
2020-11-01 12:12:45 -08:00
Julien Ganichot
40879db32f
Misc(CodeCleanup): Moves engine initialization to d2app #874 (#890)
Move engine initialization out of main and into d2app
2020-11-01 11:16:15 -08:00
gravestench
aa680d030f
ServerFull Packet Implementation (#889)
* Implement ServerFullPacket including server side handling and a place holder client side.

* Making suggested edits to move to an empty packet

Co-authored-by: Stephen Horan <steve.horan@theatsgroup.com>
2020-11-01 08:26:15 -05:00
Stephen Horan
4dd69e7709
Health/Mana/Exp load values from save file #815 (#886)
* Return errors for #790

* Fixing lint issues

* Returning nil instead of empty struct pointer

* Removed new hero stat calls as new player requires stats to be passed in. These were using defaults regardless of the save file.

* Removed override on the default to health/mana/experience. These should now result is proper values.

* Removed new hero stat calls as new player requires stats to be passed in. These were using defaults regardless of the save file.

* Removed override on the default to health/mana/experience. These should now result is proper values.
2020-10-31 23:59:24 -04:00
Gürkan Kaymak
2c6c54acce
removed global variable for singleton game server (#888) 2020-10-31 23:58:55 -04:00
Thomas Christlieb
40cc421f51
Saving and loading game data, Fixes #868 #799 (#883)
* saving of player should be done on the server. That's also where the loading happens.

* refactor nearly everything, but this time it looks not that bad...

* MAke Linter happy

* Typo... uuups
2020-10-31 14:30:08 -04:00
Stephen Horan
fb8e25ebdb
Code Cleanup for #790 (#870)
* Return errors for #790

* Fixing lint issues

* Returning nil instead of empty struct pointer
2020-10-30 20:19:06 -04:00
juander-ux
4506380dbb
d2player/game_controls: Fix health/mana globe text locking (#882)
when you click on a either of the globes the values should appear
above them.
2020-10-29 09:59:07 -04:00