Added legend of toki hitbox viewer lua script for genesis.
This commit is contained in:
parent
46ccd190dd
commit
34da5a0bb1
|
@ -0,0 +1,149 @@
|
|||
--Author Pasky13
|
||||
|
||||
-- Player
|
||||
local pbase = 0xFF1CD4
|
||||
local px = pbase + 0x19
|
||||
local py = pbase + 0x1D
|
||||
|
||||
local camx = 0xFF1BC5
|
||||
local camy = 0xFF1BC9
|
||||
|
||||
--Player projectiles
|
||||
|
||||
local projbase = 0xFF1D34
|
||||
|
||||
--Enemies
|
||||
local ebase = 0xFF21B4
|
||||
|
||||
--Bosses
|
||||
local bbase = 0xFF35F4
|
||||
|
||||
--Text scaler
|
||||
local xs
|
||||
local ys
|
||||
|
||||
|
||||
local function endian(address)
|
||||
local result = mainmemory.read_u8(address) + (mainmemory.read_u8(address-1) * 256)
|
||||
return result
|
||||
end
|
||||
|
||||
local function Toki()
|
||||
local cx = endian(camx)
|
||||
local cy = endian(camy)
|
||||
local x = endian(px) - cx
|
||||
local y = endian(py) - cy
|
||||
local xoff = mainmemory.read_s8(pbase + 0x11)
|
||||
local yoff = mainmemory.read_s8(pbase + 0x15)
|
||||
local xrad = mainmemory.read_u8(pbase +0x13)
|
||||
local yrad = mainmemory.read_u8(pbase +0x17)
|
||||
local flip = mainmemory.read_u8(pbase +1)
|
||||
if flip == 1 then
|
||||
xoff = xoff * -1
|
||||
end
|
||||
gui.drawBox(x+xoff-xrad,y+yoff-yrad,x+xoff+xrad,y+yoff+yrad,0xFF0000FF,0x300000FF)
|
||||
end
|
||||
|
||||
local function enemies()
|
||||
local cx = endian(camx)
|
||||
local cy = endian(camy)
|
||||
local x
|
||||
local y
|
||||
local xoff
|
||||
local xrad
|
||||
local yoff
|
||||
local yrad
|
||||
local oend = 44
|
||||
local base = ebase
|
||||
local flip
|
||||
local hp
|
||||
for i = 0,oend,1 do
|
||||
if i > 0 then
|
||||
base = ebase + (i * 0x60)
|
||||
end
|
||||
flip = mainmemory.read_u8(base +1)
|
||||
if mainmemory.read_u8(base) > 0 then
|
||||
hp = mainmemory.read_u8(base + 0xD)
|
||||
x = endian(base + 0x19) - cx
|
||||
xrad = mainmemory.read_u8(base + 0x13)
|
||||
xoff = mainmemory.read_s8(base + 0x11)
|
||||
yrad = mainmemory.read_u8(base + 0x17)
|
||||
yoff = mainmemory.read_s8(base + 0x15)
|
||||
|
||||
if flip == 1 then
|
||||
xoff = xoff * -1
|
||||
end
|
||||
y = endian(base + 0x1D) - cy
|
||||
if hp > 0 then
|
||||
gui.text((x-10) * xs,(y-10) * ys, "HP: " .. hp)
|
||||
end
|
||||
gui.drawBox(x+xoff-xrad,y+yoff-yrad,x+xoff+xrad,y+yoff+yrad,0xFFFF0000,0x35FF0000)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function boss()
|
||||
local cx = endian(camx)
|
||||
local cy = endian(camy)
|
||||
local x = endian(bbase + 0x19) - cx
|
||||
local y = endian(bbase + 0x1D) - cy
|
||||
local xrad = mainmemory.read_u8(bbase + 0x11)
|
||||
local yrad = mainmemory.read_u8(bbase + 0x15)
|
||||
local hp = mainmemory.read_u8(bbase+ 0x0D)
|
||||
|
||||
if hp > 0 then
|
||||
gui.text((x-10) * xs,(y-10) * ys,"HP: " .. mainmemory.read_u8(bbase + 0x0D))
|
||||
end
|
||||
gui.drawBox(x-xrad,y-yrad,x+xrad,y+yrad,0xFFFF0000,0x35FF0000)
|
||||
end
|
||||
|
||||
local function projectiles()
|
||||
local cx = endian(camx)
|
||||
local cy = endian(camy)
|
||||
local x
|
||||
local y
|
||||
local xoff
|
||||
local xrad
|
||||
local yoff
|
||||
local yrad
|
||||
local oend = 11
|
||||
local base = projbase
|
||||
local flip
|
||||
|
||||
for i = 0,oend,1 do
|
||||
if i > 0 then
|
||||
base = projbase + (i * 0x60)
|
||||
end
|
||||
flip = mainmemory.read_u8(base +1)
|
||||
|
||||
if mainmemory.read_u8(base) > 0 then
|
||||
x = endian(base + 0x19) - cx
|
||||
y = endian(base + 0x1D) - cy
|
||||
xoff = mainmemory.read_s8(base + 0x11)
|
||||
yoff = mainmemory.read_s8(base + 0x15)
|
||||
xrad = mainmemory.read_u8(base + 0x13)
|
||||
yrad = mainmemory.read_u8(base + 0x17)
|
||||
|
||||
if flip == 1 then
|
||||
xoff = xoff * -1
|
||||
end
|
||||
gui.drawBox(x+xoff-xrad,y+yoff-yrad,x+xoff+xrad,y+yoff+yrad,0xFFFFFFFF,0x40FFFFFF)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
local function scaler()
|
||||
xs = client.screenwidth() / 320
|
||||
ys = client.screenheight() / 224
|
||||
end
|
||||
|
||||
|
||||
while true do
|
||||
scaler()
|
||||
Toki()
|
||||
enemies()
|
||||
projectiles()
|
||||
boss()
|
||||
emu.frameadvance()
|
||||
end
|
Loading…
Reference in New Issue