Advertisement
Rolanmen1

Fire Emblem - Sealed Sword - Bug Finder

Aug 30th, 2011
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.04 KB | None | 0 0
  1. local dis
  2.  
  3. function nextrng(r1, r2, r3)
  4.     return AND(XOR(SHIFT(r3, 5), SHIFT(r2, -11), SHIFT(r1, -1), SHIFT(r2, 15)),0xFFFF)
  5. end
  6.  
  7. function rngsim(n)
  8.     local rngbase=0x03000000
  9.     local result = { memory.readword(rngbase+4), memory.readword(rngbase+2), memory.readword(rngbase+0) }
  10.     for i = 4, n do
  11.         result[i] = nextrng(result[i-3],result[i-2],result[i-1])
  12.     end
  13.     return result
  14. end
  15.  
  16. function printstats(n)
  17.     if n == 255 then
  18.         n = "---"
  19.     end
  20.     return n
  21. end
  22.  
  23. function get100()
  24.     dis = nil
  25.     for i = 4, 500, 1 do
  26.         if rngs[i] >= 65534 then
  27.             dis = i-3
  28.             break
  29.         end
  30.     end
  31. end
  32.  
  33. while true do
  34.     local nsim = 20
  35.     rngs = rngsim(500)
  36.     for i = 1, nsim do
  37.         gui.text(228, 8*(i-1), string.format("%3d", rngs[i]/655))
  38.     end
  39.     if dis ~= nil then
  40.         gui.text(4,4,"Distance: " .. dis)
  41.         if dis == 1 then
  42.             gui.text(174,(dis+2)*8,"-->","red")
  43.         else
  44.             gui.text(212,(dis+2)*8,"-->","red")
  45.         end
  46.     end
  47.     gui.text(206,0,"RNG1:")
  48.     gui.text(206,8,"RNG2:")
  49.     gui.text(206,16,"RNG3:")
  50.     gui.text(190,24,"Next RNs:")
  51.     get100()
  52.     emu.frameadvance()
  53. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement