Commit Graph

515 Commits

Author SHA1 Message Date
Kazhnuz c57f372648 chore(world): improve separation between bodies and actors in code 2019-06-27 21:22:33 +02:00
Kazhnuz 7cce6ea99f improvement(world): separate queryRect into 2 functions 2019-06-27 21:20:54 +02:00
Kazhnuz f68e300019 feat(hitbox): add a way to advertise an hitbox as main hitbox 2019-06-27 21:15:57 +02:00
Kazhnuz 81c7dc7cd4 Merge branch 'simpler-gravity' of game-projects/gamecore into master 2019-06-27 21:06:05 +02:00
Kazhnuz 0a66082e99 chore(actor2D): group gravity functions together 2019-06-27 21:05:23 +02:00
Kazhnuz e916c28630 fix(actor2D): simplify gravity system by not handling x by default 2019-06-27 21:03:34 +02:00
Kazhnuz 9f66df8537 fix(actor2D): let hitboxes handle themselves 2019-06-27 20:46:21 +02:00
Kazhnuz b7344a8973 fix(actor2D): fix a function being put in the wrong object 2019-06-27 20:38:15 +02:00
Kazhnuz 961c7816c1 Merge branch 'new-hitbox-system' of game-projects/gamecore into master 2019-06-23 15:54:18 +02:00
Kazhnuz cace01cf3a feat(world): add a way to check every hitbox collisions 2019-06-23 15:53:51 +02:00
Kazhnuz 89b2ffe483 feat(world): add a way to automatically load hitbox from a file 2019-06-23 15:45:34 +02:00
Kazhnuz 3fd8d2fecc fix(hitboxes): reset colors after the hitbox is drawn. 2019-06-23 15:44:46 +02:00
Kazhnuz 41cbf40890 fix(examples): call the right function in movable player example 2019-06-23 15:41:30 +02:00
Kazhnuz eafc266544 fix(baseworld): make baseworld not crash when a body is loaded 2019-06-23 15:39:57 +02:00
Kazhnuz 3314f1e3f9 improvement(actor): ignore by default collision with actor own hitboxes 2019-06-23 15:32:25 +02:00
Kazhnuz 5c5b3eed34 fix(assets): add "return" call that were forgotten 2019-06-23 15:29:08 +02:00
Kazhnuz dca4ece7fe feat(assets): add a new getCurrentAnimation function 2019-06-23 15:25:56 +02:00
Kazhnuz 6fb3fecc95 feat(assets): add more wrapper around sprite functions in BaseActor 2019-06-23 14:27:07 +02:00
Kazhnuz 531f3c5803 feat(assets): add more wrapper around animator functions in Sprite 2019-06-23 14:25:02 +02:00
Kazhnuz 8a5692c1a1 feat(assets): add a way to get current relative frame
This function return the current frame relative to the first frame of 
the current animation
2019-06-23 14:23:51 +02:00
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 c553dfafa3 feat(examples): add ducking in plateforming example
Show how we can now modify in action an hitbox without glitching it
2019-06-22 20:17:36 +02:00
Kazhnuz b770253cb5 fix(examples): adapt to the new hitbox system 2019-06-22 19:28:28 +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 2b1bdd0be5 improvement(world): separate bodies from actor management 2019-06-22 17:19:54 +02:00
Kazhnuz 241baad935 fix(world): remove a forgotten debug function 2019-06-21 20:06:58 +02:00
Kazhnuz 4547628ba5 Merge branch '0.5.1' 2019-06-21 18:57:43 +02:00
Kazhnuz ff38f7fe87 Merge branch '0.5.x' of https://git.chlore.net/game-projects/gamecore into 0.5.1 2019-06-21 18:55:31 +02:00
Kazhnuz 0b6101a398 meta: fix changelog 2019-06-21 18:53:53 +02:00
Kazhnuz 79c79d9613 Merge branch '0.5.1' of game-projects/gamecore into 0.5.x 2019-06-21 18:52:33 +02:00
Kazhnuz 664a2c7309 meta: publish 0.5.1 2019-06-21 18:51:41 +02:00
Kazhnuz 91019b2074 fix(world): use right camera internal coordinate
Fixes #15 and #17
2019-06-21 18:51:14 +02:00
Kazhnuz 408a71434f fix(world): use right camera internal coordinate
Fixes #15 and #17
2019-06-21 18:50:45 +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 80072d285a fix(examples): add missing HUD in one-player example 2019-06-21 17:11:32 +02:00
Kazhnuz fd1a05a9a8 meta: publish 0.5.0 2019-06-16 16:41:06 +02:00
Kazhnuz 9bc70a601f meta: update changelog 2019-06-16 16:37:47 +02:00
Kazhnuz 81015b011b feat(examples): add a pause menu in plateformer example 2019-06-16 16:37:22 +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 e9f5731a34 meta: update CHANGELOG 2019-06-16 10:01:21 +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 6f59f1e732 refactor(examples): use updateStart(dt) and updateEnd(dt)
Allow to drop easily some instance of calling the parent's same function
2019-06-13 18:44:13 +02:00