-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathmain.lua
115 lines (93 loc) · 3.14 KB
/
main.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
vector = require "libs/hump/vector"
assets = require("libs/cargo/cargo").init("assets")
sodapop = require "libs/sodapop/sodapop"
CONF_SCREEN_WIDTH = 1920
CONF_SCREEN_HEIGHT = 1080
Object = require "libs/classic/classic"
Scene = require "scene"
Quad = require "quad"
require "steer"
require "utils"
-- require "entitymanager"
require "scenemanager"
require "settings"
require "soundmanager"
local MenuScene = require "menuscene"
local IntroScene = require "introscene"
-- local Map = require "libs/Simple-Tiled-Implementation/sti"
-- local Camera = require "camera"
local GameScene = require "gamescene"
local EndScene = require "endscene"
-- local DialogScene = require "dialogscene"
local PrologueScene = require "prologuescene"
local SettingsScene = require "settingsscene"
local CreditsScene = require "creditsscene"
local debugMode = false
function love.load()
math.randomseed(os.time())
soundManager:add("battle", "assets/sounds/battle.ogg", false)
soundManager:add("menu", "assets/sounds/menu.ogg", false)
soundManager:add("melee", "assets/sounds/melee.mp3")
soundManager:add("laser", "assets/sounds/laser.wav")
soundManager:add("tanklaser", "assets/sounds/tanklaser.wav")
soundManager:add("rain", "assets/sounds/rain.ogg")
soundManager:add("menuselect", "assets/sounds/menuselect.wav", true)
soundManager:add("accept", "assets/sounds/accept.mp3", true)
soundManager:add("thunder", "assets/sounds/thunder.wav", true)
soundManager:playLoop("menu")
sceneManager:add("menu", MenuScene())
sceneManager:add("intro", IntroScene())
sceneManager:add("prologue", PrologueScene())
sceneManager:add("game", GameScene())
sceneManager:add("end", EndScene())
sceneManager:add("settings", SettingsScene())
sceneManager:add("credits", CreditsScene())
sceneManager:setCurrent("menu")
end
function love.update(dt)
if dt < 1/30 then
love.timer.sleep(1/30 - dt)
end
sceneManager:update(dt)
end
function love.draw()
love.graphics.scale(settings:screenScaleFactor())
sceneManager:draw()
if debugMode then
drawDebugInfo()
end
end
-- keyboard
function love.keypressed(key, scancode, isRepeat)
sceneManager:keyPressed(key, scancode, isRepeat)
end
function love.keyreleased(key, scancode, isRepeat)
sceneManager:keyReleased(key, scancode, isRepeat)
end
-- mouse
function love.mousepressed(x, y, button, istouch, presses)
sceneManager:mousepressed(x, y, button, istouch, presses)
end
function love.mousereleased(x, y, button, istouch, presses)
sceneManager:mousereleased(x, y, button, istouch, presses)
end
function love.mousemoved(x, y, dx, dy, istouch)
sceneManager:mousemoved(x, y, dx, dy, istouch)
end
function love.wheelmoved(dx, dy)
sceneManager:wheelmoved(dx, dy)
end
-- gamepad
function love.gamepadpressed(joystick, button)
sceneManager:gamepadpressed(joystick, button)
end
function love.gamepadreleased(joystick, button)
sceneManager:gamepadreleased(joystick, button)
end
function love.gamepadaxis(joystick, axis, value)
sceneManager:gamepadaxis(joystick, axis, value)
end
--
function drawDebugInfo()
love.graphics.print("FPS: "..tostring(love.timer.getFPS( )), 10, 10)
end