Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/Assets/Lua/NES/Vice Project Doom.lua
2 views
1
--Vice Project Doom Collision Box Viewer
2
--Author Pasky13
3
4
local camx
5
6
local function hex(val)
7
val = string.format("%X",val)
8
return val
9
end
10
11
memory.usememorydomain("PRG ROM")
12
13
local function camera()
14
camx = mainmemory.read_u8(0xB) + (mainmemory.read_u8(0xC) * 256)
15
end
16
17
local function player()
18
local x = mainmemory.read_u8(0x1F0) + (mainmemory.read_u8(0x200) * 256) - camx
19
local y = mainmemory.read_u8(0x210)
20
local offset = mainmemory.read_u8(0x2A0) * 4
21
local yoff = memory.read_s8(0x1C4C0 + offset + 1)
22
local yrad = memory.read_u8(0x1C4C0 + offset + 3)
23
local xoff = memory.read_s8(0x1C4C0 + offset)
24
local xrad = memory.read_u8(0x1C4C0 + offset + 2)
25
gui.drawBox(x+xoff,y+yoff,x+xoff+xrad,y+yoff+yrad, 0xFF0000FF,0x350000FF)
26
end
27
28
local function enemies()
29
local active = 0x161
30
local base = 0x1F1
31
for i = 0,15,1 do
32
if mainmemory.read_u8(active + i) ~= 0 then
33
local offset = mainmemory.read_u8(0x2A1 + i) * 4
34
local x = mainmemory.read_u8(0x1F1 + i) + (mainmemory.read_u8(0x201 + i) * 256) -camx
35
local y = mainmemory.read_u8(0x211 + i)
36
local yoff = memory.read_s8(0x1C4C0 + offset + 1)
37
local yrad = memory.read_u8(0x1C4C0 + offset + 3)
38
local xoff = memory.read_s8(0x1C4C0 + offset)
39
local xrad = memory.read_u8(0x1C4C0 + offset + 2)
40
if i == 1 or i == 2 then -- Player's weapon
41
gui.drawBox(x+xoff,y+yoff,x+xoff+xrad,y+yoff+yrad, 0xFFFFFFFF,0x35FFFFFF)
42
else
43
gui.drawBox(x+xoff,y+yoff,x+xoff+xrad,y+yoff+yrad, 0xFFFF0000,0x35FF0000)
44
end
45
end
46
end
47
48
end
49
50
while true do
51
camera()
52
player()
53
enemies()
54
emu.frameadvance()
55
end
56