Compare commits

..

12 Commits

Author SHA1 Message Date
Lusty Lion of the Land of the Crimson Fawn 7e86da7806 Merge pull request 'I dont fucking know how to solve this shit i hate git' (#3) from bizcochito/Mothback:master into master
Reviewed-on: https://git.fai.su/lustlion/Mothback/pulls/3
2022-01-18 20:20:34 +00:00
bizcochito a183dac913 merge 2022-01-18 21:12:13 +01:00
bizcochito 69ceec024b Merge branch 'master' of https://git.fai.su/bizcochito/Mothback 2022-01-18 21:11:13 +01:00
bizcochito 2b48358ce7 merge 2022-01-18 21:11:11 +01:00
bizcochito ecebca515c merge 2022-01-18 21:09:33 +01:00
bizcochito 9995123c81 Merge branch 'master' of https://git.fai.su/bizcochito/Mothback 2022-01-18 21:09:06 +01:00
bizcochito 33ade34886 Merge https://git.fai.su/lustlion/Mothback 2022-01-18 21:08:58 +01:00
bizcochito 0fa50c3324 Merge https://git.fai.su/lustlion/Mothback 2022-01-18 21:06:21 +01:00
bizcochito a42cf7953f Merge branch 'master' of https://git.fai.su/bizcochito/Mothback 2022-01-18 20:47:57 +01:00
bizcochito da8b9004b4 Made keybind editing "backend" 2022-01-18 20:47:55 +01:00
bizcochito e8477e8750 Update 'main.lua' 2022-01-18 19:45:57 +00:00
bizcochito f021446439 Made keybind editing "backend" 2022-01-18 18:46:41 +01:00
3 changed files with 189 additions and 162 deletions

View File

@ -73,16 +73,16 @@ function Player:Smart()
if math.abs(self.vel.x) < self.zeroSpeed then self.vel.x = 0 end
if keybind:Check(keybind.moveLeft) then
if Keybind:Check(Keybind.move.left) then
self.move_x = -self.moveSpeed
elseif keybind:Check(keybind.moveRight) then
elseif Keybind:Check(Keybind.move.right) then
self.move_x = self.moveSpeed
else
self.move_x = 0
end
self.vel.x = self.vel.x
if keybind:Check(keybind.moveJump) then
if Keybind:Check(Keybind.move.jump) then
if self.isOnGround then
self.vel.y = -self.jumpImpulse
end
@ -90,18 +90,18 @@ function Player:Smart()
end
self.dashCooldownTimer = math.max(0,self.dashCooldownTimer - current_dt)
if keybind:Check(keybind.moveDash) then
if Keybind:Check(Keybind.move.dash) then
if self.dashCooldownTimer == 0
and not self.isDashing
and self.dashCount > 0 then
self.dashCount = self.dashCount - 1
self.isDashing = true
local vertical = 0
if keybind:Check(keybind.moveDown) then vertical = vertical + 1 end
if keybind:Check(keybind.moveUp) then vertical = vertical - 1 end
if Keybind:Check(Keybind.move.down) then vertical = vertical + 1 end
if Keybind:Check(Keybind.move.up) then vertical = vertical - 1 end
local horizontal = 0
if keybind:Check(keybind.moveRight) then horizontal = horizontal + 1 end
if keybind:Check(keybind.moveLeft) then horizontal = horizontal - 1 end
if Keybind:Check(Keybind.move.right) then horizontal = horizontal + 1 end
if Keybind:Check(Keybind.move.left) then horizontal = horizontal - 1 end
if horizontal == 0 and vertical == 0 then
horizontal = self.sprite_flip.x

View File

@ -1,7 +1,9 @@
keybind = {}
Keybind = {}
Keybind.move = {}
Keybind.menu = {}
function keybind:Check(key)
for _, keyname in pairs(key) do
function Keybind:Check(action)
for _, keyname in pairs(action) do
if type(keyname) == "string" then
if love.keyboard.isDown(keyname) then return true end
else
@ -11,11 +13,36 @@ function keybind:Check(key)
return false
end
function Keybind:Colision(cat, key)
for _, action in pairs(cat) do
for _, keyname in pairs(action) do
if key == keyname then return true end
end
end
return false
end
keybind.moveLeft = {"left", "a"}
keybind.moveRight = {"right", "d"}
keybind.moveUp = {"up", "w"}
keybind.moveDown = {"down", "s"}
keybind.moveJump = {"z", "space"}
keybind.moveAttack = {"x", 1}
keybind.moveDash = {"c", 2}
function Keybind:Add(action, key)
table.insert(action, key)
end
function Keybind:Change(action, position, key)
action[position] = key
end
function Keybind:Remove(action)
action = {}
end
function Keybind:Default()
Keybind.move.left = {"left", "a"}
Keybind.move.right = {"right", "d"}
Keybind.move.up = {"up", "w"}
Keybind.move.down = {"down", "s"}
Keybind.move.jump = {"z", "space"}
Keybind.move.attack = {"x", 1}
Keybind.move.dash = {"c", 2}
end
-- Set default values at start
Keybind:Default()

288
main.lua
View File

@ -1,144 +1,144 @@
function love.load()
arrow = 0
do_pause = false
debug = false
debug_collision = false
editor_mode = false
textScale = 1
fps_count = 0
fps_second = 0
fps_draw = 0
fps_total = 0
love.graphics.setColor(1,1,1)
love.keyboard.setKeyRepeat(true)
love.graphics.setDefaultFilter("nearest") -- good pixel
game = {
scale = 2,
width = love.graphics.getWidth(),
height = love.graphics.getHeight(),
paused = false
}
require "data/scripts"
Canvas = {
Darkness = CreateDarkness()
}
love.graphics.setCanvas(Canvas.Darkness)
SetDarkness()
love.graphics.setCanvas()
Camera.width = game.width
Camera.height = game.height
levelList = {"level1","2","3","ewae","tileset"}
levelNum = 1
currLevel = levelList[levelNum]
LoadedEntities = {}
LevelLoadTiles()
main_Player = Player:New(75,50)
table.insert(LoadedEntities,main_Player)
table.insert(LoadedEntities,Kupo:New(100,150))
table.insert(LoadedEntities,Kupo:New(300,150))
table.insert(LoadedEntities,Decoration:New(200,89,animation.decoration.candelabra,80))
table.insert(LoadedEntities,Fairy:New(200,88))
gravity = 0.2
end
function love.update(dt)
-- fps counter
if fps_second >= 1 then
fps_second = fps_second - 1
fps_draw = fps_count
fps_count = 0
fps_total = fps_total + 1
end
fps_second = fps_second + dt
fps_count = fps_count + 1
current_dt = dt
if editor_mode then
stepEditor()
else
stepGame()
end
end
function love.wheelmoved(_, y)
if editor_mode then
if palette then
p_scroll = p_scroll + y or 0
else
local oscale = game.scale
game.scale = math.max(0.1,game.scale + y/16)
end
end
end
function love.keypressed(key)
if key == "escape" then
if do_pause then
do_pause = false
else
pausepage = 1
do_pause = true
end
end
if key == "f1" then
if debug then
debug = false
debug_collision = true
elseif debug_collision then
debug_collision = false
else
debug = true
end
end
if key == "f2" then
if editor_mode then
else
main_Player.pos.x, main_Player.pos.y = 16,-10
end
end
if key == "f3" then
LoadLevel()
end
if key == "f4" then
if editor_mode then
editor_mode = false
else
editor_mode = true
end
end
end
function love.draw()
if game.width ~= love.graphics.getWidth() or game.height ~= love.graphics.getHeight() then
game.width = love.graphics.getWidth()
game.height = love.graphics.getHeight()
game_resize = true
else
game_resize = false
end
if editor_mode then
drawEditor()
else
drawGame()
end
love.graphics.print(arrow,10,40)
end
function love.load()
arrow = 0
do_pause = false
debug = false
debug_collision = false
editor_mode = false
textScale = 1
fps_count = 0
fps_second = 0
fps_draw = 0
fps_total = 0
love.graphics.setColor(1,1,1)
love.keyboard.setKeyRepeat(true)
love.graphics.setDefaultFilter("nearest") -- good pixel
game = {
scale = 2,
width = love.graphics.getWidth(),
height = love.graphics.getHeight(),
paused = false
}
require "data/scripts"
Canvas = {
Darkness = CreateDarkness()
}
love.graphics.setCanvas(Canvas.Darkness)
SetDarkness()
love.graphics.setCanvas()
Camera.width = game.width
Camera.height = game.height
levelList = {"level1","2","3","ewae","tileset"}
levelNum = 1
currLevel = levelList[levelNum]
LoadedEntities = {}
LevelLoadTiles()
main_Player = Player:New(75,50)
table.insert(LoadedEntities,main_Player)
table.insert(LoadedEntities,Kupo:New(100,150))
table.insert(LoadedEntities,Kupo:New(300,150))
table.insert(LoadedEntities,Decoration:New(200,89,animation.decoration.candelabra,80))
table.insert(LoadedEntities,Fairy:New(200,88))
gravity = 0.2
end
function love.update(dt)
-- fps counter
if fps_second >= 1 then
fps_second = fps_second - 1
fps_draw = fps_count
fps_count = 0
fps_total = fps_total + 1
end
fps_second = fps_second + dt
fps_count = fps_count + 1
current_dt = dt
if editor_mode then
stepEditor()
else
stepGame()
end
end
function love.wheelmoved(_, y)
if editor_mode then
if palette then
p_scroll = p_scroll + y or 0
else
local oscale = game.scale
game.scale = math.max(0.1,game.scale + y/16)
end
end
end
function love.keypressed(key)
if key == "escape" then
if do_pause then
do_pause = false
else
pausepage = 1
do_pause = true
end
end
if key == "f1" then
if debug then
debug = false
debug_collision = true
elseif debug_collision then
debug_collision = false
else
debug = true
end
end
if key == "f2" then
if editor_mode then
else
main_Player.pos.x, main_Player.pos.y = 16,-10
end
end
if key == "f3" then
LoadLevel()
end
if key == "f4" then
if editor_mode then
editor_mode = false
else
editor_mode = true
end
end
end
function love.draw()
if game.width ~= love.graphics.getWidth() or game.height ~= love.graphics.getHeight() then
game.width = love.graphics.getWidth()
game.height = love.graphics.getHeight()
game_resize = true
else
game_resize = false
end
if editor_mode then
drawEditor()
else
drawGame()
end
love.graphics.print(arrow,10,40)
end