Compare commits
12 Commits
music_fork
...
rewrite_ro
Author | SHA1 | Date | |
---|---|---|---|
709be93332 | |||
535fcf7601 | |||
c98194550e | |||
c71cd312b1 | |||
ca819b0e53 | |||
281ed4b40f | |||
60f1c2e112 | |||
b0d356aeee | |||
6821d6cb53 | |||
675ef20115 | |||
a7b016c4b2 | |||
f3df6c674a |
342
chameleonic.p8
342
chameleonic.p8
@ -305,7 +305,7 @@ function level:advance()
|
|||||||
self:reinit(self.ix+1)
|
self:reinit(self.ix+1)
|
||||||
end
|
end
|
||||||
|
|
||||||
pitpal = {[0]=1,[7]=0,[6]=1,[4]=1}
|
pitpal = {[0]=1,[7]=0}
|
||||||
function level:draw()
|
function level:draw()
|
||||||
cls(1)
|
cls(1)
|
||||||
pal(1,0)
|
pal(1,0)
|
||||||
@ -450,7 +450,7 @@ function level:reanchor()
|
|||||||
local old=anch_old[k]
|
local old=anch_old[k]
|
||||||
if old then
|
if old then
|
||||||
anch_new[k]=old
|
anch_new[k]=old
|
||||||
old.ax_old,old.ay_old,old.ax,old.ay,old.adx,old.ady=old.ax,old.ay,new.ax,new.ay,new.adx,new.ady
|
old.ax,old.ay,old.adx,old.ady=new.ax,new.ay,new.adx,new.ady
|
||||||
old.dropped=nil
|
old.dropped=nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -459,17 +459,6 @@ function level:reanchor()
|
|||||||
for k,_ in pairs(self._anch) do
|
for k,_ in pairs(self._anch) do
|
||||||
add(self._anch_keys,{key=k})
|
add(self._anch_keys,{key=k})
|
||||||
end
|
end
|
||||||
shellsort(self._anch_keys)
|
|
||||||
for point in self:anchor_points() do
|
|
||||||
if point.ax_old!=nil then
|
|
||||||
if (player.rope!=nil) player.rope:be_pushed_by(point,point.ax_old,point.ay_old)
|
|
||||||
point.ax_old=nil
|
|
||||||
point.ay_old=nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
for point in self:anchor_points() do
|
|
||||||
assert(not point.dropped)
|
|
||||||
end
|
|
||||||
|
|
||||||
if (player.rope!=nil) player.rope:relax()
|
if (player.rope!=nil) player.rope:relax()
|
||||||
end
|
end
|
||||||
@ -612,9 +601,6 @@ function level:can_move(
|
|||||||
if is_player and self:win_at(mx0+dmx,my0+dmy) then
|
if is_player and self:win_at(mx0+dmx,my0+dmy) then
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
if is_player and self:get_open_pit(mx0+dmx,my0+dmy) then
|
|
||||||
return wrongbleep:adequately_warned()
|
|
||||||
end
|
|
||||||
|
|
||||||
if self:mcoll(mx0+dmx,my0+dmy) then
|
if self:mcoll(mx0+dmx,my0+dmy) then
|
||||||
return false
|
return false
|
||||||
@ -628,13 +614,13 @@ function level:can_move(
|
|||||||
if player.rope then
|
if player.rope then
|
||||||
local chk=false
|
local chk=false
|
||||||
if dmx==0 and dmy==-1 then
|
if dmx==0 and dmy==-1 then
|
||||||
chk=player.rope:collide_mrect(mx0+0.4,my0-0.8,0.2,1.6,exclude_src,exclude_dst)
|
chk=player.rope:collide_mrect(mx0,my0-1,1,2,exclude_src,exclude_dst)
|
||||||
elseif dmx==0 and dmy==1 then
|
elseif dmx==0 and dmy==1 then
|
||||||
chk=player.rope:collide_mrect(mx0+0.4,my0+0.2,0.2,1.6,exclude_src,exclude_dst)
|
chk=player.rope:collide_mrect(mx0,my0,1,2,exclude_src,exclude_dst)
|
||||||
elseif dmx==-1 and dmy==0 then
|
elseif dmx==-1 and dmy==0 then
|
||||||
chk=player.rope:collide_mrect(mx0-0.8,my0+0.4,1.6,0.2,exclude_src,exclude_dst)
|
chk=player.rope:collide_mrect(mx0-1,my0,2,1,exclude_src,exclude_dst)
|
||||||
elseif dmx==1 and dmy==0 then
|
elseif dmx==1 and dmy==0 then
|
||||||
chk=player.rope:collide_mrect(mx0+0.2,my0+0.4,1.6,0.2,exclude_src,exclude_dst)
|
chk=player.rope:collide_mrect(mx0,my0,2,1,exclude_src,exclude_dst)
|
||||||
end
|
end
|
||||||
|
|
||||||
if (chk) return false
|
if (chk) return false
|
||||||
@ -771,7 +757,7 @@ function player:update()
|
|||||||
|
|
||||||
self.rope=rope:new(
|
self.rope=rope:new(
|
||||||
x+0.5-dx*0.5,y+0.5-dy*0.5,
|
x+0.5-dx*0.5,y+0.5-dy*0.5,
|
||||||
self.x+0.5,self.y+0.5,
|
self.x+0.5,self.y+0.1,
|
||||||
level:get_latch(dx,dy,x*8,y*8)
|
level:get_latch(dx,dy,x*8,y*8)
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -782,28 +768,17 @@ function player:update()
|
|||||||
}}
|
}}
|
||||||
elseif kbd:btnp(5) then
|
elseif kbd:btnp(5) then
|
||||||
if self.rope!=nil then
|
if self.rope!=nil then
|
||||||
if (not self.rope:tug()) wrongbleep:bleep(9)
|
if (not self.rope:tug()) wrongbleep:bleep(7)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if self.rope then
|
|
||||||
self.rope:update()
|
|
||||||
end
|
|
||||||
_apply(self,self.todo)
|
_apply(self,self.todo)
|
||||||
|
|
||||||
if self.rope then
|
if self.rope then
|
||||||
self.rope:update()
|
self.rope:update()
|
||||||
if self.rope:done_reeling() then
|
self.rope:drag_dst(self.x+self.px/8+0.5,self.y+self.py/8+0.1)
|
||||||
self.x=self.rope.latch.rec.mx+self.rope.latch.dx
|
|
||||||
self.y=self.rope.latch.rec.my+self.rope.latch.dy
|
|
||||||
end
|
|
||||||
|
|
||||||
local rx=self.x+self.px/8+0.5
|
|
||||||
local ry=self.y+self.py/8+0.5
|
|
||||||
-- do the hokey pokey to work out kinks in the rope
|
|
||||||
self.rope:drag_dst(rx,ry)
|
|
||||||
|
|
||||||
local tdx,tdy=self.rope:tug_orientxy()
|
local tdx,tdy=self.rope:tug_orientxy()
|
||||||
if (tdx!=0) self.orientx=tdx
|
if (tdx!=0) self.orientx=tdx
|
||||||
@ -837,9 +812,8 @@ function player:_fall()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function player:draw()
|
function player:draw()
|
||||||
local px=self.x*8+self.px+wrongbleep:vibrate()
|
local px=self.x*8+self.px
|
||||||
local py=self.y*8+self.py+wrongbleep:vibrate()
|
local py=self.y*8+self.py
|
||||||
|
|
||||||
|
|
||||||
local head=1-self.orienty
|
local head=1-self.orienty
|
||||||
|
|
||||||
@ -882,29 +856,17 @@ function player:draw()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local rx,ry=self.x*8+self.px+1,self.y*8+self.py+2
|
|
||||||
if (self.orientx==1) rx+=6
|
|
||||||
|
|
||||||
if self.rope then
|
|
||||||
local rx_adj,ry_adj=self.rope:affected_src_xy(rx,ry)
|
|
||||||
if rx_adj!=nil then
|
|
||||||
local drx,dry=rx_adj-rx,ry_adj-ry
|
|
||||||
rx,ry=rx+drx,ry+dry
|
|
||||||
px,py=px+drx,py+dry
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if self.orientx==-1 then
|
if self.orientx==-1 then
|
||||||
setpal()
|
setpal()
|
||||||
spr(16,px+6,py-2,1,1)
|
spr(16,px+6,py-2,1,1)
|
||||||
spr(17,px+1,py,1,1)
|
spr(17,px+1,py,1,1)
|
||||||
if (self.rope and invis_level<=0.25) pal() self.rope:draw(self.x*8+self.px+1,self.y*8+self.py+2) setpal()
|
if (self.rope and invis_level<=0.25) pal() self.rope:draw(-2,-1) setpal()
|
||||||
spr(head,px-3,py-3,1,1)
|
spr(head,px-3,py-3,1,1)
|
||||||
else
|
else
|
||||||
setpal()
|
setpal()
|
||||||
spr(16,px-6,py-2,1,1,true)
|
spr(16,px-6,py-2,1,1,true)
|
||||||
spr(17,px-1,py,1,1,true)
|
spr(17,px-1,py,1,1,true)
|
||||||
if (self.rope and invis_level<=0.25) pal() self.rope:draw(self.x*8+self.px+7,self.y*8+self.py+2) setpal()
|
if (self.rope and invis_level<=0.25) pal() self.rope:draw(2,-1) setpal()
|
||||||
spr(head,px+3,py-3,1,1,true)
|
spr(head,px+3,py-3,1,1,true)
|
||||||
end
|
end
|
||||||
pal()
|
pal()
|
||||||
@ -943,17 +905,13 @@ function rope:done()
|
|||||||
return self.state.name=="done"
|
return self.state.name=="done"
|
||||||
end
|
end
|
||||||
|
|
||||||
function rope:done_reeling()
|
|
||||||
return self.state.name=="done" and self.state.reelin
|
|
||||||
end
|
|
||||||
|
|
||||||
function rope:update()
|
function rope:update()
|
||||||
if self.state.name=="cast" then
|
if self.state.name=="cast" then
|
||||||
self.state.frame+=1
|
self.state.frame+=1
|
||||||
if (self.state.frame>=3) self.state={name="latched"}
|
if (self.state.frame>=3) self.state={name="latched"}
|
||||||
|
|
||||||
elseif self.state.name=="latched" then
|
elseif self.state.name=="latched" then
|
||||||
if (self.latch==nil) wrongbleep:bleep(5) self:destroy() return
|
if (self.latch==nil) wrongbleep:bleep(3) self:destroy() return
|
||||||
|
|
||||||
if
|
if
|
||||||
self.latch!=nil and
|
self.latch!=nil and
|
||||||
@ -973,61 +931,25 @@ function rope:update()
|
|||||||
|
|
||||||
elseif self.state.name=="destroy" then -- destroy
|
elseif self.state.name=="destroy" then -- destroy
|
||||||
self.state.frame+=1
|
self.state.frame+=1
|
||||||
if (self.state.frame>=5) self.state={name="done",reelin=self.state.reelin}
|
if (self.state.frame>=5) self.state={name="done"}
|
||||||
else
|
else
|
||||||
-- done state
|
-- done state
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function rope:destroy(reelin)
|
function rope:destroy()
|
||||||
if (self.state.name=="destroy" or self.state.name=="done") return
|
if (self.state.name=="destroy" or self.state.name=="done") return
|
||||||
self.state={name="destroy",frame=0,reelin=reelin}
|
self.state={name="destroy",frame=0}
|
||||||
end
|
end
|
||||||
|
|
||||||
function rope:affected_src_xy(artificial_px,artificial_py)
|
function rope:draw(artificial_dx,artificial_dy)
|
||||||
-- this is the loop from :draw but simplified
|
|
||||||
if (not self.state.reelin) return
|
|
||||||
|
|
||||||
perc_to_show=(1.0-self.state.frame/8)^2
|
|
||||||
local points=self:_anchors_simplified()
|
|
||||||
points[#points]={x=artificial_px,y=artificial_py}
|
|
||||||
|
|
||||||
local len=0
|
|
||||||
for i=1,#points-1 do len+=distance(points[i],points[i+1]) end
|
|
||||||
local len_to_show=perc_to_show*len
|
|
||||||
|
|
||||||
local len_cumulative=0
|
|
||||||
for i=1,#points-1 do
|
|
||||||
local src=points[i]
|
|
||||||
local dst=points[i+1]
|
|
||||||
|
|
||||||
local x,y=dst.x,dst.y
|
|
||||||
local dx,dy=src.x-x,src.y-y
|
|
||||||
|
|
||||||
local len_here=len_to_show-len_cumulative
|
|
||||||
local dist_base=distance_dxy(dx,dy)
|
|
||||||
len_cumulative+=dist_base
|
|
||||||
|
|
||||||
if len_here>0 and dist_base>0 then
|
|
||||||
local coef=min(len_here/dist_base,1.0)
|
|
||||||
|
|
||||||
return x+dx-dx*coef,y+dy-dy*coef
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return points[1]
|
|
||||||
end
|
|
||||||
|
|
||||||
function rope:draw(artificial_px,artificial_py)
|
|
||||||
local points,highlight=self:_tug(true)
|
local points,highlight=self:_tug(true)
|
||||||
if (self.state.name=="done") return
|
if (self.state.name=="done") return
|
||||||
local perc_to_show=1.0
|
local perc_to_show=1.0
|
||||||
local from_end=false
|
|
||||||
if (self.state.name=="cast") perc_to_show=self.state.frame/2
|
if (self.state.name=="cast") perc_to_show=self.state.frame/2
|
||||||
if (self.state.name=="destroy") perc_to_show=(1.0-self.state.frame/8)^2
|
if (self.state.name=="destroy") perc_to_show=(1.0-self.state.frame/5)^2
|
||||||
if (self.state.reelin) from_end=true
|
|
||||||
|
|
||||||
points[#points]={x=artificial_px,y=artificial_py}
|
points[#points]={x=points[#points].x+artificial_dx,y=points[#points].y+artificial_dy}
|
||||||
|
|
||||||
local len=0
|
local len=0
|
||||||
for i=1,#points-1 do
|
for i=1,#points-1 do
|
||||||
@ -1036,9 +958,7 @@ function rope:draw(artificial_px,artificial_py)
|
|||||||
local len_to_show=perc_to_show*len
|
local len_to_show=perc_to_show*len
|
||||||
|
|
||||||
local len_cumulative=0
|
local len_cumulative=0
|
||||||
local ia,iz,istep=#points-1,1,-1
|
for i=#points-1,1,-1 do
|
||||||
if (from_end) ia,iz,istep=1,#points-1,1
|
|
||||||
for i=ia,iz,istep do
|
|
||||||
local src=points[i]
|
local src=points[i]
|
||||||
local dst=points[i+1]
|
local dst=points[i+1]
|
||||||
|
|
||||||
@ -1047,17 +967,11 @@ function rope:draw(artificial_px,artificial_py)
|
|||||||
|
|
||||||
local len_here=len_to_show-len_cumulative
|
local len_here=len_to_show-len_cumulative
|
||||||
local dist_base=distance_dxy(dx,dy)
|
local dist_base=distance_dxy(dx,dy)
|
||||||
len_cumulative+=dist_base
|
len_cumulative+=dist_base
|
||||||
|
|
||||||
if len_here>0 and dist_base>0 then
|
if len_here>0 and dist_base>0 then
|
||||||
local coef=min(len_here/dist_base,1.0)
|
local coef=min(len_here/dist_base,1.0)
|
||||||
|
dx,dy=dx*coef,dy*coef
|
||||||
if from_end then
|
|
||||||
x,y=x+dx-dx*coef,y+dy-dy*coef
|
|
||||||
dx,dy=dx*coef,dy*coef
|
|
||||||
else
|
|
||||||
dx,dy=dx*coef,dy*coef
|
|
||||||
end
|
|
||||||
|
|
||||||
local color=8
|
local color=8
|
||||||
if (highlight==i) color=12
|
if (highlight==i) color=12
|
||||||
@ -1070,7 +984,7 @@ function rope:draw(artificial_px,artificial_py)
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- draw latch
|
-- draw latch
|
||||||
if self.latch!=nil and self.latch.rec and (perc_to_show>=1.0 or from_end) then
|
if self.latch!=nil and self.latch.rec and perc_to_show>=1.0 then
|
||||||
local x,y=self.latch.rec.px,self.latch.rec.py
|
local x,y=self.latch.rec.px,self.latch.rec.py
|
||||||
local ldx,ldy=self.latch.dx,self.latch.dy
|
local ldx,ldy=self.latch.dx,self.latch.dy
|
||||||
local color=8
|
local color=8
|
||||||
@ -1112,7 +1026,7 @@ function rope:draw(artificial_px,artificial_py)
|
|||||||
--assert(not (adx==0 and ady==0))
|
--assert(not (adx==0 and ady==0))
|
||||||
|
|
||||||
local c=3
|
local c=3
|
||||||
if (n1.associated_with.dropped) c=4
|
if (n1.associated_with.dropped) c=8
|
||||||
rectfill(x+2,y+2,x+4,y+4,c)
|
rectfill(x+2,y+2,x+4,y+4,c)
|
||||||
pset(x+adx*2,y,9)
|
pset(x+adx*2,y,9)
|
||||||
pset(x,y+ady*2,9)
|
pset(x,y+ady*2,9)
|
||||||
@ -1165,20 +1079,6 @@ function rope:relax()
|
|||||||
n=n.next
|
n=n.next
|
||||||
end
|
end
|
||||||
|
|
||||||
local n0=self.src
|
|
||||||
while true do
|
|
||||||
local n1=n0.next
|
|
||||||
if (n1==nil) break
|
|
||||||
local n2=n1.next
|
|
||||||
|
|
||||||
if n0.ax==n1.ax and n0.ay==n1.ay then
|
|
||||||
n0.next=n2
|
|
||||||
n2.prev=n0
|
|
||||||
else
|
|
||||||
n0=n0.next
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local n0=self.src
|
local n0=self.src
|
||||||
while true do
|
while true do
|
||||||
if (n0==nil) return
|
if (n0==nil) return
|
||||||
@ -1209,7 +1109,7 @@ function rope:relax()
|
|||||||
end
|
end
|
||||||
|
|
||||||
function rope:_check_sane()
|
function rope:_check_sane()
|
||||||
if (not self:latched()) return true
|
if (self.state.name!="latched") return true
|
||||||
if (level:busy()) return true
|
if (level:busy()) return true
|
||||||
|
|
||||||
local n0=self.src
|
local n0=self.src
|
||||||
@ -1283,6 +1183,7 @@ end
|
|||||||
|
|
||||||
function would_stick(x0,y0,anchor,x2,y2)
|
function would_stick(x0,y0,anchor,x2,y2)
|
||||||
local x1,y1=anchor.ax,anchor.ay
|
local x1,y1=anchor.ax,anchor.ay
|
||||||
|
if (x0>x2) x0,y0,x2,y2=x2,y2,x0,y0
|
||||||
|
|
||||||
local dx=x2-x0
|
local dx=x2-x0
|
||||||
local dy=y2-y0
|
local dy=y2-y0
|
||||||
@ -1290,7 +1191,6 @@ function would_stick(x0,y0,anchor,x2,y2)
|
|||||||
local adx,ady
|
local adx,ady
|
||||||
local x1_new,y1_new
|
local x1_new,y1_new
|
||||||
if abs(dx)>abs(dy) then
|
if abs(dx)>abs(dy) then
|
||||||
if (x0>x2) dx,x0,y0,x2,y2=-dx,x2,y2,x0,y0
|
|
||||||
local dprop=(x1-x0)/dx
|
local dprop=(x1-x0)/dx
|
||||||
x1_new,y1_new=x1,y0+dprop*(y2-y0)
|
x1_new,y1_new=x1,y0+dprop*(y2-y0)
|
||||||
ady=sgn0(y1_new-y1)
|
ady=sgn0(y1_new-y1)
|
||||||
@ -1298,66 +1198,25 @@ function would_stick(x0,y0,anchor,x2,y2)
|
|||||||
if (y0>y2) adx=ady
|
if (y0>y2) adx=ady
|
||||||
if (y0<y2) adx=-ady
|
if (y0<y2) adx=-ady
|
||||||
else
|
else
|
||||||
if (y0>y2) dy,x0,y0,x2,y2=-dy,x2,y2,x0,y0
|
|
||||||
local dprop=(y1-y0)/dy
|
local dprop=(y1-y0)/dy
|
||||||
x1_new,y1_new=x0+dprop*(x2-x0),y1
|
x1_new,y1_new=x0+dprop*(x2-x0),y1
|
||||||
adx=sgn0(x1_new-x1)
|
adx=sgn0(x1_new-x1)
|
||||||
ady=0
|
ady=0
|
||||||
if (x0>x2) ady=adx
|
if (y0>y2) ady=adx
|
||||||
if (x0<x2) ady=-adx
|
if (y0<y2) ady=-adx
|
||||||
end
|
end
|
||||||
|
|
||||||
local wouldnt=anchor.dropped or (anchor.adx!=adx or anchor.ady!=ady)
|
local wouldnt=anchor.dropped or (anchor.adx==-adx or anchor.ady==-ady)
|
||||||
|
|
||||||
return not wouldnt,x1_new,y1_new,adx,ady
|
return not wouldnt,x1_new,y1_new,adx,ady
|
||||||
end
|
end
|
||||||
|
|
||||||
function rope:be_pushed_by(anchor,ax_old,ay_old)
|
|
||||||
local n0=self.src
|
|
||||||
local ax_new,ay_new=anchor.ax,anchor.ay
|
|
||||||
while true do
|
|
||||||
n1=n0.next
|
|
||||||
if (n1==nil) return
|
|
||||||
|
|
||||||
local nx0,ny0=n0.ax,n0.ay
|
|
||||||
local nx1,ny1=n1.ax,n1.ay
|
|
||||||
|
|
||||||
if
|
|
||||||
not (anchor.ax==nx0 and anchor.ay==ny0) and
|
|
||||||
not (anchor.ax==nx1 and anchor.ay==ny1) and
|
|
||||||
(_which_side(ax_old,ay_old,nx0,ny0,nx1,ny1)!=
|
|
||||||
_which_side(ax_new,ay_new,nx0,ny0,nx1,ny1)
|
|
||||||
) and would_stick(nx0,ny0,anchor,nx1,ny1)
|
|
||||||
then
|
|
||||||
local nx05,ny05
|
|
||||||
if ax_new==ax_old then
|
|
||||||
nx05=anchor.ax
|
|
||||||
ny05=ny0+(nx05-nx0)/(nx1-nx0) * (ny1-ny0)
|
|
||||||
--printh("found (x): "..tostring({nx05,ny05}))
|
|
||||||
elseif ay_new==ay_old then
|
|
||||||
ny05=anchor.ay
|
|
||||||
nx05=nx0+(ny05-ny0)/(ny1-ny0) * (nx1-nx0)
|
|
||||||
--printh("found (y): "..tostring({nx05,ny05}))
|
|
||||||
else
|
|
||||||
assert(false,"wtf?")
|
|
||||||
end
|
|
||||||
|
|
||||||
local n05={ax=nx05,ay=ny05,associated_with=anchor,prev=n0,next=n1}
|
|
||||||
--printh("adding: "..tostring({nx05,ny05,anchor}))
|
|
||||||
n0.next=n05
|
|
||||||
n1.prev=n05
|
|
||||||
self:_drag(n05,anchor.ax,anchor.ay)
|
|
||||||
-- printh("dragged: "..tostring({n05.ax,n05.ay,anchor}))
|
|
||||||
-- printh("local: "..tostring(n0.associated_with).."->"..tostring(n05.associated_with).."->"..tostring(n1.associated_with))
|
|
||||||
else
|
|
||||||
n0=n0.next
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function rope:_drag(n1,ax1_new,ay1_new)
|
function rope:_drag(n1,ax1_new,ay1_new)
|
||||||
local function _sweep_radar(ax_pivot,ay_pivot,ax_far0,ay_far0,ax_far1,ay_far1)
|
local function _sweep_radar(ax_pivot,ay_pivot,ax_far0,ay_far0,ax_far1,ay_far1)
|
||||||
if (ax_far0==ax_far1 and ay_far0==ay_far1) return nil
|
if (ax_far0==ax_far1 and ay_far0==ay_far1) return nil
|
||||||
|
local function crossed(x,y)
|
||||||
|
return x!=y
|
||||||
|
end
|
||||||
|
|
||||||
if ax_far0==ax_far1 then
|
if ax_far0==ax_far1 then
|
||||||
local ax_far=ax_far0
|
local ax_far=ax_far0
|
||||||
@ -1372,8 +1231,8 @@ function rope:_drag(n1,ax1_new,ay1_new)
|
|||||||
not (anchor.ax==ax_far1 and anchor.ay==ay_far1) and
|
not (anchor.ax==ax_far1 and anchor.ay==ay_far1) and
|
||||||
(ax0<=anchor.ax and anchor.ax<=ax1) and
|
(ax0<=anchor.ax and anchor.ax<=ax1) and
|
||||||
would_stick(ax_pivot,ay_pivot,anchor,ax_far,ay_far_new) and
|
would_stick(ax_pivot,ay_pivot,anchor,ax_far,ay_far_new) and
|
||||||
(
|
crossed(
|
||||||
_which_side(anchor.ax,anchor.ay,ax_pivot,ay_pivot,ax_far,ay_far_old) !=
|
_which_side(anchor.ax,anchor.ay,ax_pivot,ay_pivot,ax_far,ay_far_old),
|
||||||
_which_side(anchor.ax,anchor.ay,ax_pivot,ay_pivot,ax_far,ay_far_new)
|
_which_side(anchor.ax,anchor.ay,ax_pivot,ay_pivot,ax_far,ay_far_new)
|
||||||
)
|
)
|
||||||
then
|
then
|
||||||
@ -1395,8 +1254,8 @@ function rope:_drag(n1,ax1_new,ay1_new)
|
|||||||
not (anchor.ax==ax_far1 and anchor.ay==ay_far1) and
|
not (anchor.ax==ax_far1 and anchor.ay==ay_far1) and
|
||||||
would_stick(ax_pivot,ay_pivot,anchor,ax_far_new,ay_far) and
|
would_stick(ax_pivot,ay_pivot,anchor,ax_far_new,ay_far) and
|
||||||
(ay0<=anchor.ay and anchor.ay<=ay1) and
|
(ay0<=anchor.ay and anchor.ay<=ay1) and
|
||||||
(
|
crossed(
|
||||||
_which_side(anchor.ax,anchor.ay,ax_pivot,ay_pivot,ax_far_old,ay_far) !=
|
_which_side(anchor.ax,anchor.ay,ax_pivot,ay_pivot,ax_far_old,ay_far),
|
||||||
_which_side(anchor.ax,anchor.ay,ax_pivot,ay_pivot,ax_far_new,ay_far)
|
_which_side(anchor.ax,anchor.ay,ax_pivot,ay_pivot,ax_far_new,ay_far)
|
||||||
)
|
)
|
||||||
then
|
then
|
||||||
@ -1482,6 +1341,11 @@ function rope:collide_mrect(mx0,my0,mw,mh,exclude_src,exclude_dst)
|
|||||||
local mx1,my1=mx0+mw,my0+mh
|
local mx1,my1=mx0+mw,my0+mh
|
||||||
local n0=self.src
|
local n0=self.src
|
||||||
|
|
||||||
|
mx0+=0.4
|
||||||
|
my0+=0.4
|
||||||
|
mx1-=0.4
|
||||||
|
my1-=0.4
|
||||||
|
|
||||||
while true do
|
while true do
|
||||||
local n1=n0.next
|
local n1=n0.next
|
||||||
if (n1==nil) return false
|
if (n1==nil) return false
|
||||||
@ -1570,18 +1434,6 @@ function rope:_tug(hypothetically)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local latch=self.latch
|
local latch=self.latch
|
||||||
if latch!=nil and latch.el=="eyehook" then
|
|
||||||
if (hypothetically) return ancs,0
|
|
||||||
player.todo={{
|
|
||||||
update=function(s)
|
|
||||||
if s.rope==nil or s.rope:done() then
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
}}
|
|
||||||
self:destroy(true)
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
if latch!=nil and latch.el=="crate" then
|
if latch!=nil and latch.el=="crate" then
|
||||||
local dmx,dmy=
|
local dmx,dmy=
|
||||||
sgn0(latch.dx),
|
sgn0(latch.dx),
|
||||||
@ -1746,48 +1598,17 @@ wrongbleep={}
|
|||||||
add(real_modules,wrongbleep)
|
add(real_modules,wrongbleep)
|
||||||
function wrongbleep:init()
|
function wrongbleep:init()
|
||||||
self.duration=0
|
self.duration=0
|
||||||
self.continuous=0
|
|
||||||
end
|
end
|
||||||
function wrongbleep:update()
|
function wrongbleep:update()
|
||||||
if (self.duration>5) self.duration=5
|
if (self.duration>5) self.duration=5
|
||||||
if self.duration>0 then sfx(63,3) self.continuous+=1
|
if (self.duration>0) sfx(63,3)
|
||||||
else self.continuous=0 end
|
self.duration=max(self.duration-1,-2)
|
||||||
self.duration=max(self.duration-1,-4)
|
|
||||||
end
|
end
|
||||||
function wrongbleep:bleep(duration)
|
function wrongbleep:bleep(duration)
|
||||||
self.duration+=duration or 2
|
self.duration+=duration or 2
|
||||||
end
|
end
|
||||||
function wrongbleep:vibrate(duration)
|
|
||||||
if (self.continuous<10) return 0
|
|
||||||
return (rnd()*2-1)*min(self.continuous/10,2)
|
|
||||||
end
|
|
||||||
function wrongbleep:adequately_warned(duration)
|
|
||||||
return self.continuous>45
|
|
||||||
end
|
|
||||||
|
|
||||||
|
|
||||||
-->8
|
|
||||||
-- text
|
|
||||||
level_text={by_lvl={}}
|
|
||||||
add(real_modules,level_text)
|
|
||||||
level_text_raw={
|
|
||||||
"9`9`11`\f7\#0press 🅾️ to mlem & unmlem",
|
|
||||||
"9`33`17`\f7\#0❎ to yoink"
|
|
||||||
}
|
|
||||||
function level_text:init()
|
|
||||||
for i=0,32 do level_text.by_lvl[i]={} end
|
|
||||||
for row in all(level_text_raw) do
|
|
||||||
if row then
|
|
||||||
lvl,x,y,s=unpack(split(row,"`"))
|
|
||||||
add(level_text.by_lvl[lvl],{x,y,s})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
function level_text:draw()
|
|
||||||
for xys in all(level_text.by_lvl[level.ix]) do
|
|
||||||
print(xys[3],xys[1],xys[2],6)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
__gfx__
|
__gfx__
|
||||||
000030000000002200003000000cc0cc0cccccccccccccccccccccccccccccccc0bb0000000000000000000000000000dddddddd000000000005000000000000
|
000030000000002200003000000cc0cc0cccccccccccccccccccccccccccccccc0bb0000000000000000000000000000dddddddd000000000005000000000000
|
||||||
003333300000332200333330000cc0cc0000cc0000000000000000000cc0000000bb0bb0bbbb0bbbbb0bbbbb0bbb0000dddddddd000000000000500000000000
|
003333300000332200333330000cc0cc0000cc0000000000000000000cc0000000bb0bb0bbbb0bbbbb0bbbbb0bbb0000dddddddd000000000000500000000000
|
||||||
@ -1821,14 +1642,14 @@ eeee0000cc0440550044440000000000000000000000888888800000000000000000000000000000
|
|||||||
0000000077a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddddddddddddddddddd77ddddddddddd
|
0000000077a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddddddddddddddddddd77ddddddddddd
|
||||||
00000007777a000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddddddddddddddddddd00ddddddddddd
|
00000007777a000000000000000000000000000000000000000000000000000000000000000000000000000000000000ddddddddddddddddddd00ddddddddddd
|
||||||
000444444444440000000000000000000000000000000000000000000000000000000000000000000000000000000000ddddddddddddddddddd00ddddddddddd
|
000444444444440000000000000000000000000000000000000000000000000000000000000000000000000000000000ddddddddddddddddddd00ddddddddddd
|
||||||
44444444444004444444444444444444444444444440044444444444444004444444444444400444444444444440044444444444444004444444444444400444
|
77077077777007777707707777700777770770777770077777077077777007777707707777700777770770777770077777077077777007777707707777700777
|
||||||
47766774477007744776677447700774477667744770077447766774477007744776677447700774477667744770077447766774477007744776677447700774
|
77777777777007777777777777700777777777777770077777777777777007777777777777700777777777777770077777777777777007777777777777700777
|
||||||
47777774477777744777777447777774477777744777777447777774477777744777777447777774477777744777777447777774477777744777777447777774
|
07777770077777700777777707777777077777700777777007777777077777777777777077777770777777777777777777777770777777707777777777777777
|
||||||
46700764467007644670070046700700467007644670076446700700467007000070076400700764007007000070070000700764007007640070070000700700
|
77700777777007777770070077700700777007777770077777700700777007000070077700700777007007000070070000700777007007770070070000700700
|
||||||
46700764467007644670070046700700467007644670076446700700467007000070076400700764007007000070070000700764007007640070070000700700
|
77700777777007777770070077700700777007777770077777700700777007000070077700700777007007000070070000700777007007770070070000700700
|
||||||
47777774477777744777777447777774477777744777777447777774477777744777777447777774477777744777777447777774477777744777777447777774
|
07777770077777700777777707777777077777700777777007777777077777777777777077777770777777777777777777777770777777707777777777777777
|
||||||
47766774477667744776677447766774477007744770077447700774477007744776677447766774477667744776677447700774477007744770077447700774
|
77777777777777777777777777777777777007777770077777700777777007777777777777777777777777777777777777700777777007777770077777700777
|
||||||
44444444444444444444444444444444444004444440044444400444444004444444444444444444444444444444444444400444444004444440044444400444
|
77077077770770777707707777077077777007777770077777700777777007777707707777077077770770777707707777700777777007777770077777700777
|
||||||
__label__
|
__label__
|
||||||
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
|
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
|
||||||
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
|
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777
|
||||||
@ -1968,7 +1789,7 @@ __map__
|
|||||||
0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c00000000000000000000000000000c000000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c00000000000000000000000000000c000000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
||||||
0c000000000044000c0c0c0c0c0c0c0c0c00000000000000000000000000000c000000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
0c000000000044000c0c0c0c0c0c0c0c0c00000000000000000000000000000c000000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
||||||
0c0000000000000000000000000000000c00000000000000000000000000000c000000000000000000000000000000000e00000000000e0e0e0e0000000000000e000000000e000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
0c0000000000000000000000000000000c00000000000000000000000000000c000000000000000000000000000000000e00000000000e0e0e0e0000000000000e000000000e000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
||||||
3d1c000000001c0000000000000000000000000000000000000000000000000c000000000000000000000000000000000e00000000000000000e0000000000000e000000000e000e00000000000000000e0000000000000000000000000000000e0000000000000e0e000000000000000e00000000000e0e0e0e000000000000
|
0c00000000001c0000000000000000000000000000000000000000000000000c000000000000000000000000000000000e00000000000000000e0000000000000e000000000e000e00000000000000000e0000000000000000000000000000000e0000000000000e0e000000000000000e00000000000e0e0e0e000000000000
|
||||||
0c0000000000000000000000000000410000000000000000000000000000000c0000000000000e0e0e000000000000000e00000000000000000e0000000000000e000000000e000e00000000000000000e00000000000e0e0e000000000000000e00000000000e0000000000000000000e00000000000000000e000000000000
|
0c0000000000000000000000000000410000000000000000000000000000000c0000000000000e0e0e000000000000000e00000000000000000e0000000000000e000000000e000e00000000000000000e00000000000e0e0e000000000000000e00000000000e0000000000000000000e00000000000000000e000000000000
|
||||||
0c000000000000000c0c0c0c0c0c0c0c0c00000000000020210000000000000c00000000000e00000e0e0000000000000e0000000000000e0e0e0000000000000e000000000e0e0e0e0e0000000000000e00000000000e0000000000000000000e00000000000e0e0e000000000000000e000000000000000e00000000000000
|
0c000000000000000c0c0c0c0c0c0c0c0c00000000000020210000000000000c00000000000e00000e0e0000000000000e0000000000000e0e0e0000000000000e000000000e0e0e0e0e0000000000000e00000000000e0000000000000000000e00000000000e0e0e000000000000000e000000000000000e00000000000000
|
||||||
0c0c0c0c0c0c00000000000c0c0c0c0c0c00000000000030310000000000000c000000000000000e0e000000000000000e00000000000000000e0000000000000e0000000000000e00000000000000000e00000000000e0e0e000000000000000e00000000000e00000e0000000000000e0000000000000e0000000000000000
|
0c0c0c0c0c0c00000000000c0c0c0c0c0c00000000000030310000000000000c000000000000000e0e000000000000000e00000000000000000e0000000000000e0000000000000e00000000000000000e00000000000e0e0e000000000000000e00000000000e00000e0000000000000e0000000000000e0000000000000000
|
||||||
@ -1979,35 +1800,35 @@ __map__
|
|||||||
010000000000000c0c0c0c0c0c0c0c0c0c00000000000000000000000000000c000000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
010000000000000c0c0c0c0c0c0c0c0c0c00000000000000000000000000000c000000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
||||||
0c0c0c0c00000c0c0c0c0c0c0c0c0c0c0c00000000000000000000000000000c000000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
0c0c0c0c00000c0c0c0c0c0c0c0c0c0c0c00000000000000000000000000000c000000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
||||||
0c0c0c0c00410c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
0c0c0c0c00410c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
||||||
0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e
|
0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e
|
||||||
0c00000000000000000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0000000000000000000000000000000e000000000000000000000000000000
|
0c00000000000000000000000000000c0e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
||||||
0c004f000000000c001c1c000c0c000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000000000c0c0c0c0c0c0c0c0c0c0c0c00000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c3e0c0c0c0c0c0e0000000000000000000000000000000e000000000000000000000000000000
|
0c004f000000000c001c1c000c0c000c0e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
||||||
0c0000000000000000000000000c000c0c00000000000000000c00000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000000000000000000000c0c0c0c0c0c0000000000000000000c000000000c0c000000000000000000001c0000000c0e000000000e000000000000000000000e000000000000000000000000000000
|
0c0000000000000000000000000c000c0e00000000000e0e00000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000e000000000000000000000e000000000000000000000000000000
|
||||||
0c0000000c0c0000000c000000001c120100000000000000004f000000000012010000000000001c004f0000000000120100000000000000004f1c000000001201000000000000000047000000000012010000000000000000401c00000000120e000000000e0000000e0000000000000e000000000e00000e0e0e0000000000
|
0c0000000c0c0000000c000000001c120e000000000e00000e000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e00000000000e0000000e0e000000000e000000000e0000000e0000000000000e000000000e00000e0e0e0000000000
|
||||||
0c000c000c0c0000000c0c0c0000000c0c00000000000000000c00000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c000000000000000000000c0c0c0c0c0c0000000000000000000c000000000c0c000000000000000000001c0000000c0e000000000e0000000e000e000000000e000000000e00000e00000000000000
|
0c000c000c0c0000000c0c0c0000000c0e000000000e00000e000000000000000e00000000000e000000000e000000000e0000000000000e0000000e000000000e00000000000e00000e0e00000000000e00000000000e00000000000e0000000e000000000e0000000e000e000000000e000000000e00000e00000000000000
|
||||||
0c000c0000000000000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000000000c0c0c0c0c0c0c0c0c0c0c0c00000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c3c0c0c0c0c0c0e000000000e0000000e0e0e0e0000000e000000000e00000e0e0e0000000000
|
0c000c0000000000000000000000000c0e00000000000e0e0e000000000000000e00000000000e0000000e000e0000000e0000000000000e0000000e000000000e00000000000e000000000e000000000e00000000000e0000000e0e000000000e000000000e0000000e0e0e0e0000000e000000000e00000e0e0e0000000000
|
||||||
01000c0c00000000000c0c004f00000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e000000000e00000000000e000000000e000000000e000000000e0000000000
|
01000c0c00000000000c0c004f00000c0e000000000000000e000000000000000e00000000000e0000000e000e0000000e0000000000000e0000000e000000000e00000000000e0000000e00000000000e00000000000e00000000000e0000000e000000000e00000000000e000000000e000000000e000000000e0000000000
|
||||||
0c0000000000000c00000c000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e000000000e00000000000e000000000e000000000e000000000e0000000000
|
0c0000000000000c00000c000000000c0e00000000000e0e00000000000000000e00000000000e000000000e000000000e0000000000000e0000000e000000000e00000000000e00000e0e0e000000000e00000000000e0000000e0e000000000e000000000e00000000000e000000000e000000000e000000000e0000000000
|
||||||
0c00004f0000000c0c000c0000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0000000000000000000000000000000e000000000e00000e0e0e0000000000
|
0c00004f0000000c0c000c0000000c0c0e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e00000000000e0000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000e00000e0e0e0000000000
|
||||||
0c00000000000000000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0000000000000000000000000000000e000000000000000000000000000000
|
0c00000000000000000000000000000c0e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
||||||
0c00000c00000000000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0000000000000000000000000000000e000000000000000000000000000000
|
0c00000c00000000000000000000000c0e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
||||||
0c000c0c0c0000000c0c0c004f00000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0000000000000000000000000000000e000000000000000000000000000000
|
0c000c0c0c0000000c0c0c004f00000c0e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
||||||
0c00000c00000000000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0000000000000000000000000000000e000000000000000000000000000000
|
0c00000c00000000000000000000000c0e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
||||||
0c00000000001c00000000000000000c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0000000000000000000000000000000e000000000000000000000000000000
|
0c00000000001c00000000000000000c0e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e0000000000000000000000000000000e000000000000000000000000000000
|
||||||
0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e
|
0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e
|
||||||
__sfx__
|
__sfx__
|
||||||
01320000050350c03511045185451d55511515115000050001035080350d04514545195551b5551a5301b5401a5551a51516555145001554015545000000000013005130350d035100450c045100201d0530c053
|
01280000050550c05511055180551d05500000000000000000055070550c0550f055130550f0550c0550705501055080550d055140551905500000000000000000055070550f0551305518055130550f0550c055
|
||||||
0132000000000000001f0001f035200452001520000180001b0001b00500000190351b0451d0451c0551d0451c0551c015180551b000170401704519000140001800000000130051305517055170251701500000
|
0128000000000000001f0001f055200551f0551d055180551b055000000000000000000000000000000000000000000000000001b0551d0551b05519055140551805500000000000000000000000000000000000
|
||||||
01280000050350c03511045185451d5550c515115150051501515011150c0000f000130000f0000c0001403314550145530c023080141950000000000000000000000070000f0001300018000130000f0000c000
|
01280000050550c05511055180551d05518055110550d0550c055130551b055240552b0551b05518055130550a055110551a05522055290550e0550a05505055000550705510055180551f055100550c05507055
|
||||||
012800000000000000130001f055220552005500000270551f0551d05500000000000000000000000000000024050240501d0261a0030c0040000000000000000000000000000000000000000000000000000000
|
012800000000000000130001f055220552005500000270551f0550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
013200001102511025110250c000140001d0451c0411904018040160401404013040110500d00508005264002740027400080000f000180001400026400244002240022400030000a0001f4001f4001b4001b400
|
012800001d4521d452050550c05514055110551f452204522445224452050550c055140551105526452264522745227452080550f055180551405526452244522245222452030550a0551f4521f4521b4521b452
|
||||||
013200002c555295552955508000115002c5552b55528555285552b5552955528545295451853518535265002750027500075000e5001f5001f4002640026400244002440000000070000f0000f0000e0000c000
|
012800001d4521d4520105508055110550d0551f452204522445224452050550c055140551105526452264522745227452070550e0551f4521f4522645226452244522445200055070550f0520f0550e0550c055
|
||||||
013200000000000000000000000013000190001805116050140501305011050100510d0350d0350d0350000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
00280000000000000000000000000505500000050550c055000000000000000050050505500000050550c055000000000000000000000805500000080550f05500000000000000000000030550a0550205509055
|
||||||
012800000122401222000000000001055000000105508055052220522200000000000505500000050550c05507222072220000000000022220222202222022220022200222000000000000055070550005507055
|
012800000122401222000000000001055000000105508055052220522200000000000505500000050550c05507222072220000000000022220222202222022220022200222000000000000055070550005507055
|
||||||
012800001d3141f3142032420300203040000027324273201f320000001d3001d3241b324000001f324000001d3141f3142031422314243142631427324293242b3240000024324273002932129320293102b310
|
012800001d3541f3542035420300203040000027354273501f350000001d3001d3541b354000001f354000001d3541f3542035422354243542635027354293502b3540000024354000002935429350293502b350
|
||||||
012800000000000000010550805501055080050105508055000550800000000070550005507055000550705501055000000100508005010050800501055080550005500000070550000000050000000705500000
|
012800000000000000010550805501055080050105508055000550800000000070550005507055000550705500000000000105508055010550805501055080550005500000070550000000055000000705500000
|
||||||
01280010183241a3241b3240000000000000002232400000213240000026324000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
01280010183541a3541b3540000000000000002235400000213540000026354000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
01281000080050f005080250f02501055000000f025000000e3250000013325000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
01281000080050f005080550f05501055000000f055000000e3550000013355000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||||
@ -2063,9 +1884,8 @@ __sfx__
|
|||||||
__music__
|
__music__
|
||||||
01 00014344
|
01 00014344
|
||||||
00 02034344
|
00 02034344
|
||||||
00 04050644
|
00 04064344
|
||||||
00 05074344
|
00 05074344
|
||||||
00 08094344
|
00 08094344
|
||||||
02 0a0b4344
|
02 0a0b4344
|
||||||
00 0c424344
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user