An update! This one is full of fixes and improvements. And also...
New Ports:
- Added 3DS port! This version allows you to swap between the top and bottom screens, so you can choose between the top screen's wider aspect ratio or the bottom screen's touch controls.
- It runs at an average of around 58 FPS on a New 3DS, or around 21 FPS on an Old 3DS (though this only really affects how smooth the background scrolling is).
- (Re-)Added Android port! This was dropped a few versions ago, but now it's back with all the latest enhancements. And your game is now autosaved when you minimize the app via the Home/Recent Apps button.
- If you already had the old version installed, you should uninstall it before getting this one since it won't overwrite.
Changes:
- Enhanced controller support! Input is now read from all connected controllers, and you can freely connect/disconnect controllers as desired.
- Scaled background size relative to screen resolution. This means all resolutions should now have around the same background sizes as opposed to large resolutions being tiny.
- Redesigned the grid and menu cursors. The grid cursor is now slightly smaller in 240p, and slightly larger in other resolutions.
- [PC (Windows+Linux)] Progress is now autosaved when exiting via the window's X button (or right click -> Close window).
- [Linux] Set Native resolution as default.
Technical Improvements:
- Tons of performance optimizations! These were needed for the 3DS port since it uses software rendering, but other systems also benefit. These include heavily optimizing sprite transparency, scaling, text surfaces, and code inlining, along with a bunch of other minor optimizations that add up.
- 3DS frame rate is around 2-3x what it was before these changes were made.
- To use an existing port as a comparison, PSP FPS increased from low 40s to low 50s.
- Reduced file size, RAM usage, and load times by optimizing graphics.
- The FunKey version in particular is now less than 1 MB!
- [Windows] The game is now compiled with MSYS instead of Visual Studio, and DLLs are now statically linked to the executable. That means the entire game is now a single EXE.
- In my testing, the x64 version flagged Windows Defender on one machine. This is a false positive; if it happens to you, just use the x86 version instead.
- Other assorted improvements and cleanup.
Bug Fixes:
- Fixed grid number placement. Numbers are now more consistently in the middle of each cell, regardless of resolution or position.
- Improved grid cursor placement. Likewise, the position of the cursor sprites is now more consistent.
- [FunKey] Fixed some visual inconsistencies to match the SDL2 versions.
Enjoy!