jim 2 lua: small fixes.
This commit is contained in:
parent
a0f7caf686
commit
485d1e53d0
|
@ -32,8 +32,8 @@ local SHIFTR = bit.rshift
|
||||||
|
|
||||||
event.onframestart(function()
|
event.onframestart(function()
|
||||||
rngcount = 0
|
rngcount = 0
|
||||||
rngcolor = "white"
|
|
||||||
rngobject = 0
|
rngobject = 0
|
||||||
|
rngcolor = "white"
|
||||||
end)
|
end)
|
||||||
|
|
||||||
event.onmemorywrite(function()
|
event.onmemorywrite(function()
|
||||||
|
@ -137,7 +137,9 @@ local function GetFloor(x, y)
|
||||||
local a1 = 0xb806+rw(0xfb9e)
|
local a1 = 0xb806+rw(0xfb9e)
|
||||||
local a2 = 0x273e1e
|
local a2 = 0x273e1e
|
||||||
local d3 = SHIFTR(rw(a0+d0*2),1)
|
local d3 = SHIFTR(rw(a0+d0*2),1)
|
||||||
local d5 = SHIFTL(rb(a1+d3),4)+d2
|
local temp = a1+d3
|
||||||
|
if temp>0xffff then return {0,0} end
|
||||||
|
local d5 = SHIFTL(rb(temp),4)+d2
|
||||||
local newd5 = SHIFTL(rb(a1+d3),4)+d2+15
|
local newd5 = SHIFTL(rb(a1+d3),4)+d2+15
|
||||||
local newd0 = AND(rb(a2+newd5,"MD CART"),0x1f)
|
local newd0 = AND(rb(a2+newd5,"MD CART"),0x1f)
|
||||||
return {AND(rb(a2+d5,"MD CART"),0x1f), newd0}
|
return {AND(rb(a2+d5,"MD CART"),0x1f), newd0}
|
||||||
|
@ -150,8 +152,12 @@ local function GetWall(x, y)
|
||||||
if y<0 then return 0 end
|
if y<0 then return 0 end
|
||||||
local d6 = SHIFTR(AND(y+6,0xfff0),3)
|
local d6 = SHIFTR(AND(y+6,0xfff0),3)
|
||||||
local a0 = rw(d6+0xb4e6)
|
local a0 = rw(d6+0xb4e6)
|
||||||
local d0 = rw(a0+SHIFTR(x,4)*2)
|
local temp = a0+SHIFTR(x,4)*2
|
||||||
return rb(0xb808+SHIFTR(d0,1))
|
if temp>0xffff then return 0 end
|
||||||
|
local d0 = rw(temp)
|
||||||
|
temp = 0xb808+SHIFTR(d0,1)
|
||||||
|
if temp>0xffff then return 0 end
|
||||||
|
return rb(temp)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function DrawBG()
|
local function DrawBG()
|
||||||
|
@ -227,42 +233,6 @@ local function DrawBG()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function Configs()
|
|
||||||
local rng = rl(0xa1d4)
|
|
||||||
text(120,0,string.format("rng: %08X:%d",rng,rngcount),rngcolor)
|
|
||||||
local cfg0 = rl(0xfc2a)
|
|
||||||
if cfg0==0 then return end
|
|
||||||
local cfg1 = rl(0xfc9a)
|
|
||||||
text(220,0,string.format("cfg old: %X\ncfg step: %d",cfg1,dcfg))
|
|
||||||
if lastcfg~=cfg0 then dcfg = cfg0-lastcfg end
|
|
||||||
lastcfg = cfg0
|
|
||||||
local h = 7
|
|
||||||
for i=0,20 do
|
|
||||||
local config = rl(0xfc2a)+i
|
|
||||||
local action = rb(config,"MD CART")
|
|
||||||
local newaction = memory.readbyte(config+1,"MD CART")
|
|
||||||
if action==0x62
|
|
||||||
or (action==0xe and newaction==8)
|
|
||||||
or action==8
|
|
||||||
or action==3 then color = "red"
|
|
||||||
elseif action>=0x63 and action<=0x64 then color = "orange"
|
|
||||||
elseif action>=0x30 and action<=0x32 then color = 0xff00ff00
|
|
||||||
elseif action>=0x65 and action<=0x70 then color = 0xff00cc00
|
|
||||||
elseif action==0x7a then color = "white"
|
|
||||||
else color = 0xffaaaaaa
|
|
||||||
end
|
|
||||||
text(270,i*h+42,string.format("%X:%02X",config,action),color)
|
|
||||||
if i>0
|
|
||||||
and action==0x7a
|
|
||||||
or action==0x2b
|
|
||||||
or action==0x2d
|
|
||||||
then break
|
|
||||||
end
|
|
||||||
end
|
|
||||||
Bounce()
|
|
||||||
Seek()
|
|
||||||
end
|
|
||||||
|
|
||||||
local function Seek()
|
local function Seek()
|
||||||
bytes = 0
|
bytes = 0
|
||||||
waves = 0
|
waves = 0
|
||||||
|
@ -313,6 +283,42 @@ local function Bounce()
|
||||||
text(60,0,string.format("bounce: %X",bounce))
|
text(60,0,string.format("bounce: %X",bounce))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function Configs()
|
||||||
|
local rng = rl(0xa1d4)
|
||||||
|
text(120,0,string.format("rng: %08X:%d",rng,rngcount),rngcolor)
|
||||||
|
local cfg0 = rl(0xfc2a)
|
||||||
|
if cfg0==0 then return end
|
||||||
|
local cfg1 = rl(0xfc9a)
|
||||||
|
text(220,0,string.format("cfg old: %X\ncfg step: %d",cfg1,dcfg))
|
||||||
|
if lastcfg~=cfg0 then dcfg = cfg0-lastcfg end
|
||||||
|
lastcfg = cfg0
|
||||||
|
local h = 7
|
||||||
|
for i=0,20 do
|
||||||
|
local config = rl(0xfc2a)+i
|
||||||
|
local action = rb(config,"MD CART")
|
||||||
|
local newaction = memory.readbyte(config+1,"MD CART")
|
||||||
|
if action==0x62
|
||||||
|
or (action==0xe and newaction==8)
|
||||||
|
or action==8
|
||||||
|
or action==3 then color = "red"
|
||||||
|
elseif action>=0x63 and action<=0x64 then color = "orange"
|
||||||
|
elseif action>=0x30 and action<=0x32 then color = 0xff00ff00
|
||||||
|
elseif action>=0x65 and action<=0x70 then color = 0xff00cc00
|
||||||
|
elseif action==0x7a then color = "white"
|
||||||
|
else color = 0xffaaaaaa
|
||||||
|
end
|
||||||
|
text(270,i*h+42,string.format("%X:%02X",config,action),color)
|
||||||
|
if i>0
|
||||||
|
and action==0x7a
|
||||||
|
or action==0x2b
|
||||||
|
or action==0x2d
|
||||||
|
then break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
Bounce()
|
||||||
|
Seek()
|
||||||
|
end
|
||||||
|
|
||||||
while true do
|
while true do
|
||||||
camx = rw(0xa172)
|
camx = rw(0xa172)
|
||||||
camy = rw(0xa174)
|
camy = rw(0xa174)
|
||||||
|
@ -321,7 +327,7 @@ while true do
|
||||||
absx = rw(0xa17e)-0x1000
|
absx = rw(0xa17e)-0x1000
|
||||||
absy = rw(0xa180)-0x1000
|
absy = rw(0xa180)-0x1000
|
||||||
invcount = rb(0xfbd6)
|
invcount = rb(0xfbd6)
|
||||||
if rb(0xa313)==4 then
|
if rb(0xa313)==4 and rb(0xa317)~=2 then
|
||||||
DrawBG()
|
DrawBG()
|
||||||
Objects(0xa2ea, 0x23)
|
Objects(0xa2ea, 0x23)
|
||||||
Objects(0xa20e, 0)
|
Objects(0xa20e, 0)
|
||||||
|
|
Loading…
Reference in New Issue