Commit graph

238 commits

Author SHA1 Message Date
Kazhnuz
2f7d313ab9 fix(camera): fix tearing and heavy pixelisation in zoom mode
Currently, the canvas was created at render size and elements where 
resized inside. Work a bit differenlty, by creating a canvas that have 
the view "true" size (meaning the scaled size), and draw everything at 
1:1 size inside. Then, when drawing the view canvas, resize the whole 
canvas at the multiplication of both scaling.
2019-07-15 10:04:06 +02:00
Kazhnuz
f2cabff81c chore(camera): improve comments 2019-07-14 23:15:30 +02:00
Kazhnuz
f9a268a51a improvement(camera): make getViewsDimensions a wrapper around a camutil 2019-07-14 23:12:22 +02:00
Kazhnuz
7376d75aeb chore(camera): simplify view system
Remove view.cam and view.pos
2019-07-14 22:59:58 +02:00
Kazhnuz
7ec715850c chore(camera): remove unused functions 2019-07-14 22:53:55 +02:00
Kazhnuz
81dd584e11 improvement(camera): use a new canvas-based view system 2019-07-14 22:49:27 +02:00
Kazhnuz
35433b273d chore(camera): remove hump.camera 2019-07-14 18:57:50 +02:00
Kazhnuz
c7e2f2daca fix(baseworld): draw all map layer instead of using map:draw()
It allow us to use the exact same transform for map and actors
2019-07-14 18:51:00 +02:00
Kazhnuz
f48de0e9bd improvement(camera): manually attach the view instead of using hump func 2019-07-14 18:48:25 +02:00
Kazhnuz
6947d2f3f2 fix(camera): fix onscreen coordinates by using new core.screen func 2019-07-14 18:41:13 +02:00
Kazhnuz
fb428b45c3 chore(camera): put the view algorithm in a "utils" file 2019-07-14 18:35:33 +02:00
Kazhnuz
e4b89ddd31 chore(camera): split camera into a specific folder 2019-07-14 18:28:29 +02:00
Kazhnuz
1c8c2d6937 feat(screen): add a way to get coordinate and scale 2019-07-14 15:51:58 +02:00
Kazhnuz
208c523248 fix(camera): fix map not being clipped in split mode
Fixes #29
2019-07-13 00:29:43 +02:00
Kazhnuz
fafaa3fe49 fix(camera): remove scissoring from the hump camera library used 2019-07-13 00:26:16 +02:00
Kazhnuz
342d073572 fix(world3D): dont attribute the getVisibleActor() function to baseworld 2019-07-12 23:22:03 +02:00
Kazhnuz
242e916d4b fix(actor2D): remove an erroneous call to Actor3D 2019-07-12 23:18:01 +02:00
Kazhnuz
0993f1e8bb fix(boxes): remove some test print. 2019-07-06 18:02:53 +02:00
Kazhnuz
a3b0f47127 feat(actor3D): cast shadow below the actor. 2019-07-06 18:00:00 +02:00
Kazhnuz
c043bb8ecf feat(actor3D): add zSorting support 2019-07-01 18:06:25 +02:00
Kazhnuz
5bdb275b8a feat(actor3D): add a basic 3D box drawing system for 3D actors 2019-07-01 17:00:55 +02:00
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