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
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
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
c63f3a9727
-added some tests
...
-improved test runner
2020-04-04 22:11:52 +02:00
19687b9f88
-fixed critical bug with adding components
...
-some fixes
-minor optimization
-added debug assert test
2020-04-04 13:58:31 +02:00
a080a6d415
-fixed bug with adding components
...
-optimize adding and removing components
2020-03-28 22:34:11 +01: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
546b73c567
-fixed events bug with calls for unsupported systems
...
-now empty systems can't handle events and listeners
2020-03-07 13:21:29 +01:00
d6b53425dd
-added EmptySystem supprort (called once per frame, sholud be once per jobs)
...
-EntitiesData can contain "thread_id" which is filled with ID of current thread
2020-03-06 14:01:46 +01:00
5399b584dd
-IDManager reserve EntityID(0) as empty
...
-fixed bug with events called on destroyed entities (crash)
-don't call event on system for unsupported entity
-added "entity_id" property to EntitiesData
2020-03-06 10:12:52 +01:00
87e9a31d7f
-PageSize and PagesInBlock values can be adjust in runtime (at initialization time)
...
-added support for calling custon delegate function for all entities supported by selected system
2020-02-09 21:53:17 +01:00
1f78f2506c
-Events system update order is now choosen according to system priority
...
-added mixin for adding exluded components using it's type
-demos:
*added GUI for selecting templates and choosing tools
*change SpaceInvades SideMove system to not using events for better performance and multithreading
*added Entites spawning support
*fixed some Snake demo bugs
*GUI work's better now
2020-02-09 15:24:26 +01:00
946fbf2934
-updated tests:
...
*updated build scripts
*removed tls variables from code (needed to support WebAssembly)
*some mmutils tweaks
*some fixes
*pthread TLS thread ID implementation
-added Atomic file (reimplementation of atomics templates for emscripten)
-added emscripten support to ecs.std
2019-11-25 20:06:16 +00:00
5894e76540
-updated wasm build scripts
...
-multitheaded wasm tests
-updated dub.json
-fixed thread pool assert issue
-added windows libraries
-added demos:
*launcher
*simple
*snake
*space invaders (WIP)
*statistics window
*changable gui styles
*tips window
*profile window
*demo window with automatic generation
*multithreaded job updater
2019-11-19 10:37:34 +01:00
cb7609dcaa
-Demos:
...
*added ImGUI styles
*added new assets (fonts, shaders)
*added cimgui.dll
*added imports for bindbc-sdl (for WASM)
*added simple demo
*added demo launcher
*added snake demo
*impoved demo utils
*added cimgui.bc library for WASM
-improved wasm build script
-small change in vector
2019-11-12 20:33:31 +01:00
73f2aa6861
-improved WASM compilation scripts
...
-added external bindbc.sdl import for WASM
-working on demos (WIP, working simple demo with ECS and SDL2)
-small change in ecs.std
2019-11-06 20:38:46 +01:00
a8c74d5045
-make tests working on web
...
-WebAssembly now is compiled with emscripten use (stdc functions bindings only)
-added python script to build WASM version
2019-11-05 09:21:02 +01:00
015783bf5c
-remove '-defaultlib' from dub.json
...
-start working with WebAssembly
-modified .gitignore
-added meson build file (WIP)
2019-11-02 18:51:03 +01:00
7fa41f7671
-fixed bug (Events was called before onAddEntity callback)
2019-10-30 19:41:21 +01:00
d0c3926316
-betterC working on GDC
...
-added some attributes like export and nothrow
2019-10-12 14:54:13 +02:00
d8b01ee097
-working betterC
2019-10-11 19:15:01 +02:00
cde772c077
-betterC works on linux with DMD
2019-10-11 19:05:41 +02:00
633aad6cb7
-enabled handleEvent
2019-10-11 08:31:26 +02:00
9c5ceacacb
-some cleanup
2019-10-10 22:14:18 +02:00
41f1c6474b
-fully working betterC for windows
...
*replaced array[..] = array[ .. ] sclice copy with mempcy
*added own std library (allocator, alloca, Mutex)
*changed tamplates for collecting components for systems
-fixed issue with multiple optional components registering for system
2019-10-10 22:08:22 +02:00
ed99807871
Merge branch 'master' of https://Mergul@bitbucket.org/mmcomando/ecs.git
2019-08-14 11:02:15 +02:00
49a60d33c5
-fixed events thread safety
2019-08-14 11:00:21 +02:00
ebec25633e
-now event handler system does not have to has EventInput structure
2019-08-13 11:58:01 +00:00
beab56033c
-events are simplified to handleEvent(Entity*,Event) (use entity.getComponent to get entity components)
2019-08-13 11:13:26 +00:00
9402e917f2
-added function to create EntityTemplate form Entity
2019-08-10 16:32:57 +00:00
1be08eb534
-added pure annotation for some functions
...
-addEntity now returns pointer instead of reference (it's has more sense)
-added function addEntityCopy(EntityID) which adds copy of entity with it's whole data
2019-08-10 16:20:50 +00:00
8318d2efb4
-added support for optional components in event handling
2019-08-10 15:44:01 +00:00
dfdb56d501
-system name getter
...
-added error checking for event handling in registerSystem
-now only valid handleEvent() functions are taken by system during register
2019-08-10 15:35:36 +00:00
86d91bc11c
Merge branch 'master' of https://Mergul@bitbucket.org/mmcomando/ecs.git
2019-06-18 22:24:52 +00:00
01ff3962b5
-added SimpleVector (vector with only ubyte data)
...
-components adding and removing now use SimpleVector (optimalization)
2019-06-18 20:12:18 +02:00
b04ab77e0c
-added components change caching (no HashMap searching during components adding or removing)
2019-06-18 17:49:51 +02:00
235bbb49f2
-block allocator now track allocated blocks and is able to free memory
...
-jobs data is now allocated in System struct
-written memory cleanup (AddressSanitizer don't show any leak)
2019-06-18 16:45:38 +02:00
9824b587fb
-fixed stack-overflow error
2019-06-18 13:57:31 +02:00
17fc7bc004
-removed __xtoHash() method
2019-06-17 18:25:36 +00:00
9f125078ed
-dmd bug workaround
2019-06-17 18:04:54 +00:00
cb257a2360
-added export attribute
2019-05-15 08:47:30 +00:00
9220a28f7c
-fixed issue with ExcludedComponents as enum or alias
...
-removed way to add excluded component by adding attribiute @excluded (it's very stupid way)
2019-04-06 20:27:28 +00:00
fe158e1b60
-removed commited code
2019-04-06 19:24:58 +00:00
8b24ecf7d1
-some changes in registerSystem
2019-04-06 19:22:25 +00:00
a5eade669e
-removed mixin genFillInputData
2019-04-06 18:41:48 +00:00