experiments-pico8/toomgis.p8
2023-04-08 23:04:25 -05:00

468 lines
24 KiB
Lua
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

pico-8 cartridge // http://www.pico-8.com
version 41
__lua__
function _draw()
cls()
--ampm_draw()
level_draw()
end
function _update()
--ampm_upd()
toomgis_upd()
--level_draw()
level_upd()
end
function sprm(n, x, y, w, h)
-- mirrored sprite draw
spr(n, x, y, w, h)
spr(n, x+w*8, y, w, h, true)
end
-->8
-- ampm logo
ampm_t = 0
function ampm_draw()
local tx = 1000
local fx = 78
if ampm_t > 300 then
tx = 140 - (ampm_t-300)
toomgis_draw(tx, 50)
fx = min(tx, 78)
else
end
shift = max(ampm_t - 64, 0)
width = max(128 - shift, 64)
if width > tx then
width = tx
end
for y=0,min(ampm_t, 64) do
tline(0, 64-y, width, 64-y,
0, (64-y)/64, 2/width, 0)
tline(0, 64+y, width, 64+y,
0, (64+y)/64, 2/width, 0)
end
if ampm_t > 120 then
print("presents", fx, 20, 13)
end
if ampm_t > 150 then
print("toomgis", fx, 30, 12)
end
if ampm_t > 180 then
print("in", fx, 80, 13)
end
if ampm_t > 210 then
print("rise of",
fx, 90, 12)
print("toomgis", fx, 100, 12)
end
end
function ampm_upd()
ampm_t += 1
if ampm_t > 500 then
ampm_t = 0
end
end
-->8
-- toomgis
tangle = 0
tbody = {
} -- array of items in body
pieces = 1
MAX_PIECES = 200
px = 0
py = 0
vx = 0
vy = 0
yacc = 0
streak = 0
function toomgis_radius()
return 8 + (pieces / MAX_PIECES) * 40
end
function add2body(n)
if pieces < MAX_PIECES then
pieces += 1
add(tbody, {n=n, r=toomgis_radius() + rnd(9), off=rnd(4), ejecting=false})
end
end
function hitbody()
for piece in all(tbody) do
if rnd() < 0.2 then
piece.ejecting = true
end
end
end
function full()
for i=2, 14 do
add2body(i)
add2body(i)
add2body(i)
end
end
function toomgis_draw(x, y)
--printh(x..","..y)
for i=1,#tbody do
-- rotate drawing order
local bs = tbody[(i+flr(tangle)) % #tbody + 1]
spr(bs.n,
x+4+bs.r*sin(tangle+bs.off),
y+4+bs.r*cos(tangle+bs.off)
)
end
sprm(0, x, y, 1, 2)
end
function toomgis_upd()
tangle += vx * 0.01
px += vx
py = max(0, py+vy)
vy += yacc
local to_remove = {}
for idx, piece in pairs(tbody) do
if piece.ejecting then
piece.r += 5
if piece.r > 90 then
add(to_remove, idx)
end
end
end
for idx in all(to_remove) do
deli(tbody, idx)
end
end
-->8
-- level
levels = {
{
name="store aisle",
sky=7,
gnd=5,
mapy=2,
bad_item_ratio=0.2,
unit="CM",
},
{
name="city nights",
sky=2,
gnd=5,
mapy=5,
bad_item_ratio=0.2,
unit="M",
},
}
lvl = levels[1]
horizon = 64
items = {
{x=0, y=0, n=0},
{x=0, y=0, n=0},
{x=0, y=0, n=0},
{x=0, y=0, n=0},
{x=0, y=0, n=0},
{x=0, y=0, n=0},
{x=0, y=0, n=0},
}
function level_draw()
-- background
--rectfill(0, 0, 128, horizon, lvl.sky)
--rectfill(0, horizon, 128, 128, lvl.gnd)
--map(0, lvl.y, 0, 32, 16, 8)
-- each level is 3tl/24px
cls(lvl.sky)
--- zoom should go from 16 to 2 w/ growth
--local pieces_step = flr(pieces / 10)
--local zoom = 16 - (14 * (pieces_step / (MAX_PIECES / 10)))
local zoom = 16 - (14 * (pieces / MAX_PIECES))
local h=24 * zoom
for y=0,h do
tline(0, 128-h+y, 128, 128-h+y, -- screen coordinates (entire screen scanlines)
px/80, 2+y/(8*zoom), 1/(8*zoom), 0)
-- don't scale x start with zoom, since position is not dependent
end
toomgis_draw(20, 96-py)
for item in all(items) do
if item.n != 0 then
spr(item.n, item.x-px, item.y)
-- collider
-- circ(item.x-px+4, item.y+4, 4, 8)
-- stink
if item.n > 16 then
draw_stink(item.x-px, item.y)
end
end
end
-- hud
local size = max(flr(pieces/MAX_PIECES*100), 1)
local time_left = 10
local streak_str = streak2mult()
if streak_str == 1 then
streak_str = ""
else
streak_str = streak_str.."X"
end
rectfill(0, 0, 128, 8, 2)
print("size "..size..lvl.unit.." "..streak_str.." ", 1, 1, 9)
print(time_left.."S", 70, 1, 9)
print("GOAL 100"..lvl.unit, 88, 1, 9)
end
function streak2mult()
if streak > 20 then
return 5
elseif streak > 10 then
return 3
elseif streak > 5 then
return 2
else
return 1
end
end
function draw_stink(x, y)
local step = flr(2*time()) % 3 - 1
line(x+1, y-2, x+1 + step, y-7, 3)
line(x+3, y-2, x+3 + step, y-7, 3)
line(x+6, y-2, x+5 + step, y-7, 3)
end
function level_upd()
if btn() then
vx += 0.1
end
if btn() then
vx -= 0.05
end
-- if btn(⬆️) then
-- pieces += 1
-- end
if vx < 0 then
vx = 0
elseif vx > 3 then
vx = 3
end
if btnp() and py == 0 then
yacc = 6
elseif py > 0 then
yacc = -1
elseif py == 0 and yacc < 0 then
-- on ground
yacc = 0
vy = 0
end
-- check for falling off back of screen and player collision
for item in all(items) do
if item.x < px then
item.n = 0
end
local d = dist(20+8, 96-py+8, item.x+4-px, item.y+4)
--printh(item.n.." "..(item.x+4-px)..","..(item.y+4).." d="..d)
if d < toomgis_radius() and item.n != 0 then
-- item collision
if item.n > 16 then
sfx(5)
hitbody()
streak = 0
else
sfx(6)
for i=1,streak2mult() do
add2body(item.n)
end
streak += 1
end
item.n = 0
end
end
-- add item if inactive (chance increases as more slots inactive)
to_check = rnd(items)
if to_check.n == 0 then
-- good items 2-14, bad items 18-30
if rnd() < lvl.bad_item_ratio then
to_check.n = flr(rnd(12)+18)
else
to_check.n = flr(rnd(12)+2)
end
to_check.x = px + 128 + rnd(100)
to_check.y = rnd(100)
end
end
-->8
-- utils
function dist(x0,y0,x1,y1)
-- scale inputs down by 6 bits
local dx=(x0-x1)/64
local dy=(y0-y1)/64
-- get distance squared
local dsq=dx*dx+dy*dy
-- in case of overflow/wrap
if(dsq<0) return 32767.99999
-- scale output back up by 6 bits
return sqrt(dsq)*64
end
__gfx__
000022220000000000444400000ee000aaaaaaaa0000000000555500045454000099990000087000000000000cccccc00077700000000a0000ffff0000005555
000222220000000004eee440009ea9000aa77aa0060000000088880004545400099999900007400009f9f9f0cc1111cc06444660000a0a000fff4ff000055555
00224444000000004e444e44009ae9000aa778a000666600008ff800055555000aaaa8a00044470099999999c1111f1c064446660a0aaaa0ff4ff4ff00055555
00224554000000004e4004e4009aa9000a8888a00088880000ffff0004545400088aaaa000477700aaaaaaaac1f1ff1c0644460600aaaa004fffffff00099999
00225c74000000004e4004e4009ae9000a877aa00087870000f44f0004545400008aa80000ffff004a444a44c1ff111c0644466600888880fff4ff4f00099999
022247440000000044e444e4009ea9000aaaaaa000787800008ff8000555550000aa880000ffff00bbb88abbc1fff11c0644466000899880f4ffffff00997799
0222244400000000044eee40009ae9000aaaaaa0008787000088880004545400000aa000000ff00099998999cc1111cc06644600008989800ff4f4f000977779
022224770000000000444400000ee00000aaaa000088880000088000045454000008a000000ff000099999900cccccc0006666000008880000ffff0009977079
02202944000000000006000000333300000033000000000000033000000330000003300000000000000000000033330000000330000030000033330009997799
202029990000000000666660030330300000033000330300023333300099990003333330000000300333333003ffff300030330000023300033ee33009999999
20202099000000000063336030300303000999330000300022233320099a9a90033bb33000000b300377773003ffff30000330000002220033eeee3309999999
202024090000000000633360030330300099990300888800023202229999999933bbbb330000b330037997300333333000030000002222003edeede30a990000
2020404f00000000006333600330033000999900088888800322232099999a9933bbbb33000b3300037997300333333000222000002222003eeeeee30a999000
0020040f00000000006333600003300009999000088888800202020099999999333bb33300b330000377773003333330022222000022220033edee330aaa9999
0000000000000000006333600003300099900000088888802220222009999990033333300333000003333330033333300022200000222200033ee33000aa9999
00000000000000000006660000033000990000000088880002000200009999000030030000000000000000000033330000020000000220000033330000aaaaaa
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000aaaaaa
00000000000000000000000000000000000006440000000000000000099999099099099000000000000000000000000000000011000000000000000000a0aaaa
0700077700000000000000000000000000006444000000000000000099909909999999900000000000000000000000000000011100000000000000000000aaaa
00707700000000000000000000000000000044540000000000000000999099099099099000000000000000000000000000001111000000000000000000009aaa
0007077700000000000000000000000000044546000000000000000088808808808808800000000000000000000000000000066600000000000000000009999a
000777000000000000000000000000000044540000000000000000000880880880880880000000000000000000000000000006b6000000000000000000999999
0007777700000000000000000000000bb44540000000000000000000008888088088088800000000000000000000000000000166000000000000000009999999
00007000000000000000000000000bbbb55400000000000000000000000000000000000000000000000000000000000000000016000000000000000009999999
000077770000000000000000000bbbbb5b5400000000000000000000000000000000000000000000000000000000000000111001000000000000000099999999
0000000700000000000000000bbbb77575bb00000000000000000000022220022022022000000000000000000000000006611111000000000000000099999999
000000770000000000000000bbbb775757bb00000000000000000000020222022222222000000000000000000000000000001111000000000000000099999999
000007700000000000000000bbbbbbb577bb00000000000000000000020222022022022000000000000000000000000000011111000000000000000099999999
000000700000000000000000000000b77bb000000000000000000000011110011011011000000000000000000000000000111111000000000000000099999999
000007000000000000000000000000b7bb0000000000000000000000011000011011011000000000000000000000000000111111000000000000000099999999
000077000000000000000000000000bbb00000000000000000000000011000011011011100000000000000000000000000111111000000000000000099999999
000770000000000000000000000000bb000000000000000000000000011000000000000000000000000000000000000000000440000000000000000009999999
22000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22722200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
27772220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
20072222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22022222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00222222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222220000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
22222222222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00222000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00222220544444445666666656666666566666665666666656666666066666660005500000000000000000000000000000000000000000000000000000000000
0022222054a4a4a456aa6aa656aa65565666666656556aa656556aa6565555560056650000000000000000000000000000000000000000000007700000000000
0000000054444444566666665666666656666666566666665666666656555556056666500000000000000000000000000000000000000000007dd70000000000
0000000054a4a4a456aa6aa656aa6aa6566666665655655656aa65565655555600566500000000000000000000000000000000000000000007dddd7000000000
0000000054444444566666665666666656666666566666665666666656555556000550000000000000000000000000000000000000000000dddddddd00000000
0000000054a444a45666666656aa6aa65666666656556aa656aa655656555556005665000000000000000000000000000000000000000000dddddddd00000000
0000000054445444566656665666666656666666566666665666666656555556005665000000000000000000000000000000000000000000dddddddd00000000
00000000bbbbbbbbbbbbbbbb56aa6aa65666666656aa655656aa655656666666055665500000000000000000000000000000000000000000dddddddd00000000
00000000000000000004400000044000000443330004400000044000000330000004400000044000000330000004400000044000000000000000000000000000
0000000000000000000440000004400000044433003433000334433000333300400440000334433000333000000440000033430000000000000dd00000000000
000000000000000000044000330440000004403303333330033333300033330004444000003333000033300033344000000333000000000000dddd0000000000
00000000000000000004400034444033000440000333333000044000033333300404400000044000033333333334400400044000000000000dddddd0ddddd000
0000000000000000000440003304433300044000033333330333333003333330000440040034430003333330030444400334433000000ddddddddddddddddd00
00000000000440000004400000044433000433303334433300044000333333330004444000033000000340000004400003333330000dddddddddddddddddddd0
000000000004400000044000000440000004433033343333033333303333333300044000000440000033400000044000003333000ddddddddddddddddddddddd
00000000bbbbbbbbbbbbbbbb00044000000440000033400000044000000440000004400000044000003440000004400000044000dddddddddddddddddddddddd
00000000000000000000000000000000030000000000000000333300000000000000000000000000000000000000000000600000566666660000000000000000
00000000000000000000000000044000333000000099990033333830066666600044440000000000000007000000000006860000566666660000000000000000
000000000000000000000000004444000400000009aaaa903834333006655660044444400000eee0000076700000000008880000566666660000000000000000
00000000000000000000000004cccc40333000000acaaca00334383006566560055555500000ece000007670000cc00008886660566666660000000000000000
0000000000000000000000004cccccc4040033300aaaaaa00034330006666660044444400eeeeee0077776700006600006668880566666660000000000000000
0000000000000000000000000ccc8cc0333034300aa55aa00004000006566560055555500ecce4e00757767000cccc0008888480566666660000000000000000
0000000000000000707070700ccc8cc0040004000aa55aa00004000006566560044554400eeee4e0075777700666666008888480566666660000000000000000
00000000bbbbbbbb7b7b7b7bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0000000000000000
00000000666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666600000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000880880d0009909900d0d0880099000000bb0bb000000000008b9ec00000000000000700007d7d7d000000000000fff00cc0cc0cc0550555000000000
00000000880880c0009909900c0c0880099000000ba0ba000bbbbb900ce8b9e000000000000707000d7d7d700a0a0a000ffffff0cc0cc0cc0440444000000000
00000000880880c0090990990c0c0880909909900ba0ba000b999990089beac000000000007070700d7d7d700a9a9a900eeeeef0ff0ff0ff0440444000000000
00000000880880c0090990990c0c0880909909900bb0bb000bbbbb900ed88ed000000000070707070d7d7d700a9a9a900ffffff0cc0cc0cc0550555000000000
00000000666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666600000000
00000000555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555500000000
__map__
272800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b8b8b8b800000000000000000000000000000000000000000000000000
3738000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b8b8b8b8b4b8b8bdb3bdb8b8b8b8b3b1b1b3b8b8b8b8bebebebebebebebeb8b2b8b8bdb8b8beb8b6b8b8b1b4b8b8b8b8b8b8b8b8b8b8b8b8bcb8b9b8bebebebdb1b8b9beb4b8b3b1b8bdb2b8b1b8
b9b9b9b5b1b5b2b5b8b8b8b8b8b8b8b8b8bdbbb8b8b8b5b3b7bdbcbcb2b8b5b5b5bdbabdb2b8b8b6b8bebebcbcbcbcbcbcbcb6b3b5b4b4b8b5bdb3bdb5bbb5b5b3b1b1b3b8b2b8babdb2babebebebabeb7b8b5b6b4b8b7b5bdb8b7b4b1b7b8b5bbbbbbb7b7b7b5b5bdb8bcbcb9b9bebebeb8b3b6beb8b9b6b6b2bdb4bab4bebd
b7b5b5b2babbbab5bdb2b1b3b6b6b2b8b8bdbbb9b5b6b4b3b8b7b4b7b8b8b5b8b5bdbabdb8b6b2b8b6bebeb5b5b5b5b5b5b5b6b3b3b5b8b5b8bdb3bdb5bbb5b5b3b1b3b3b8b2b8babdb2bab5bdb2babeb8b1beb8b8b4beb8b6b3b2b8b8b8b8b5bbbbbbb7b7b8b8b5bdb8b8bcb9b9beb8beb8b2b4b8bdb7bcb8b7b8b1b8b2b8b8
b1b2b5b2babbbab5b2b2b3b5b5b5b2b8b8bdbbb9b6b2b4b3b4b4b8b7b5b4b5b5b5bdbabdb2b8b8b2b8bebeb1b1b1b1b1b1b1b6b8b9b8b5b8b9bdb3bdb5bbb5b5b3b1b3b3b8bab8babdb2bab5bdb2babeb8b7b1b8b4b8b8b8b4b8b8b3b3b8b8b5bbbbbbb7b7b7b5b5bdb8bcbcb9b9bebebeb1b7bcb2beb8bdbab8b9b8bdb8b3b4
000000003a3a3a00000101010000000000000000009b9700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000097009c00000000000087888500870000000000000000988790009700000000000000000084008500009a000000000000000000008700870085
000000003a3a3a3a00013a0100000000000000000098969a000000000000000000000000000000000000000000000000000000000000000000000000970000000000000000009394959b000000000000858585908500880088960000009b83870096000000000000000000850085000095000000000000000087008600860085
000000003a3a3a3a000101010100000000000000009c96940000000000000000000000000000000000000000000000000000000000000000000000009c00000000000000830093969598000000000000858385878500848884940000009886838795000000878787878700850085000095000000000000000083008600850085
a7a2a3a4a2a5a1a6aba6a5a181a1a2a2a2acaba2a2929292a1a4a9a1a6a1a1a7a2a2aaa1a2a3a2a3a2a3a6a5a6a5a2a5a2a8a8a2a2a6a4a6a6aba4a492a6a2aca7a4a8a4828192929292aba4a6a9a6a18282828282abad82ad92a2a7a19282828292a1aaa68281828182a182a482a1ab9291a281a2a281a6a182a682a182a182
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000009a979a00000000000000000085860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
009000009494960094000093009b000085860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
8b9400009694940098000093009b000085860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00930000949696009400009b00930000838500000000008d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
a192a1a1929292a192a1a192a192a1a18282a19d9e9f9d9e9f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000008f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000008f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000870000000000850085000089000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000008300848583008700830086000083000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0082008200828282008200820082008182008100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__sfx__
000100000050013160155601516018560181601b560191601d5601c1601f5601d1601f5601e1601f5601d1601d5601a160185600f1601056011160145601416018560181601b5601a1601b560191601b56017160
001400000010000150001500015000100001500010002150001000015000150001500010000150001000215000100001500015000150001000015000100021500010000150001500015000100001500010005150
001400000a0500c0500c0500a050050500705007050050500a0500c0500c0500a0500c0500f0500f0500c05011050130501305011050130501605016050130501d0501b0501b0501d0501b05018050180501b050
361400000050200502275520050200502275520050200502275522455027552005022755227500275522455227550275002755227500275002755227500275002755224550275522750027552245522455222552
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0003000000503165531d5532155324553265532655325553225531e5531a5531855317553195531e5532055323553255532555325553255532555324553235532355322553215531d5531a5531a5531a55319553
010300002405324053240532405309053090530905309053240532405324053240530d0530d0530d0530d053240532405324053240530a0530a0530a0530a053240532405324053240530b0530b0530b0530b053
__music__
01 01424344
00 01024344
02 01024344
00 01020344