flycast/core/lua/flycast.lua

73 lines
1.5 KiB
Lua

function cbStart()
local s = flycast.state
print("Game started: " .. s.media)
print("Game Id: " .. s.gameId)
print("Display: " .. s.display.width .. "x" .. s.display.height)
end
function cbPause()
print("Game paused")
end
function cbResume()
print("Game resumed")
flycast.emulator.displayNotification("Lua rules", 2000)
local maple = flycast.config.maple
print("Maple 1: " .. maple.getDeviceType(1),
maple.getSubDeviceType(1, 1), maple.getSubDeviceType(1, 2))
end
function cbTerminate()
print("Game terminated")
end
function cbLoadState()
print("State loaded")
end
function cbVBlank()
-- print("vblank x,y=", flycast.input.getAbsCoordinates(1))
end
function cbOverlay()
f = f + 1
local ui = flycast.ui
ui.beginWindow("Lua", 10, 10, 150, 0)
ui.text("Hello world")
ui.rightText(f)
ui.bargraph(f / 3600)
ui.button("Reset", function()
f = 0
end)
ui.text("Stick")
local input = flycast.input
local ax = input.getAxis(1, 1)
local ay = input.getAxis(1, 2)
ui.bargraph((ax + 128) / 255)
ui.bargraph((ay + 128) / 255)
input.releaseButtons(1, 0x8)
ui.button("Test", function()
input.pressButtons(1, 0x8)
end)
ui.text("Mouse")
local x, y = input.getAbsCoordinates(1)
ui.bargraph(x / 640)
ui.bargraph(y / 480)
ui.endWindow()
end
flycast_callbacks = {
start = cbStart,
pause = cbPause,
resume = cbResume,
terminate = cbTerminate,
loadState = cbLoadState,
vblank = cbVBlank,
overlay = cbOverlay
}
print("Callback set")
f = 0
flycast.emulator.startGame("pstone2.zip")