Commit graph

292 commits

Author SHA1 Message Date
Nebuleon Fumika
f3dab3957c Release 1.36. 2013-06-16 02:28:00 -04:00
Nebuleon Fumika
72db4b9ec1 Don't crash on extensionless files. Helps GitHub issue #37 some more. Taken from DS2Compress. 2013-06-16 02:04:08 -04:00
Nebuleon Fumika
a1d1e01e11 Dynamically allocate memory for the file selector to store the name pointers into. Also dramatically simplify the file selector's name management code. This has many effects:
* It allows the file selector to handle directories of more than 511 files and a parent directory entry. (Fixes GitHub issue #37).
* It allows the file selector to sort directories along with files, which is a more common use case (game folders that contain ROM hacks, plus single game files, are sorted by name as the user expects).
* The file selector now reports progress while loading a large directory.
* The screenshot slideshow function now shows an existing dedicated message, "No screenshots found", instead of crashing when the screenshot directory contains no screenshots.

Add Quicksort code from GameYob. See <https://github.com/Nebuleon/GameYob/commit/afbeeba>.

* Faster sorting in the common case where a directory's natural order is already sorted, using the isSorted function.
* Use the median-of-three algorithm first described by Robert Sedgewick to select the pivot. Causes less recursion in many cases.
* Associates file names with their is-directory flag, keeping both in sync.
2013-06-15 23:40:29 -04:00
Nebuleon Fumika
4252250fe7 Prevent a file handle leak when previewing saved states in the row of Load cells. 2013-06-10 22:23:34 -04:00
Nebuleon Fumika
5e5d5dcaa1 L+R takes a screenshot of the Touch Screen in the menu. Taken from TempGBA commit b4a68a9ad710cd37fec0c0f604218f5a34d10fc7. 2013-05-25 12:58:14 -04:00
Nebuleon Fumika
1329a31267 Release 1.35. 2013-05-23 20:09:21 -04:00
Nebuleon Fumika
3f501f9c90 Add support for custom main menu active/inactive, message text and background colors. Fill in default values for the purple skin in uicolors.txt. 2013-05-23 20:07:48 -04:00
Nebuleon Fumika
48eb438a24 Fix a bug whereby quick saved states would have a screenshot of "Saving state...". 2013-05-20 17:22:38 -04:00
Nebuleon Fumika
4b5a5a15d7 Add an option to put the game on the Lower Screen.
* Before entering the menu, copy the game screen to the Upper Screen if it's on the Lower Screen.
* Now, the frame that's shown in the menu doesn't appear to be the previous frame for a fraction of a second anymore.
2013-05-20 03:17:02 -04:00
Nebuleon Fumika
41c50b372e CATSFC/system/gui/uicolors.txt: Theme support for active and inactive item text colors. 2013-05-20 00:46:43 -04:00
Nebuleon Fumika
22aa56d2ed Put the most recently played file at the top. This does not introduce an incompatibility with older preference files. 2013-05-20 00:34:33 -04:00
Nebuleon Fumika
6b370ce35b Fix a GUI bug whereby an incorrect item is considered touched in file selectors. 2013-04-28 10:03:00 -04:00
Nebuleon Fumika
53d2f1f6cd Add the year to the date displayed in a saved state's screenshot.
Based on TempGBA commit 0adaf3c332453679cc0a2feee9e87d5a4dc3c771.
2013-04-09 23:14:04 -04:00
Nebuleon Fumika
dfd3934953 Release 1.34. 2013-03-30 03:05:41 -04:00
Nebuleon Fumika
e1eaf42367 Wait for a button to be pressed and released after showing version information. 2013-03-30 01:46:56 -04:00
Nebuleon Fumika
afe9a7ca26 Fix the odd text disappearance bug in recently played games due to the position being preserved. 2013-03-30 01:22:59 -04:00
Nebuleon Fumika
55b5c8ff65 Increase the row count from 6 to 8 in the GUI, file selector and cheats. Remove the useless "dynamic cheat" functions. 2013-03-30 01:08:07 -04:00
Nebuleon Fumika
fa71ce7345 Optimise the reading of bitmap files. 2013-03-29 22:04:27 -04:00
Nebuleon Fumika
2113821e23 Fix scrollers in file selectors after the previous commit. 2013-03-29 05:52:12 -04:00
Nebuleon Fumika
efe43d2f62 Stop the odd disappearing text when moving between files in recently played games. 2013-03-29 05:45:39 -04:00
Nebuleon Fumika
9a08a7ea4a Make rendering a GUI background (256x192) more efficient. 2013-03-29 05:24:31 -04:00
Nebuleon Fumika
900aedbed8 gui.c: Overhaul the autorepeat behaviour of get_gui_input. 2013-03-29 04:41:44 -04:00
Nebuleon Fumika
4c958cf8dd Preserve the position in a menu when moving into one of its submenus. 2013-03-29 03:23:48 -04:00
Nebuleon Fumika
2237740090 Restore the functionality of selection options with handler functions. This unbreaks commit 57bcab6a25. 2013-03-28 05:02:46 -04:00
Nebuleon Fumika
9920215d94 Remove some button press/release recognition latency in the menu. 2013-03-28 04:49:31 -04:00
Nebuleon Fumika
57bcab6a25 Reduce the number of special cases in the touch handling code. 2013-03-28 04:20:29 -04:00
Nebuleon Fumika
f27122724a Fix overlapping text (screenshot creation OK/failed) in message boxes. 2013-03-28 04:03:46 -04:00
Nebuleon Fumika
8d1854d8a2 Make "Save a screenshot" work with touch. 2013-03-28 04:00:17 -04:00
Nebuleon Fumika
13449ee395 Fix a crash in the touch handler of the delete saved state submenu. 2013-03-28 02:44:51 -04:00
Nebuleon Fumika
13971bf935 Finish the back button uniformisation. 2013-03-28 02:31:17 -04:00
Nebuleon Fumika
501fe38561 Stop the path scroller flashing when moving between files in a file selector. 2013-03-28 02:19:20 -04:00
Nebuleon Fumika
dbb2dd89f0 Delete the right number of saved states when selecting one of the options. 2013-03-27 05:14:22 -04:00
Nebuleon Fumika
0b5f9ad553 "Saving state..." was still way below the top of its message box. 2013-03-27 01:35:14 -04:00
Nebuleon Fumika
639a7081d4 Use white text with a black outline when drawing the date of a saved state into its bitmap. It looks nicer than white on a rectangle of black. 2013-03-27 01:18:31 -04:00
Nebuleon Fumika
286c44077a Show the screenshot with timestamp after writing a state. 2013-03-27 01:09:27 -04:00
Nebuleon Fumika
688b13d065 Use update method 0 everywhere in the code except that double-buffered update workaround for hangs. 2013-03-27 00:37:40 -04:00
Nebuleon Fumika
b4d2fc6168 Default to the first non-Back option in all menus for which the element count is known to always be non-zero. That excludes the recently played games menu. 2013-03-26 22:29:45 -04:00
Nebuleon Fumika
a1a4c9384e Saved state menu overhaul.
* Show the screenshot of the selected saved state even in the creation and deletion rows.
* In the saved state deletion interface, make the single state deletion go first.
* The screenshot of the latest saved state or the last selected one appears when the menu loads.
* The screenshot of the paused game appears when the menu is left.
2013-03-26 22:15:26 -04:00
Nebuleon Fumika
805ccda32c Uniformise the location of the title icon across all interfaces, default and custom. 2013-03-26 19:58:17 -04:00
Nebuleon Fumika
2fd480b4f3 Uniformise the location of the back button across all interfaces, default and custom. 2013-03-26 19:53:13 -04:00
Nebuleon Fumika
a57b91f897 Remove \r's in the basic initialisation error messages. 2013-03-23 01:21:15 -04:00
Nebuleon Fumika
362058dc00 Allocate fewer screens for the console shown when a basic initialisation error occurs. 2013-03-23 01:20:08 -04:00
Nebuleon Fumika
24b55e1c02 Release 1.33. 2013-03-20 00:35:41 -04:00
Nebuleon Fumika
37ef0a9b8d Fix the text scrollers, and make the scroller code smaller to boot. 2013-03-11 00:22:01 -04:00
Nebuleon Fumika
936cb38b5e Center text without needing endless spaces; also support \n in centered text.
* Text positioning in message boxes is now controlled by #defines.
* The various MSG_PLAY_SLIDE<n> messages are now one, MSG_SCREENSHOT_SLIDESHOW_KEYS, with \n between lines.
* Use \n in some more message pairs.
* Lengthy scrollers broke. This will be investigated in a later commit.
2013-03-10 21:21:37 -04:00
Nebuleon Fumika
39fecc43bb Update the hotkeys preview. 2013-03-03 00:32:32 -05:00
Nebuleon Fumika
a519d9c93d Release 1.32. 2013-03-01 13:20:38 -05:00
Nebuleon Fumika
d8d2dcc959 Remove unneeded variables in draw.c. 2013-02-27 19:07:48 -05:00
Nebuleon Fumika
49cc257e8d Remove unneeded functions in draw.c. 2013-02-27 19:01:09 -05:00
Nebuleon Fumika
339cdb4828 Maybe Settings.FixFrequency is what's causing the emulated SNES to be slower than a real SNES? It does an adjustment of 15/1000, after all... 2013-02-22 02:41:50 -05:00