Commit Graph

231 Commits

Author SHA1 Message Date
Lynix fc65b30f84 Improved code based on CppCheck results
None of this should change the engine's behavior, but the code is better
this way.


Former-commit-id: 0127769848fc1f7fc8006ee607985cfc0ead2965
2015-06-05 13:25:17 +02:00
Lynix cab52dfcfd Ndk/BaseComponent: Fix crash
(Also fix ugly hackfix)


Former-commit-id: b176fb3abc0f541765658376fdd086241c94e279
2015-06-04 09:57:10 +02:00
Lynix 30ba25168f Ndk/Entity: Remove include to Component
Former-commit-id: a209dff2bacf2793d8226671ce2feeeec46e4599
2015-06-04 09:56:43 +02:00
Lynix 80ed8c48bd Ndk/RenderSystem: Finish first implementation
Huge WIP, but I have a first render with it


Former-commit-id: 82ecea8b6ce5c452818f1585c61af7623c28e958
2015-06-04 00:20:51 +02:00
Lynix fac893f379 Ndk/GraphicsComponent: Add Attach method
It will evolve, don't worry.


Former-commit-id: 6529d47e076ef102d54fde0a741df72eb80f5ca7
2015-06-04 00:19:53 +02:00
Lynix 3fdd41cc6b Ndk/CameraComponent: Fix assertion
Former-commit-id: 6f78d6d5b09ad096c22b8a9d2adb5e8060c17613
2015-06-04 00:19:15 +02:00
Lynix 11e7748d85 Ndk/GraphicsComponent: Update
Former-commit-id: 4f4ca46fb58582abb0c61b7f081b77e9cd95ee0f
2015-06-02 17:21:23 +02:00
Lynix 2d0cf1794e NDK/RenderSystem: Begin to implement Update
Former-commit-id: 404b7998afffa79568c722677f9760c467e78166
2015-06-02 17:20:57 +02:00
Lynix d369f6d583 Ndk/RenderSystem: Add Entity Removed event
Former-commit-id: 88b08f81e38f7dc4166f19b431288a212ccd8e75
2015-05-22 17:59:20 +02:00
Lynix 9aacbe158c Ndk: Add RenderSystem (experimental)
Former-commit-id: 23b11c6e9a21a4f26df6bde3d161578101cb2b29
2015-05-19 01:03:11 +02:00
Lynix e0da339217 Ndk/GraphicsComponent: First commit
Former-commit-id: b0174376e8d9211a6ecd7684b3ea7ff3416d5599
2015-05-19 01:01:49 +02:00
Lynix 20dda58ebc Ndk/World: Fixed my stupidity
Former-commit-id: a73b8b1f4bcfc5c878df18f5f2337c8d2535fc74
2015-05-10 23:46:41 +02:00
Lynix ca291d7285 Ndk/World: Fixed entities indexes
Former-commit-id: ec6c3ee98bde983d69945796f8f1089efef794dc
2015-05-06 23:25:00 +02:00
Lynix b84a1f0663 Ndk/CameraComponent: Added [Get/Set]Layer method
Former-commit-id: 51ee045d4eaa7c7274181129ced56d861def3b8e
2015-05-06 22:51:31 +02:00
Lynix 04d864e171 Ndk/Entity: Added Entity::Invalidate()
Former-commit-id: 8b0824982fbe0ff84acbb0db5cc1509e2c86bcbd
2015-05-06 22:48:36 +02:00
Lynix 3195a50114 Ndk/Camera: Invalidate when node invalidate
Former-commit-id: bda6e1f8a5b64f593c9f4ef95a99f1b0198790e7
2015-05-06 13:50:04 +02:00
Lynix e55b4edd0c Ndk: Added CameraComponent (WIP)
Former-commit-id: ae7be5448a1150b7beba10e03916e94df51ea3a0
2015-05-05 18:39:47 +02:00
Lynix 5e954113ef Ndk: Fixed warnings
Former-commit-id: 64509f0d59d83f4c04a09fe7e7913d94a940f191
2015-05-04 13:52:37 +02:00
Lynix 9fa5b5bbfc Ndk/Entity: Inlined IsValid()
Former-commit-id: 217df236c91d7504218e1094f5a8b3f9c28d1599
2015-05-04 00:53:07 +02:00
Lynix 58416694d4 Ndk: Added EntityList
Former-commit-id: f68c3830e59f460b06e23dbacc150c17937491df
2015-05-04 00:25:54 +02:00
Lynix da36f95b7c Ndk/Physics: Merged StaticCollisionSystem with PhysicsSystem
Former-commit-id: de2127eb967fb29f285e9ebae7c743c07ea39f8a
2015-05-03 19:55:16 +02:00
Lynix 47c5d1072b Ndk/BaseSystem: Added entity validation
Former-commit-id: d82a66179244ae8807f65b193ed9be2f48abffa4
2015-05-03 19:51:56 +02:00
Lynix 3ebf967f30 Ndk/BaseSystem: Added "one of" style requirement
Former-commit-id: ce4399561f4198290d639d001a6a56665baa0714
2015-05-03 19:50:42 +02:00
Lynix 9bffaaaa84 Ndk/Algorithm: Fixed headers cyclic dependency
Former-commit-id: a6d4d21586ef948dd68f1d3e7dc01e8275aaac3f
2015-05-03 19:48:33 +02:00
Lynix 31227ca567 Ndk/Physics: Improved code
Former-commit-id: 8774d0ce7cf55a0a1793e69eda6c97ececc1b44a
2015-05-02 21:05:33 +02:00
Lynix 3f423239f5 Ndk/Algorithm: Added Is[Component|System] function
Former-commit-id: 946f5081cea0b8df7faf0e95cfea2a3e5dd9f7bb
2015-05-02 21:03:30 +02:00
Lynix d558b04aa7 Ndk/Physics: Added first physics components/systems
Former-commit-id: 654b7a2a4645487d139474dcbd02c0882d7c8f02
2015-05-02 10:00:07 +02:00
Lynix 55519b5e31 Ndk/Component: Modified comment and error messages
Former-commit-id: 6a5fad6d2b7e3c1dbc58df0a1614012eee4df2b7
2015-05-02 09:57:33 +02:00
Lynix 9e3dbb7d09 Ndk/ListenerSystem: Handling VelocityComponent
Former-commit-id: 5b9107e77350c9289bf91b4bc6268403650245d3
2015-04-23 15:10:19 +02:00
Lynix ad290a18f4 Ndk/Components: Added On[Attached|Detached] events
Former-commit-id: 46e5b5720a8496dfe536181918ae0a995e028fc1
2015-04-23 14:26:48 +02:00
Lynix 581496ce44 Ndk/Entity: Fixed entity moving
Former-commit-id: 72dcc713e86d8442de6356162735f437ec22292d
2015-04-23 14:25:25 +02:00
Lynix 5b44619592 Ndk/Components: Added OnComponent[Attached|Detacted] events
And m_entity member variable


Former-commit-id: d6bd9e382e55bafd357e7ec62862ae731c21f897
2015-04-20 01:54:09 +02:00
Lynix 201275b4ae (NodeComponent) Fixed NzNode::SetParent methods not being exposed
Former-commit-id: e4c60f01db90cd288314c37bfb6969b1922a1868
2015-04-12 23:28:12 +02:00
Lynix ead468525e (NDK) Added Velocity component/system
Former-commit-id: 427b7175fbf9723fcd1d54fc279b8b70167745d4
2015-04-12 23:19:53 +02:00
Lynix 2ab0defa48 (NDK) Fixed copy/move constructor/operator
Former-commit-id: e51e7cab650aa7c17141f7401fbcbdf3159aec2b
2015-04-12 21:03:19 +02:00
Lynix f137a75267 (NDK) Added Listener component and system
Former-commit-id: 0553c4ad9a7e33608e9ab91bd4ca8812272a6293
2015-04-12 19:38:38 +02:00
Lynix f290b8d886 (NDK) Added Application class
Let's try something


Former-commit-id: ebace85e2b050b1fbb994a61a644b60b85cc5a30
2015-04-07 17:41:17 +02:00
Lynix 1bd45731cd (NDK) Added NodeComponent
Former-commit-id: 61b970c31a12a1b128e72c4754590528b6c1b4d6
2015-04-07 17:39:45 +02:00
Lynix 46d125d205 (NDK) Added explicit initialisation
Components and systems just can't be initialized at startup, so we need
some kind of explicit initialisation. I followed the same layout as the
others modules by adding a core class (Ndk::Sdk) which will initialize
components and systems, and Nazara's modules.

This is starting to get serious, I like it.


Former-commit-id: 263500e8d16db70ef7f92047b8a7e3235c08bcd0
2015-04-07 17:39:20 +02:00
Lynix a1280a6af3 (World) Renamed internal method Mark(All)AsDirty
To Invalidate


Former-commit-id: 62e62d82258227d652711c3933a816845a076e53
2015-04-07 15:50:43 +02:00
Lynix ebc651dec8 (World) Added GetEntities() method
Former-commit-id: 14095df977d566b3a3c306542bd4d83bd11392d1
2015-04-07 15:38:08 +02:00
Lynix 7351ce46fb Removed useless space
Former-commit-id: 8eefc03bf288bf24df61b6d5ac4f2f38b69e1c18
2015-04-05 16:35:43 +02:00
Lynix 8421a543fb Changed component index variable name
From CamelCase to camelCase (since I use camelCase for the variables)


Former-commit-id: 3382295dda75378e40835c23040bd2738736a210
2015-04-05 16:19:45 +02:00
Lynix 6a99b38be1 (NDK) Modified component/system registration interface
Let's hope it's the last time I do this


Former-commit-id: 75f8e63e90e067a7d21efa6a1226ae4bbe050ab9
2015-04-05 15:57:24 +02:00
Lynix 28b0e26a88 (EntityHandle) Fixed hashs
Former-commit-id: f5d23d81a5b46dfbf90d2004dfeb9595f30c2df2
2015-03-31 02:20:30 +02:00
Lynix c25f824f65 (NDK) Fixed compilation error
Former-commit-id: c762dbf34c0141882df0ce43509277877c5c559e
2015-03-30 14:17:25 +02:00
Lynix 1903cbda8d (NDK) Minor changes
Added some asserts and comments,


Former-commit-id: 805246f0276aac157c66cbf346c392ab57934e84
2015-03-30 04:36:56 +02:00
Lynix 6d1ac4fe18 Re-remade component and system ids
Former-commit-id: 98b76695cca904c55c7333801c3cdf693da15086
2015-03-30 04:18:44 +02:00
Lynix cdd3e9e8f2 (World) Fixed dirty entity bitset not being cleared
Former-commit-id: 28fbfe2d21807db7eba249118e35fb087db4ddb9
2015-03-18 13:01:40 +01:00
Lynix be8f6edeb4 Improved interface
EntityHandle are no longer required to pass Entity as arguments
World::CreateEntity() now returns a const EntityHandle&

Former-commit-id: 6fc53ce5759a2a508094bdc61b4471f13f0844ec
2015-03-18 00:49:44 +01:00
Lynix e91313b62d Added systems
It's now officially an ECS, yay!


Former-commit-id: e2aacaa5c9fd362921cf3d064e346d11f942bd59
2015-03-17 19:55:39 +01:00
Lynix bc40fbb02f Remade component ids
No longer based on incrementing counter


Former-commit-id: b875e17781d8bcda48ea9ada523adf0823b22a8b
2015-03-17 19:53:59 +01:00
Lynix 0ba034f7e9 (Entity) Added components bits
Moved [Add/Remove]Component implementation to .cpp


Former-commit-id: e61e8c57911c2e106e6c0959b692a006b8f58c40
2015-03-17 12:34:03 +01:00
Lynix 03ef0f9f50 (World) GetEntity now returns a const reference
Former-commit-id: 179139a21c639bbb2c96058095a82f3be76de5c1
2015-03-16 22:16:35 +01:00
Lynix 3694857d30 (World) Optimized entities handling a lot
Former-commit-id: f05f3bb7bf321d30fd51f504ace95aa0ea9f7f8d
2015-03-16 22:14:18 +01:00
Lynix b30298b6ab (World) Removed useless forward-declaration
Former-commit-id: e4a3a34326f9e2d6afdbae062274e2ef63da898d
2015-03-16 22:05:03 +01:00
Lynix 7bac245a0f (Entity) GetComponent no longer throw
Former-commit-id: 8efd0f5aba9c49d7f06ba290425f9e55c2f1eba3
2015-03-14 16:53:26 +01:00
Lynix a16582d20d Removed useless includes
Former-commit-id: 2343f21e70621f194213085b6f83b10d958be09c
2015-03-14 16:52:44 +01:00
Lynix 6bd6039051 (Entity) Fixed typo in method name
Former-commit-id: 40588d78fe38b2ec9ca9998e0c7ce4c73af3b27b
2015-03-14 13:53:10 +01:00
Lynix 40727cc0ca (World) Fixed EntityHandle passed by value
Former-commit-id: c4b4b5cbb4d84110416a4493fc09e7b95e137bc6
2015-03-14 13:21:29 +01:00
Lynix fb148c1aa0 Removed useless include/declaration
Former-commit-id: 7ad1c9940aee9ce00000ba8c31ac05117d2b6c31
2015-03-09 19:05:47 +01:00
Lynix c818ef7d4b (EntityHandle) Fixed swap
Former-commit-id: 735dd9d2c3080d202306ef9cfb1bb130639e93cd
2015-03-09 19:05:32 +01:00
Lynix 0d8f7546a9 Fixed copyright notices
Former-commit-id: d5ccaa115ad229def2925099f82540ffa91c2297
2015-03-01 19:48:01 +01:00
Lynix c71c050831 (Entity) Added non-template version of components handling
Former-commit-id: 0f9795a0b130e6e5ebb26782459d79bde1b0efa1
2015-03-01 13:42:17 +01:00
Lynix 7c73407fa4 (Component) Fixed Clone method
Former-commit-id: afa38a9b684f045dc3cf0d072736ebb6c47e4bd7
2015-03-01 13:41:44 +01:00
Lynix 99bf3d95f7 (BaseComponent) Renamed GetComponentId to GetId
Former-commit-id: 9cc5a3d86755f0b9928ef697e0e0c16c068819bc
2015-03-01 13:41:15 +01:00
Lynix 9c0c991fe0 (Component) Added clone virtual method
Replaced Component<C>::GetId by GetComponentId<C>()


Former-commit-id: 4fae3f73c7fad0a5c36dae16e49b6f12c8bf6ae2
2015-03-01 11:21:58 +01:00
Lynix 8b77825fb8 (Entity) Changed template name from C to ComponentType
Former-commit-id: 780c96238f5f976b9caa86ec982bec7b5fd9ee8a
2015-03-01 11:19:54 +01:00
Lynix 699b580516 Added Components
Former-commit-id: 02f9e9892b58a725697b83e7b75127db5b3a27f4
2015-03-01 01:53:49 +01:00
Lynix ba127ef7b2 (Entity) Fixed handles not being cleared after destruction
Also updated some comments


Former-commit-id: 86b23fca0806c637fbe007df4c7edfb52b95f8e1
2015-02-24 16:15:17 +01:00
Lynix 6201183572 (World) Replaced pointers to Entity by EntityHandle
Former-commit-id: b29aaaa7362c0c816dc270e15ba5f8253717c457
2015-02-19 23:51:17 +01:00
Lynix 924d10e61c (Entity) Changed handle storage from a set to a vector
For performances reasons (creating handles no longer require any memory
allocation)


Former-commit-id: 76d705997c7fa3be78b063c6d602b09c7c20b2fd
2015-02-19 23:35:15 +01:00
Lynix 86fbb310c3 Fixed some files encoding (wasn't UTF-8)
Former-commit-id: cabceea2588d390da5d52a06517754ba97721efc
2015-02-19 23:24:56 +01:00
Lynix 3a18035989 Remade Entities
Former-commit-id: 25f7bc84279fdf58b44cf78e2d94b4cbb78a8410
2015-02-19 22:06:57 +01:00
Lynix 1d79efeb7f (World) Optimized CreateEntities method
Former-commit-id: 99b89aad500ebaa18fb733ad04a94010728e8370
2015-02-08 22:26:28 +01:00
Lynix 32951deed8 (World) Inlined some methods
Former-commit-id: eab086bdde8b11cc261faf2cb5d161bbfcebdc73
2015-02-08 17:47:41 +01:00
Lynix d5a8bdca12 (Entity) Inlined most code
Former-commit-id: 287c7c557263497ba89451dd2d640fcd8522ef3a
2015-02-08 17:39:06 +01:00
Lynix 5fb728d0be (World) Added DOC comments
Former-commit-id: 211735ec2cf553b991f95b210af5e7e451ab4f1f
2015-02-08 16:30:23 +01:00
Lynix 266da016ad (World) Added clear method
Former-commit-id: 54789542144a382c134042fa8050d06d3a80ca5d
2015-02-08 15:45:42 +01:00
Lynix 12824deba2 (World) Fixed entity killing
Former-commit-id: 180cd3c163cb2c6595a6710ce9302bcb83923870
2015-02-08 15:43:27 +01:00
Lynix 5067767074 (NDK) First commit
-Still missing a build file
-This is an Entity Component System, without any component nor system,
so this is an Entity. Yay.


Former-commit-id: f04d2fdfe8819826f940469c2618140a26afa637
2015-02-06 13:56:27 +01:00