local player_module = require('player')
local assets = require('assets')
+local render = require('render')
local control = {}
end,
}
+control.keymap['z'] = {
+ control = control.ControlType.System,
+ system_action = function(key)
+ if render.map.scale < 8.0 then
+ render.map.scale = render.map.scale + 0.2
+ print('Scaled out to '..render.map.scale)
+ end
+ end,
+}
+
+control.keymap['x'] = {
+ control = control.ControlType.System,
+ system_action = function(key)
+ if render.map.scale > 0.4 then
+ render.map.scale = render.map.scale - 0.2
+ print('Scaled in to '..render.map.scale)
+ end
+ end,
+}
+
-- Anything interested in a movement control should register its own handler here.
function love.handlers.movement_control(key, value)
player:movement_control(key, value)
local assets = require('assets')
local player_module = require('player')
local control = require('control')
-
-local active_map = nil
-local tx, ty
+local render = require('render')
player = player_module.player
love.graphics.setFont(assets.get_font('Cuneiform36'))
love.audio.play(assets.get_source('intro'))
- active_map = assets.get_map('test_map_1')
+ render.map.active_map = assets.get_map('test_map_1')
player = assets.get_object('Player')
- player_module.init_controls(player, active_map)
-
- tx = 0
- ty = 0
+ player_module.init_controls(player, render.map.active_map)
end
function love.update(dt)
lovebird.update()
- active_map:update(dt)
+ render.map.active_map:update(dt)
player:update(dt)
end
end
function love.draw()
- active_map:draw(tx, ty, 2.0)
+ render.map.active_map:draw(render.map.topleft.x, render.map.topleft.y, render.map.scale)
- local r,g,b,a = love.graphics.getColor()
- love.graphics.setColor(love.math.colorFromBytes(54, 54, 54))
+ last_color = { love.graphics.getColor() }
+ love.graphics.setColor(render.color.dark)
love.graphics.print(IntroMessage, math.floor((conf.window.width/16) * 1), math.floor((conf.window.height/16) * 1))
- love.graphics.setColor(r,g,b,a)
+ love.graphics.setColor(last_color)
end
local conf = require('conf')
local vector = require('vector')
local collision = require('collision')
+local render = require('render')
local player_module = {
player = nil
--- /dev/null
+-- render.lua --
+local render = {}
+
+-- Define a palette
+render.color = {}
+-- wrapping a function that returns multiple values in {} packs
+-- them into a single struct
+render.color.dark = { love.math.colorFromBytes(54, 54, 54) }
+render.color.light = { love.math.colorFromBytes(229, 229, 229) }
+print(render.color.dark)
+
+-- Map rendering info
+render.map = {}
+render.map.topleft = { x = 0, y = 0 }
+render.map.scale = 2.0
+render.map.active_map = nil
+
+return render