From 1a699c9c9ad01168edb04b29ee4e95e0132c1632 Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Tue, 27 Sep 2022 02:38:52 +0300 Subject: Initial commit --- sneed.p8 | 302 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 302 insertions(+) create mode 100644 sneed.p8 diff --git a/sneed.p8 b/sneed.p8 new file mode 100644 index 0000000..fb29349 --- /dev/null +++ b/sneed.p8 @@ -0,0 +1,302 @@ +pico-8 cartridge // http://www.pico-8.com +version 38 +__lua__ +fov = 60 / 360 + +pl = { + ["x"] = 6.5, + ["y"] = 1.5, + ["a"] = 0.7, +} + +-- low quality raycast +-- returns x, y :: the coordinates of the tile that was hit +function shit_cast(x, y, dx, dy) + local delta_x = dx / 8 + local delta_y = dy / 8 + + local ray_x = x + local ray_y = y + + while mget(ray_x, ray_y) == 0 do + ray_x += delta_x + ray_y += delta_y + end + + return flr(ray_x), flr(ray_y) +end + +-- calculates the distance between two points +function calc_dist(x1, y1, x2, y2) + local dx = x1 - x2 + local dy = y1 - y2 + return sqrt(dx * dx + dy * dy) +end + +-- high qual raycast +-- returns +-- + tx, ty :: the coordinates of the tile that was hit +-- + lx, ly :: the coordinates within the tile (are on a wall exactly) +-- + dist :: distance from the start to the hit +function cast(x, y, a) + local dx = cos(a) + local dy = sin(a) + local tile_x, tile_y = shit_cast(x, y, dx, dy) + + local from_right = dx < 0 + local from_bottom = dy < 0 + + local vert_x = tile_x + if from_right then + vert_x += 1 + end + local vert_t = (vert_x - x) / dx + local vert_y = y + vert_t * dy + local vert_d = calc_dist(x, y, vert_x, vert_y) + + local horz_y = tile_y + if from_bottom then + horz_y += 1 + end + local horz_t = (horz_y - y) / dy + local horz_x = x + horz_t * dx + local horz_d = calc_dist(x, y, horz_x, horz_y) + + if vert_y < tile_y or vert_y >= tile_y + 1 then + return tile_x, tile_y, horz_x-tile_x, horz_y-tile_y, horz_d + elseif horz_x < tile_x or horz_x >= tile_x + 1 then + return tile_x, tile_y, vert_x-tile_x, vert_y-tile_y, vert_d + elseif vert_d < horz_d then + return tile_x, tile_y, vert_x-tile_x, vert_y-tile_y, vert_d + else + return tile_x, tile_y, horz_x-tile_x, horz_y-tile_y, horz_d + end +end + +-- returns +-- + dist :: distance to the hit +-- + tile :: tile index +-- + col :: tile column index +function ray(x, y, a) + local tx, ty, lx, ly, dist = cast(x, y, a) + local tile = mget(tx, ty) + + if lx == 0 then + return dist, tile, 1-ly + elseif lx == 1 then + return dist, tile, ly + elseif ly == 0 then + return dist, tile, lx + else + return dist, tile, 1-lx + end +end + + +function _draw() + cls(12) + local col + for col=0,1-1/128,1/128 do + local c,d,da,h,x,y,t + da = col*fov-fov/2 + d,t,c = ray(pl.x,pl.y,pl.a+da) + c *= 8 + d = d*cos(da) + h = flr(128/d) + x = 128*col + y = (128-h)/2 + for row=0,1-1/8,1/8 do + local tc, sy, ey + tc = sget(8*t+c,row*8) + sy = y+row*h + ey = y+(row+1/8)*h + line(x,sy,x,ey,tc) + end + line(x, h+y, x, 128, 3) + end + + ?"cpu "..(stat(1)*100).."%",0,0,7 + ?"fps "..stat(7),0,6 +end + +function _update() + if btn(⬅️) then pl.a -= 0.01 end + if btn(➡️) then pl.a += 0.01 end + local move = 0 + if btn(⬆️) then move += 0.08 end + if btn(⬇️) then move -= 0.08 end + local newx,newy + newx = pl.x + move*cos(pl.a) + if mget(newx,pl.y) == 0 then pl.x=newx end + newy = pl.y + move*sin(pl.a) + if mget(pl.x,newy) == 0 then pl.y=newy end +end +__gfx__ +000000005d555d55ddd6dddd00770077eeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +000000005d555d556d66d66d00770077eeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00700700dddddddd6ddd6ddd77007700e8e8e88e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00077000555d555dd6ddddd677007700e8eee88e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00077000555d555dddd66dd60077007788e8e8ee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +00700700dddddddd6dddddd60077007788e8e88e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +000000005d555d556ddd666d77007700eeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +000000005d555d55dd6dddd677007700eeeeeeee0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +__label__ +e77c777c7c7ccccc777c7ccccccc777c7ccc77cc7ccc7c7ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +7eec7c7c7c7ccccccc7c7ccccccc7ccc7cccc7cc7ccccc7ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +7eec777c7c7cccccc77c777ccccc777c777cc7cc777cc7cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +7eee7ccc7c7ccccccc7c7c7ccccccc7c7c7cc7cc7c7c7ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +e77e7cccc77ccccc777c777cc7cc777c777c777c777c7c7ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +777e777cc77ccccc777c777ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +7eee7e7c7ccccccccc7c7c7ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +77ee777e777cccccc77c7c7ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +7eee7eeeec7ccccccc7c7c7ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +7eee7eee77cccccc777c777ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc +eeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee8eeeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee888eeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee8888eeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee888888eeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee8888888eeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee888888888eeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee8888888888eeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee8888888888eeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee8888888888eeeeeeeeeeeeeeeeeeeeeeecccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee8888888888eeeeeeeeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeee88888888eeeeeeee88888 +eee8888888888eeeeee8eeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeeeeeeeeeeeeeeee88888888eeeeeeee88888 +eee8888888888eeeeee888eeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeee8eeeeeeeeeeeee88888888eeeeeeee88888 +eee8888888888eeeeee888eeeeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeee888eeeeeeeeeeeee88888888eeeeeeee88888 +eee8888888888eeeeee888ee8eeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccccceeeeeeeeeeeeeeee8888eeeeeeeeeeeee88888888eeeeeeee88888 +eee8888888888eeeeee888ee88eeeeeeeeeeeeeeeeccccccccccccccccccccccccccccccceeeeeeeeeeeeeeeee8888eeeeeeeeeeeee88888888eeeeeeee88888 +eee8888888888eeeeee888ee88ee8eeeeeeeeeeeeeeccccccccccccccccccccccccccccceeeeeeeeeeeeee88ee8888eeeeeeeeeeeee88888888eeeeeeee88888 +eee8888888888eeeeee888ee88ee888eeeeeeeeeeeecccccccccccccccccccccccccccceeeeeeeeeeeeeee88ee8888eeeeeeeeeeeee88888888eeeeeeee88888 +eee8888888888eeeeee888ee88ee888eeeeeeeeeeeee000000777777700000007777777eeeeeeeeeeee8ee88ee8888eeeeeeeeeeeee88888888eeeeeeee88888 +eee8888888888eeeeee888ee88ee888eeeeeeeeeeeee000000777777700000007777777eeeeeeeeeeee8ee88ee8888eeeeeeeeeeeee88888888eeeeeeee88888 +eee8888888888eeeeee888ee88ee888eee8eeeeeeeee000000777777700000007777777eeeeeee88eee8ee88ee8888eeeeeeeeeeeee88888888eeeeeeee88888 +eee8888888888eeeeee888ee88ee888eee8ee8eeeeee000000777777700000007777777eeeeee888eee8ee88ee8888eeeeeeeeeeeee88888888eeeeeeeeeeeee +eee8888888888eeeeee888ee88ee888eee8ee88eeeee000000777777700000007777777eeee8e888eee8ee88ee8888eeeeeeeeeeeee88888888eeeeeeeeeeeee +eee8888888888eeeeee888eeeeee888eee8ee88e88ee000000777777700000007777777ee8e8e888eee8ee88ee8888eeeeeeeeeeeee88888888eeeeeeeeeeeee +eee8888888888eeeeee888eeeeee888eee8ee88e888e0000007777777000000077777778e8e8e888eee8eeeeee8888eeeeeeeeeeeee88888888eeeeeeeeeeeee +eee8888888888eeeeee888eeeeee888eee8ee88e888e7777770000000777777700000008e8e8e888eee8eeeeee8888eeeeeeeeeeeee88888888eeeeeeeeeeeee +eee8888888888eeeeee888eeeeee888eee8ee88e888e7777770000000777777700000008e8e8ee88eee8eeeeee8888eeeeeeeeeeeee88888888eeeeeeeeeeeee +eee8888888888eeeeee888eeeeee888eee8ee88e8e8e7777770000000777777700000008e8e8ee88eee8eeeeee8888eeeeeeeeeeeee88888888eeeeeeeeeeeee +eee8888888888eeeeee888eeeeee888eee8ee88e8e8e7777770000000777777700000008e8e8ee88eee8eeeeee8888eeeeeeeeeeeee88888888eeeeeeeeeeeee +eee8888888888eeeeee888eeeeee888eee8ee88e8e8e7777770000000777777700000008e8e8ee88eee8eeeeee8888eeeeeeeeeeeee88888888eeeeeeeeeeeee +eee8888888888eeeeee888eeeeee888eee8ee88e8e8e7777770000000777777700000008e8e8ee88eee8eeeeee8888eeeeeeeeeeeee88888888eeeeeeeeeeeee +eee8888888888eeeeee888eeeeee888eee8ee88e8e8e7777770000000777777700000008e8e8ee88eee8eeeeee8888eeeeeeeeeeeee88888888eeeeeeeeeeeee +eee88888eeeeeeee888888ee88ee88ee888ee8e888880000007777777000000077777778e8e8e88eee88ee88ee88eeeee888888888888888888eeeeeeee88888 +eee88888eeeeeeee888888ee88ee88ee888ee8e888880000007777777000000077777778e8e8e88eee88ee88ee88eeeee888888888888888888eeeeeeee88888 +eee88888eeeeeeee888888ee88ee88ee888ee8e888880000007777777000000077777778e8e8e88eee88ee88ee88eeeee888888888888888888eeeeeeee88888 +eee88888eeeeeeee888888ee88ee88ee888ee8e888880000007777777000000077777778e8e8e88eee88ee88ee88eeeee888888888888888888eeeeeeee88888 +eee88888eeeeeeee888888ee88ee88ee888ee88888880000007777777000000077777778e8e8e88eee88ee88ee88eeeee888888888888888888eeeeeeee88888 +eee88888eeeeeeee888888ee88ee88ee888ee88888880000007777777000000077777778e8e8e888ee88ee88ee88eeeee888888888888888888eeeeeeee88888 +eee88888eeeeeeee888888ee88ee88ee888ee88888880000007777777000000077777778e8e8e888ee88ee88ee88eeeee888888888888888888eeeeeeee88888 +eee88888eeeeeeee888888ee88ee888e888ee88888ee777777000000077777770000000ee8e8e888ee88ee88ee88eeeee888888888888888888eeeeeeee88888 +eee88888eeeeeeee888888ee88ee888e888ee888eeee777777000000077777770000000eeee8e888ee88ee88ee88eeeee888888888888888888eeeeeeee88888 +eee88888eeeeeeee888888ee88ee888e888ee8eeeeee777777000000077777770000000eeeeee888ee88ee88ee8888eee888888888888888888eeeeeeee88888 +eee88888eeeeeeee888888ee88ee888e888eeeeeeeee777777000000077777770000000eeeeeee88ee88ee88ee8888eee888888888888888888eeeeeeee88888 +eee88888eeeeeeee888888ee88ee888e888eeeeeeeee777777000000077777770000000eeeeeeeeeee88ee88ee8888eee888888888888888888eeeeeeee88888 +eee88888eee88eee888888ee88ee888e8eeeeeeeeeee777777000000077777770000000eeeeeeeeeee88ee88ee8888eee888888888888888888eeeeeeee88888 +eee8888888888eee888888ee88ee888eeeeeeeeeeeee777777000000077777770000000eeeeeeeeeeeeeee88ee8888eee888888888888888888eeeeeeee88888 +eee8888888888eee888888ee88ee8eeeeeeeeeeeeee3333333333333333333333333333eeeeeeeeeeeeeee88ee8888eee888888888888888888eeeeeeee88888 +eee8888888888eee888888ee88eeeeeeeeeeeeeeee333333333333333333333333333333eeeeeeeeeeeeeee8ee8888eee888888888888888888eeeeeeee88888 +eee8888888888eee888888ee88eeeeeeeeeeeeeee33333333333333333333333333333333eeeeeeeeeeeeeeeee8888eee888888888888888888eeeeeeee88888 +eee8888888888eee888888eeeeeeeeeeeeeeeeee3333333333333333333333333333333333eeeeeeeeeeeeeeeee888eee888888888888888888eeeeeeee88888 +eee8888888888eee888888eeeeeeeeeeeeeeeee333333333333333333333333333333333333eeeeeeeeeeeeeeeeee8eee888888888888888888eeeeeeee88888 +eee8888888888eee8888eeeeeeeeeeeeeeeeee33333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeee888888888888888888eeeeeeee88888 +eee8888888888eee888eeeeeeeeeeeeeeeeee3333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeee888888888888888888eeeeeeee88888 +eee8888888888eee8eeeeeeeeeeeeeeeeeee333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee8888888888eeeeeeeeeeeeeeeeeeeeeee3333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee8888888888eeeeeeeeeeeeeeeeeeeeee333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee888888888eeeeeeeeeeeeeeeeeeeeee33333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee88888888eeeeeeeeeeeeeeeeeeeeee3333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee888888eeeeeeeeeeeeeeeeeeeeeee333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee8888eeeeeeeeeeeeeeeeeeeeeeee33333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee888eeeeeeeeeeeeeeeeeeeeeeee333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eee8eeeeeeeeeeeeeeeeeeeeeeeee33333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeeeee3333333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeeee333333333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeeee3333333333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeeee333333333333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeeee33333333333333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeeee3333333333333333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeeee333333333333333333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeeee33333333333333333333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeeee333333333333333333333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeee33333333333333333333333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeeee333333333333333333333333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeeee33333333333333333333333333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee +eeeeeeeeeeeeeeeeee3333333333333333333333333333333333333333333333333333333333333333333333333333333eeeeeeeeeeeeeee3333333333333333 +eeeeeeeeeeeeeeeee333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeeeeeeeeeeeeee3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeeeeeeeeeeeee33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeeeeeeeeeeeee33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeeeeeeeeeeee333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeeeeeeeeeee3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeeeeeeeeee33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeeeeeeeee333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeeeeeeeee333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeeeeeeee3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeeeeeee33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeeeeee333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeeeee3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeeeee3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeeee33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeeee333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeee3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eeee3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +eee33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +ee333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 +e3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333 + +__map__ +0101010102020202020100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0100000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0100000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0100000101010101010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0100000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0100000200000400000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0202020200000400000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0200000000000404040400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0200000400000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +0202020404040404040400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +__sfx__ +000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +001000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +001000001f5001f5001f5001f50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +000e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 +__music__ +01 40424344 +00 43444344 +02 45464344 +00 4748494a +00 4b4c4344 -- cgit v1.2.3