1
1
mirror of https://github.com/OpenDiablo2/OpenDiablo2 synced 2025-02-03 23:26:41 -05:00
Commit Graph

1060 Commits

Author SHA1 Message Date
Ian
9121209f86
Backmerge master into ecs (#1021)
* quest log disabled icon

* removed unused functions for text colorizing

* terminal printing

* fixed saving key change bug

* help overlay text

* removed unused issue comments

* Update Ebiten to v2.0.2

* changed terminal color separator & changed logLevelNone to logLevelDefault in app.go

* status and screens update

* quest animation initial.

* escape menu hotkeys

* hero save file

* add-buttons init

* add-buttons actions

* stats changing: hero stats panel

* skill tre - remaining points label

* revert:hero save file (app.go)

* escape menu hotkeys

* hero save file

* updated d2hero.HeroStatsState

* corrected grammar errors

* animation is played and last frame is completedFrame

* animation stops playing, when quest log is closed & quest socket gets highlighted, when animation is playing & fixed highlight bug

* fixed quest descr bug & added code description

* level-up buttons tooltips

* Replaced kingping with flag package

* Cleanup d2records logging

* Renamed CharStatRecord

* Renamed SoundDetailRecord

* Renamed MonStatRecord

* Renamed ObjectDetailRecord

* Renamed MonStat2Record

* fixed onHover bug in d2ui.Sprite (#992)

Co-authored-by: M. Sz <mszeptuch@protonmail.com>

* added static checks to d2ui (#990)

Co-authored-by: M. Sz <mszeptuch@protonmail.com>

* fixed onHover bug in d2ui.Label (#991)

Co-authored-by: M. Sz <mszeptuch@protonmail.com>

* Revert "fixed onHover bug in d2ui.Sprite"

This reverts commit 8b557062fb.

* tip-labels in tcpip menu

* skill select menu dependencies (when we open skillselect menu, other panels are closed)

* Cleaned up d2term

* A wild } appeared

* Fixed linter issues

* ckecked value of italian modifier

* game-controls refactor

* fixed build and lint errors

* removed unnecessary switch-case statments from onKeyUp and onEscKey

* fixed bug with terminal's logLevel

* Refactor StreamWriter

* Refactor StreamReader

* Fixed gocritic linter issues

* Reduce GetTiles slice allocation

* Networking bugfixes and cleanup

Make sure connections close properly, without weird error messages
Remove player map entity when a player disconnects from a multiplayer game
Close server properly when host disconnects, handle ServerClose on remote clients
Don't mix JSON decoders and raw TCP writes
Actually handle incoming packets from remote clients
General code cleanup for simplicity and consistency

* Switched to self hosted build agent

* Removed PR requirement for action

* remove build job requirement

* Fiddling with actions names

* Updated workflows

* Fix yaml errors

* Yet another yaml fix

* Removed improper ebiten dependency in d2interface.

* Add checkboxes, checkbox test scene

* Render HUD before Panels (in this Case 'Panels' only does mean Inventory Panel). This is to avoid Entity Labels to be renderd above the Inventory Panel. Fixes #936

* This DCC frame size calculation seems useless

TBH there some to be some other overcomplicated things going on in
DCCAnimation but too tired to use brain right now.

* De-lint ecs branch

* bugfix: file_handle_resolver

* Add boot state to scenes, fix loading screen scene

* added label-button widget (#989)

Co-authored-by: M. Sz <mszeptuch@protonmail.com>

* removed links to closed issues from code (#1005)

Co-authored-by: M. Sz <mszeptuch@protonmail.com>
Co-authored-by: gravestench <dknuth0101@gmail.com>

* removed unused fields from d2player.GameControl.actionableRegions (#997)

Co-authored-by: M. Sz <mszeptuch@protonmail.com>
Co-authored-by: gravestench <dknuth0101@gmail.com>

* d2ui.Frame refactor (#994)

* d2ui.Frame refactor

* removed unneccessery d2asset.AssetManager argument from d2ui.NewUIFrame

* d2ui.Frame refactor

* removed unneccessery d2asset.AssetManager argument from d2ui.NewUIFrame

Co-authored-by: M. Sz <mszeptuch@protonmail.com>
Co-authored-by: Tim Sarbin <tim.sarbin@gmail.com>
Co-authored-by: gravestench <dknuth0101@gmail.com>

* d2mpq refactored (#1020)

* d2mpq refactor

* d2mpq refactor last standing lint error

* d2mpq refactor: less linter noise

* d2mpq refactor: more linter issues

Co-authored-by: M. Sz <mszeptuch@protonmail.com>
Co-authored-by: Tim Sarbin <tim.sarbin@gmail.com>
Co-authored-by: Hajime Hoshi <hajimehoshi@gmail.com>
Co-authored-by: gucio321 <73652197+gucio321@users.noreply.github.com>
Co-authored-by: Intyre <intyre@gmail.com>
Co-authored-by: ThomasChr <thomaschristlieb@hotmail.com>
Co-authored-by: Ziemas <ziemas@ziemas.se>
Co-authored-by: gravestench <dknuth0101@gmail.com>
2021-01-09 00:25:44 -08:00
Ian
0dee6518b4
WIP: Add checkboxes, de-lint ecs branch (#1017)
* Add checkboxes, checkbox test scene

* De-lint ecs branch
2021-01-04 00:43:56 -08:00
gravestench
3731e631cf
Resolve #969 (#970)
* fixed #969
2020-12-13 14:41:19 -08:00
Tim Sarbin
fdf49cf93a
Merge pull request #773 from gravestench/ecs
Preliminary ECS work
2020-12-13 16:32:17 -05:00
Tim Sarbin
469e4fa735
Merge pull request #966 from gucio321/hotfix
hotfix: helpOverlay hotkeys
2020-12-12 13:31:56 -05:00
gucio321
5b4e23eb8c
Merge branch 'master' into hotfix 2020-12-12 19:29:12 +01:00
gucio321
2e31f3d1ec
Move Gold Panel (#962)
* move gold panel
2020-12-12 01:39:26 -08:00
M. Sz
8f1aadc223 error handling in d2gamescreen.CreateNewGame 2020-12-11 10:26:49 +01:00
M. Sz
509dfda5e5 clean up error handling in d2game/d2player/inventory.go and d2core/d2item/diablo2item/ 2020-12-10 13:18:26 +01:00
gravestench
c52c6648dd refactor of d2components, d2systems
Systems now place all of their component factories into a `Components`
member. This improves code readability and makes it clear when we are
dealing specifically with ecs components.

The concrete ComponentFactory instances now have `Add` and `Get`
methods (as opposed to `AddAlpha` or `GetAlpha`). This enforces naming
of component factories as to avoid collisions when embedded in a struct
with other components.

Also, the ComponentFactory interface is embedded directly into the
concrete component factory without a name.
2020-12-08 18:45:00 -08:00
gravestench
deb63a95c8 changes to d2components, d2systems, d2ui, d2enum
go.mod, go.sum:
* updating akara, bugfix in akara.EntityManager.RemoveEntity

d2core
* adding d2core/d2label
* adding d2core/d2bitmapfont

d2ui
* exporting some constants for use elsewhere

d2components
* added bitmap font component (for ui labels)
* added FileLoaded tag component to simplify asset loading filters
* added locale component
* FilePath component renamed to File
* sprite component now contains the sprite and palette path as strings
* adding ui label component

d2enum
* added locale as file type for file "/data/local/use"

d2systems
* changed most info prints to debug prints
* removed unused scene graph testing file (oops!)
* terminal is now rendered above mouse cursor scene
* adding ui widget system for use by the game object factory
* adding test scene for ui labels created with the ui widget system

d2systems/AppBootstrap
* added command line args for profiler
* `--testscene labels` launches the label test
* now adds the local file for processing
* game loop init logic now inside of Init method (the call to
world.Update does this)

d2systems/AssetLoader
* loads the locale file and adds a locale component that other systems
can use
* adds a FileLoaded component after finished loading a file which other
systems can use (like the loading scene)

d2systems/FileSourceResolver
* Now looks for and uses the locale for language/charset filepath
substitution

d2systems/GameClientBootstrap
* game loop init moved to end of AppBootstrap.Init

d2systems/GameObjectFactory
* embedding UI widget factory system

d2systems/BaseScene
* made base scene a little more clear by breaking the process into more
methods

d2systems/LoadingScene
* simplified the entity subscriptions by using the new FileLoaded
component

d2systems/SceneObjectFactory
* adding method for adding labels, buttons to scenes (buttons still WIP)

d2systems/SceneSpriteSystem
* the sprite system now maintains a cache of rendered sprites
2020-12-08 11:24:10 -08:00
M. Sz
d302263ac1 code cleanup 2020-12-08 09:18:27 +01:00
gravestench
2e814f29b0 transform component, scene testing
* removed position,scale,rotation components
* added Transform component that contains position, rotation, and scale
* scene graph update now regenerates the local mat4 using the transform
component
* akara bugfix: adding new subscriptions will process existing entities
* added `--testscene` arg for testing individual scenes in isolation
* added rotation support to d2interface.Surface
2020-12-07 12:44:11 -08:00
gravestench
13ae64af8c adding terminal, ebiten splash scene 2020-12-07 12:44:11 -08:00
gravestench
7c02b7051f updating to use new BaseSystem.InjectComponent method 2020-12-07 12:44:11 -08:00
gravestench
7a8b07d1c1 adding a full-featured rectangle implementation to d2geom, adding an ecs component for it 2020-12-07 12:44:11 -08:00
gravestench
0472233949 update to d2math, changed/added components, scenes
* animation renamed to sprite
* renderable/surface renamed to texture
* added in d2math: Vector2, Vector3, Vector4, Matrix3, Matrix4, Quaternion
* worked a bit on the loading scene, main menu scene
2020-12-07 12:44:11 -08:00
gravestench
a23ab9991f minor edit of if statement 2020-12-07 12:44:11 -08:00
gravestench
f2a9fbcebc fixed lint errors in d2core/d2systems 2020-12-07 12:44:11 -08:00
gravestench
e069c3c808 input system now uses InputService interface 2020-12-07 12:44:11 -08:00
gravestench
bafc637265 fix lint errors in d2common/d2input 2020-12-07 12:44:11 -08:00
gravestench
e6d418fdb2 Adding input system, mouse cursor scene, interactive component
* added `d2common/d2input`, copied input vector logic from hellspawner
* added an `InteractiveComponent` which contains input vector, enable
flag, and callback function
* Added an InputSystem which handles input logic and iterates over
entities with interactive components
* added a mouse cursor scene for rendering the mouse cursor
* made the trademark sprite disappear when left mouse is clicked
* various other small bugfixes in scene systems
2020-12-07 12:44:11 -08:00
gravestench
3f5d2c0938 major refactor of akara ecs
* component ID's are dynamically allocated now
* removed `akara.BaseComponent` member from components
* component declarations drastically reduced
2020-12-07 12:44:11 -08:00
gravestench
d4efe67052 more ecs work
* updated alpha component init logic
* added loading screen scene (not yet implemented)
* scene object factory now creates a set of basic components for sprites
2020-12-07 12:44:11 -08:00
gravestench
b0a2cf87dd adding alpha component 2020-12-07 12:44:11 -08:00
gravestench
05dae775e4 scene rendering now works
* scene systems now render their objects to the main viewport
* added SegmentedSprite component
* added SegmentedSprite to sprite factory
2020-12-07 12:44:11 -08:00
gravestench
1c8240d869 fixed remaining lint errors 2020-12-07 12:44:11 -08:00
gravestench
85ac48bff6 removed unused event emmitter 2020-12-07 12:44:11 -08:00
gravestench
e3ffdf859d updated tests 2020-12-07 12:44:11 -08:00
gravestench
b86ac4df84 akara update: BaseComponent and BaseComponentMap
* common component methods have been put into BaseComponent and
BaseComponentMap
* boilerplate code for components has been significantly reduced
* all lint errors fixed in d2components
2020-12-07 12:44:11 -08:00
gravestench
caafe7592c more work on ecs impl
* added command line arg for launching ecs impl
* removed render system tests, was causing gl context issues in tests
* fixed all lint errors in d2systems
2020-12-07 12:44:11 -08:00
gravestench
069201a980 update akara, fix race condition in render system init
* reduced boilerplate init code for systems with an update to akara
* fixed a race condition in the render system, added a 1-frame delay
* updated all subscriber systems (due to akara update)
* adding render system test (temporary)
2020-12-07 12:44:11 -08:00
gravestench
8b1b6b9adc more work on ecs implementation
* removed d2common/d2scene, was not the right way to go.
* added components for animation, scale, main viewport, viewport filter
* added interface for scenes, which are extensions of akara.System
* BootStrap is now AppBootstrap, common to game clients and headless
server
* added generic BasicScene struct for common scene functionality
* added game object factory as a system, with single sprite factory
* added update counter system, shows how many times the world updates
per second
* integration test is now the game client test
2020-12-07 12:44:11 -08:00
gravestench
bdf3a2e75d adding d2util.Loggers instances to existing systems 2020-12-07 12:44:11 -08:00
gravestench
e2bd1d8c71 adding LogLevel to game config component 2020-12-07 12:44:11 -08:00
gravestench
5727aa2f58 adding Path method to abstract source interface 2020-12-07 12:44:11 -08:00
gravestench
474a03e5dc more work on ecs impl 2020-12-07 12:44:11 -08:00
dknuth
b447d3b942 file handle caching, asset caching, font tables
- adding components to handle font tables
- handle loading font tables in asset loader
- handle file type for font tables
- file handle resolver system now caches file handles
- asset loader system now caches loaded assets
2020-12-07 12:44:11 -08:00
dknuth
1eb86334e2 added game config loader system 2020-12-07 12:44:11 -08:00
dknuth
b1bf6993d2 eminary ECS Implementation work
Added a implementation of an Entity Component System (ECS) architecture
2020-12-07 12:44:11 -08:00
Tim Sarbin
3f8dcf2232
Merge pull request #964 from OpenDiablo2/dependabot/github_actions/actions/checkout-v2.3.4
Bump actions/checkout from v1 to v2.3.4
2020-12-07 14:38:58 -05:00
Tim Sarbin
dbcc619454
Merge pull request #963 from OpenDiablo2/dependabot/github_actions/actions/setup-go-v2.1.3
Bump actions/setup-go from v1 to v2.1.3
2020-12-07 14:38:42 -05:00
dependabot[bot]
4d876fb922
Bump actions/checkout from v1 to v2.3.4
Bumps [actions/checkout](https://github.com/actions/checkout) from v1 to v2.3.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v1...5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-07 19:36:03 +00:00
dependabot[bot]
627a9488ce
Bump actions/setup-go from v1 to v2.1.3
Bumps [actions/setup-go](https://github.com/actions/setup-go) from v1 to v2.1.3.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/v1...37335c7bb261b353407cff977110895fa0b4f7d8)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-07 19:36:03 +00:00
Tim Sarbin
fb4a5be1d4
Merge pull request #961 from jlosito/dependabot-config
Check github actions weekly with dependabot
2020-12-07 14:35:40 -05:00
Tim Sarbin
cf069de879
Merge pull request #960 from gucio321/quest-log-part2
Quest log part2
2020-12-07 14:35:23 -05:00
M. Sz
e9878fae0c removed unused button types 2020-12-07 19:57:04 +01:00
M. Sz
cbe4466fea added max player act support in quest log 2020-12-07 19:17:46 +01:00
M. Sz
1d5516c374 code clean up 2020-12-07 19:07:20 +01:00
M. Sz
5c9d4a80e2 Optymalized tab placing 2020-12-07 15:29:52 +01:00