Add frame tick system for continuous animation

- Added INPUT_FRAME_TICK event type to input_event.h
- Added wants_frame_updates() virtual method to Game base class
- Implemented frame tick logic in main loop (basic1.cpp and emulator/main.cpp)
- Added Lua bindings: game.set_frame_updates(bool) and INPUT.FRAME_TICK
- Updated LuaGame to support frame updates via registry flag
- Updated ball.lua to use continuous frame updates for smooth animation
- Both hardware and emulator now support continuous animation for physics/games
This commit is contained in:
Adolfo Reyna
2026-02-07 13:20:10 -05:00
parent 8d176925f8
commit 2a472fc29f
10 changed files with 86 additions and 4 deletions

View File

@@ -94,6 +94,17 @@ public:
*/
virtual bool wants_to_exit() const { return false; }
/**
* @brief Check if game wants continuous frame updates
*
* Games that need animation or continuous updates (like physics simulations)
* can override this to return true. They will receive INPUT_FRAME_TICK events
* every frame, even without user input.
*
* @return true if game needs frame updates, false for event-driven only
*/
virtual bool wants_frame_updates() const { return false; }
/**
* @brief Get the type of game for safe downcasting without RTTI
*/