From a469153f3af2aff975b5761dc941adcbd2dae089 Mon Sep 17 00:00:00 2001 From: KikooDX Date: Fri, 21 Feb 2020 12:43:31 +0100 Subject: [PATCH] First commit --- .gitignore | 5 +++-- conf.lua | 15 +++++++++++++++ draw.lua | 7 +++++++ keyboard.lua | 46 ++++++++++++++++++++++++++++++++++++++++++++++ load.lua | 6 ++++++ main.lua | 8 ++++++++ mouse.lua | 31 +++++++++++++++++++++++++++++++ tiles.lua | 9 +++++++++ update.lua | 3 +++ update.sh | 4 ++++ 10 files changed, 132 insertions(+), 2 deletions(-) create mode 100644 conf.lua create mode 100644 draw.lua create mode 100644 keyboard.lua create mode 100644 load.lua create mode 100644 main.lua create mode 100644 mouse.lua create mode 100644 tiles.lua create mode 100644 update.lua create mode 100755 update.sh diff --git a/.gitignore b/.gitignore index 0667445..09ee1c5 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,9 @@ # Compiled Lua sources luac.out +img/* +img + # luarocks build files *.src.rock *.zip @@ -39,5 +42,3 @@ luac.out *.i*86 *.x86_64 *.hex - - diff --git a/conf.lua b/conf.lua new file mode 100644 index 0000000..a8060fe --- /dev/null +++ b/conf.lua @@ -0,0 +1,15 @@ +function love.conf(t) + package.path = package.path..";./?.lua" + GAME_WIDTH = 512 + GAME_HEIGHT = 288 + scale = 2 --scale multiplier + t.version = "11.3" + t.window.width = GAME_WIDTH * scale + t.window.height = GAME_HEIGHT * scale + t.modules.joystick = false + t.modules.physics = false + t.modules.touch = false + t.modules.accelerometerjoystick = false + t.identity = "up_editor" + t.window.title = "UP editor" +end diff --git a/draw.lua b/draw.lua new file mode 100644 index 0000000..88f46b3 --- /dev/null +++ b/draw.lua @@ -0,0 +1,7 @@ +function love.draw() + if tiles [selected_tile].texture then + love.graphics.draw(tiles[selected_tile].texture, 0, 0) + end + for i = 1, SCREEN_LEN, 1 do + end +end diff --git a/keyboard.lua b/keyboard.lua new file mode 100644 index 0000000..baf9f4c --- /dev/null +++ b/keyboard.lua @@ -0,0 +1,46 @@ +function update_keyboard() + --get keys inputs + --debug key + if love.keyboard.isDown("d") then debug.debug() end + --mute + local buffer = k_m + k_m = love.keyboard.isDown("m") + if k_m and not buffer then sfx = not sfx end + --swap selected object + local buffer = k_tab + k_tab = love.keyboard.isScancodeDown("tab") + if k_tab and not buffer then + if love.keyboard.isDown("lshift") then + selected_tile = selected_tile - 1 + if selected_tile == 0 then selected_tile = #tiles end + else selected_tile = selected_tile + 1 + if selected_tile > #tiles then selected_tile = 1 end + end + end + --exit + if love.keyboard.isScancodeDown("escape") then + love.event.quit() + end + --saving/export + local buffer = k_s + k_s = love.keyboard.isDown("s") + if k_s and not buffer then + end + local buffer = k_o + k_o = love.keyboard.isDown("o") + if k_o and not buffer then + end + --scaling + local buffer = k_k + k_k = love.keyboard.isDown("k") + if k_k and not buffer and scale > 1 then + scale = scale - 1 + love.window.setMode(GAME_WIDTH * scale, GAME_HEIGHT * scale, flags) + end + local buffer = k_l + k_l = love.keyboard.isDown("l") + if k_l and not buffer and scale < 8 then + scale = scale + 1 + love.window.setMode(GAME_WIDTH * scale, GAME_HEIGHT * scale, flags) + end +end diff --git a/load.lua b/load.lua new file mode 100644 index 0000000..7884f99 --- /dev/null +++ b/load.lua @@ -0,0 +1,6 @@ +--scaling settings +love.graphics.setDefaultFilter("nearest", "nearest") + +selected_screen = "000000000000000000000000000000000000000000000000000000......................0000......................0000......................0000......................0000......................0000......................0000......................0000......................0000......................0000......................0000......................000000000000000000000000000000000000000000000000000000" +SCREEN_LEN = 390 +path = "../platformer/" diff --git a/main.lua b/main.lua new file mode 100644 index 0000000..0816d18 --- /dev/null +++ b/main.lua @@ -0,0 +1,8 @@ +function love.load() + require("load") + require("update") + require("draw") + require("mouse") + require("keyboard") + require("tiles") +end diff --git a/mouse.lua b/mouse.lua new file mode 100644 index 0000000..f925867 --- /dev/null +++ b/mouse.lua @@ -0,0 +1,31 @@ +function update_mouse() + mouse_x, mouse_y = love.mouse.getX(), love.mouse.getY() --mouse position + mouse_x = math.floor(mouse_x / scale) + mouse_y = math.floor(mouse_y / scale) + clip_mouse_x = mouse_x - mouse_x % grid_spacing + clip_mouse_y = mouse_y - mouse_y % grid_spacing + --edition mode + mouse_mode = 0 + if (clip_mouse_x >= bounds.min_x) and (clip_mouse_x <= bounds.max_x) and + (clip_mouse_y >= bounds.min_y) and (clip_mouse_y <= bounds.max_y) then + if love.mouse.isDown(1) then + mouse_mode = 1 + elseif love.mouse.isDown(2) then + mouse_mode = -1 + end + end + if mouse_mode == 0 then buffer_x, buffer_y = 0, 0 end + --add to layer if + if mouse_mode == 1 and (clip_mouse_x ~= buffer_x or clip_mouse_y ~= buffer_y) then + add_to_layer(layer_selected) + if sfx then s_place:stop() s_place:play() end + buffer_x = clip_mouse_x + buffer_y = clip_mouse_y + end + --delete of layer if + if mouse_mode == -1 and (clip_mouse_x ~= buffer_x or clip_mouse_y ~= buffer_y) then + rem_of_layer(layer_selected) + buffer_x = clip_mouse_x + buffer_y = clip_mouse_y + end +end diff --git a/tiles.lua b/tiles.lua new file mode 100644 index 0000000..a690e17 --- /dev/null +++ b/tiles.lua @@ -0,0 +1,9 @@ +local img_path = "img/" + +tiles = { + {id = '0', texture = love.graphics.newImage(img_path.."ground.png")}, + {id = '^', texture = love.graphics.newImage(img_path.."elevator1.png")}, + {id = '.', texture = nil}, +} + +selected_tile = 1 diff --git a/update.lua b/update.lua new file mode 100644 index 0000000..ae4bead --- /dev/null +++ b/update.lua @@ -0,0 +1,3 @@ +function love.update(dt) + update_keyboard() +end diff --git a/update.sh b/update.sh new file mode 100755 index 0000000..c377cff --- /dev/null +++ b/update.sh @@ -0,0 +1,4 @@ +rm -dr img +echo "Repertory 'img' deleted" +cp -r ../platformer/assets-cg/img/ img/ -v +echo "Done"