I wrote LuaScript for Crash bandicoot 1
local HEADER = 0x566B4
local pScale = 3000
local vScale = 100000
gui.register(function()
local addr = memory.readdword(HEADER)
if addr ~= 0 then
addr = addr -0x80000000
else
return
end
local X = memory.readdwordsigned( addr + 0x80 ) / pScale
local Y = memory.readdwordsigned( addr + 0x88 ) / pScale
local Z = memory.readdwordsigned( addr + 0x84 ) / pScale
local XV = memory.readdwordsigned( addr + 0xA4 ) / vScale
local YV = memory.readdwordsigned( addr + 0xAC ) / vScale
local ZV = memory.readdwordsigned( addr + 0xA8 ) / vScale
local V = memory.readdwordsigned( addr + 0x124) / vScale
local XY = math.sqrt(XV*XV+YV*YV)
local D = memory.readwordsigned( addr + 0xB4 ) / 4096*360
local BOX = memory.readbyte(0x61985)
local Level = memory.readword(0x618DC)
gui.text(8,48,
string.format("%8d : Rerecord \n",movie.rerecordcount() )
..string.format("%8x : Header \n",addr )
..string.format("%8d : Level \n", Level )
..string.format("%8d : Box \n", BOX )
.."\n"
..string.format("%8.2f : Z Pos \n", Z )
..string.format("%8.2f : Z Vel \n", ZV )
..string.format("%8.2f : X Pos \n", X )
..string.format("%8.2f : X Vel \n", XV )
..string.format("%8.2f : Y Pos \n", Y )
..string.format("%8.2f : Y Vel \n", YV )
..string.format("%8.2f : XY Vel \n", XY )
..string.format("%8.2f : Velocity \n", V )
..string.format("%8.2f : Degrees \n", D )
)
end)