Commit Graph

141 Commits

Author SHA1 Message Date
Lynix c919af8085 Ndk/Entity: Fix arguments forwarding when constructing a component
Former-commit-id: b942a4659ebf7f1575c34b000e3efe9e2559a1d6
2015-06-12 13:59:32 +02:00
Lynix 1e0681ef2a Ndk/BaseSystem: Fix destructor not being virtual
Former-commit-id: e430f12f56a36b0d2dee1c1525cf98fc97cb8de6
2015-06-11 14:23:32 +02:00
Lynix 2a6ec829fe Ndk: Fix inline warnings on GCC
Former-commit-id: 4ffe5cd1e821160c60cd2d84f6a0d164aa1326f7
2015-06-11 14:23:19 +02:00
Lynix 48a54dfa5c Graphics/Renderable: Add InstanceData
Former-commit-id: f30f011ae91a445d5b22f33150a88bbda218950c
2015-06-11 14:14:11 +02:00
Lynix 6f2f8d6390 Graphics: Make Background/RenderTechnique independent from Scene
Former-commit-id: d588a3bb74b08d79990a278ad2e399e9797755b4
2015-06-09 00:26:13 +02:00
Lynix 4e5cdea454 Core/Signals: Remove Connect/Disconnect macros
And make interface easier to use


Former-commit-id: 5b789c9acb694839cb173ae96392650d80d383b7
2015-06-07 17:28:19 +02:00
Lynix 004b53c590 Renderer/Renderer: Replace listeners by signals
Former-commit-id: c1293f7f7cc31c4122ba866fc44d93188917ad93
2015-06-07 16:52:19 +02:00
Lynix fe25249136 Replace Listenable system by signals
Former-commit-id: 16fb0b3e703ca4b41ceb97fab938cebb05f677d4
2015-06-07 15:16:11 +02:00
Lynix 3e8d2e1e47 Ndk/Entity: Fix a stupid mistake
Former-commit-id: cecdd2a6134f24ea0598628863605d7897cbf922
2015-06-07 12:13:41 +02:00
Lynix b9ced78772 Graphics/RenderTechnique: Remove Clear method
Let's face it, this method was useless from the beginning.


Former-commit-id: c38f57785c900acf66560ad07aa29498312c6063
2015-06-05 13:38:22 +02:00
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