From 3870e3882e9c57e5207b5e37c336d1cb7fea729a Mon Sep 17 00:00:00 2001 From: Kistaro Windrider Date: Mon, 5 Feb 2024 09:25:06 -0800 Subject: [PATCH] sprite prototype --- vacation.p8 | 96 +++++++++++++++++++++++++++-------------------------- 1 file changed, 49 insertions(+), 47 deletions(-) diff --git a/vacation.p8 b/vacation.p8 index 95cea96..b0b6354 100644 --- a/vacation.p8 +++ b/vacation.p8 @@ -377,7 +377,8 @@ end -- dolphin sprite renderer phinstate_nrm = { - s={4, 36, 4, 9}, + --s={4, 36, 4, 9}, + s={4}, ws=3, hs=2, idle=true, @@ -464,11 +465,11 @@ function toyphin:update() -- button handling if self.entered and not self.exiting then - if y >= 61 and y <= 67 and dy < 1 and dy > -1 then - if (btn(2)) then + if y >= 61 and y <= 67 then + if (btn(2)) and dy < 1 then splash:jump_splash(x) dy=-3.8 - elseif (btn(3)) then + elseif (btn(3)) and dy > -1 then splash:dive_splash(x) dy=3.8 end @@ -494,7 +495,7 @@ function toyphin:update() end else -- brake - if dy > -1 then + if dy > -0.75 then --stabilize new_y = 64 dy = 0 @@ -515,7 +516,7 @@ function toyphin:update() end else --brake - if dy < 1 then + if dy < 0.75 then --stabilize new_y = 64 dy = 0 @@ -603,8 +604,9 @@ end -- 1: black (for sprites) -- 2: dolphin shading -- 3: azure water, maybe score display? (140) --- 4, 5, 6: unassigned, layer-specific --- 7: dolphin highlights +-- 4, 5: unassigned, layer-specific +-- 6: dolphin specular highlights +-- 7: dolphin white paint -- 8, 9: unassigned, layer specific -- 10: word primary (yellow 10?) -- 11: word shadow (wood 132?) @@ -626,13 +628,13 @@ end -- document what colors those -- are (nrm_pal) if so. game_nrm_pal = { - [0] = 1, 0, 2, 140, 4, 5, 6, 7, 8, 9, 10, 132, 12, 12, 14, 7 + [0] = 1, 0, 2, 140, 4, 5, 7, 7, 8, 9, 10, 132, 12, 12, 14, 7 } -- undersea palette local decisions: -- 4: deeper sea blue (129) game_uw_pal = { - [0]=1, 0, 130, 140, 129, 5, 6, 13, 8, 9, 10, 132, 131, 12, 141, 7 + [0]=1, 0, 130, 140, 129, 5, 141, 13, 8, 9, 10, 132, 131, 12, 141, 7 } function setup_arcade_pal() @@ -660,9 +662,9 @@ mknew(sea) function sea:draw() local w = wave() - rectfill(0, 72+w, 128, 80+w, 0) - poke2(0x5f78, 0xFF00.00FF <<> w) - rectfill(0, 81+w, 128, 89+w, 0x1040.a842) + rectfill(0, 66+w, 128, 77+w, 0) + poke2(0x5f78, 0xff00.00ff <<> w) + rectfill(0, 78+w, 128, 89+w, 0x1040.a842) rectfill(0, 90+w, 128, 97+(w>>1), 0x1004.e169) rectfill(0, 98+(w>>1), 128, 104+(w>>2), 0x1004.a842) rectfill(0, 104+(w>>2), 128, 110+(w>>2), 0x1004) @@ -715,7 +717,7 @@ mknew(arcade_level, function(x) -- Switch to small font -- (Dogica is too large to ever miss!) -?"\^@56000800\0\0\0\0\0\0\0\0\0`w\0g \0aw\0\0\0\0\0\0fw\0\0\0`'\0\0\0 \0pp\0\0\0`\0 \0!\0\0q333333wf\0V\0ヨu◆gw☉vP●\"s◝◆◝◝◝メ◝▒◝◆▒☉ヲ\0◝◆◝◝◝モ◝☉☉☉▒☉☉ユ\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\n\n\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\t\r\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\t\t\t\0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\t\t\t\0\0\0\0\0\0\0\0\0\r\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\t \r\t\0\0\0\t\t\t\0\0\0\0\0\0\t\t\r\0\0\0\0\0\0\0\0\0\0\0\t\t\t\t\0\0\0\t\t\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\0U*U*U*\0\0A]]>\0\0\0>ccw>\0\0\0DDD\0\0\0\0\0\0\0\0\0\0\06w6\0\0\0\n\0\0\0>*:\0\0\0>gcg>\0\0\0?-?!?\0\0\0\0\0\0>ckc>\0\0\0\0\0\0\0\0U\0\0\0\0\0>scs>\0\0\0>\"\0\0\0\0\0\0>wcc>\0\0\0\0R \0\0\0\0\0*D\0\0\0\0>kwk>\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \0\0\0\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\t\r\t\0\0\0\0\0\0\0\0\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 \n\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\t\t\0\0\0\0\t*9 \0\0\t\t\0\0!\nUr@\0\0\0\0\0\0\0\0\0\0\0\0\n\0\0\0\0\0\0\0\0\0 \r\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\n\0\t\t\0\0\0\0\0\0\0\0\0\0\0\n\0\t\0\0\0\0\0\0\0\0\0\0\0\r\0\0\0\0\t\t\0\0\0\t\t\0\0\t\0\t\t\0\0\t\0\0\t\t\0\0\0\0 \0\0\t\t\0\0\0\0\0\0\0\0\0\n\t\t\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\t\t\0\0\n\t \r\t\0\0\t\t\0\0\t\t\0\0\t\t\0\0\n\t\t\0\0\t\0\t\t\0\0\0\0\0\0\0\t\r\0\0\0\t\t\t\0\0\t\t\t\0\0\t\t\0\0\t\0\t\t\t\0\0\0\0\t\t\0\0\0\0" +?"\^@56000800⁴⁵⁷\0\0¹\0\0\0\0\0\0\0`w\0g \0aw\0⁶⁶\0\0\0\0\0fw⁷¹\0\0\0`⁷'\0\0\0▮ \0pp\0\0\0¹▮`\0 ■▮\0▮!\0\0⁶q33⁙■⁙3□⁙3▮33■wf\0V\0ヨu◆▶g○w☉vP●「\"s◝◆◝¹◝◝メ◝▒◝◆○▒☉ヲ\0◝◆◝¹◝◝モ◝☉☉☉⁸▒☉☉ユ\0⁷⁷⁷⁷⁷\0\0\0\0⁷⁷⁷\0\0\0\0\0⁷⁵⁷\0\0\0\0\0⁵²⁵\0\0\0\0\0⁵\0⁵\0\0\0\0\0⁵⁵⁵\0\0\0\0⁴⁶⁷⁶⁴\0\0\0¹³⁷³¹\0\0\0⁷¹¹¹\0\0\0\0\0⁴⁴⁴⁷\0\0\0⁵⁷²⁷²\0\0\0\0\0¹\0\0\0\0\0\0\0\0¹²\0\0\0\0\0\0³³\0\0\0⁵⁵\0\0\0\0\0\0²⁵²\0\0\0\0\0\0\0\0\0\0\0\0\0¹¹¹\0¹\0\0\0⁵⁵\0\0\0\0\0\0\n゜\n゜\n\0\0\0²⁷³⁶⁷²\0\0⁵⁴²¹⁵\0\0\0²⁵ᵉ⁵ᵉ\0\0\0¹¹\0\0\0\0\0\0²¹¹¹²\0\0\0¹²²²¹\0\0\0⁵²⁷²⁵\0\0\0\0²⁷²\0\0\0\0\0\0\0\0¹¹\0\0\0\0⁷\0\0\0\0\0\0\0\0\0¹\0\0\0⁴⁴²¹¹\0\0\0²⁵⁵⁵²\0\0\0²³²²⁷\0\0\0³⁴²¹⁷\0\0\0³⁴²⁴³\0\0\0⁵⁵⁷⁴⁴\0\0\0⁷¹³⁴³\0\0\0⁶¹³⁵²\0\0\0⁷⁴⁴²²\0\0\0²⁵²⁵²\0\0\0²⁵⁶⁴³\0\0\0\0¹\0¹\0\0\0\0\0\0¹\0¹¹\0\0\0²¹²\0\0\0\0\0³\0³\0\0\0\0\0¹²¹\0\0\0\0³⁴²\0²\0\0\0⁶\t\r¹⁶\0\0\0\0³⁶⁵⁷\0\0\0¹³⁵⁵³\0\0\0\0⁶¹¹⁶\0\0\0⁴⁶⁵⁵⁶\0\0\0\0²⁵³⁶\0\0\0⁴²⁷²²\0\0\0\0⁶⁵⁶⁴³\0\0¹¹³⁵⁵\0\0\0¹\0¹¹¹\0\0\0²\0²²²¹\0\0¹⁵³⁵⁵\0\0\0¹¹¹¹²\0\0\0\0ᶠ‖‖‖\0\0\0\0³⁵⁵⁵\0\0\0\0²⁵⁵²\0\0\0\0³⁵⁵³¹\0\0\0⁶⁵⁵⁶⁴\0\0\0³⁵¹¹\0\0\0\0⁶³⁶³\0\0\0²⁷²²⁶\0\0\0\0\t\t\t⁶\0\0\0\0⁵⁵⁵³\0\0\0\0■■‖\n\0\0\0\0⁵²⁵⁵\0\0\0\0⁵⁵⁵⁶³\0\0\0⁷⁶³⁷\0\0\0³¹¹¹³\0\0\0¹²²²⁴\0\0\0³²²²³\0\0\0²⁵\0\0\0\0\0\0\0\0\0\0⁷\0\0\0²⁴\0\0\0\0\0\0²⁵⁷⁵⁵\0\0\0³⁵³⁵³\0\0\0⁶¹¹¹⁶\0\0\0⁷\t\t\t⁷\0\0\0⁷¹³¹⁷\0\0\0⁷¹³¹¹\0\0\0ᵉ¹\r\t⁶\0\0\0⁵⁵⁷⁵⁵\0\0\0¹¹¹¹¹\0\0\0⁴⁴⁴⁴⁵²\0\0⁵⁵³⁵⁵\0\0\0¹¹¹¹⁷\0\0\0■•‖■■\0\0\0\tᵇᶠ\r\t\0\0\0⁶\t\t\t⁶\0\0\0³⁵³¹¹\0\0\0⁶\t\t\r⁶⁸\0\0³⁵³⁵⁵\0\0\0⁶¹²⁴³\0\0\0⁷²²²²\0\0\0\t\t\t\t⁶\0\0\0\t\t\t⁵³\0\0\0■■‖•■\0\0\0⁵⁵²⁵⁵\0\0\0⁵⁵²²²\0\0\0⁷⁴²¹⁷\0\0\0⁶²¹²⁶\0\0\0¹¹\0¹¹\0\0\0³²⁴²³\0\0\0\0\0\n⁵\0\0\0\0³³\0\0\0\0\0\0○○○○○○\0\0U*U*U*\0\0A○]]>\0\0\0>ccw>\0\0\0■D■D■D\0\0²゛ᵉᶠ⁸\0\0\0ᵉ▶゜゜ᵉ\0\0\0•゜゜ᵉ⁴\0\0\0、6w6、\0\0\0ᵉᵉ゜ᵉ\n\0\0\0、>○*:\0\0\0>gcg>\0\0\0?-?!?\0\0\0、⁴⁴⁷⁷\0\0\0>ckc>\0\0\0⁴ᵉ゜ᵉ⁴\0\0\0\0\0U\0\0\0\0\0>scs>\0\0\0⁸、○>\"\0\0\0゜ᵉ⁴ᵉ゜\0\0\0>wcc>\0\0\0\0⁵R \0\0\0\0\0■*D\0\0\0\0>kwk>\0\0\0゜\0゜\0゜\0\0\0‖‖‖‖‖\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0¹\0¹¹¹\0\0\0⁴ᵉ⁵ᵉ⁴\0\0ᶜ²⁷²ᶠ\0\0\0■ᵉ\nᵉ■\0\0\0⁵⁵²⁷²\0\0\0¹¹\0¹¹\0\0\0⁶³⁵⁶³\0\0\0⁵\0\0\0\0\0\0\0⁶\t\r\t⁶\0\0\0³⁶⁵⁷\0\0\0\0\0□\t□\0\0\0\0\0\0⁷⁴\0\0\0\0\0\0\0\0\0\0\0\0³⁵³⁵\0\0\0\0⁷\0\0\0\0\0\0\0²⁵²\0\0\0\0\0²⁷²\0⁷\0\0\0³²¹³\0\0\0\0¹³²¹\0\0\0\0²¹\0\0\0\0\0\0\0\0⁵⁵³¹\0\0ᶠᵇᵇ\n\n\0\0\0\0\0¹\0\0\0\0\0\0\0\0\0²³\0\0²³²²\0\0\0\0²⁵²\0\0\0\0\0\0\t□\t\0\0\0\0■\t⁵*9 \0\0■\t。□\t「\0\0!⁙\nUr@\0\0\0²\0²¹⁶\0\0²⁴³⁶⁵⁷\0\0²¹³⁶⁵⁷\0\0²⁵³⁶⁵⁷\0\0\n⁵³⁶⁵⁷\0\0⁵\0³⁶⁵⁷\0\0²\0³⁶⁵⁷\0\0\0ᵇ◀\r゜\0\0\0\0\0ᵉ¹ᵉ⁴\0\0²⁴²⁵³⁶\0\0²¹²⁵³⁶\0\0²⁵²⁵³⁶\0\0⁵\0²⁵³⁶\0\0¹²\0\0²²\0\0²¹\0\0¹¹\0\0²⁵\0\0²²\0\0⁵\0\0\0²²\0\0ᵉ□▶□ᵉ\0\0\0\n⁵\0⁷\t\t\0\0¹²\0²⁵²\0\0⁴²\0²⁵²\0\0²⁵\0²⁵²\0\0\n⁵\0⁶\t⁶\0\0⁵\0\0²⁵²\0\0\0⁵²⁵\0\0\0\0▮ᵉ‖□\r\0\0\0²⁴\0\t\t⁶\0\0⁴²\0\t\t⁶\0\0⁶\t\0\t\t⁶\0\0\t\0\0\t\t⁶\0\0⁴²\0⁵⁵⁶³\0¹⁵ᵇᵇ⁵¹\0\0⁶\t⁵\t⁵\0\0\0²⁴²⁵⁷⁵\0\0²¹²⁵⁷⁵\0\0²⁵²⁵⁷⁵\0\0\n⁵⁶\tᶠ\t\0\0⁵\0²⁵⁷⁵\0\0²\0²⁵⁷⁵\0\0゛⁵ᶠ⁵。\0\0\0ᵉ¹¹¹ᵉ⁴\0\0²⁴⁷³¹⁷\0\0²¹⁷³¹⁷\0\0²⁵⁷³¹⁷\0\0⁵\0⁷³¹⁷\0\0¹²\0²²²\0\0²¹\0¹¹¹\0\0²⁵\0²²²\0\0⁵\0\0²²²\0\0²⁵ᵉ\t\t⁶\0\0\n⁵\tᵇ\r\t\0\0²⁴⁶\t\t⁶\0\0⁴²⁶\t\t⁶\0\0²⁵⁶\t\t⁶\0\0\n⁵⁶\t\t⁶\0\0\t\0⁶\t\t⁶\0\0²\0⁷\0²\0\0\0◀\t‖□\r\0\0\0²⁴\t\t\t⁶\0\0⁴²\t\t\t⁶\0\0²⁵⁸\t\t⁶\0\0\t\0\t\t\t⁶\0\0⁴²⁵⁵²²\0\0¹⁷\t\t⁷¹\0\0⁵\0⁵⁵²²\0" poke(0x5f58,0x81) -- enable custom font end) @@ -766,7 +768,7 @@ function arcade_level:draw() end function arcade_level:draw_splash(x, force) - if (force < 1) return + if (force < 0.5) return local n = (force + rnd(force)) & 0x7FF for i=0,n do local d = droplet.new{x=x, force=force, y=72+wave(), f=i/n-0.5} @@ -824,35 +826,35 @@ end -->8 -- game sequencer __gfx__ -00888800777777777777777777777777777777777777777777777777777777777777777777777777777777777777777700000000000000000000000000000000 -0888e780700000000000000000000007700000000000000000000007700000000000000770000000000000000000000700000000000000000000000000000000 -88888878700000000000000000000007700000000000000000000007700002222220000770000000000000000000000700000000000000000000000000000000 -88a8a8e8700000000000000000000007700000000000000000000007700002eeee20000770000000000000000000000700000000000000000000000000000000 -888a888870000000000000000000000770000000000000000000000770000222e220000770222200000000000000000700000000000000000000000000000000 -88a8a888700000000000000000000007702222022222222222222207700002eeee200007702ee222222222222222220700000000000000000000000000000000 -08888880700000000000000000000007702ee222e22e22ee22e2e2077000022222200007702e2e22e22e22ee22e2e20700000000000000000000000000000000 -00888800700000000000000000000007702e2e2e2e2e22e2e2e2e2077000022e22000007702e2e2e2e2e22e2e2e2e20700000000000000000000000000000000 -00000000700000000000000000000007702e2e2e2e2e22ee22eee207700002e2e2200007702eee2e2e2e22ee22eee20700000000000000000000000000000000 -00000000702222022222222222222207702eee22e22ee2e222e2e207700002eeee20000770222222e22ee2e222e2e20700000000000000000000000000000000 -00000000702ee222e22e22ee22e2e207702222222222222202222207700002222220000770000022222222220222220700000000000000000000000000000000 -00000000702e2e2e2e2e22e2e2e2e207700000000000000000000007700002222e20000770000000000000000000000700000000000000000000000000000000 -00000000702e2e2e2e2e22ee22eee207700000000000000000000007700002eeee20000770000000000000000000000700000000000000000000000000000000 -00000000702eee22e22ee2e222e2e207700000000000000000000007700002222220000770000000000000000000000700000000000000000000000000000000 -000000007022222222222222022222077000000000000000000000077000022ee220000770000000000000000000000700000000000000000000000000000000 -00000000700000000000000000000007777777777777777777777777700002e22e20000777777777777777777777777700000000000000000000000000000000 -000000007000000000000000000000077777777777777777777777777000022ee220000700000000000000000000000000000000000000000000000000000000 -00000000700000000000000000000007700000000000000000000007700000222220000700000000000000000000000000000000000000000000000000000000 -000000007000000000000000000000077000000000000000000000077000022eee20000700000000000000000000000000000000000000000000000000000000 -00000000700000000000000000000007700000000000000000000007700002e22e20000700000000000000000000000000000000000000000000000000000000 -00000000700000000000000000000007700000000000000000000007700002eeee20000700000000000000000000000000000000000000000000000000000000 -00000000700000000000000000000007700000022222222222222207700002222220000700000000000000000000000000000000000000000000000000000000 -0000000070000000000000000000000770222222e22e22ee22e2e207700000000000000700000000000000000000000000000000000000000000000000000000 -00000000777777777777777777777777702ee22e2e2e22e2e2e2e207777777777777777700000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000702e2e2e2e2e22ee22eee207000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000702e2e22e22ee2e222e2e207000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000702eee222222222202222207000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000702222200000000000000007000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000700000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000700000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000700000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000 -00000000000000000000000000000000777777777777777777777777000000000000000000000000000000000000000000000000000000000000000000000000 +00888800777777777777777777777777000000000000000000000000777777777777777700000000000000000000000000000000000000000000000000000000 +0888e780700000000000000000000007000000000000000000000000700000000000000700000000000000000000000000000000000000000000000000000000 +88888878700000000000000000000007000000000000000000000000700002222220000700000000000000000000000000000000000000000000000000000000 +88a8a8e8700000000000000000000007000000000000000000000000700002eeee2000070000000000ee00000000000000000000000000000000000000000000 +888a888870000000000000000000000700000000022260000000000070000222e22000070000000000e7e00000000000000000000eee70000000000000000000 +88a8a888700000000000000000000007000000000022260000000000700002eeee20000700000000002e7e00000000000000000000eee7000000000000000000 +08888880700000000000000000000007000000000002222600000000700002222220000700000000000ee7ee0000000000000000000eeee70000000000000000 +008888007000000000000000000000070220000000266222662000007000022e2200000700000000e7eee7e77ee000000ee0000000ee7eee77e0000000000000 +00000000700000000000000000000007226200002662222222222000700002e2e22000070e00000eee7eeeeeeeeee000ee7e0000e77eeeeeeeeee00000000000 +00000000702222022222222222222207022626622222222227772620700002eeee200007e77e0e7eeeee77eee777e7e00e77eeeeeeeeeeeee777e7e000000000 +00000000702ee222e22e22ee22e2e2070e2622222222222227c122627000022222200007eee7eee7e222eeeee7c1ee7e02e7ee77eeeeeeeee7c1ee7e00000000 +00000000702e2e2e2e2e22e2e2e2e207222222eee222222222eee262700002222e20000702eeeee2222222eeee222e7eeeeeee222eeeeeeeee222e7e00000000 +00000000702e2e2e2e2e22ee22eee207222eeeeeeeeee2222eeeeee0700002eeee2000072e7ee20000022eeee2222220eee2222222222eeee222222000000000 +00000000702eee22e22ee2e222e2e2072eee0000eeee22262eeee0007000022222200007eeee20000000ee7e22222000e22200002222ee7e2222200000000000 +00000000702222222222222202222207ee00000000022262000000007000022ee2200007ee220000000eeee70000000022000000000eeee70000000000000000 +00000000700000000000000000000007000000000022220000000000700002e22e200007020000000eee220000000000000000000eee22000000000000000000 +000000007000000000000000000000070000000000000000000000007000022ee220000700000000000000000000000000000000000000000000000000000000 +00000000700000000000000000000007000000000000000000000000700000222220000700000000000000000000000000000000000000000000000000000000 +000000007000000000000000000000070000000000000000000000007000022eee20000700000000000000000000000000000000000000000000000000000000 +000000007000000000000000000000070000000000ee000000000000700002e22e20000700000000000000000000000000000000000000000000000000000000 +000000007000000000000000000000070000000000e7e00000000000700002eeee200007000000000222e0000000000000000000022270000000000000000000 +0000000070000000000000000000000700e00000002e7e000000000070000222222000070000000000222e000000000000000000002227000000000000000000 +000000007000000000000000000000070eee0000000ee7ee000000007000000000000007000000000002222e0000000000000000000222270000000000000000 +000000007777777777777777777777770e7e0000002ee7e77ee000007777777777777777022000000022e222ee20000002200000002272227720000000000000 +0000000000000000000000000000000002e7ee0002ee7eeeeeeee000000000000000000022e200002ee222222222200022720000277222222222200000000000 +00000000000000000000000000000000eeeee7eeee777eeee777e7e0000000000000000002ee22222222222227772e2002772222222222222777272000000000 +00000000000000000000000000000000eee22e77eeeeeeeee7c1ee7e0000000000000000022e22ee2222222227c122e20e2722772222222227c1227200000000 +00000000000000000000000000000000220022222eeeeeeeee222e7e00000000000000002222227772222222227772e2222222eee222222222eee27200000000 +000000000000000000000000000000000000002222222eeee22222200000000000000000222777777777722227777770222eeeeeeeeee2222eeeeee000000000 +00000000000000000000000000000000000000002222ee7e22222000000000000000000027770000777722e2777770002eee0000eeee2272eeeee00000000000 +0000000000000000000000000000000000000000000eeee7000000000000000000000000770000000002222e00000000ee000000000222270000000000000000 +00000000000000000000000000000000000000000eee2200000000000000000000000000000000000222770000000000000000000222ee000000000000000000