From 4599197d659d0b78f4cd8ca7940103ec6d340a59 Mon Sep 17 00:00:00 2001 From: Nyeogmi Date: Sat, 3 Jun 2023 16:27:22 -0700 Subject: [PATCH] True up with local changes --- chameleonic.p8 | 116 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 87 insertions(+), 29 deletions(-) diff --git a/chameleonic.p8 b/chameleonic.p8 index 4f95d70..f58b05b 100644 --- a/chameleonic.p8 +++ b/chameleonic.p8 @@ -7,13 +7,14 @@ real_modules={} function _init() -- printh("restarting") - _doall("init") + _doall"init" end function _update60() - _doall("update") end + _doall"update" end function _draw() - _doall("draw") end + _doall"draw" +end function music_on() if (stat(54) ~= 0) music(0) @@ -252,9 +253,9 @@ end title={} add(modules,title) -lvlshimmer = {4,9,10,10,9} +lvlshimmer = split"4,9,10,10,9" function title:draw() - cls(0) + cls"0" -- this is right for 72x32 spr(96,28,56,9,2) print("pyrex",32,73,7) @@ -276,7 +277,7 @@ end function title:update() if (btnp"0") start_level-=1 if (btnp"1") start_level+=1 - start_level%=(max_level+1) + start_level%=max_level+1 if btn"3" and not wiped then wrongbleep:bleep() if (wrongbleep:adequately_warned()) then @@ -323,10 +324,25 @@ function level:advance() end normpal = {[1]=0,[8]=0,[14]=0} +ixes=split"5,3,15,10,13,4,9" +easy=split"1,131,6,129,6,141,12" +moderate=split"3,139,15,5,6,4,9" +hard=split"134,135,142,134,6,142,140" +brutal=split"8,137,9,130,6,13,138" + +function level:draw3() + local p=easy + if (self.ix>=6) p=moderate + if (self.ix>=13) p=hard + if (self.ix>=24) p=brutal + for i=1,7 do + pal(ixes[i],p[i],1) + end +end + function level:draw() - cls(5) - fillp() pal(normpal) + cls"10" map( self.bigx*16,self.bigy*16, 0,0,16,16, @@ -668,6 +684,47 @@ function level_tug_crate(t) self._crates[_mix{mx1,my1}]=existing end +-->8 +-- particles +particles={} +add(real_modules,particles) +function particles:init() + self.a={} +end +function particles:update() + local a2={} + for i in all(particles.a) do + i.t+=1 + i[1]+=i.dx + i[2]+=i.dy + i.dy+=i.ddy + if (i.t0) pset(unpack(i)) + end +end -->8 --player handling player={} @@ -737,6 +794,7 @@ function player:update() local t=f[#f] t.x=x+dx t.y=y+dy + particles:move(x,y,dx,dy) return end wrongbleep:bleep() @@ -859,7 +917,7 @@ function player:draw() -- vanish colors local vanish=split"13,15,14,5,4,12,2,3,9,10" for i,ilc in ipairs(vanish) do - if (vanish_level>i/#vanish) pal(ilc,5) + if (vanish_level>i/#vanish) pal(ilc,10) end if (self.fall_frame>3) local zc=@0x5f00&0xf0 for i=0x5f00,0x5f0c,4 do poke4(i,0x0505.0505) end poke(0x5f00,zc|0x01) @@ -1892,14 +1950,14 @@ __gfx__ 002222200000220000222220efe33eeeeeeeeeeeeee33efeeee33eeeeee33eeeff1111ffff111111ff1ff1ff111111ffdddddddd111111110cccccc033333333 000222c002222c0000022200efeeee555e555e55e5eeeefee5eeeeffffeeee5effffffffffffffffff1ff1ffffffffffdddddddd111111110cc00cc033300333 00000cc00000cc0000000cc0efe33e5eeeeeeeeee5e33efee5e33efeefe33e5e1ffffff11fffffffff1ff1fffffffff1dddddddd111111110000000033300333 -0000ff000000000000000000efe33e5e11111111e5e33efee5e33efeefe33e5eff1ff1ffffffffffffffffffffffffff88888888555555555555555588888888 -000f00f0000000000aa00aa0efe33eee11ffff11eee33efeeee33effffe33e5eff1ff1ffffffffffffffffffffffffff88888888558855885588558888888888 +0000ff000000000000000000efe33e5e11111111e5e33efee5e33efeefe33e5eff1ff1ffffffffffffffffffffffffff88888888aaaaaaaaaaaaaaaa88888888 +000f00f0000000000aa00aa0efe33eee11ffff11eee33efeeee33effffe33e5eff1ff1ffffffffffffffffffffffffff88888888aa88aa88aa88aa8888888888 00d0000f000000000aaaaaa0efe33e5e1ff11ff1e5e33efee5e33eeeeee33eeeff1ff1fffff11111ffffffff11111fff88888888888888888888888888888888 00d0d00f00c040500aaaaaa0efeeee5e1f1111f1e5eeeefee5e333e333333e5eff1ff1fffff1ffffff1111ffffff1fff88888888888888888888888888888888 00dd00ee00c4455000999900efe33e5e1f1111f1e5e33efee5e333e333333e5eff1111fffff1ffffff1ff1ffffff1fff88888888888888888888888888888888 00000ee00c44455500aaaa00efe33eee1ff11ff1eee33efeeeeeeeeeeeeeee5efffffffffff11111ff1ff1ff11111fff88888888888888888888888888888888 -00eeee000c004005000aa000efe33e5e11ffff11e5e33efee5555e555e555e5effffffffffffffffff1ff1ffffffffff88888888888888888855885588558855 -eeee0000cc04405500444400efeeee5e11111111e5eeeefeeeeeeeeeeeeeeeeeffffffffffffffffff1ff1ffffffffff88888888888888885555555555555555 +00eeee000c004005000aa000efe33e5e11ffff11e5e33efee5555e555e555e5effffffffffffffffff1ff1ffffffffff888888888888888888aa88aa88aa88aa +eeee0000cc04405500444400efeeee5e11111111e5eeeefeeeeeeeeeeeeeeeeeffffffffffffffffff1ff1ffffffffff8888888888888888aaaaaaaaaaaaaaaa 00000000000a900000000000efe33eeeeeeeeeeeeee33efeff1ff1ffffffffffffffffff00000000000000000000000000000000000000000000000000000000 00000aaaaaaa910000000000efe33e5555e555e555e33efeff1ff1ffffffffffffffffff00000000000000000000000000000000000000000000000000000000 0000aaaaaa1a911000a00200efe33eeeeeeeeeeeeee33efeff1ff1ff11111111ff1111ff00000000000000000000000000000000000000000000000000000000 @@ -1949,37 +2007,37 @@ eeee0000cc04405500444400efeeee5e11111111e5eeeefeeeeeeeeeeeeeeeeeffffffffffffffff 00880888880880888880880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000888888800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c0c0c010c0c0c0c0c0c0c0c0d0d0d0d0d0d030404050d0d0d0d0d0d0 +00000000000000000000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0d0d0d0d0d0d0d010d0d0d0d0d0d0d0d0d0d0d0d0d0d030404050d0d0d0d0d0d0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0304040404050316400510041d0d0d0d0 +00000000000000000000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0d0d0d0d0d0d0410041d0d0d0d0d0d0d0304040404050316400510041d0d0d0d0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c0c0c000c0c0c0c0c0c0c0c03174000000f3000000000030404050d0 +00000000000000000000000000000000c0c0c0c000000000c0c0c0c0c0c0c0c0d0d0d0d0d0d0410041d0d0d0d0d0d0d0317400000051000000000030404050d0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0310000e1e1000042e1520000000051d0 +00000000000000000000000000000000c0c0c0c000c0c000c0c0c0c0c0c0c0c0d0d0d030405030003040404050d0d0d0310000e1e1000042e1520000000051d0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0100000000451304000500031000051d0 +00000000000000000000000000000000c0c0c0c000c0c000c0c0c0c0c0c0c0c0d0d0d031005131000000000051d0d0d0100000000451304000500031000051d0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c00000000000c0c0c0c0c0c031000400000000000051003242d152d0 +00000000000000000000000000000000c0c0c0c000000000f1c0c0c0c0c0c0c0d0d0d03100d1d100d1d1820051d0d0d031000400000000000051003242d152d0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c000c1c1c000c0c0c0c0c0c031000000005131000051003040f14050 +00000000000000000000000000000000100000000000040000e3000000c0c0c0d0d0d0d300f1f10014c1f30051d0d0d031000000005131000051003040f14050 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0d300c10014c1f300c0c0c0c0c0c032424242425232424252000000000051 +00000000000000000000000000000000c0c0c0c0c00000000000000000c0c0c0d0d0d0310051310082f1820051d0d0d032424242425232424252000000000051 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c000c000c1c1c000c0c0c0c0c0c030404040503040404050003100000051 +00000000000000000000000000000000c0c0c000c1000000d100000400c0c0c0d0d0d031005131000000000051d0d0d030404040503040404050003100000051 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c000c000c0c1c000c0c0c0c0c0c03100000051d300000051003242d14252 +00000000000000000000000000000000c0c0c000c0c1c100c100c1c100c0c0c0d0d0d032005232424200d14252d0d0d03100000051d300000051003242d14252 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c000c00000000000c0c0c0c0c0c031000000d1d100440051003040f150d0 +00000000000000000000000000000000c0c0c000c000c100c100c100c0c0c0c0d0d0d030005030404000c140504141d031000000d1d100440051003040f150d0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c000c0c0c000c0c0c0c0c0c0c0c031000000f1f1001400510000000051d0 +00000000000000000000000000000000c0c0c000c000c100c100c100c0c0c0c0d0d0d0310000000000a4f1000000002131000000f1f1001400510000000051d0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c00000000084c0c0c0c0c0c0c0c0310000005131000000510031000051d0 +00000000000000000000000000000000c0c0c000c000f1e1f1e1f100c0c0c0c0d0d0d0324252324242424242524141d0310000005131000000510031000051d0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0324242005232e14200521432424252d0 +00000000000000000000000000000000c0c0c000c000000000000000c0c0c0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0324242005232e14200521432424252d0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c0c0c000c0c0c0c0c0c0c0c0d0d0d0000000004100000041d0d0d0d0 +00000000000000000000000000000000c0c0c000c0c0c0c0c0c0c0c0c0c0c0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0000000004100000041d0d0d0d0 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 -0000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c0c0c021c0c0c0c0c0c0c0c0d0d0d0d0d0d021d0d0d0d0d0d0d0d0d0 +00000000000000000000000000000000c0c0c021c0c0c0c0c0c0c0c0c0c0c0c0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d021d0d0d0d0d0d0d0d0d0 d0d0d0d0d0d0d0d0e3d0d0d0d0d0d0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0 d0d0d0d0d0d04100000041d0d0d0d0d0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000