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 = { } pieces = 1 MAX_PIECES = 200 px = 0 py = 0 vx = 0 vy = 0 yacc = 0 function toomgis_radius() return 8 + (pieces / MAX_PIECES) * 30 end function add2body(n) if pieces < MAX_PIECES then pieces += 1 add(tbody, {n=n, r=toomgis_radius() + rnd(7), off=rnd(4)}) end -- growth chomp every 10 if pieces % 10 == 0 then sfx(6) end end function hitbody() to_remove = max(rnd(pieces * 0.5), 1) for i=0,to_remove do if pieces == 1 then break end pieces -= 1 deli(tbody) 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 end -->8 -- level levels = { { name="store aisle", sky=7, gnd=5, mapy=2, bad_item_ratio=0.1, 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 rectfill(0, 0, 128, 8, 2) print("size "..size..lvl.unit.." "..time_left.."S ".."GOAL: 100"..lvl.unit, 1, 1, 9) 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() else add2body(item.n) 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