Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --speed hud values v1.1.2 by ThunderAxe31 for GBA Crash Bandicoot - The Huge Adventure
- x_max = 1224
- x_middle = 496
- y_max = 1536
- y_middle = 0
- player_x_addr = 0x010A14
- player_y_addr = 0x010A18
- framecount = 0
- player_x = 0
- player_x_old = 0
- speed_x = 0
- player_y = 0
- player_y_old = 0
- speed_y = 0
- x = {}
- y = {}
- function round(x)
- if x%2 ~= 0.5 then
- return math.floor(x+0.5)
- end
- return x-0.5
- end
- function decide_color(speed, middle, maxi)
- if speed == nil then
- return
- end
- speed = math.abs(speed)
- maxi = math.abs(maxi)
- if speed > maxi then
- color = 0x000000FF
- elseif speed < middle then --if 0: red; if middle: white
- local value = math.floor(0xFF*(speed/middle))
- color = 0xFF0000 + value*0x101
- else --if middle: white; if maxi: green
- local value = math.floor(0xFF*(1-(speed-middle)/(maxi-middle)))
- color = 0x00FF00 + value*0x10001
- end
- return color+0xFF000000
- end
- if memory.usememorydomain("EWRAM") then
- player_x = memory.read_u32_le(player_x_addr)
- player_y = memory.read_u32_le(player_y_addr)
- console.log("Starting script at frame: " .. emu.framecount() .. " with X: " .. player_x .. ", Y: " .. player_y)
- emu.frameadvance()
- while true do
- if framecount > emu.framecount() then
- x = {}
- y = {}
- end
- player_x_old = player_x
- player_x = memory.read_u32_le(player_x_addr)
- player_y_old = player_y
- player_y = memory.read_u32_le(player_y_addr)
- speed_x = player_x -player_x_old
- speed_y = player_y -player_y_old
- for i=25, 1, -1 do
- x[i]=x[i-1]
- y[i]=y[i-1]
- gui.pixelText(0, 0+i*6, x[i], decide_color(x[i], x_middle, x_max))
- gui.pixelText(219, 0+i*6, y[i], decide_color(y[i], y_middle, y_max))
- end
- x[0] = speed_x
- y[0] = speed_y
- gui.pixelText(0, 0, x[0], decide_color(x[0], x_middle, x_max))
- gui.pixelText(219, 0, y[0], decide_color(y[0], y_middle, y_max))
- framecount = emu.framecount()
- emu.frameadvance()
- end
- else
- console.log("Error: failed to set EWRAM memory domain")
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement