First servicable

This commit is contained in:
Pyrex 2022-12-29 17:30:30 -08:00
parent 510e69cd50
commit 5d59961531

View File

@ -138,17 +138,6 @@ function _rast(
_add() _add()
end end
function _draw_borders(px0,py0,px1,py1,free,c)
if (free(-1,0)) line(px0,py0,px0,py1,c)
if (free(1,0)) line(px1,py0,px1,py1,c)
if (free(0,-1)) line(px0,py0,px1,py0,c)
if (free(0,1)) line(px0,py1,px1,py1,c)
if (free(-1,0) and free(0,-1)) rectfill(px0-1,py0-1,px0,py0,c)
if (free(1,0) and free(0,-1)) rectfill(px1+1,py0-1,px1,py0,c)
if (free(-1,0) and free(0,1)) rectfill(px0-1,py1+1,px0,py1,c)
if (free(1,0) and free(0,1)) rectfill(px1+1,py1+1,px1,py1,c)
end
-->8 -->8
-- input -- input
@ -263,9 +252,9 @@ end
pitpal = {[0]=1,[7]=0,[6]=1,[4]=1} pitpal = {[0]=1,[7]=0,[6]=1,[4]=1}
function level:draw() function level:draw()
fillp(0b1111111110111111) fillp(0b1111111110111111)
rectfill(0,0,127,127,0x33) rectfill(0,0,127,127,0x55)
fillp() fillp()
pal(11,0) pal(2,1) pal(14,0)
map( map(
self.bigx*16,self.bigy*16, self.bigx*16,self.bigy*16,
0,0,16,16, 0,0,16,16,
@ -277,15 +266,15 @@ function level:draw()
local function edge_at(x,y) return not self._pits[_mix(pit.mx+x,pit.my+y)] end local function edge_at(x,y) return not self._pits[_mix(pit.mx+x,pit.my+y)] end
local pr=self._pits[_mix(px+1,py)] local pr=self._pits[_mix(px+1,py)]
spr(pit.s,px,py) spr(pit.s,px,py)
--_draw_borders(px+1,py+1,px+6,py+6,edge_at,5) if (edge_at(-1,0)) pset(px,py,0)
_draw_borders(px,py,px+7,py+7,edge_at,8) if (edge_at(1,0)) pset(px+7,py,0)
if pit.contents then if pit.contents then
pal(pitpal) pal(pitpal)
palt(0,false) palt(0,false)
spr(pit.contents,pit.px,pit.py) spr(pit.contents,pit.px,pit.py)
pal() pal()
pal(11,0) pal(2,1) pal(14,0)
end end
end end
for _,crate in pairs(self._crates) do for _,crate in pairs(self._crates) do
@ -1703,30 +1692,30 @@ function level_text:draw()
end end
end end
__gfx__ __gfx__
000030000000002200003000ffff1111111111111111ffff00000000000000000000000000000000000000000000000011111111000000000005000000000000 000030000000002200003000eeeeeeeeeeeeeeeeeeeeeeee000000000000000000000000000000000000000000000000333333330000000000050000eeeeeeee
003333300000332200333330f77ffffffffffffffffff77f00000000000000000000000000000000000000000000000011111111000000000000500000000000 003333300000332200333330effffffffffffffffffffffe000000000000000000000000000000000000000000000000333333330000000000005000eeeeeeee
099333990039932009333339f77ffffffffffffffffff77f00000000000000000000000000000000000000000000000011111111000000000000000000000000 099333990039932009333339effeeeeeeeeeeeeeeeeeeffe000000000000000000000000000000000000000000000000333333330000000000000000eeeeeeee
09a333a9033a932009333339ffff5555555555555555ffff00000000000000000000000000000000000000000000000011111111000000005005005000000000 09a333a9033a932009333339efeebbebbbbebbbebbbbeefe000000000000000000000000000000000000000000000000333333330000000050050050eeeeeeee
0233333233333200002222201ff5f55555555555555f5ff100000000000000000000000000000000000000000000000011111111000000000500500500000000 023333323333320000222220efeb33e3333e333e3333befe000000000000000000000000000000000000000000000000333333330000000005005005eeeeeeee
0022222000002200002222201ff55f555555555555f55ff100000000000000000000000000000000000000000000000011111111000000000000000000000000 002222200000220000222220efeb3eeeeeeeeeeeeee3befe000000000000000000000000000000000000000000000000333333330000000000000000eeeeeeee
000222c002222c00000222001ff555bbbbbbbbbbbb555ff100000000000000000000000000000000000000000000000011111111000000000005000000000000 000222c002222c0000022200efeeee555e555e55e5eeeefe000000000000000000000000000000000000000000000000333333330000000000050000e55eeeee
00000cc00000cc0000000cc01ff555bbbbbbbbbbbb555ff100000000000000000000000000000000000000000000000011111111000000000000500000000000 00000cc00000cc0000000cc0efeb3e5eeeeeeeeee5e3befe0000000000000000000000000000000000000000000000003333333300000000000050005555ee55
0000ff0000000000000000001ff555bb00000000bb555ff1000000000000000000000000000000000000000000000000bbbbbbbb000000000000000000000000 0000ff000000000000000000efeb3e5e00000000e5e3befe000000000000000000000000000000000000000000000000eeeeeeee5e55e5e55e55e5e5eeeeeeee
000f00f0000000000aa00aa01ff555bb00000000bb555ff1000000000000000000000000000000000000000000000000bbbbbbbb000000000000000000000000 000f00f0000000000aa00aa0efeb3eee00000000eee3befe000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00d0000f000000000aaaaaa01ff555bb00000000bb555ff1000000000000000000000000000000000000000000000000bbbbbbbb000000000000000000000000 00d0000f000000000aaaaaa0efeb3e5e00000000e5e3befe000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeee5ee5e5eeeeeeeee
00d0d00f00c040500aaaaaa01ff555bb00000000bb555ff1000000000000000000000000000000000000000000000000bbbbbbbb000000000000000000000000 00d0d00f00c040500aaaaaa0efeeee5e00000000e5eeeefe000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00dd00ee00c44550009999001ff555bb00000000bb555ff1000000000000000000000000000000000000000000000000bbbbbbbb000000000000000000000000 00dd00ee00c4455000999900efeb3e5e00000000e5e3befe000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeee5eeeeeeeeeee
00000ee00c44455500aaaa001ff555bb00000000bb555ff1000000000000000000000000000000000000000000000000bbbbbbbb000000000000000000000000 00000ee00c44455500aaaa00efeb3eee00000000eee3befe000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
00eeee000c004005000aa0001ff555bb00000000bb555ff1000000000000000000000000000000000000000000000000bbbbbbbb000000000000000000000000 00eeee000c004005000aa000efeb3e5e00000000e5e3befe000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeeeee5eee55
eeee0000cc044055004444001ff555bb00000000bb555ff1000000000000000000000000000000000000000000000000bbbbbbbb000000000000000000000000 eeee0000cc04405500444400efeeee5e00000000e5eeeefe000000000000000000000000000000000000000000000000eeeeeeeeeeeeeeeeeeeeeeee55555555
00000000000a9000000000001ff555bbbbbbbbbbbb555ff100000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000a900000000000efeb3eeeeeeeeeeeeee3befe00000000000000000000000000000000000000000000000000000000000000000000000000000000
00000aaaaaaa9100000000001ff555bbbbbbbbbbbb555ff100000000000000000000000000000000000000000000000000000000000000000000000000000000 00000aaaaaaa910000000000efeb3e5555e555e555e3befe00000000000000000000000000000000000000000000000000000000000000000000000000000000
0000aaaaaa1a9110000000001ff55f555555555555f55ff100000000000000000000000000000000000000000000000000000000000000000000000000000000 0000aaaaaa1a911000000000efeb3eeeeeeeeeeeeee3befe00000000000000000000000000000000000000000000000000000000000000000000000000000000
0aaaaaaaaa1a9111000000001ff5f55555555555555f5ff100000000000000000000000000000000000000000000000000000000000000000000000000000000 0aaaaaaaaa1a911100000000efeb33e3333e333e3333befe00000000000000000000000000000000000000000000000000000000000000000000000000000000
0aaaaaaaa41a91a100000000ffff5555555555555555ffff00000000000000000000000000000000000000000000000000000000000000000000000000000000 0aaaaaaaa41a91a100000000efeebbebbbbebbbebbbbeefe00000000000000000000000000000000000000000000000000000000000000000000000000000000
0a000aa4441a91a100000000f77ffffffffffffffffff77f00000000000000000000000000000000000000000000000000000000000000000000000000000000 0a000aa4441a91a100000000effeeeeeeeeeeeeeeeeeeffe00000000000000000000000000000000000000000000000000000000000000000000000000000000
00a0044449a110a100000000f77ffffffffffffffffff77f00000000000000000000000000000000000000000000000000000000000000000000000000000000 00a0044449a110a100000000effffffffffffffffffffffe00000000000000000000000000000000000000000000000000000000000000000000000000000000
000aa1119911111000000000ffff1111111111111111ffff00000000000000000000000000000000000000000000000000000000000000000000000000000000 000aa1119911111000000000eeeeeeeeeeeeeeeeeeeeeeee00000000000000000000000000000000000000000000000000000000000000000000000000000000
000000009910000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddd00ddddddddddddddddddddddddddd 000000009910000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddd00ddddddddddddddddddddddddddd
000000009900000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddd00ddddddddddddddddddddddddddd 000000009900000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddd00ddddddddddddddddddddddddddd
000000009900000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddd77ddddddddddddddddddddddddddd 000000009900000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddd77ddddddddddddddddddddddddddd
@ -1735,14 +1724,14 @@ eeee0000cc044055004444001ff555bb00000000bb555ff100000000000000000000000000000000
0000000077a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddddddddddddddddddd77ddddddddddd 0000000077a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddddddddddddddddddd77ddddddddddd
00000007777a000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddddddddddddddddddd00ddddddddddd 00000007777a000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddddddddddddddddddd00ddddddddddd
000444444444440000000000000000000000000000000000000000000000000000000000000000000000000000000000ddddddddddddddddddd00ddddddddddd 000444444444440000000000000000000000000000000000000000000000000000000000000000000000000000000000ddddddddddddddddddd00ddddddddddd
444444444440044444444444444444444444444444400444444444444440044444444444444004444444444444400444444444444440044444444444aaa00aaa 44444444444004444444444444444444444444444440044444444444444004444444444444400444444444444440044444444444444004444444444444400444
477667744770077447766774477007744776677447700774477667744770077447766774477007744776677447700774477667744770077447766774abb11bba 47766774477007744776677447700774477667744770077447766774477007744776677447700774477667744770077447766774477007744776677447700774
477777744777777447777774477777744777777447777774477777744777777447777774477777744777777447777774477777744777777447777774abbbbbba 47777774477777744777777447777774477777744777777447777774477777744777777447777774477777744777777447777774477777744777777447777774
46700764467007644670070046700700467007644670076446700700467007000070076400700764007007000070070000700764007007640070070001b77b10 46700764467007644670070046700700467007644670076446700700467007000070076400700764007007000070070000700764007007640070070000700700
46700764467007644670070046700700467007644670076446700700467007000070076400700764007007000070070000700764007007640070070001b77b10 46700764467007644670070046700700467007644670076446700700467007000070076400700764007007000070070000700764007007640070070000700700
477777744777777447777774477777744777777447777774477777744777777447777774477777744777777447777774477777744777777447777774abbbbbba 47777774477777744777777447777774477777744777777447777774477777744777777447777774477777744777777447777774477777744777777447777774
477667744776677447766774477667744770077447700774477007744770077447766774477667744776677447766774477007744770077447700774abb11bba 47766774477667744776677447766774477007744770077447700774477007744776677447766774477667744776677447700774477007744770077447700774
444444444444444444444444444444444440044444400444444004444440044444444444444444444444444444444444444004444440044444400444aaa00aaa 44444444444444444444444444444444444004444440044444400444444004444444444444444444444444444444444444400444444004444440044444400444
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
@ -1898,7 +1887,7 @@ __label__
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777 77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
__gff__ __gff__
000000c0c0c0080000000000c0c00000000000c008c008000000000020000000404000c0c0c008080808080800000000404000080808080808080808c0c0c0c000000000080808080808080800000000000000000808080808080808000000000008080808080808080808080000000000080808080808080808080800000000 000000c0c0c0080000000000c0c00020000000c008c008000000000020202020404000c0c0c008080808080800000000404000080808080808080808c0c0c0c000000000080808080808080800000008000000000808080808080808000000000008080808080808080808080000000000080808080808080808080800000000
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
__map__ __map__
0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c120c0c0c0c0c0c0c0c0c010c0c0c0c0c0c0c0c0c0c0c0c0c0c120c0c0c0c0c0c0c0c0c0c0c0c0c0c0c3e0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e 0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c120c0c0c0c0c0c0c0c0c010c0c0c0c0c0c0c0c0c0c0c0c0c0c120c0c0c0c0c0c0c0c0c0c0c0c0c0c0c3e0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e
@ -1908,8 +1897,8 @@ __map__
0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000000000000000000000c1c001c0c0c0000000000000c000000000000000c0c00001c1c000000000c000c0000000c0c000000000000000000000c0000410c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0000000000000000000000000000000e000000000000000000000000000000 0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000000000000000000000c1c001c0c0c0000000000000c000000000000000c0c00001c1c000000000c000c0000000c0c000000000000000000000c0000410c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0000000000000000000000000000000e000000000000000000000000000000
0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000000000000000000000c0000000c0c0000000000000c000000000000000c0c00001c480c004200001c430000000c0c0c0c0c000c0c0c0c00000c00001c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0000000000000e0e000000000000000e00000000000e0e0e0e000000000000 0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000000000000000000000c0000000c0c0000000000000c000000000000000c0c00001c480c004200001c430000000c0c0c0c0c000c0c0c0c00000c00001c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0000000000000e0e000000000000000e00000000000e0e0e0e000000000000
0c03040404040404040404040404050c0c000000000000000000000c0000000c0c0000000000000c000000000000000c0c000000000c0000000000000000000c3d00001c001c00003f0c0c0c0c0c000c0c0c0c1c1c1c1c1c1c1c1c1c1c0c0c0c0e00000000000e0000000000000000000e00000000000000000e000000000000 0c03040404040404040404040404050c0c000000000000000000000c0000000c0c0000000000000c000000000000000c0c000000000c0000000000000000000c3d00001c001c00003f0c0c0c0c0c000c0c0c0c1c1c1c1c1c1c1c1c1c1c0c0c0c0e00000000000e0000000000000000000e00000000000000000e000000000000
0c13001c1c1c00000c0000000000150c01000000000000000000000c0000000c0c0c0c00000c0c0c000000000000000c0c000000000c0c0c0c0000000c0c0c0c0c00001c1c1c00000c0c0c0c0c0c000c0c0c00001c1c1c1c1c1c1c1c00003f0c0e00000000000e0e0e000000000000000e000000000000000e00000000000000 0c13001c1d1e00000c0000000000150c01000000000000000000000c0000000c0c0c0c00000c0c0c000000000000000c0c000000000c0c0c0c0000000c0c0c0c0c00001c1c1c00000c0c0c0c0c0c000c0c0c00001c1c1c1c1c1c1c1c00003f0c0e00000000000e0e0e000000000000000e000000000000000e00000000000000
01000000000000004f000000000000120c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c00001c1c004f0c000000000000000c0c000000000c00000c0c0c0c0c00000c0c00001c401c00000c0000000000000c010000001c1c1c1c1c1c1c1c000000120e00000000000e00000e0000000000000e0000000000000e0000000000000000 010000001f0f00004f000000000000120c0c0c0c0c0c0c0c0c0c0c0c0c000c0c0c00001c1c004f0c000000000000000c0c000000000c00000c0c0c0c0c00000c0c00001c401c00000c0000000000000c010000001c1c1c1c1c1c1c1c000000120e00000000000e00000e0000000000000e0000000000000e0000000000000000
0c130000000000000c0000000000150c0c000000000000000c0000000000000c0c0000000000000c0000004f0000000c0c000000000c0000000000000000000c0c000000000000000c00481c0000000c0c0c00001c1c1c1c1c1c1c1c00003f0c0e0000000000000e0e000000000000000e0000000000000e0000000000000000 0c130000000000000c0000000000150c0c000000000000000c0000000000000c0c0000000000000c0000004f0000000c0c000000000c0000000000000000000c0c000000000000000c00481c0000000c0c0c00001c1c1c1c1c1c1c1c00003f0c0e0000000000000e0e000000000000000e0000000000000e0000000000000000
0c23242424242424242424242424250c0c000000000000000c0000000000000c0c0000000000000c0000001c0000000c0c000000430c0000000000000000000c0c000000000000000c0c0c000c0c0c0c0c0c0c1c1c1c1c1c1c1c1c1c1c0c0c0c0e0000000000000000000000000000000e000000000000000000000000000000 0c23242424242424242424242424250c0c000000000000000c0000000000000c0c0000000000000c0000001c0000000c0c000000430c0000000000000000000c0c000000000000000c0c0c000c0c0c0c0c0c0c1c1c1c1c1c1c1c1c1c1c0c0c0c0e0000000000000000000000000000000e000000000000000000000000000000
0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000000000000000c0000000000000c0c0c0c00000c0c0c00000c000c00000c0c00000000004d00000000000000000c0c000000000000000c0000000c00000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0000000000000000000000000000000e000000000000000000000000000000 0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000000000000000c0000000000000c0c0c0c00000c0c0c00000c000c00000c0c00000000004d00000000000000000c0c000000000000000c0000000c00000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0000000000000000000000000000000e000000000000000000000000000000