Commit graph

58 commits

Author SHA1 Message Date
Kazhnuz
a3b6bcd499 feat(world): add a frame hitbox data structure to process
It'll allow us to create a way to process everyframe of an animation and 
change hitbox according to the animation.

It should especially simplify the creation of battle system.
2019-06-23 10:19:01 +02:00
Kazhnuz
f88c7f49e4 feat(world): add multiple hitbox support on actor2D 2019-06-22 22:11:22 +02:00
Kazhnuz
8c1e9d8e05 feat(world): initial support for external hitbox
For the moment it doesn't add any real feature, but it allow the 
mainHitbox to be an external object to the actor, giving to it more 
power.
2019-06-22 19:27:31 +02:00
Kazhnuz
cb97c2ceee chore(world): prepate using an external hitbox object 2019-06-22 17:27:36 +02:00
Kazhnuz
f7040d1854 feat(world): draw actors according to their depth
It allow us to draw some sprites always over some others.

Fixes #8
2019-06-16 10:24:30 +02:00
Kazhnuz
4c2427bfd6 feat(world): add a drawHUD function to draw the current HUD
It is able to draw everything a player object want directly where it 
should go.

Fixes #3
2019-06-13 22:23:23 +02:00
Kazhnuz
58b8c95d62 feat(actor): add *Start() and *End() functions 2019-06-13 18:39:09 +02:00
Kazhnuz
fb4f438bf9 modules/world: add a generic gfx actor 2019-05-06 20:44:13 +02:00
Kazhnuz
0ee3220559 modules/world: put the register and initPhysics functions in BaseActor 2019-05-05 21:56:55 +02:00
Kazhnuz
de42087e51 modules/world: init hitbox before loading the parent new() function 2019-05-05 21:55:57 +02:00
Kazhnuz
2344bd5a9a modules/world: put non-hitbox related physics function in baseactor 2019-05-05 21:44:12 +02:00
Kazhnuz
1e42fac57c modules/world: refactor hitbox initialization outside of initPhysics 2019-05-05 21:29:49 +02:00
Kazhnuz
86b1368a6e modules/world: put solidity initialization into baseactor 2019-05-05 21:27:02 +02:00
Kazhnuz
11fcc4cf99 modules/world: refactor movement functions together 2019-05-05 21:25:25 +02:00
Kazhnuz
4b4b8b4e85 modules/world: refactor all cordinate functions together 2019-05-05 21:22:41 +02:00
Kazhnuz
6aa7fd6399 modules/world: use the setBounceFactor function in initPhysics 2019-05-05 21:18:54 +02:00
Kazhnuz
187f0286df modules/world: put the update functions in the baseactor 2019-05-05 21:04:00 +02:00
Kazhnuz
1d26588904 modules/world: put timers and sprites functions in the base actor 2019-05-05 21:01:54 +02:00
Kazhnuz
6225f1fb4e modules/world: put input functions in BaseActor 2019-05-05 20:51:26 +02:00
Kazhnuz
cd62f9c7d1 modules/world: put basic initilisation in baseactor 2019-05-05 20:49:28 +02:00
Kazhnuz
1b5a2e9c6e modules/world: derive the Actor2D from the base actor 2019-05-05 20:30:39 +02:00
Kazhnuz
351b2a970a modules/world: initial draft of the base actor module 2019-05-05 20:30:25 +02:00
Kazhnuz
d1a5bb9d39 modules/world: add a timer system to the actors 2019-05-05 20:13:19 +02:00
Kazhnuz
25a582821f modules/world: only check collision if the object isn't being destroyed 2019-05-05 19:50:33 +02:00
Kazhnuz
dfc71eaebd module/world: add a function to destroy actor 2019-05-05 19:45:57 +02:00
Kazhnuz
146cfbed54 module/world: fix an oops 2019-05-05 19:36:21 +02:00
Kazhnuz
53df3c125c modules/world: add more wrapper around sprites functions 2019-05-05 15:22:54 +02:00
Kazhnuz
8d655f8049 modules/world: make the actors able to clone their sprite 2019-05-05 13:17:43 +02:00
Kazhnuz
174b51acfa modules/world: use checkCollisions to get if an object is on ground 2019-05-05 13:01:25 +02:00
Kazhnuz
0d5068fdaa modules/world: add initial way to check if an entity is on ground 2019-05-02 20:10:31 +02:00
Kazhnuz
f04d0c6b4e modules/world: initial gravity system 2019-05-02 19:51:43 +02:00
Kazhnuz
98fb57afaa modules/world: floor the coordinate for sprite drawing 2019-05-01 11:26:15 +02:00
Kazhnuz
0fba67f212 modules/world: handle differently the coordinate system for 2D actors 2019-05-01 11:19:42 +02:00
Kazhnuz
ce2a89b295 modules/world: fix scalling function
actually adding the scaling would be nice.
2019-05-01 11:16:37 +02:00
Kazhnuz
1a669029ea modules/world: add a basic sprite system for the Actor2D 2019-05-01 11:07:53 +02:00
Kazhnuz
882f98bf40 modules/world: add a way to link the camera to an actor 2019-04-29 15:03:28 +02:00
Kazhnuz
fc34cdc199 modules/world: set default collision mode to slide 2019-04-28 11:15:35 +02:00
Kazhnuz
5777d9463b modules/world: add a way to simply set bounceFactor in the Actor2D 2019-04-28 11:12:54 +02:00
Kazhnuz
6c2b308580 modules/world: add a way to change speed to collision normal 2019-04-28 11:09:55 +02:00
Kazhnuz
0d25dbd839 modules/world: add collision response system 2019-04-28 11:06:07 +02:00
Kazhnuz
c43317bfe2 modules/world: add friction system to Actor2D 2019-04-28 09:31:10 +02:00
Kazhnuz
3ce567b113 modules/world: floor actor2D position when drawing it 2019-04-28 09:22:31 +02:00
Kazhnuz
ea5011642c modules/world: add a basic solidity system
It'll make easier the solidity system and will reserve custom filter to 
specific objects.
2019-04-25 17:54:51 +02:00
Kazhnuz
75eb198450 modules/world: fix an oops in Actor2D 2019-04-22 12:13:42 +02:00
Kazhnuz
90458757e5 modules/world: make hitbox drawing part of actor 2019-04-22 12:13:01 +02:00
Kazhnuz
05f62a6842 modules/world: make the move function return variables 2019-04-22 12:09:28 +02:00
Kazhnuz
a25e178628 modules/world: make speed relative to dt 2019-04-22 12:02:52 +02:00
Kazhnuz
93f710e0b0 modules/world: add filter function 2019-04-22 11:58:00 +02:00
Kazhnuz
42303da317 modules/world: fix movement functions for bump2D
The moveActor function is in bump2D a wrapper for the move function of
bump2D. But this function doesn't handle actual movement.

In order to make things samewise everywhere, let the actor handle actual
movement themselves.
2019-04-22 09:42:33 +02:00
Kazhnuz
193e9b6fbf modules/world: add speed variables 2019-04-13 09:40:14 +02:00