1
1
mirror of https://github.com/OpenDiablo2/OpenDiablo2 synced 2025-02-04 15:46:51 -05:00
Commit Graph

1058 Commits

Author SHA1 Message Date
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
John Losito
27531de923 Check github actions weekly with dependabot 2020-12-06 11:37:38 -05:00
M. Sz
dffa8ff865 moved max quests acts to d2enum 2020-12-04 10:43:33 +01:00