Path: blob/master/Assets/Lua/Genesis/Splatterhouse 2 (USA).lua
2 views
--Splatterhouse 2 (USA) Collision box viewer1--Author Pasky2--For use with Bizhawk345local cx = 06local player = false7local attack = false8local weapon = false910local function camera()11cx = mainmemory.read_u16_be(0x9E)12end1314local function drawAxis(x1,y1,x2,y2)15local x = ((x2 - x1) / 2) + x116local y = ((y2 - y1) / 2) + y117local xrad = (x2 - x1) / 218local yrad = (y2 - y1) / 219gui.drawLine(x-xrad,y,x+xrad,y)20gui.drawLine(x,y-yrad,x,y+yrad)21end2223local function touch_collision()2425local A6 = bit.band(emu.getregister("M68K A6"),0xFFFF)26local e = {0,0,0,0}27local p = {0,0,0,0}2829for i = 0,3,1 do30e[i] = mainmemory.read_s16_be(A6 - 0x0A - (i * 2))31p[i] = mainmemory.read_s16_be(A6 - 0x02 - (i * 2))32end33gui.drawBox(e[0]-cx,e[2],e[1]-cx,e[3],0xFFFF0000,0x40FF0000)34if player == false then35gui.drawBox(p[0]-cx,p[2],p[1]-cx,p[3],0xFF0000FF,0x400000FF)36if mainmemory.read_u16_be(0xEA) > 0 then37drawAxis(p[0]-cx,p[2],p[1]-cx,p[3])38end39player = true40end41end4243local function attack_collision()44local A6 = bit.band(emu.getregister("M68K A6"),0xFFFF)45local a = {0,0,0,0}46for i = 0,3,1 do47a[i] = mainmemory.read_s16_be(A6 - 0x1A - (i * 2))48end49if attack == false then50gui.drawBox(a[0]-cx,a[2],a[1]-cx,a[3],0xFFFFFFFF,0x40FFFFFF)51attack = true52end5354end5556local function weapon_collision()57local A6 = bit.band(emu.getregister("M68K A6"),0xFFFF)58local w = {0,0,0,0}59for i = 0,3,1 do60w[i] = mainmemory.read_s16_be(A6 - 0x12 - (i * 2))61end62if weapon == false then63gui.drawBox(w[0]-cx,w[2],w[1]-cx,w[3],0xFFFFFFFF,0x40FFFFFF)64weapon = true65end66end6768local function reset()69player = false70attack = false71weapon = false72end737475event.onmemoryexecute(touch_collision,0x1494E)76event.onmemoryexecute(attack_collision,0x14826)77event.onmemoryexecute(weapon_collision,0x14650)7879while true do80camera()81emu.frameadvance()82reset()83end8485