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
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
d908604dcb
module/world: return camera coordinate in the right order
2019-05-01 10:39:19 +02:00
Kazhnuz
a2d38a1ef4
module/world: make sure that the view doesn't go outside the world
2019-05-01 10:27:07 +02:00
Kazhnuz
fd78d083af
modules/world: add a way to load objects from tiled
2019-04-29 16:40:44 +02:00
Kazhnuz
00fe87f61d
modules/world: invert player 1 and 2 cam in horizontal split mode
2019-04-29 15:10:02 +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
cc5de7d5ff
modules/world: attach and detach the camera when drawing the map
2019-04-29 14:12:34 +02:00
Kazhnuz
1ba74a534d
modules/world: scissor the view when attaching the camera
2019-04-29 14:12:04 +02:00
Kazhnuz
bc0b1bb87b
modules/world: initial functions to compute camera size and positionning
2019-04-29 13:58:13 +02:00
Kazhnuz
3c498f2d16
modules/world: add a basic view dimension system
2019-04-29 11:39:07 +02:00
Kazhnuz
a046eb5a9c
modules/world: add camera system to the world system
2019-04-29 11:21:41 +02:00
Kazhnuz
ffac18d6a5
modules/world: add a way to get camera scale and view
2019-04-29 11:20:59 +02:00
Kazhnuz
06a5192b84
modules/world: fix a typo
2019-04-29 10:47:01 +02:00
Kazhnuz
699efeb2fb
modules/world: add a view number limit
2019-04-29 10:42:43 +02:00
Kazhnuz
79ecdc822b
modules/world: only attach view to camera if one is requested
2019-04-29 08:45:48 +02:00
Kazhnuz
9c3ef4ce65
modules/world: add initial basic camera system
2019-04-29 08:44:10 +02:00
Kazhnuz
116eb34aa2
modules/assets: initialize tilesets
2019-04-28 13:02:49 +02:00
Kazhnuz
5055f84320
modules/assets: add a basic batch importing system
2019-04-28 13:02:19 +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
dcfa657f64
utils: add a simple function to substract a variable to another to zero
2019-04-27 22:04:18 +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
eac75df874
modules/world: don't access directly to the actors manager inside worlds
2019-04-22 09:36:29 +02:00
Kazhnuz
ceb28eb445
modules/world: fix loading of baseworld in world2D
2019-04-22 08:35:07 +02:00
Kazhnuz
3ece29ef43
modules/world: add a Bump2D world backend
2019-04-20 22:51:56 +02:00
Kazhnuz
627395c83f
modules/menusystem:add batch management functions for sounds
2019-04-20 17:56:18 +02:00
Kazhnuz
4c1acb0afa
modules/menusystem: add a function to get sound from scene assetmanager
2019-04-20 17:54:22 +02:00
Kazhnuz
faa12d4ff7
modules/menusystem: link a menusystem to a scene
2019-04-20 17:54:01 +02:00
Kazhnuz
946b446844
modules/menusystem: reset sound activity to "false" in menus
2019-04-20 17:47:57 +02:00
Kazhnuz
51ea3629d0
modules/menusystem: add a function to reset menus' sound state
2019-04-20 17:45:58 +02:00
Kazhnuz
d1c2f8634b
modules/menusystem: rename correctly internal navigations sound function
2019-04-20 17:42:04 +02:00
Kazhnuz
f37eaef79a
modules/menusystem: add a way to manage menusystem activity
2019-04-15 16:30:45 +02:00
Kazhnuz
802e1a78a3
modules/scenes: fix an oops
2019-04-14 19:46:39 +02:00
Kazhnuz
324a5854b7
core: add a way to get keyboard callbacks from current scene
2019-04-14 19:45:52 +02:00
Kazhnuz
1aef8ad49d
core: add a special file for callbacks
2019-04-14 19:24:10 +02:00
Kazhnuz
fdba16e2f2
options: add a way to set an input key
2019-04-14 18:27:24 +02:00
Kazhnuz
a470f53f8f
lang: add a way to check language availability
2019-04-14 18:11:31 +02:00
Kazhnuz
cdf088e2a1
options: add the controller to the options manager
2019-04-14 18:08:52 +02:00
Kazhnuz
2affb1c789
lang: remove unused functions
2019-04-14 11:50:28 +02:00
Kazhnuz
b801c59a62
lang: update translation system
2019-04-14 11:48:05 +02:00
Kazhnuz
37b6613c4a
lang: adapt lang name functions to the new medata format
2019-04-14 11:25:28 +02:00
Kazhnuz
1e215a99bf
lang: improve data handling
2019-04-13 19:00:03 +02:00
Kazhnuz
1c51b35112
options: set default language as current language
2019-04-13 18:58:40 +02:00
Kazhnuz
fb29ae65b3
options: make language loading and changing part of the options
2019-04-13 18:54:07 +02:00
Kazhnuz
59029068f1
lang: return datas instead of directly putting them in self.datas
2019-04-13 18:42:47 +02:00
Kazhnuz
f40d2c9912
lang: add a constant for the translation path
2019-04-13 18:32:54 +02:00
Kazhnuz
113af71896
gamecore: load the lang module
2019-04-13 18:32:27 +02:00
Kazhnuz
a6b1f2da59
modules/menusystem: add a way to easily invalidate widget canvas
2019-04-13 10:44:07 +02:00
Kazhnuz
ae5a001e00
examples/options: export widgets canvas as a real texture
...
It'll avoid screen change clearing the texture content
2019-04-13 10:39:01 +02:00
Kazhnuz
193e9b6fbf
modules/world: add speed variables
2019-04-13 09:40:14 +02:00
Kazhnuz
a81ac5b819
modules/menusystem: add an arbitrary order system to widgets & menus
2019-04-11 18:16:36 +02:00
Kazhnuz
9367bee577
modules/menusystem: add an arbitrary order variable to widgets
2019-04-11 17:31:29 +02:00
Kazhnuz
05a5f8d877
modules/menusystem: add a way to preserve creation order
2019-04-11 17:31:01 +02:00
Kazhnuz
1061e4822f
gamecore: better comments and organization
2019-04-11 17:23:39 +02:00
Kazhnuz
65010fae16
loveutils: better comments and organisation
2019-04-11 17:10:28 +02:00
Kazhnuz
33143a0ba3
modules/scene: better comments and organisation
2019-04-11 17:03:53 +02:00
Kazhnuz
ab6475b3cf
modules/menusystem: remove deprecated functions and objects
2019-04-11 16:59:58 +02:00
Kazhnuz
c9e3f5b82a
modules/menusystem: more code cleanup
2019-04-11 16:58:42 +02:00
Kazhnuz
96f56a7284
modules/menusystem: better comments
2019-04-10 18:01:46 +02:00
Kazhnuz
915b4a2ab8
modules/assets: improve comments and organisation
2019-04-09 18:47:52 +02:00
Kazhnuz
f2680c37f3
modules/world: improve commenting and organisations
2019-04-08 19:58:41 +02:00
Kazhnuz
f30bbc7509
modules/world: better separation of init functions
2019-04-08 19:40:27 +02:00
Kazhnuz
dd1e25969e
modules/world: improve keys sending to player object
2019-04-07 22:46:28 +02:00
Kazhnuz
262bf97e67
modules/world: add basic move functions to entities
2019-04-07 18:33:41 +02:00
Kazhnuz
134edf345a
scenes: remove "keys" table and replace it by a source table
2019-04-07 17:51:37 +02:00
Kazhnuz
0dce34e33a
inputs: make inputs support multiple sources
2019-04-07 17:42:46 +02:00
Kazhnuz
bdd837d4da
modules/world: basic player system
2019-04-07 17:15:27 +02:00
Kazhnuz
b74be06d26
modules/world: init fake keys for every actor
...
Only the "player object" will get the real inputs
2019-04-07 17:03:18 +02:00
Kazhnuz
064d5bd2a8
modules/world: separate actors functions from main functions
2019-04-07 14:06:04 +02:00
Kazhnuz
9a47584feb
modules/world: add basic sti support
2019-04-07 14:03:44 +02:00
Kazhnuz
63238c4ec6
modules/world: add a function to add Actor from index
2019-04-07 13:46:08 +02:00
Kazhnuz
3bd7203e59
modules/world: correctly set actor list
2019-04-07 13:43:24 +02:00
Kazhnuz
f9ff7ff122
modules/world: fix typos
2019-04-07 13:36:21 +02:00
Kazhnuz
19cdf6c3ab
modules/world: load the actorlist inside the world
2019-04-07 13:35:49 +02:00
Kazhnuz
5365f23c30
modules/world: port all actor functions from IP
2019-04-07 13:31:25 +02:00