In my project, an updateCallback is defined in kEventInitLua
meaning that C is in the lead while the lua environment is also available (to be able to use the Panels library for cutscenes; which is written in Lua).
In this scenario, the playdate.cranked
callback is never called.
When I don't set a callback in C, but set it in lua instead, the callback is called.
I unfortunately do not have a reproduction sample, as my code is in Nim.
I guess the workaround would be to observe the crank position in C and call the callback from C?
edit: or in fact: observing the crank from Lua. This seems to work fine:
function UpdatePanels()
local crankChange, acceleratedChange = playdate.getCrankChange()
if crankChange ~= 0 then
Panels.cranked(crankChange, acceleratedChange)
end
Panels.update()
end