Last active
August 21, 2020 09:29
-
-
Save AlecTroemel/964b14097e711dcea49d123a94eaa71b to your computer and use it in GitHub Desktop.
GMTK Jam 2020 game. collect cherries while hanging on to your dogs leash!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pico-8 cartridge // http://www.pico-8.com | |
version 29 | |
__lua__ | |
-- pico lib | |
------------------------------- | |
-------- id counter ----------- | |
------------------------------- | |
id_counter=0 | |
function get_id() | |
local temp=id_counter | |
id_counter+=1 | |
return temp | |
end | |
------------------------------- | |
------------- actor ----------- | |
------------------------------- | |
-- an object with a unique id | |
-- in the actors list and with | |
-- update and draw functions | |
------------------------------- | |
actors={} | |
actor={} | |
function actor:new(apply) | |
na={ | |
id=get_id(), | |
update=function() end, | |
draw=function() end | |
} | |
self.__index=self | |
na = setmetatable(na, self) | |
if apply then | |
actors[na.id]=na | |
--add(actors, na) | |
end | |
return na | |
end | |
function actor:destroy() | |
actors[self.id]=nil | |
end | |
------------------------------- | |
--------- animation ----------- | |
------------------------------- | |
function animate(obj) | |
anim={ | |
states={}, | |
state="", -- current state | |
tick=0, -- current tick | |
frame=0, -- current frame | |
flip=false, | |
} | |
function anim:add(name,sp,speed) | |
self.states[name]={ | |
sprites=sp, | |
speed=speed | |
} | |
end | |
function anim:set(name) | |
if self.state!=name then | |
self.state=name | |
self.tick=0 | |
self.frame=0 | |
end | |
end | |
function anim:update() | |
local anim=self | |
.states[self.state] | |
self.tick= | |
(self.tick+1) % | |
(anim.speed) | |
if (self.tick==0) then | |
self.frame= | |
(self.frame+1) % | |
(#anim.sprites) | |
end | |
end | |
function anim:draw(x,y) | |
local frame=self | |
.states[self.state] | |
.sprites[self.frame+1] | |
spr( | |
frame[1], | |
x+frame[2], | |
y+frame[3], | |
1,1, | |
self.flip | |
) | |
end | |
obj.anim=anim | |
end | |
------------------------------- | |
-- physical body & collision -- | |
------------------------------- | |
-- works by check whether the | |
-- distance between the | |
-- midpoints of the two boxes | |
-- is greater than the sum of | |
-- the half box widths. | |
function box_hit(x1,y1,w1,h1, | |
x2,y2,w2,h2) | |
-- dist between x midpoints | |
local xd = abs( | |
(x1+(w1/2)) - | |
(x2+(w2/2)) | |
) | |
-- sum of half boxes x width | |
local xs=w1*0.5+w2*0.5 | |
if (xd>xs) return false | |
-- same thing in y direction | |
local yd = abs( | |
(y1+(h1/2)) - | |
(y2+(h2/2)) | |
) | |
local ys=h1*0.5+h2*0.5 | |
return yd<ys | |
end | |
function body_hit(body1,body2) | |
local x_hit=box_hit( | |
body1.x+body1.dx,body1.y, | |
body1.w,body1.h, | |
body2.x,body2.y, | |
body2.w,body2.h) | |
local y_hit=box_hit( | |
body1.x,body1.y+body1.dy, | |
body1.w,body1.h, | |
body2.x,body2.y, | |
body2.w,body2.h) | |
return x_hit,y_hit | |
end | |
-- body needs: | |
-- x, y | |
-- max_dx, max_dy | |
-- acc, dcc | |
-- w, h | |
function materialize(obj, body) | |
obj.collideable=false | |
body.dx=0 | |
body.dy=0 | |
function body:push(dx,dy) | |
self.dx=mid(-self.max_dx, | |
self.dx+(dx*self.acc), | |
self.max_dx) | |
self.dy=mid(-self.max_dy, | |
self.dy+(dy*self.acc), | |
self.max_dy) | |
end | |
function body:update() | |
local dirx=self.dx>0 and 1 or -1 | |
local diry=self.dy>0 and 1 or -1 | |
local finaldx=self.dx | |
local finaldy=self.dy | |
for i=0,self.dx,dirx do | |
-- be sure to look at the right edge | |
local x = self.x+i | |
if dirx>0 then | |
x=self.x+i+self.w-1 | |
end | |
-- check top,middle,and bottom | |
local hit=false | |
for y=self.y,self.y+self.h,self.h/3 do | |
if fget(mget(x/8, y/8))==1 then | |
hit=true | |
end | |
end | |
if hit==true then | |
if i==0 then | |
finaldx=-self.dx | |
end | |
finaldx=i | |
break | |
end | |
end | |
local newx=self.x+finaldx | |
for i=0,self.dy,diry do | |
-- be sure to look at the right edge | |
local y = self.y+i | |
if diry>0 then | |
y=self.y+i+self.h-1 | |
end | |
-- check left,middle,and right | |
local hit=false | |
for x=self.x,self.x+self.w,self.w/3 do | |
if fget(mget(x/8, y/8))==1 then | |
hit=true | |
end | |
end | |
if hit==true then | |
if i==0 then | |
finaldy=-self.dy | |
end | |
finaldy=i | |
break | |
end | |
end | |
local newy=self.y+finaldy | |
self.x=newx | |
self.y=newy | |
self.dx=self.dx*self.dcc | |
self.dy=self.dy*self.dcc | |
end | |
obj.body=body | |
end | |
------------------------------- | |
--------- game state ---------- | |
------------------------------- | |
-- each state has init, | |
-- update, draw funcs | |
------------------------------- | |
gstate={ current="" } | |
function gstate:add(name, s) | |
self[name]=s | |
end | |
function gstate:switch(n) | |
self.current=n | |
self[n]:init() | |
end | |
function gstate:update() | |
self[self.current]:update() | |
end | |
function gstate:draw() | |
self[self.current]:draw() | |
end | |
-------------------------------- | |
-------- screen shake ---------- | |
-------------------------------- | |
screenshake={ | |
duration=0, | |
intensity=2 | |
} | |
function screenshake:start(d,i) | |
self.duration=d | |
if i!=nil then | |
self.intensity=i | |
end | |
end | |
function screenshake:update() | |
if self.duration>0 then | |
camera( | |
flr(rnd(self.intensity)), | |
flr(rnd(self.intensity)) | |
) | |
self.duration-=1 | |
end | |
if self.duration==0 then | |
camera(0,0) | |
end | |
end | |
------------------------------- | |
-------- 2d vector ----------- | |
------------------------------- | |
vec2d = {} | |
function vec2d:new(x,y) | |
o={x=x,y=y} | |
self.__index=self | |
return setmetatable(o, self) | |
end | |
function vec2d:len() | |
return sqrt(self.x^2+self.y^2) | |
end | |
function vec2d:norm() | |
local l = self:len() | |
return vec2d:new( | |
self.x/l, | |
self.y/l) | |
end | |
function vec2d:minus(vec) | |
return vec2d:new( | |
self.x-vec.x, | |
self.y-vec.y | |
) | |
end | |
function sqr(a) | |
return a*a | |
end | |
function round(a) | |
return flr(a+0.5) | |
end | |
function dist(x1,y1,x2,y2) | |
local dx=x1-x2 | |
local dy=y1-y2 | |
return dx*dx + dy*dy | |
end | |
-->8 | |
-- main functions | |
function _init() | |
gstate:add("menu",gs_menu) | |
gstate:add("game",gs_main) | |
gstate:add("over",gs_over) | |
gstate:add("inst",gs_instruct) | |
gstate:switch("menu") | |
end | |
function _update() | |
gstate:update() | |
screenshake:update() | |
end | |
function _draw() | |
gstate:draw() | |
end | |
-->8 | |
-- game | |
gs_main={} | |
function gs_main:init() | |
music(-1) | |
tick=0 | |
ready_t=30 | |
go_t=12 | |
gameover_t=60 | |
actors={} | |
balls={} | |
cur_ball=1 | |
stam=100 | |
gameover=false | |
init_guy() | |
init_dog() | |
add(balls,init_ball(5)) | |
add(balls,init_ball(6)) | |
add(balls,init_ball(7)) | |
countdown=10 | |
drop_cherry() | |
end | |
function gs_main:update() | |
tick+=1 | |
if ready_t>0 then | |
ready_t-=1 | |
return | |
elseif ready_t==0 then | |
music(8) | |
ready_t=-1 | |
end | |
if go_t>0 then | |
go_t-=1 | |
end | |
if gameover==true then | |
music(-1) | |
if gameover_t>0 then | |
gameover_t-=1 | |
end | |
if gameover_t==0 then | |
gstate:switch("over") | |
end | |
end | |
for k,v in pairs(actors) do | |
v:update() | |
end | |
if stam>0 then | |
local cherry_wait=90 | |
stam-=0.15 | |
for i=1,tick,300 do | |
stam-=0.05 | |
cherry_wait=max(30, | |
cherry_wait-5) | |
end | |
if tick%cherry_wait==0 then | |
drop_cherry() | |
end | |
else | |
if gameover==false then | |
sfx(35) | |
gameover=true | |
end | |
end | |
-- swap the current ball | |
if btnp(🅾️) then | |
cur_ball=cur_ball-1 | |
if cur_ball<1 then | |
cur_ball=3 | |
end | |
add_exclamation() | |
elseif btnp(❎) then | |
cur_ball=cur_ball+1 | |
if cur_ball>3 then | |
cur_ball=1 | |
end | |
add_exclamation() | |
end | |
end | |
function draw_ball_ui() | |
---- yellow | |
spr(42,4,111) spr(43,12,111) | |
spr(58,4,119) spr(59,12,119) | |
---- blue | |
spr(44,24,111) spr(45,32,111) | |
spr(60,24,119) spr(61,32,119) | |
---- red | |
spr(46,44,111) spr(47,52,111) | |
spr(62,44,119) spr(63,52,119) | |
--- selected ball | |
local x=(cur_ball-1)*20 | |
rect(3+x,110,20+x,127,7) | |
end | |
function gs_main:draw() | |
-- map and actors | |
cls(0) | |
map(0,0,0,0,17,19) | |
for k,v in pairs(actors) do | |
v:draw() | |
end | |
-- print the bottom fence for | |
-- some easy depth! | |
map(21,0,4,100,18,1) | |
draw_ball_ui() | |
--- stamina | |
local sc=8 | |
if (stam>20) sc=9 | |
if (stam>40) sc=10 | |
if (stam>60) sc=11 | |
circfill(116,116,stam/7,sc) | |
circ(116,116,stam/7,7) | |
-- ready and go messages | |
if ready_t>0 then | |
rectfill(52,62,80,70,1) | |
print("ready?",55,64,7) | |
elseif go_t>0 then | |
rectfill(58,62,73,70,1) | |
print("go!",61,64,7) | |
end | |
end | |
-->8 | |
-- guy | |
function init_guy() | |
guy=actor:new(true) | |
animate(guy) | |
guy.anim:add("skid_down", | |
{{1,0,-4}}, | |
100) | |
guy.anim:add("skid_up", | |
{{3,0,-4}}, | |
100) | |
guy.anim:add("fly_down", | |
{{2,0,-4}}, | |
100) | |
guy.anim:add("fly_up", | |
{{4,0,-4}}, | |
100) | |
guy.anim:set("skid_down") | |
materialize(guy,{ | |
x=64,y=64, | |
max_dx=100,max_dy=100, | |
acc=0, dcc=1, | |
w=6,h=4}) | |
guy.springs={} | |
function guy:update() | |
local influence=0.1 | |
-- update spring physics | |
--- x | |
if gameover then | |
self.body.dx/=1.1 | |
self.body.dy/=1.1 | |
else | |
local ex=0 | |
if btn(➡️) then | |
ex=influence | |
elseif btn(⬅️) then | |
ex-=influence | |
end | |
self.springs.x.c=self.body.x | |
self.springs.x.t=dog.body.x | |
self.body.dx= | |
self.springs.x:update(ex) | |
--- y | |
local ey=0 | |
if btn(⬆️) then | |
ey-=influence | |
elseif btn(⬇️) then | |
ey+=influence | |
end | |
self.springs.y.c=self.body.y | |
self.springs.y.t=dog.body.y | |
self.body.dy= | |
self.springs.y:update(ey) | |
end | |
self.body:update() | |
-- animations | |
self.anim.flip=self.body.dx<0 | |
local absdx=abs(self.body.dx) | |
local absdy=abs(self.body.dy) | |
local thresh=1.4 | |
if gameover then | |
self.anim:set("fly_down") | |
else | |
if self.body.dy<0 then | |
if absdx>thresh or absdy>thresh then | |
self.anim:set("fly_up") | |
else | |
self.anim:set("skid_up") | |
end | |
else | |
if absdx>thresh or absdy>thresh then | |
self.anim:set("fly_down") | |
else | |
self.anim:set("skid_down") | |
end | |
end | |
if absdx>(thresh*1.7) or | |
absdy>(thresh*1.7) then | |
screenshake:start(10,2) | |
end | |
end | |
self.anim:update() | |
-- dust cloud particles | |
if absdx>1 or absdy>1 then | |
local x=self.body.x+4 | |
local y=self.body.y+4 | |
local state=self.anim.state | |
if state=="fly_down" or | |
state=="fly_up" then | |
if self.body.dx>0 then | |
x-=3 | |
else | |
x+=3 | |
end | |
y-=2 | |
end | |
add_cloud(x,y,1,7) | |
end | |
for k,c in pairs(clouds) do | |
c:update() | |
end | |
end | |
function guy:draw() | |
for k,c in pairs(clouds) do | |
c:draw() | |
end | |
self.anim:draw( | |
self.body.x, | |
self.body.y) | |
-- leash | |
if not gameover then | |
line( | |
self.body.x+4, self.body.y, | |
dog.body.x+4, dog.body.y+4, | |
0) | |
end | |
end | |
end | |
-->8 | |
-- dog | |
function init_dog() | |
dog=actor:new(true) | |
-- animations | |
animate(dog) | |
dog.anim:add("idle", | |
{{8,0,0}}, | |
100) | |
dog.anim:add("run_yellow", | |
{{8,0,0}, | |
{9,0,-1}}, | |
4) | |
dog.anim:add("run_blue", | |
{{10,0,0}, | |
{11,0,-1}}, | |
4) | |
dog.anim:add("run_red", | |
{{12,0,0}, | |
{13,0,-1}}, | |
4) | |
dog.anim:set("idle") | |
-- physics | |
materialize(dog,{ | |
x=64,y=64, | |
max_dx=7,max_dy=7, | |
acc=0.5, dcc=0.7, | |
w=8,h=8}) | |
--- give random position | |
dog.body.x=guy.body.x-10 | |
dog.body.y=guy.body.y-10 | |
--- set springs guy->dog | |
guy.springs={ | |
x=create_spring( | |
guy.body.sx, | |
dog.body.x,1), | |
y=create_spring( | |
guy.body.sy, | |
dog.body.y,1)} | |
function dog:update() | |
-- animations | |
if abs(self.body.dx)==0 and | |
abs(self.body.dy)==0 then | |
self.anim:set("idle") | |
elseif cur_ball==1 then | |
self.anim:set("run_yellow") | |
elseif cur_ball==2 then | |
self.anim:set("run_blue") | |
elseif cur_ball==3 then | |
self.anim:set("run_red") | |
end | |
self.anim.flip=self.body.dx<0 | |
-- physics | |
self.anim:update() | |
ball=balls[cur_ball] | |
local d=vec2d:new( | |
ball.body.x-self.body.x, | |
ball.body.y-self.body.y | |
):norm() | |
self.body:push( | |
d.x, | |
d.y) | |
self.body:update() | |
d=dist( | |
self.body.x,self.body.y, | |
ball.body.x,ball.body.y) | |
if d<5 then | |
-- kick the ball towards the | |
-- center, with some random | |
rnd_x=32+rnd(64) | |
rnd_y=32+rnd(64) | |
local bd=vec2d:new( | |
rnd_x-ball.body.x, | |
rnd_y-ball.body.y | |
):norm() | |
ball.body:push( | |
bd.x*(rnd(5)+5), | |
bd.y*(rnd(5)+5) | |
) | |
end | |
end | |
function dog:draw() | |
self.anim:draw( | |
self.body.x, | |
self.body.y) | |
end | |
return dog | |
end | |
-->8 | |
-- springs | |
-- create a spring solver which | |
-- tweens numbers | |
function create_spring(start,target,mult,speed,k,d) | |
local spring = {} | |
--set variables for spring | |
spring.c=start | |
spring.s=speed or 0 | |
spring.t=target | |
spring.k=k or 0.006 | |
spring.d=d or 0.07 | |
-- update spring current value | |
function spring:update(extra_f) | |
-- work out distance between | |
-- numbers | |
local x=spring.t-spring.c | |
-- use hookes law to find the | |
-- force the spring exerts | |
local f=spring.k*x+extra_f | |
-- change spring speed based | |
-- on distance and force | |
spring.s=(spring.s*(1-spring.d))+f | |
return spring.s | |
end | |
return spring | |
end | |
-->8 | |
-- items | |
function init_ball(s) | |
local ball=actor:new(true) | |
animate(ball) | |
ball.anim:add( | |
"idle",{{s,0,0}},100) | |
ball.anim:set("idle") | |
materialize(ball, { | |
x=rnd(100)+10,y=rnd(80)+10, | |
max_dx=100,max_dy=100, | |
acc=0.5, dcc=0.94, | |
w=8,h=8}) | |
function ball:update() | |
self.body:update() | |
end | |
function ball:draw() | |
palt(11, true) | |
palt(0,false) | |
self.anim:draw( | |
self.body.x, | |
self.body.y) | |
palt(11, false) | |
palt(0,true) | |
end | |
return ball | |
end | |
function drop_cherry() | |
local cherry=actor:new(true) | |
animate(cherry) | |
cherry.life=30*10 -- 10 secs | |
cherry.anim:add("idle", | |
{{14,0,0}, | |
{14,0,-1}}, | |
10) | |
cherry.anim:set("idle") | |
materialize(cherry, { | |
x=rnd(100)+10,y=rnd(80)+10, | |
max_dx=100,max_dy=100, | |
acc=0.5, dcc=0.94, | |
w=8,h=8}) | |
function cherry:update() | |
self.life-=1 | |
self.body:update() | |
self.anim:update() | |
contact=body_hit( | |
self.body, | |
guy.body) | |
if contact then | |
sfx(34) | |
if t()>60 then | |
stam=min(140,stam+30) | |
elseif t()>30 then | |
stam=min(130,stam+30) | |
else | |
stam=min(120,stam+25) | |
end | |
self:destroy() | |
elseif self.life==0 then | |
self:destroy() | |
end | |
end | |
function cherry:draw() | |
self.anim:draw( | |
self.body.x, | |
self.body.y) | |
end | |
return cherry | |
end | |
-- dont use actors list | |
-- so we can draw the clouds | |
-- befor the player | |
clouds={} | |
function add_cloud(x,y,r,c) | |
local cloud=actor:new(false) | |
cloud.x=x | |
cloud.y=y | |
cloud.r=r | |
cloud.t=0 | |
cloud.c=c | |
function cloud:update() | |
self.t+=1 | |
if self.t==4 then | |
self.r-=1 | |
self.t=0 | |
end | |
if cloud.r<0 then | |
clouds[self.id]=nil | |
end | |
end | |
function cloud:draw() | |
if self.r==0 then | |
pset(self.x,self.y,c) | |
else | |
circfill( | |
self.x,self.y,self.r,c) | |
end | |
end | |
clouds[cloud.id]=cloud | |
end | |
function add_exclamation() | |
if exclam~=nil then | |
exclam:destroy() | |
end | |
exclam=actor:new(true) | |
exclam.x=dog.body.x | |
exclam.y=dog.body.y-8 | |
exclam.t=30 | |
function exclam:update() | |
self.x=dog.body.x | |
self.y=dog.body.y-8 | |
self.t-=1 | |
if self.t==0 then | |
self:destroy() | |
exclam=nil | |
end | |
end | |
function exclam:draw() | |
if (cur_ball==1) s=16 | |
if (cur_ball==2) s=17 | |
if (cur_ball==3) s=18 | |
palt(11, true) | |
palt(0,false) | |
spr(s,self.x,self.y) | |
palt(0, true) | |
palt(11,false) | |
end | |
end | |
lines={} | |
function add_line() | |
local ln= actor:new(false) | |
ln.s=3+rnd(10) | |
ln.x=130 | |
ln.x2=ln.x-ln.s | |
ln.y=20+rnd(40) | |
function ln:update() | |
ln.x=ln.x2 | |
ln.x2=ln.x2-ln.s | |
if ln.x<0 then | |
lines[ln.id]=nil | |
end | |
end | |
function ln:draw() | |
line(self.x,self.y, | |
self.x2, self.y,13) | |
end | |
lines[ln.id]=ln | |
end | |
-->8 | |
-- main menu | |
gs_menu={} | |
-- quartic easing out - decelerating to zero velocity | |
function ease_out_quartic(t,b,c,d) | |
t/=d | |
t-=1 | |
return -c*(t*t*t*t-1)+b | |
end | |
function gs_menu:init() | |
title={ | |
t=0,x=42, | |
oy=0,y=0,dy=32,dur=30} | |
clouds={} | |
tick=0 | |
sel=1 | |
flash_dur=2 | |
trans=false | |
music(0) | |
end | |
function gs_menu:update() | |
tick+=1 | |
if (flr(title.dur) > 0) then | |
title.y=ease_out_quartic( | |
title.t, | |
title.oy, | |
title.dy, | |
title.dur) | |
title.t+=1 | |
if (title.t>=title.dur) then | |
title.dur=0 | |
end | |
elseif flash_dur>0 then | |
flash_dur-=1 | |
screenshake:start(10,2) | |
else | |
if trans~=false then | |
gstate:switch(trans) | |
end | |
if tick%1==0 and sel==0 then | |
add_cloud( | |
48+rnd(2), | |
(sel*10)+93+rnd(2),1,7) | |
add_cloud( | |
74+rnd(2), | |
(sel*10)+93+rnd(2),1,7) | |
end | |
if tick%1==0 and sel==1 then | |
add_cloud( | |
35+rnd(2), | |
(sel*10)+93+rnd(2),1,7) | |
add_cloud( | |
90+rnd(2), | |
(sel*10)+93+rnd(2),1,7) | |
end | |
for k,c in pairs(clouds) do | |
c:update() | |
end | |
if btnp(⬆️) and sel==1 then | |
sfx(36) | |
sel=0 | |
elseif btnp(⬇️) and sel==0 then | |
sfx(36) | |
sel=1 | |
end | |
if btnp(❎) then | |
if sel==0 then | |
clouds={} | |
trans="game" | |
flash_dur=2 | |
elseif sel==1 then | |
clouds={} | |
trans="inst" | |
flash_dur=2 | |
end | |
end | |
-- speed lines | |
if tick%3==0 then | |
add_line() | |
end | |
for k,l in pairs(lines) do | |
l:update() | |
end | |
end | |
end | |
function gs_menu:draw() | |
cls(1) | |
if title.dur==0 and | |
flash_dur>0 then | |
cls(7) | |
elseif title.dur==0 and | |
trans==false then | |
for k,l in pairs(lines) do | |
l:draw() | |
end | |
circfill(64,245,180,12) | |
circfill(64,245,170,11) | |
circfill(64,230,150,3) | |
map(2,17,title.x-32, | |
title.y-8 | |
,17,4) | |
for k,c in pairs(clouds) do | |
c:draw() | |
end | |
print("start",53,92,7) | |
print("instructions",40,101,7) | |
else | |
map(6,18,title.x, | |
title.y | |
,5,2) | |
end | |
end | |
-->8 | |
-- game over | |
gs_over={} | |
function gs_over:init() | |
score=flr(t()) | |
music(-1) | |
end | |
function gs_over:update() | |
if btnp(❎) then | |
sfx(36) | |
gstate:switch("game") | |
elseif btnp(🅾️) then | |
sfx(36) | |
gstate:switch("menu") | |
end | |
end | |
function gs_over:draw() | |
rectfill(32,32,96,96,1) | |
print("game over",42,40,7) | |
print("score: "..score,42,50,7) | |
print("❎ to try again",34,62,7) | |
print("🅾️ to menu",34,70,7) | |
end | |
-->8 | |
-- instructions | |
messages={ | |
{ | |
"its ball time at the park.", | |
"your pet corgi has entered", | |
"'zoomies mode'.", | |
"", | |
"theres only one thing you", | |
"can do.." | |
}, | |
{"hold on for dear life!"}, | |
{ | |
"press ❎/🅾️ to move the", | |
"dogs attention to another", | |
"ball." | |
}, | |
{ | |
"⬆️/⬇️/⬅️/➡️ to drift", | |
"", | |
"eat fruit to regain your", | |
"stamina!" | |
} | |
} | |
gs_instruct={} | |
function gs_instruct:init() | |
actors={} | |
balls={} | |
cur_ball=1 | |
stam=100 | |
init_guy() | |
init_dog() | |
tick=0 | |
add(balls,init_ball(5)) | |
add(balls,init_ball(6)) | |
add(balls,init_ball(7)) | |
music(30) | |
cur=1 | |
end | |
function gs_instruct:update() | |
tick+=1 | |
if btnp(❎) then | |
sfx(37) | |
cur+=1 | |
end | |
if cur>#messages then | |
gstate:switch("menu") | |
end | |
if cur>3 then | |
if ch==nil then | |
ch=drop_cherry() | |
ch.body.x=60 | |
ch.body.y=70 | |
end | |
end | |
if cur>2 then | |
for i,a in pairs(actors) do | |
a:update() | |
end | |
if tick%30==0 then | |
cur_ball+=1 | |
if cur_ball==4 then | |
cur_ball=1 | |
end | |
add_exclamation() | |
end | |
balls[1].body.x=30 | |
balls[1].body.y=90 | |
balls[2].body.x=60 | |
balls[2].body.y=50 | |
balls[3].body.x=90 | |
balls[3].body.y=90 | |
end | |
end | |
function gs_instruct:draw() | |
cls(1) | |
for i,m in pairs(messages[cur]) do | |
print(m,10, 10+(i*10),7) | |
end | |
print(cur.."/"..#messages,2,2,7) | |
if cur>2 then | |
for i,a in pairs(actors) do | |
a:draw() | |
end | |
dog:draw() | |
draw_ball_ui() | |
end | |
end | |
__gfx__ | |
0000000000888800008888000888800000888800bbbbbbbbbbbbbbbbbbbbbbbb0000000000000000000000000000000000000000000000000000bbb000000000 | |
0000000088884800888848008888800008888800bbb00bbbbbb00bbbbbb00bbb000909000009090000090900000909000009090000090900000bb000bfeeeeef | |
0070070004ffff0004ffff00444ff0000444ff00bb0aa0bbbb0cc0bbbb0880bb00090900000909000009090000090900000909000009090000b0b000bf88888f | |
0007700000ffff00f0ffff000ffff00000ffff00b0aaaa0bb0cccc0bb088880b00099971000999710009997100099971000999720009997200b00b00bf82888f | |
00077000008880000c8880000888000002888200b09aa90bb01cc10bb028820b900aaa00900aaa00900ccc00900ccc0090088800900888000b000be0bf88828f | |
00700700088ff200fc88ff002888f000fcfc0000bb0990bbbb0110bbbb0220bb9999970099999700999997009999970099999700999997008ee0888ebbf8888f | |
0000000000ccc0000000000001cc000000000000bbb00bbbbbb00bbbbbb00bbb999999002999992099999900199999109999990029999920888028880bbffff0 | |
00000000000f0f000000000000f0f00000000000bbbbbbbbbbbbbbbbbbbbbbbb0920920000000000092092000000000009209200000000002880028000000000 | |
b000000bb000000bb000000bfff000000ff000000ff00fff00000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
b0aaaa0bb0cccc0bb088880bfff00ff00ff00ff00ff00fff00000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
b0aaaa0bb0cccc0bb088880b44400ff004400ff00440044400000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
bb0aa0bbbb0cc0bbbb0880bb44455440044504455445544400000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
bb0990bbbb01c0bbbb0220bb44400445544054400440044400000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
bbb00bbbbbb00bbbbbb00bbbb4b55440044504455b455b4b00000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
bb09a0bbbb01c0bbbb0280bbbbbb04b55bb05b40bbb0bbbb00000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
bbb00bbbbbb00bbbbbb00bbb00000bbb00000bb00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
33333333333333333333fff53ff33ff35fff33333333333333333333000000000000000000000000000000000000000000000000000000000000000000000000 | |
33ee3333333333333333fff33ff33ff33fff3333333333333333333300000000000000000000000000000aa77770000000000cc7777000000000088777700000 | |
3e77e3333333333333334445344334435444333333333333333333330000000000000000000000000000aaaaaa7700000000cccccc7700000000888888770000 | |
33ee33e333333333333b4443544554453444b3333ff333333ff33333000000000000000000000000000aaaaaaaa77000000cccccccc770000008888888877000 | |
33313e7e33333333333bff433443344334ffb3333ff33ff33ff33ff300000000000000000000000000777aaaaaa7770000777cccccc777000077788888877700 | |
333331e3333333333333ffb354455b453bff333334433ff334433ff300000000000000000000000009aaa7aaaa7aaa7001ccc7cccc7ccc700288878888788870 | |
3333333333333333333344b33bb33bb33b443333344534433445344500000000000000000000000009aaaa7aa7aaaa7001cccc7cc7cccc700288887887888870 | |
3333333333333333333355b3333333333b553333544354455443544300000000000000000000000009aaaa7aa7aaaaa001cccc7cc7ccccc00288887887888880 | |
333333333333333333333ff3333333333ff333333445344334453445000000000000000000000000099aaa7aa7aaaaa0011ccc7cc7ccccc00228887887888880 | |
33333333333333b333333ff3333333333ff333335bb35b455bb35b43000000000000000000000000099aaa7aa7aaaaa0011ccc7cc7ccccc00228887887888880 | |
33333bb33bb33bb33333344b33333333b443333333333bb333333bb30000000000000000000000000999aa7aa7aaaaa00111cc7cc7ccccc00222887887888880 | |
bbb3bb3333bb3b333333354b33333333b45333333333333333333333000000000000000000000000009997aaaa7aaa00001117cccc7ccc000022278888788800 | |
3bbb3333333b33333333ff533333333335ff33333333333333333333000000000000000000000000000669aaaaa77000000dd1ccccc77000000dd28888877000 | |
3333333333333bb33333ffb3333333333bff33333333333333333333000000000000000000000000000099999999000000001111111100000000222222220000 | |
33333333333333b3333344b3333333333b4433333333333333333333000000000000000000000000000009999990000000000111111000000000022222200000 | |
3333333333333333333355b3333333333b5533333333333333333333000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000066666000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000007777000000000000000000000000000000600000600000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000007777000000000000000000000000000006000000600000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000770000000000000000000000000000006000000600000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000770000000000000000000000000000006000000606566666000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000005000000650000000666600000000000000000009009000000000000000000 | |
0000000000000000000000000000000000077000000000000000000000000000000050000650000000000006600000000000000000900900000000000aa00000 | |
000000000000000000000000000000000000000000000000000000000000000000066666600000000000000006600000000000000097097000000000aaaa0000 | |
0000000000000000000000000000000008888888000000000000000000000000000000000000000000000000000660000000000000979999900000009aa90000 | |
00000000000000000000000000000000088888888000000008808080880088808800008880888088000880800000066660000000009999199000000009900000 | |
00000000000000000000000000000088888888848000000080008080808080008080008000808080808000000000000006660000009999999755000000000000 | |
00000000000000000000000000000888888888448000000008008080888088008800008000808088008080800000000000006660000999977755000000000000 | |
00000000000000000000000000000000044ffffff000000000808080800080008080008000808080808080800000007000000006668887777770000000000000 | |
00000000000000000000000000000000044ffffff000000088008800800088808080008880888080800880800000007779990000099888800000000000000000 | |
00000000000000000000000ff000000004fffffff0000000777700777770777077777077777077777077777077000077999999999999788aa000000000000000 | |
0000000000000000000000ffccccc00004fffffff0000000766670766670676076666066766076666076667077000007999999999999777aa000000000000000 | |
00000000000000000000000fccccccc882ffffff0000000070007070007007007000000070007000007000707700000999999999999977700770000000000000 | |
00000000000000000000000000000cc88888f88888800000700070700070070070000000700070000070007077000009999999999999777667e0000000000000 | |
0000000000000000000000ffccccccc8888888888888000070007077770007007777000070007777007777007700009999977779999777777770000000000000 | |
0000000000000000000000ffcccccc88888800000ff800007000707666700700766600007000766600766670660077999944000777700077e000000000000000 | |
0000000000000000000000ff0000000088888888fff0000070007070007007007000000070007000007000700000779944000000000000777000000000000000 | |
0000000000000000000000000000000000088888ff60000070007070007007007000000070007000007000707700000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000006000077776070007077707000000070007777707000707700000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000600066660060006066606000000060006666606000606600000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000060000000000000600000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000006600000000066000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000065655565600000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000880808088008880880000888088808800088080000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000008000808080808000808000800080808080800000000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000800808088808800880000800080808800808080000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000000080808080008000808000800080808080808080000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000008800880080008880808000888088808080088080000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000007777007777707770777770777770777770777770770000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000007ccc707ccc70c7c07cccc0cc7cc07cccc07ccc70770000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000007000707000700700700000007000700000700070770000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000007000707000700700700000007000700000700070770000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000007000707777000700777700007000777700777700770000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000007000707ccc7007007ccc000070007ccc007ccc70cc0000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000007000707000700700700000007000700000700070000000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000007000707000700700700000007000700000700070770000000000000000000000000000000000000000000000 | |
00000000000000000000000000000000000000007777c07000707770700000007000777770700070770000000000000000000000000000000000000000000000 | |
0000000000000000000000000000000000000000cccc00c000c0ccc0c0000000c000ccccc0c000c0cc0000000000000000000000000000000000000000000000 | |
__label__ | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111166666111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111117777111111111111111111111111111111611111611111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111117777111111111111111111111111111116111111611111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111771111111111111111111111111111116111111611111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111771111111111111111111111111111116111111616566666111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111115111111651111111666611111111111111111119119111111111111111111111111 | |
1111111111111111111111111111177111111111111111111111111111111151111651111111111116611111111111111111911911111111111aa11111111111 | |
111111111111111111111111111111111111111111111111111111111111166666611111111111111116611111111111111197197111111111aaaa1111111111 | |
1111111111111111111111111118888888111111111111111111111111111111111111111111111111111661111111111111979999911111119aa91111111111 | |
11111111111111111111111111188888888111111118818181881188818811118881888188111881811111166661111111119999199111111119911111111111 | |
11111111111111111111111188888888848111111181118181818181118181118111818181818111111111111116661111119999999755111111111111111111 | |
11111111111111111111111888888888448111111118118181888188118811118111818188118181811111111111116661111999977755111111111111111111 | |
11111111111111111111111111144ffffff111111111818181811181118181118111818181818181811111117111111116668887777771111111111111111111 | |
11111111111111111111111111144ffffff111111188118811811188818181118881888181811881811111117779991111199888811111111111111111111111 | |
11111111111111111ff111111114fffffff1111111777711777771777177777177777177777177777177111177999999999999788aa111111111111111111111 | |
1111111111111111ffccccc11114fffffff1111111766671766671676176666166766176666176667d77111117999999999999777aa111111111111111111111 | |
11111111111111111fccccccc882ffffff1111111171117171117117117111111171117111117111717711111999999999999977711771111111111111111111 | |
11111111111111111111111cc88888f88888811111711171711171171171111111711171111171117177111119999999999999777667e1111111111111111111 | |
1111111111111111ffccccccc8888888888888111171117177771117117777111171117777dd7777dd7711119999977779999777777771111111111111111111 | |
1111111111111111ffcccccc88888811111ff8111171117176667117117666111171dd766611766671661177999944111777711177e111111111111111111111 | |
1111111111111111ff1111111188888888fff1111171117171117dd7dd7dd1111171117111117111711111779944111111111111777111111111111111111111 | |
1111111111111111111111111111188888ff61111171117171117117117111111171117111117111717711111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111116111177776171117177717111111171117777717111717711111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111611166661161116166616111111161116666616111616611111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111161111111111111611111111111111111111111111111111111111111111111111111111111111111111111111 | |
ddd11111111111111111111111111111111111116611111111166111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111165655565611111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111dddddd11 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111 | |
111111111111111111111111111111111111111111111111111ccccccccccccccccccccccccccc11111111111111111111111111111111111111111111111111 | |
11111111111111111111111111111111111111111ccccccccccccccccccccccccccccccccccccccccccccccc1111111111111111111111111111111111111111 | |
11111111111111111111111111111111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc1111111111111111111111111111111111 | |
11111111111111111111111111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc1111111111111111111111111111 | |
1111111111111111111111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc111111111111111111111111 | |
11111111111111111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc1111111111111111111 | |
11111111111111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc1111111111111111 | |
1111111111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc111111111111 | |
1111111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc111111111 | |
1111111ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc111111 | |
1111cccccccccccccccccccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccc111 | |
1cccccccccccccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccc | |
cccccccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccc | |
ccccccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccc | |
ccccccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccc | |
ccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb3333333333333333333333333bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccc | |
ccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbb3333333333333333333333333333333333333333333bbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccc | |
cccccccccccccccbbbbbbbbbbbbbbbbbbbbbb3333333333333333333333333333333333333333333333333333333bbbbbbbbbbbbbbbbbbbbbbcccccccccccccc | |
cccccccccccbbbbbbbbbbbbbbbbbbbbb33333333333333333333333333333333333333333333333333333333333333333bbbbbbbbbbbbbbbbbbbbbcccccccccc | |
ccccccccbbbbbbbbbbbbbbbbbbbb3333333333333333333333333333333333333333333333333333333333333333333333333bbbbbbbbbbbbbbbbbbbbccccccc | |
ccccccbbbbbbbbbbbbbbbbbb333333333333333333333333333333333333333333333333333333333333333333333333333333333bbbbbbbbbbbbbbbbbbccccc | |
cccbbbbbbbbbbbbbbbbbb333333333333333333333333333333333333333333333333333333333333333333333333333333333333333bbbbbbbbbbbbbbbbbbcc | |
cbbbbbbbbbbbbbbbbb333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333bbbbbbbbbbbbbbbbb | |
bbbbbbbbbbbbbbb333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333bbbbbbbbbbbbbb | |
bbbbbbbbbbbb333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333bbbbbbbbbbb | |
bbbbbbbbb333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333bbbbbbbb | |
bbbbbbb3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333bbbbbb | |
bbbbb33333333333333333333333333333333333333333333333337737773777377737773333333333333333333333333333333333333333333333333333bbbb | |
bb33333333333333333333333333333333333333333333333333373333733737373733733333333333333333333333333333333333333333333333333333333b | |
33333333333333333333333333333333333333333333333333333777337337773773337333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333337337337373737337333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333773337337373737337333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333337773773337737773777373733773777377733773773337733333333333333333333333333333333333333333 | |
33333333333333333333333333333333333773333733737373333733737373737333373337337373737373333333333333333333333333333333333333333333 | |
33333333333333333333333333333333337777333733737377733733773373737333373337337373737377733377333333333333333333333333333333333333 | |
33333333333333333333333333333333333777333733737333733733737373737333373337337373737333733777733333333333333333333333333333333333 | |
33333333333333333333333333333333333373337773737377333733737337733773373377737733737377333377333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 | |
__gff__ | |
0000000000000000000000000000000000000001010100000000000000000000000101010101010000000000000000000000010001000000000000000000000000000000000000000000000000000000000000000000010101000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
0000000000000000000000000000000000000000000101010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
__map__ | |
2125252525252525252525252525252121210000001314141414141414141414141414150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
2235353535353535353535353535352421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
3233312033333333333333333033333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
3233203333333333333333302031333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
3233333333333333333333333330333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
3233333333333333333333333333333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
3233333333333333333333333333333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
3233333333333333333333333333333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
3233333333333333333333333333333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
3233333333333333333333333333333421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
3233333333333333333333333333303421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
3231303333333333333333333333313421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
3220333333333333333333333333303421210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
2121212121212121212121212121212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
2121212121212121212121212121212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
2121212121212121212121212121212121210000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
000000434445464748494a4b4c4d4e4f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
000052535455565758595a5b5c5d5e5f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
000062636465666768696a6b6c6d6e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
000000737475767778797a7b7c7d7e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
__sfx__ | |
000400000061001610026100261003610036100461006610086100861009610096100a6100d6100e61011610136101461016610186101a6101d6102061023610276102a6102c6102e61030620316303164031640 | |
010400000c057180570f0571b057110571d057130571f05714057200571b057270571d057290571f0572b05718057240571b057270571d057290571f0572b057200572c057270573305729057350572b05737057 | |
01040000241550000027155000002b1550000030155000002b155000002715500000241550000027155000002b1550000030155000002b155000002715500000241550000027155000002b155000003015500000 | |
010a00003f6153f6053f6153f61527655000003f6153f6153f615000003f6153f61527655000003f6153f6153f615000003f6153f61527655000003f6153f6153f615000003f6153f61527655000003f6153f615 | |
010a00200c2300c2350c2350c2350c2300c2350c2350c2350c2300c2350c2350c2350c2300c2350c2350c2350c2300c2350c2350c2350c2300c2350c2350c2350c2300c2350c2350c2350c2300c2350c2350c235 | |
010a00200a2300a2350a2350a2350a2300a2350a2350a2350a2300a2350a2350a2350a2300a2350a2350a2350a2300a2350a2350a2350a2300a2350a2350a2350a2300a2350a2350a2350a2300a2350a2350a235 | |
010a0000132301323513230132350f2300f235132301323513230132350f2300f23511230112350e2300e235132301323513230132350f2300f235132301323513230132350f2300f23511230112350e2300e235 | |
010a00001123011235112301123516230162351123011235112301123511230112350f2300f2350f2300f2351123011235112301123516230162351123011235112301123511230112350f2300f2350f2300f235 | |
010a00000823008235082350823508230082350823508235082300823508235082350823008235082350823508230082350823508235082300823508235082350823008235082350823508230082350823508235 | |
010a00000f2300f2350f2300f2350c2300c2350f2300f2350f2300f2350c2300c2350e2300e2350a2300a2350f2300f2350f2300f2350c2300c2350f2300f2350f2300f2350c2300c2350e2300e2351123005235 | |
010a00002722027225272202722524220242252722027225272202722524220242252622026225222202222527220272252722027225242202422527220272252722027225242202422529220292252622026225 | |
010a00002622026225262202622527220272252622026225262202622526220262252422024225262222622226220262252622026225272202722526220262252622026225262202622524220242252622026225 | |
010a00002422024225242202422527220272252722027225262202622526220262252222022225222202222524220242252422024225242202422524220242252422024225242202422524220242252422024225 | |
010a00002422024225242202422527220272252722027225262202622526220262252e2202e2252e2202e2253022030225302203022533220332253322033225322203222532220322253a2203a2253a2203a225 | |
010a00003005430050300523005230042300323002230012300153000030000300003305433050320503205035050350563305633056330573305737051370523805238052370523704238032380223701237015 | |
010a00002b0542b05500000240502b05230050300523005230052300423003230022300123001530050300502e0502e0502905029050260502605000000000002b0502b035000002b05224042240322403224035 | |
010a00002705427055000000000029050290512705127052260522605000000000002405024051220512205024052240522404224042240322402224012240150000000000000000000000000000000000000000 | |
010a00002b0542b05500000240502b0523005030052300523005230042300323002230012300153205532050330553305032055320502e0502e0552b0502b0522b0522b0422b0322b0222b0122b0150000000000 | |
010a00002c0552c0502e0502e05530050300503305033050320553205730057300572e0502e050300503005230052300423004230032300323002230015000000000000000000000000000000000000000000000 | |
010a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240002400026000240502605027050290502b050 | |
010a00002c0552c0252705527025300553002527055270252c0552c0252705527025300553002527055270252c0552c0252705527025300553002527055270253305533025270552702530055300252705527025 | |
010a00002e0552e0252905529025320553202526055260252e0552e0252905529025320553202529055290252e0552e0252905529025320553202526055260252e0552e02529055290252c0552c0252b0552b025 | |
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
010a00203773537725377153773537725377153773537725377153773537725377153773537715377353771537735377253771537735377253771537735377253771537735377253771537735377153773537715 | |
010a0000337353372533715337353372533715337353372535735357253571535735357253571535735357253c7353c7253c7153c7353c7253c7153c7353c7253c7353c7253c7153c7353c7353c7153c7353c715 | |
010a00003c7353c7253c7153c7353c7253c7153c7353c7253c7353c7253c7153c7353c7353c7153c7353c7153c7353c7253c7153c7353c7253c7153c7353c7253c7353c7253c7153c7353c7353c7153c7353c715 | |
010a00003873538725387153873538725387153873538725387353872538715387353873538715387353871538735387253871538735387253871538735387253873538725387153873538735387153873538715 | |
010a00003a7353a7253a7153a7353a7253a7153a7353a7253a7353a7253a7153a7353a7353a7153a7353a7153a7353a7253a7153a7353a7253a7153a7353a7253a7353a7253a7153a7353a7353a7153a7353a715 | |
010a00003073530725307153073530725307153073530725307353072530715307353073530715307353071530735307253071530735307253071530735307253073530725307153073530735307153073530715 | |
010a00003273532725327153273532725327153273532725327353272532715327353273532715327353271532735327253271532735327253271532735327253273532725327153273532735327153273532715 | |
010a00003373533725337153373533725337153373533725337353372533715337353373533715337353371535735357253571535735357253571535735357253573535725357153573535735357153573535715 | |
010a000008230082350823508235082300823508235082350a2300a2350a2350a2350a2300a2350a2350a23505230052350523505235052300523505235052350523005235052350523505230052350523505235 | |
010a00000523005235052350523505230052350523505235052300523505235052350523005235052350523505230052350523505235052300523505235052350523005235052350523505230052350523505235 | |
01090000305503c555000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
000700003e620346202d6202a6102861022610206101e6101d6101c6101a610186101761016610166101b6001a600196001960018600186001760016600000000000014600126001160000000000000000000000 | |
010400001b05025055000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
010400001f05429055000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
010a00003373533725337153373533725337153373533725337353372533715337353373533715337353371533735337253371533735337253371533735337253373533725337153373533735337153373533715 | |
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 | |
010a0000336253c7353c7153f615276553c7353f6103f615336243c7353f6153f6153c7353c7153f6153f615336253c7353c7153f615276553c7353f6103f615336243c7353c7153f615276553c7353f6103f615 | |
__music__ | |
00 00010244 | |
01 0304060a | |
00 0304060a | |
00 0305070b | |
00 0305070b | |
00 0308090c | |
02 0308090d | |
00 41424344 | |
00 03048384 | |
01 03041844 | |
00 0304180f | |
00 03041810 | |
00 03041811 | |
00 03201912 | |
00 03211a13 | |
00 03081d14 | |
00 03051e15 | |
00 03081c14 | |
00 03051e15 | |
00 03081f14 | |
00 03051e15 | |
00 03051e15 | |
00 2804060a | |
00 2804060a | |
00 2805070b | |
00 2805070b | |
00 2808090c | |
00 2808090d | |
02 03041844 | |
00 41424344 | |
01 04184344 | |
00 041f4344 | |
00 051c4344 | |
02 051e4344 | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment