Commit graph

243 commits

Author SHA1 Message Date
233f4abd47 Added job_id parameter to EntitiesData (index of currently executing job) 2020-05-23 10:53:36 +02:00
bfc0da47e4 SpaceShip demo updage
-Update sprites texture atlas
-added support for separate collider and graphical scale
-weapon now can be located on specific sprite relative position
-SpaceShip has two lasers which are separate entities
-added following parent system
-added Boss
-parent destroy children after being destroyed
-added towers (Tower consist of 3 entities, parent take damage and one is weapon)
- added targeting system which rotate entity to target
2020-05-22 15:58:35 +02:00
43f8755a39 Fixed ECS bug related to adding/removing entities inside onAdd/onRemove entity callback
Now whole committing process is called in specific order:
 - UpdateBlocks
 - ChangeEntities
 - RemoveEntities
 - HandleEvents
Whole process is repeated until there will be no more changes to commit
2020-05-22 15:44:31 +02:00
d89df28f85 Fixed rendering of rotated entities 2020-05-22 15:41:28 +02:00
abc4d0c509 Modified codecov.yml 2020-05-22 15:40:53 +02:00
0b924ae77c Demos update (SpaceInvaders demo)
-added new sprites
-added new functions to vectors
-fixed rendering rotated sprites
-small performance improvement and some bug fixes
-added animations support
-bullets get initial velocity from parent
-added partiles for fire from gun and explosion of enemies
2020-05-19 20:27:18 +02:00
6c3c803d1e SpaceShip demo update
-fixed issue with firing lasers in multithreaded mode
-fix: enies can't grab upgrade anymore
-there is a change that enemy drop bonus upon death
2020-05-14 22:20:41 +02:00
9589a5cb2d FIxed GDC compilation (basic betterC WIP) and some improvements
-fixed issue with adding/removing entities inside events handling
-fixed EntityMeta.getComponent() (added check if component_id is valid)
-added function hasComponent to entity to check if component exists
2020-05-14 22:18:57 +02:00
f731b4cedb Added Upgrade bonuses to SpaceInvaders demo 2020-05-13 21:51:38 +02:00
d26c940b80 Fixed shader compilation on GLES 2020-05-13 21:30:56 +02:00
c29ace661b Added laser collision response to SpaceInvaders 2020-05-13 21:27:09 +02:00
d257a6c9f8 Updated codecov.yml 2020-05-13 16:24:32 +02:00
3647fa4b86 Demos update
-added functionality to detect host CPU threads count
-fixed some memory leaks
-now textures free memory corectly
-added support for up to 32 threads
2020-05-13 15:34:24 +02:00
dd491302af Fixed system reregistration issue and added funtion to allocate EntityTEmplate as copy of different teamplte 2020-05-13 15:31:26 +02:00
9580ee9af9 Add bullets collision system to SpaceInvaders demo 2020-05-12 18:21:25 +02:00
1b925b7ab1 Change component name from "modified" to "writable" 2020-05-12 17:30:57 +02:00
5e884352ba Add support for external depencencies 2020-05-12 17:28:31 +02:00
b19fbb1528 Fixed shader compilation on WebAssembly 2020-05-12 12:30:21 +02:00
c94510a487 Improved Demo and multithreading rendering:
-added support for multithreaded rendering (fast)
-improved shaders
-added support for rendering depth
-added rendering color support
-improved DeptThreadPool (dynamics setting number of tryWait counts before TryWait. Low cpu usage with high responivity)
-added possibility to change number of threads
2020-05-09 19:41:00 +02:00
f6e7af1014 Some preformance tests and added EntityMeta structure 2020-05-07 21:58:34 +02:00
4bd5a37b5d Demo update and start counting tests times
-Fixed performance issue with multithreading and rendering
-start making better shaders (by using many macros)
-speed up rendeing when maximum objects count was reached
-remove map rendering form Snake demo, and render entities by themself
-start adding depth and color rendering parameters
-added properly names to jobs (for debugging purpses)
-starts adding multithreaded rendering
-added some math to vectors
-changes execute() to willExecute(). Probably should have different name.
2020-05-07 14:07:07 +02:00
46aba822d0 Improved documentation and removed some old code 2020-05-06 10:55:40 +02:00
5411e97cb1 Move ECS to Bubel module 2020-05-05 16:56:51 +02:00
a7a63f6a20 Merge branch 'Demos' of https://gitlab.com/Mergul/bubel-ecs.git into Demos 2020-05-04 16:17:54 +02:00
167ad5437a CI changes 2020-05-04 16:17:40 +02:00
109775af87 Update README.md 2020-05-04 10:33:54 +00:00
7bc07666d0 Initial release README.md 2020-05-02 21:11:22 +00:00
b21e2b0109 Merge branch 'master' of https://gitlab.com/Mergul/bubel-ecs.git into Demos
# Conflicts:
#	demos/compile_wasm.py
#	source/ecs/manager.d
2020-05-01 21:36:21 +02:00
2ddb97e9ce Merge branch 'ci-update' into 'master'
Ci update

See merge request Mergul/bubel-ecs!6
2020-05-01 19:26:21 +00:00
54a6d5dec2 CI and common update:
-added webpage deploymnet stage
-added separate build stage which build all binaries and generate documentation
-added Emscripten build stage for merge to master only
-added VBO batch rendering (current default, no render mode switch yet)
-fixed camera positioning calculation
-fixed buffer issue with WebGL
-added viewport scalling (at least 300 pixels height). Pixels are scalled if screen is bigger.
-center demos gameplay area
-added fullpage html template for Emscripten build
2020-05-01 19:26:21 +00:00
50715fbc40 Demos update:
-modified texture atlas
-fixed bug with high CPU usage (use pthread instead of builtin D multithreading)
-added new graphics
-snake now render tile coresponding to body part
-snake is destroyed after collision and emit some particles
-added some functionality to vectors
-fixed documentation issue in Manager.d
2020-04-28 14:13:55 +02:00
f67eb452cc Merge branch 'ci-update' into 'master'
CI update

See merge request Mergul/bubel-ecs!5
2020-04-25 11:09:35 +00:00
b434d851ed CIUpdate
- added build test
 - probably fixed some trash
- coverage test should only wait for test_dmd_debug
2020-04-25 11:09:35 +00:00
d47a5c3e5c Merge branch 'TestRunner' into 'master'
Test runner

See merge request Mergul/bubel-ecs!4
2020-04-25 08:19:16 +00:00
c609b45a3d Merge branch 'master' of https://gitlab.com/Mergul/bubel-ecs.git into TestRunner 2020-04-25 10:13:53 +02:00
d68eecf272 Add LICENSE 2020-04-24 20:10:23 +00:00
8381ac166b Common update:
-added VBo batch rendering (current default, no render mode switch yet)
-fixed camera positioning calculation
-fixed buffer issue with WebGL
-added viewport scalling (at least 300 pixels height). Pixels are scalled if screen is bigger.
-center demos gameplay area
-added fullpage html template for Emscripten build
2020-04-24 20:55:25 +02:00
7c263d3ed4 SimpleVector test improvement 2020-04-24 20:47:42 +02:00
f7a1e9bd05 More test and fixes:
-added test for addEntityCopy
-test order of onAddEntity, onRemoveEntity, onChangeEntity callbacks calls
-testing onAddEntity, onRemoveEntity, onChangeEntity callback
-test callEntityFunction call
-fixed bug with crashing ECS (setting callers for entity change callbacks)
-commented debug asserts conering duplicated components ids (to further consideration)
2020-04-22 16:23:42 +02:00
cb9eaad123 More tests:
-removed some unused code
-fixed bug with struct destructors (Mallocator called __dtor instead of __xdtor)
-added unittests for events
-addded _d_eh_personality null implementation as LDC betterC bug workaround
2020-04-18 19:16:45 +02:00
d0b7138f9f More tests:
-fixed bug in EntityManger.addComponents
-added many new tests
2020-04-17 17:17:37 +02:00
84e04191c8 Unittests and demos update
-fixed bug in EntityManager
-added better support for non-betterC unittests
-added many new unittests
-slightly improved JUnit xml output
-fixed WASM compile script
-added new textures
-fixed model texture coordinaes in demos
-some minor bug fixes in demo
TODO: demos cpu usage in non-betterC mode
2020-04-16 22:16:20 +02:00
72617bc2a5 Added pipeline status indicator to README.md 2020-04-14 18:37:00 +00:00
46530ff45b Merge branch 'WebAssembly' into 'master'
Web assembly

See merge request Mergul/bubel-ecs!3
2020-04-14 15:44:26 +00:00
14839b3765 Better assertion infos and formatted code 2020-04-14 17:39:52 +02:00
0670aed506 BetterC improvement
-fixed some bugs
-non betterC code has better assertion messages
-fixed limited count of components in system
-small dub.json fix
2020-04-14 17:29:49 +02:00
2aef76d75a Unitests update
-unittest runner works for non betterC build
-working unittest coverage generation
-unittest runner support for named tests. Simple regex is supported (* as any substring) and two list of expressions are used, one for include regex and one for exclude regex
2020-04-14 13:41:39 +02:00
998240f7be Template allocation update and some tests
-test runner support before/after everty test callback funcion
-added some basic tests for template allocation
-added function to allocate new template from different template and list of addition and removed components
2020-04-09 22:14:51 +02:00
8f5f2f3baf Removed unused code and failure test 2020-04-05 21:23:12 +02:00
7b053a6abc Added better formating 2020-04-05 21:16:11 +02:00