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

388 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Tim Sarbin
e6d5c8b9fd
Merge pull request #957 from gucio321/hotfix
Hotfix: minor bugs in quest log
2020-12-02 08:12:13 -05:00
juander
0d2a40a093 d2core/ui_manager: Properly reset widgetsGroups/tooltips 2020-12-02 12:30:45 +01:00
M. Sz
c7a841fe5a Merge branch 'hotfix' of https://github.com/gucio321/OpenDiablo2 into hotfix 2020-12-02 09:41:52 +01:00
M. Sz
f02ccd86c4 hotfix: fixed errors in quest log & code cleanup 2020-12-02 09:24:14 +01:00
M. Sz
104177279e hotfix: fixed errors in quest log & code cleanup 2020-12-02 09:23:25 +01:00
gucio321
96916863ff
Quest log initial (#956)
* Adding character quest panel
2020-12-01 23:19:15 -08:00
M. Sz
fa1e86acc3 added quest log items to d2resources and modified player movement speed 2020-11-29 17:08:46 +01:00
Tim Sarbin
73d381215e
Merge pull request #951 from gucio321/multi-language-labels
Multi language labels
2020-11-27 11:47:54 -05:00
M. Sz
2dab48a2ee Updated some labels 2020-11-26 13:51:39 +01:00
M. Sz
1dcd63a238 fixed lint errors 2020-11-26 11:30:11 +01:00
M. Sz
76257ca351 moved some stuff 2020-11-26 11:13:35 +01:00
Tim Sarbin
3d00a0fd17
Merge pull request #942 from ThomasChr/#866_save_act_and_difficulty
save act and difficulty. Fixes #866
2020-11-25 20:44:00 -05:00
Ziemas
31a21b50dd Fix draweffect blending selection
The blending mode picked by handleStateEffect was being overriden.

CompositeModeSourceOver is the default selection, we do not need to
initialise opts with this.
2020-11-26 02:35:10 +01:00
M. Sz
91f28516ff fixed lints 2020-11-25 19:25:19 +01:00