Commit Graph

177 Commits

Author SHA1 Message Date
Kazhnuz 91019b2074 fix(world): use right camera internal coordinate
Fixes #15 and #17
2019-06-21 18:51:14 +02:00
Kazhnuz 3ced2dbef4 fix(world): separate getting data from the internal and advertised view
Use two functions instead of just one, one showing the actual dimensions 
of the internal "cam" (basically, the whole screen), and one showing the 
advertised displaced camera.

Fixes #16
2019-06-21 18:27:02 +02:00
Kazhnuz b47e158126 feat(menusystem): add a function to deactivate assets when menu is active 2019-06-16 16:36:39 +02:00
Kazhnuz a227bbb033 feat(world): add a function to reset world 2019-06-16 16:33:29 +02:00
Kazhnuz fb35eca0fa feat(menusystem): add a way to deactivate world when activating the menu 2019-06-16 16:21:26 +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 54b01b0d94 feat(world): add a creationID variable to keep track of actors ID 2019-06-16 10:08:59 +02:00
Kazhnuz 61b3c29f6b improvement(world): only draw visible actors when a camera is active
It'll make the game less laggy. For the moment, no need to only update 
visible actors.

Fixes #14
2019-06-16 10:00:05 +02:00
Kazhnuz 65b0c74a06 feat(world): add a batchActor function activated by a bool in tiled
This way, you can add multiple actors with just one tiled object. It 
also bring better feature parity with Imperium Porcorum.

Fixes #10
2019-06-15 11:50:53 +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 055ae92eb9 feat(scene): add *Start() and *End() functions.
Make the scene children able to add functions before or after 
everything.
2019-06-13 18:33:29 +02:00
Kazhnuz e475604c57 gamecore/assets: add activity handling functions 2019-05-30 13:54:39 +02:00
Kazhnuz af96232d53 gamecore/input: fix two glitches in the key flushing system 2019-05-30 13:49:19 +02:00
Kazhnuz 80ef8b1a65 gamecore/world: add an activity system for the world 2019-05-30 13:37:55 +02:00
Kazhnuz e73d6804f5 gamecore/scenemanager: draw the world before drawing the scene 2019-05-30 13:37:30 +02:00
Kazhnuz 48aa0a3eab gamecore/scene: put world wrapper inside the scene 2019-05-30 13:27:41 +02:00
Kazhnuz df4d264c21 gamecore/scenemanager: let the scene manager handle directly the world 2019-05-28 19:31:42 +02:00
Kazhnuz 23f17491ad gamecore/world: make the world registerable directly by itself 2019-05-28 19:28:05 +02:00
Kazhnuz fb4f438bf9 modules/world: add a generic gfx actor 2019-05-06 20:44:13 +02:00
Kazhnuz 7bdcdc5bfa modules/assets: add getDimensions() to tileset, sprite and animators 2019-05-06 20:43:51 +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 b80566b4ec modules/world: add a way to check collisions 2019-05-05 13:01:00 +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 adfa147b72 examples/moveplayer: fix camera2 having the wrong set of coordinate 2019-05-02 18:47:36 +02:00
Kazhnuz 56a269dd57 modules/world: work around Y invertion in the camera system 2019-05-02 18:46:44 +02:00
Kazhnuz b69ad095ee modules/world: make drawDebugViewBox function related to one view 2019-05-02 18:27:58 +02:00
Kazhnuz 5eed16bac4 modules/world: make local the vx and vy variables 2019-05-02 17:34:35 +02:00
Kazhnuz eddf66595c modules/world: attach and detach view just once 2019-05-02 17:21:48 +02:00