- Ensures various shutdown codepaths (interface, cpu/audio, main/video, ...) run on proper thread(s)
- Actually now runs the CloseAL() code
- Try to ensure all detached threads exit ... seems to help keep Valgrind happy =)
- Enables choosing touch keyboard or touch joystick
- Enables increasing/decreasing speed
- Enables opening main popup menu
- Also migrates all gesture responsibility away from Java side of things
- 'animation' was too constrained a name to what these do, so switch to the overloaded term 'node' ;-)
- Touch handling is no longer the sole purview of the touchjoy, (in prep for touchable HUD elements)
CPU speed animation touch-ups, and enable building for desktop
Rename/shuffle animation declarations and code
Refactor backend video system to be a dynamically initialized module
Basic CPU speed texture animation works on desktop Linux and Android
Use static pixel buffers to avoid malloc/free churn
Improve CPU animations
First cut at CPU speed message animation
Refactor some of the classic interface functions to be potentially reusable elsewhere
- automatically adjusts cpu timing to fastest if drive motor accessed recently and no audio/video
- TODO: audio output clipping issue when (un)pausing audio outpu
* Removes Linux-specific joystick handling
* Adds cross-platform GLUT joystick handling; Caveats:
- GLUT is not robust to joystick hot plugging like my old Linux-specific code was. (Fix should be made in the
GLUT driver and pushed upstream if we really care)
- Deprecated X11 renderer now can only use keypad joystick
* Based on NSOpenGLView and Apple's GLEssentials sample code
* CVDisplayLink- or NSTimer-driven rendering
* Works in window or fullscreen mode on Mac OSX Lion or later
TODO FIXME:
* Breaks Linux/Posix build
* Cocoa menu interfaces
* Key/mouse/joystick/gamepad handling
* GLUT sends the raw ascii ctrl-values, so we merely send them along in a "cooked" mode
+ It may be that some strange ctrl combinations (saw CTRL-~ or CTRL-ESC) are not properly handled this way, but
... not sure what can be done about this (doesn't seem to be a way to force glut to send us the non-cooked keys)
* Legacy X11 input continues to be sent as raw values (which arguably is a better way)