Commit graph

23 commits

Author SHA1 Message Date
024356df9b Common update:
-added multiple new function to allocate template and add entity
-updated README.md (complete initial version)
-empty components now don't take memory
-fixedd small bug with TestRunner
-added many new tests (HashMap, Vector, EntityMeta, ...)
-added default hashing function to HashMap
-fixed critical bug with adding entities
-fixed small bug with adding entity with remplacement components
-added asserts into code to better bug detection
-small performance improvement for events
-added ComponentRef structure which contain data pointer and componentID
-remove EntityID from Event structure
-now events are handled before removing entiteis
-fixed GDC compilation
-fixed rendering of rotated sprites
-added weapons as separate entities to space ship and others
-added Tower enemy to SpaceInvaders demo
-added Boss to SpaceInvaders demo (boss has four tower attached to it)
-Boss towers shoot multiple bullets upon death
-fixed critical bug with demos switching
-fixed critical bug related to adding/removing entities form inside onAdd/onRemove entity callback
-added animation support
-added particles sypport and particles for firing and explostions, and more
-multithreaded rendering now has same rendering order as singlethreaded
-application automaticallu detect host CPU threads count
-added upgrades to SPaceInvaders demo
-fixed texture memory freeing
-improved documentation
-improved multithreaded performance
-improve shader code
-fixed registration issue
-some additional performance improvements
-added depth and colors to rendering parameters
-jobs now has names corresponding to their systems
-change execute() -> willExecute()
-added EntityMeta structure to speedup getting fetching components form entity
-improved multithreading rendering
-added possibility tio change number of threads runtime
-added bullets collision detection in SpaceInvaders demo
-some CI changes
-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
-added many new sprites to atlas
-fixed critical bug with CPU usage in multithreaded mode
-snake 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
-more minor code changes and cleanup
2020-05-28 16:48:42 +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
8f5f2f3baf Removed unused code and failure test 2020-04-05 21:23:12 +02:00
845f468d59 -added more documentation
-remove update() function from entity
-currently max supported components count is 64 per type
2020-03-21 13:27:14 +01:00
9f125078ed -dmd bug workaround 2019-06-17 18:04:54 +00:00
201681e4ca -fixed small issue, now Template.getComponent should return null if component doesn't exist in template 2019-04-04 17:54:39 +02:00
a82ca1e659 -some documentation changes
-added Component onCreate callback which is called after allocating entity from template
2019-03-21 13:19:03 +01:00
204ce9dc79 -almost every funtion is marked as @nogc and nothrow (only problem with HashMap) 2018-11-02 16:36:38 +01:00
437c672478 -documentation 2018-10-01 19:40:24 +02:00
d5780a6252 -working update() with EntitiesData structure input
-added support for 'const' components input (read only, future usage)
2018-09-30 23:12:20 +02:00
bb3f07ac70 -removed LinearLayout switch (from now it's default behaviour) 2018-09-29 20:49:07 +02:00
783ef72eae -fixed getSystem function 2018-09-29 20:34:47 +02:00
c0ac19b6f9 -fixed EntityTemplate.getComponent()
-fxied issue with components string in systems HashMap
2018-09-27 22:45:23 +02:00
c915b1a8c7 -EntityTemplate.getComponent additional data check
-LinearLayout proggress:
 *added alignment to data
 *fixed add/remove component functions
2018-09-26 12:50:51 +02:00
c18ac54265 -LinearLayout proggress:
*EntityTemplate.getComponent
 *Adding/removing components for Entitites
-better code for adding components
2018-09-26 10:57:42 +02:00
cb9bac5dde -LinearLayout implemntation:
*Entity.getComponent works
 *adding/removing objects work
 *update work
2018-09-26 09:02:16 +02:00
d0fcdba6cd -registering same system multiple times only replace pointer for callback
-added export attributes (required by windows to make DLL library, not work at now due to DMD bugs)
-interface D files to import
2018-09-18 13:28:04 +02:00
8fdb56e840 -fixed crash on getComponent when component doesn't exist
-fixed Components ids sorting
-added deferred object removing
-new EntityManager functions: begin(), end().
2018-09-16 14:16:18 +02:00
624c899c8c -getComponent functions for Template and Entity
-error information about adding system with non existing component (prints name of system and component)
-fill components in template with default values
2018-09-13 20:53:34 +02:00
17551b08a5 -IDManager
-times counting for tests
2018-09-12 14:01:35 +02:00
86e4e57f74 Format files with dfmt 2018-09-10 21:48:33 +02:00
a61a54b43f -components and infos are now stored in hash maps
-adding entities
-Template allocating and freeing
-Deltas calulating for components in EntityType
-Updating for every EntityType and System
-Generate deltas, components list, and functions callers for Systems
2018-09-09 23:28:18 +02:00
6217aec6be -changed README
-license changed to BSD (maybe temporary)
-added configurations to dub.json
-initial ECS implementation (WIP):
	-Manager, System, Entity, Component
	-registering components
	-registering systems
	-calling update
2018-09-07 20:54:29 +02:00