Advertisement
Guest User

Untitled

a guest
Dec 11th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.49 KB | None | 0 0
  1. --Average speed real-time calculator by ThunderAxe31 for GBA Crash Bandicoot - The Huge Adventure
  2. --This scripts show the overall movement speed of Crash, making an average value based from script launch
  3.  
  4. player_x_addr = 0x010A14
  5. player_y_addr = 0x010A18
  6. frames_amount = 0
  7. player_x = 0
  8. player_x_old = 0
  9. speed_x_average = 0
  10. player_y = 0
  11. player_y_old = 0
  12. speed_y_average = 0
  13. x = {}
  14. y = {}
  15.  
  16. if memory.usememorydomain("EWRAM") then
  17.  
  18.   player_x = memory.read_u32_le(player_x_addr)
  19.   player_y = memory.read_u32_le(player_y_addr)
  20.   console.log("Starting script at frame: " .. emu.framecount() .. " with X: " .. player_x .. ", Y: " .. player_y)
  21.   emu.frameadvance()
  22.  
  23.   while true do
  24.     player_x_old = player_x
  25.     player_x = memory.read_u32_le(player_x_addr)
  26.     player_y_old = player_y
  27.     player_y = memory.read_u32_le(player_y_addr)
  28.    
  29.     frames_amount = frames_amount + 1
  30.    
  31.     speed_x_average = ( ( speed_x_average * ( frames_amount - 1 ) ) +player_x -player_x_old ) / frames_amount
  32.     speed_y_average = ( ( speed_y_average * ( frames_amount - 1 ) ) +player_y -player_y_old ) / frames_amount
  33.    
  34.     for i=25, 1, -1 do
  35.       x[i]=x[i-1]
  36.       y[i]=y[i-1]
  37.       gui.pixelText(0, 0+i*6, x[i])
  38.       gui.pixelText(175, 0+i*6, y[i])
  39.     end
  40.    
  41.     x[0] = speed_x_average
  42.     y[0] = speed_y_average
  43.    
  44.     gui.pixelText(0, 0, x[0])
  45.     gui.pixelText(175, 0, y[0])
  46.    
  47.     emu.frameadvance()
  48.   end
  49. else
  50.   console.log("Error: failed to set EWRAM memory domain")
  51. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement