Kazhnuz
940cb1b41f
improvement(camera): use the shape system to control the camera.
2019-07-01 14:15:10 +02:00
Kazhnuz
c06f1c49aa
feat(world3D): add a visible shape system to handle better visiblity
...
Actor2D also have a shape, in order to use them in other functions.
2019-07-01 14:13:26 +02:00
Kazhnuz
cf04a16c84
fix(actor3D): improve sprite drawing in fake3D worlds
2019-07-01 09:57:45 +02:00
Kazhnuz
5f5b4da9c5
fix(actor3D): fix checkGround not trying the right coordinate
2019-06-30 22:04:30 +02:00
Kazhnuz
2004efa558
feat(world): add initial fake3D world implementation
2019-06-30 17:07:58 +02:00
Kazhnuz
a60058522b
chore(baseworld): make drawing reordering part of getVisibleActors(id)
2019-06-30 17:07:03 +02:00
Kazhnuz
b558650d00
feat(camera): add more camera types
2019-06-29 18:42:38 +02:00
Kazhnuz
57446b89a3
fix(utils): fix some glitch in utils.table.sum
2019-06-29 14:02:03 +02:00
Kazhnuz
4cb3a7a105
feat(loveutils): add basic table functions
2019-06-29 11:49:48 +02:00
Kazhnuz
91fc55555f
feat(camera): make the camera support multiple "mode"
2019-06-29 11:32:42 +02:00
Kazhnuz
e7c7aa1f79
fix(world): rename some instance of BaseWorld in world2D
2019-06-28 11:54:34 +02:00
Kazhnuz
e6c2af5429
feat(world): make object creation more customizable by worlds
2019-06-28 10:06:38 +02:00
Kazhnuz
369e0ceec0
improvement(actor): put hitbox functions that make sense in baseactor
2019-06-28 08:43:01 +02:00
Kazhnuz
b4f3008552
improvement(actor): put physics functions that make sense in baseactor
2019-06-27 22:14:12 +02:00
Kazhnuz
ff78a6ecfe
improvement(actor): put gravity that make sense functions in baseactor
2019-06-27 22:02:47 +02:00
Kazhnuz
10bbd5fd84
improvement(actor): merge most physics initialisation
2019-06-27 21:56:02 +02:00
Kazhnuz
049213000a
improvement(world): separate future position and friction from autoMove
2019-06-27 21:29:49 +02:00
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
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
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
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
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
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
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
Kazhnuz
aaf0b1882b
modules/world: displace the map according to the view relative position
2019-05-02 16:21:24 +02:00
Kazhnuz
065a67a915
modules/world: add a function to get view relative position
2019-05-02 16:19:59 +02:00
Kazhnuz
f1edd118ec
modules/world: simplify limitView() by using utils.math.between()
2019-05-02 16:19:28 +02:00
Kazhnuz
8073951822
utils/math: add a function to return a value somewhere between two numbers
2019-05-02 16:18:12 +02:00
Kazhnuz
c41930fca4
modules/world: automatize multiple character handling
2019-05-01 17:21:38 +02:00
Kazhnuz
dd21878ee8
modules/world: add an initActors function
2019-05-01 16:25:44 +02:00
Kazhnuz
18d75f825c
modules/world: separate map loading from level initialization
2019-05-01 14:36:40 +02:00
Kazhnuz
98fb57afaa
modules/world: floor the coordinate for sprite drawing
2019-05-01 11:26:15 +02:00
Kazhnuz
257eec8290
modules/assets: add a way to determine ox and oy in tileset metadata
2019-05-01 11:24:41 +02:00
Kazhnuz
0fba67f212
modules/world: handle differently the coordinate system for 2D actors
2019-05-01 11:19:42 +02:00