-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmain.lua
More file actions
137 lines (109 loc) · 2.39 KB
/
main.lua
File metadata and controls
137 lines (109 loc) · 2.39 KB
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
--import 'lieb/betamax'
import 'CoreLibs/graphics'
import 'CoreLibs/sprites'
import 'CoreLibs/object'
import 'CoreLibs/nineslice'
import 'CoreLibs/ui'
import 'CoreLibs/utilities/where'
import 'CoreLibs/crank'
import 'lieb/all'
import 'code/anim_loop'
-- game code
import 'code/game_assets'
import 'code/game_objects'
import 'code/sfx'
import 'code/font'
import 'code/mode'
import "code/menu"
import "code/game"
import "code/tile"
import "code/box"
import "code/bag"
import 'code/matching'
import "code/score"
import 'code/gameover'
import 'code/promotion'
import 'code/point_notification'
import 'code/memo'
import 'code/pause'
import "code/story"
import 'code/story_level_intro'
import 'code/story_fail'
import "code/story_levels"
import 'code/character'
import 'code/clock'
import 'code/game_ui'
import 'code/tutorial'
import 'code/highscore'
import 'code/first_launch'
import 'code/custom_tileset'
import 'code/background'
import 'code/cursor'
import 'code/screenshake'
import 'code/rubbles'
import 'code/trashing_anim'
import 'code/menulist'
import 'code/comic_menu'
import 'code/comic_reader'
import 'code/music'
import 'code/save'
import 'code/settings'
import 'code/reset_progress'
import 'code/menu_debug'
import 'lieb/deltaTime'
playdate.display.setRefreshRate(30)
function is_debug_version()
return string.find(playdate.metadata.version,"d")~=nil
end
if is_debug_version() then
menu.enable_debug_menu()
end
local frame_count = 0
function even_frame()
return (frame_count%2)==0
end
function frame_id()
return frame_count
end
function bool_cycle(frame_duration)
return (math.floor(frame_count/frame_duration)%2)==0
end
function blink(frame_on, frame_off)
return frame_count%(frame_on+frame_off)<frame_on
end
-- load the latest save
save_game.load()
-- launch the game
if first_launch.passed then
mode.set( menu )
else
mode.set( first_launch )
end
function playdate.update()
dt = getDeltaTime_Legacy()
frame_count = frame_count + 1
input.update(dt)
sequence.update()
-- main update and draw
mode.update( dt )
if game.show_fps then
playdate.drawFPS(0,0)
-- print(mode.get_metrics())
end
end
function playdate.gameWillTerminate()
save_game.save()
end
function playdate.deviceWillSleep()
save_game.save()
end
function playdate.showGameOptions()
mode.push( settings )
end
-- only on the simulator
function playdate.keyPressed(key)
if key=="o" then
mode.back()
end
end
--betamax_eof(-300)