diff options
| -rw-r--r-- | main.lua | 4 | ||||
| -rw-r--r-- | res/img/bullet.png | bin | 0 -> 114 bytes | |||
| -rw-r--r-- | res/img/carrabasset_big_trunk.png | bin | 0 -> 389 bytes | |||
| -rw-r--r-- | res/img/carrabasset_vines_0.png | bin | 0 -> 715 bytes | |||
| -rw-r--r-- | res/img/carrabasset_vines_1.png | bin | 0 -> 512 bytes | |||
| -rw-r--r-- | res/img/carrabasset_vines_2.png | bin | 0 -> 631 bytes | |||
| -rw-r--r-- | res/img/carrabassett_big_bush_0.png | bin | 0 -> 645 bytes | |||
| -rw-r--r-- | res/img/carrabassett_props.png | bin | 0 -> 5165 bytes | |||
| -rw-r--r-- | res/img/carrabassett_small_bush_0.png | bin | 0 -> 435 bytes | |||
| -rw-r--r-- | res/img/carrabassett_small_trunk.png | bin | 0 -> 284 bytes | |||
| -rw-r--r-- | res/img/dash_pickup.png | bin | 0 -> 133 bytes | |||
| -rw-r--r-- | res/img/double_jump_pickup.png | bin | 0 -> 134 bytes | |||
| -rw-r--r-- | res/img/hugbug.ase | bin | 0 -> 1369 bytes | |||
| -rw-r--r-- | res/img/lamp_post_0.png | bin | 0 -> 382 bytes | |||
| -rw-r--r-- | res/img/muntik.ase | bin | 0 -> 908 bytes | |||
| -rw-r--r-- | res/img/pistol.png | bin | 0 -> 122 bytes | |||
| -rw-r--r-- | res/img/player.ase | bin | 0 -> 5279 bytes | |||
| -rw-r--r-- | res/img/small_lamp.png | bin | 0 -> 164 bytes | |||
| -rw-r--r-- | res/img/tilesets.png | bin | 0 -> 2904 bytes | |||
| -rw-r--r-- | res/img/windchimes_0.png | bin | 0 -> 196 bytes | |||
| -rw-r--r-- | res/img/windchimes_1.png | bin | 0 -> 250 bytes | |||
| -rw-r--r-- | src/init.lua | 2 | ||||
| -rw-r--r-- | src/utils.lua | 55 |
23 files changed, 58 insertions, 3 deletions
@@ -24,7 +24,7 @@ end function love.draw(dt) lg.origin() - lg.setCanvas(Viewport) + lg.setCanvas(viewport) lg.clear() local scn = get_current_scene() @@ -38,7 +38,7 @@ function love.draw(dt) WindowScale = min(scr_width/SCR_WIDTH, scr_height/SCR_HEIGHT) lg.draw( - Viewport, + viewport, scr_width/2, scr_height/2, 0, WindowScale, WindowScale, SCR_WIDTH/2, SCR_HEIGHT/2) diff --git a/res/img/bullet.png b/res/img/bullet.png Binary files differnew file mode 100644 index 0000000..99d2828 --- /dev/null +++ b/res/img/bullet.png diff --git a/res/img/carrabasset_big_trunk.png b/res/img/carrabasset_big_trunk.png Binary files differnew file mode 100644 index 0000000..689fdf6 --- /dev/null +++ b/res/img/carrabasset_big_trunk.png diff --git a/res/img/carrabasset_vines_0.png b/res/img/carrabasset_vines_0.png Binary files differnew file mode 100644 index 0000000..97e2482 --- /dev/null +++ b/res/img/carrabasset_vines_0.png diff --git a/res/img/carrabasset_vines_1.png b/res/img/carrabasset_vines_1.png Binary files differnew file mode 100644 index 0000000..e2116d2 --- /dev/null +++ b/res/img/carrabasset_vines_1.png diff --git a/res/img/carrabasset_vines_2.png b/res/img/carrabasset_vines_2.png Binary files differnew file mode 100644 index 0000000..2a43b05 --- /dev/null +++ b/res/img/carrabasset_vines_2.png diff --git a/res/img/carrabassett_big_bush_0.png b/res/img/carrabassett_big_bush_0.png Binary files differnew file mode 100644 index 0000000..fc11931 --- /dev/null +++ b/res/img/carrabassett_big_bush_0.png diff --git a/res/img/carrabassett_props.png b/res/img/carrabassett_props.png Binary files differnew file mode 100644 index 0000000..5b28a5b --- /dev/null +++ b/res/img/carrabassett_props.png diff --git a/res/img/carrabassett_small_bush_0.png b/res/img/carrabassett_small_bush_0.png Binary files differnew file mode 100644 index 0000000..dc926e4 --- /dev/null +++ b/res/img/carrabassett_small_bush_0.png diff --git a/res/img/carrabassett_small_trunk.png b/res/img/carrabassett_small_trunk.png Binary files differnew file mode 100644 index 0000000..bfef5d5 --- /dev/null +++ b/res/img/carrabassett_small_trunk.png diff --git a/res/img/dash_pickup.png b/res/img/dash_pickup.png Binary files differnew file mode 100644 index 0000000..758b70a --- /dev/null +++ b/res/img/dash_pickup.png diff --git a/res/img/double_jump_pickup.png b/res/img/double_jump_pickup.png Binary files differnew file mode 100644 index 0000000..c0ed3f8 --- /dev/null +++ b/res/img/double_jump_pickup.png diff --git a/res/img/hugbug.ase b/res/img/hugbug.ase Binary files differnew file mode 100644 index 0000000..78cbb8e --- /dev/null +++ b/res/img/hugbug.ase diff --git a/res/img/lamp_post_0.png b/res/img/lamp_post_0.png Binary files differnew file mode 100644 index 0000000..8b6a9ba --- /dev/null +++ b/res/img/lamp_post_0.png diff --git a/res/img/muntik.ase b/res/img/muntik.ase Binary files differnew file mode 100644 index 0000000..83ff0e7 --- /dev/null +++ b/res/img/muntik.ase diff --git a/res/img/pistol.png b/res/img/pistol.png Binary files differnew file mode 100644 index 0000000..5b3942e --- /dev/null +++ b/res/img/pistol.png diff --git a/res/img/player.ase b/res/img/player.ase Binary files differnew file mode 100644 index 0000000..72f999f --- /dev/null +++ b/res/img/player.ase diff --git a/res/img/small_lamp.png b/res/img/small_lamp.png Binary files differnew file mode 100644 index 0000000..120a22d --- /dev/null +++ b/res/img/small_lamp.png diff --git a/res/img/tilesets.png b/res/img/tilesets.png Binary files differnew file mode 100644 index 0000000..4a431fe --- /dev/null +++ b/res/img/tilesets.png diff --git a/res/img/windchimes_0.png b/res/img/windchimes_0.png Binary files differnew file mode 100644 index 0000000..9e1ba66 --- /dev/null +++ b/res/img/windchimes_0.png diff --git a/res/img/windchimes_1.png b/res/img/windchimes_1.png Binary files differnew file mode 100644 index 0000000..892a768 --- /dev/null +++ b/res/img/windchimes_1.png diff --git a/src/init.lua b/src/init.lua index c18f175..fd13bcb 100644 --- a/src/init.lua +++ b/src/init.lua @@ -35,7 +35,7 @@ end function main_init() lg.setDefaultFilter("nearest", "nearest") - Viewport = lg.newCanvas(SCR_WIDTH, SCR_HEIGHT) + viewport = lg.newCanvas(SCR_WIDTH, SCR_HEIGHT) load_textures_from() diff --git a/src/utils.lua b/src/utils.lua index c3e4bea..b2186cc 100644 --- a/src/utils.lua +++ b/src/utils.lua @@ -37,3 +37,58 @@ function dist(x1, y1, x2, y2) local dy = y1 - y2 return (dx*dx + dy*dy)^0.5 end + +mathx = {} + +mathx.tau = math.pi * 2 + +function mathx.sign(x) + if x == 0 then + return 0 + end + return x < 0 and -1 or 1 +end + +function round(x) + return math.floor(x + 0.5) +end + +function clamp(a, min, max) + return math.min(max, math.max(a, min)) +end + +function snap(x, step) + return math.floor(x / step) * step +end + +function frac(x) + return x - math.floor(x) +end + +local function angle_diff(a, b) + local diff = (b - a) % (math.pi * 2) + return (2 * diff) % (math.pi * 2) - diff +end + +function lerp_angle(a, b, t) + return a + angle_diff(a, b) * (1 - 0.5^t) +end + +function dot(x, y, xx, yy) + return x*xx + y*yy +end + +function vec_sqlen(x, y) + return x*x + y*y +end + +function vec_len(x, y) + return math.sqrt(x*x + y*y) +end + +function rotate_vec(x, y, r) + local angle = math.atan2(y, x) + r + local len = mathx.vec_len(x, y) + return math.cos(angle) * len, math.sin(angle) * len +end + |
