Advertisement
theTANCO

testWaitAndDoubleBuffer.lua

Mar 14th, 2023
787
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.72 KB | None | 0 0
  1. require("/API/LibAppend")
  2.  
  3. local buffer = doubleBuffer.new()
  4. local framerate = 20
  5. local testInput = false
  6.  
  7. local function frameAdvance()
  8.     while true do
  9.         term.setCursorPos(1, 1)
  10.         term.clear()
  11.         print("Start Time: " .. wait.startTime())
  12.         print("Time Since Start: " .. wait.programClock())
  13.         print("Ticks: " .. wait.ticks())
  14.         print("Frametime: " .. wait.frameTime())
  15.         print("Real Frametime: " .. wait.frameTime(true))
  16.         print("Set Rate: " .. framerate)
  17.         print("FPS: " .. wait.fps())
  18.         print("Frametime Offset: " .. (wait.fps()/framerate)*100 .. "%")
  19.         print("Test Input: " .. tostring(testInput))
  20.         buffer.swap()
  21.         wait(framerate)
  22.     end
  23. end
  24.  
  25. local function ui()
  26.     while true do
  27.         local event = {os.pullEvent()}
  28.         if event[1] == "key" then
  29.             if event[2] == keys.up then framerate = framerate + 1
  30.             elseif event[2] == keys.down then framerate = framerate - 1
  31.             elseif event[2] == keys.right then framerate = framerate + 20
  32.             elseif event[2] == keys.left then framerate = framerate - 20
  33.             elseif event[2] == keys.pageUp then framerate = framerate + 200
  34.             elseif event[2] == keys.pageDown then framerate = framerate - 200
  35.             elseif event[2] == keys.numPad0 then framerate = 20
  36.             elseif event[2] == keys.numPadAdd then framerate = framerate * 2
  37.             elseif event[2] == keys.numPadSubtract then framerate = framerate / 2
  38.             elseif event[2] == keys.space then testInput = not testInput end
  39.         elseif event[1] == "key_up" and event[2] == keys.e then break end
  40.     end
  41. end
  42.  
  43. parallel.waitForAny(frameAdvance, ui)
  44. --buffer.reset()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement