aboutsummaryrefslogtreecommitdiff
path: root/source/nds/gui.c
AgeCommit message (Collapse)Author
2013-02-02Release 1.26.Nebuleon Fumika
2013-02-01Release 1.25.Nebuleon Fumika
2013-02-01Add an option that controls which element should be more fluid, per game: ↵Nebuleon Fumika
video or audio. This makes most games playable, but the player can choose to get fluid audio instead of fluid video in sound-test modes or games with epic soundtracks.
2013-02-01When starting CATSFC, assume the backlights are both on, so don't delay 100 ↵Nebuleon Fumika
milliseconds and set both backlights to on.
2013-01-29Prevent a file descriptor becoming unusable if the emulator configuration ↵Nebuleon Fumika
file is not in the correct format.
2013-01-27Reimplement Quicksort correctly for file selection screens. Before this ↵Nebuleon Fumika
commit, the emulator could sometimes give a file out of its order, for example an O* file between two S* files.
2013-01-27Suspend on lid-close in the menu.Nebuleon Fumika
2013-01-26Release 1.24.Nebuleon Fumika
2013-01-26Fix Tools/Global hotkeys/* refusing to work by touch.Nebuleon Fumika
2013-01-22Release 1.23.Nebuleon Fumika
2013-01-22Add three hotkeys: temporary fast-forward, sound toggle and return to menu. ↵Nebuleon Fumika
These hotkeys can be overridden per game so that the global version of the hotkey can be ignored. * Language file fixups related to \n (newlines). * Pictochat fixups: shorten START and SELECT to ST and SEL. Should still be recognisable.
2013-01-21Properly finalise the current menu when returning to the game. Fixes entries ↵Nebuleon Fumika
"disappearing" in the recently played games menu.
2013-01-20Release 1.22.Nebuleon Fumika
2013-01-20Fix a regression with touching "recently played games".Nebuleon Fumika
2013-01-20Release 1.21.Nebuleon Fumika
2013-01-20Assert that the icon set will not change according to language. This is ↵Nebuleon Fumika
possible as of commit 4b4349ac8afb7dce6c0ca8a64a268f897a295469.
2013-01-20Prepare data structures for adding hotkeys.Nebuleon Fumika
2013-01-20Avoid selecting a menu item by touch if the conditions aren't met, part 2: ↵Nebuleon Fumika
Saved state menu improvements.
2013-01-20Show the screenshot for a saved state when touching it once in the Load ↵Nebuleon Fumika
state row.
2013-01-20Don't clear the screen to black after a file selector. Purely aesthetic.Nebuleon Fumika
2013-01-20Scroll the selected file name faster in file selection dialogs.Nebuleon Fumika
2013-01-19GUI touch handling improvements.Nebuleon Fumika
* Don't select items defined with type HIDEN_TYPE. That's for items like the card capacity display. * Don't change current_option and current_option_num until we're sure of what's going on. * Don't select an item from another menu if you touch a phantom menu item below the last one of the active menu. For example, Video & audio's item 5 would call up the ROM loading dialog. This is now fixed. * Handle NUMBER_SELECTION_TYPE and STRING_SELECTION_TYPE as invocations of CURSOR_RIGHT. This fixes the language selector not updating the language in the GUI when touched. * Handle ACTION_TYPE. This fixes the Load cheat file menu item not working when touched.
2013-01-19Prepare code to ask for a hotkey. Prepare a temporary fast-forward switch.Nebuleon Fumika
2013-01-18GUI picture overhaul.Nebuleon Fumika
* Glass buttons. These new buttons are in the SVG format in source/images if you wish to make derived skins. * Icons from the Tango Icon Library and the RRZE Icon Set. These new icons are in the SVG format in source/images if you wish to make derived skins. * Main menu: More readable text on unselected options. * Main menu: Make "New game", "Return to game" and "Reset game" localised in English, French and Simplified Chinese. These three options also all use the same button image now; snewo, snnewo, sreseto, snreseto, sreteno and snreteno are gone and replaced by smaini and snmaini. * copyright: Update. * Align main menu icons and text better.
2013-01-18Fix a bug whereby "state #0" is selected as the default saved state in the ↵Nebuleon Fumika
saved states menu if there were no saved states before. Electing to load #0 messed with the game; electing to save #0 erased the game-specific configuration.
2013-01-18Revert "Reinstate timer-interrupt audio."Nebuleon Fumika
This reverts commit 944d9a729455de435c3d200752308ceedf250196. Conflicts: source/nds/entry.cpp
2013-01-18Fix multiple compiler warnings: forward declaration, implicit declaration, ↵Nebuleon Fumika
unused variable, variable used uninitialised, unused function (when not used anywhere else with a #define).
2013-01-18cppcheck: [nds/gui.c:3130]: (error) Array 'tools_options[2]' index 4 out of ↵Nebuleon Fumika
bounds cppcheck: [nds/gui.c:3132]: (error) Array 'tools_options[2]' index 4 out of bounds
2013-01-18cppcheck: [nds/gui.c:3573]: (error) Possible null pointer dereference: ↵Nebuleon Fumika
current_option - otherwise it is redundant to check if current_option is null at line 3576
2013-01-17Reinstate timer-interrupt audio.Nebuleon Fumika
This reverts commit 0d048d05ee50625f15d5235d362df6ee71903fc5.
2013-01-16Initialise current_menu to NULL in menu(u16). Otherwise, ↵Nebuleon Fumika
choose_menu(&main_menu) tries to call the end_function of a menu that's a random pointer.
2013-01-14Release 1.20.Nebuleon Fumika
2013-01-14Release 1.19.Nebuleon Fumika
2013-01-14Raise the CPU frequency while loading or saving states and while showing ↵Nebuleon Fumika
their screenshots.
2013-01-14The delete (delette?) save state submenu still had 10 slots hardcoded.Nebuleon Fumika
2013-01-14Make "Create saved state" have its own row of slot cells.Nebuleon Fumika
Raise the number of cells to 16. Cache existence of saved state files, and invalidate the cache when saving or deleting a saved state. CATSFC/system/gui: Make the unselected and selected cells more visibly different, while also leaving full and empty cells visibly different.
2013-01-14Preliminary support for saving to an arbitrary saved state slot.Nebuleon Fumika
Currently, tapping a cell representing a saved state slot in the menu will load it, regardless of the current option, save or load. So the save option only accepts Left, Right and A.
2013-01-13Prevent the "Load cheat file" option from showing a file selection dialog if ↵Nebuleon Fumika
no game is loaded.
2013-01-13Use the same update method as the rest of the code to display saved-state ↵Nebuleon Fumika
screenshots on the upper screen.
2013-01-13Localise Yes(A) and No(B) into English, French and Simplified Chinese as [A] ↵Nebuleon Fumika
Confirm and [B] Cancel. CATSFC/system/gui/sbutto.bmp: Widen the button to accomodate this change.
2013-01-13Release 1.18.Nebuleon Fumika
2013-01-13Revert timer-interrupt audio, but not optimisations done since then. Get the ↵Nebuleon Fumika
controller status every scanline again.
2013-01-13Raise the CPU only after the delay required by ds2_setBacklight().Nebuleon Fumika
2013-01-12Remove 2 extraneous delays. The 100-millisecond delays before ↵Nebuleon Fumika
ds2_setBacklight() MUST STAY, however, otherwise the emulator can crash with the bottom backlight off if a touch is recognised twice in a row. That happens with some broken styluses, so it's not unexpected.
2013-01-11Reinstate some delays needed by the code to avoid crashing, and actually ↵Nebuleon Fumika
explain in code comments why they're needed. I know ds2_setBacklight(unsigned int) needs a delay before it, otherwise if done too close to another call, it crashes. This partially reverts commit 8951fdff1aada126257e07699ea6f132cb8d2e65.
2013-01-09Release 1.17.Nebuleon Fumika
2013-01-09Attempt to fix the crashing with sound interrupts, part 2: Stop the timer ↵Nebuleon Fumika
before the menu, and restart it after it ends.
2013-01-08Release 1.16.Nebuleon Fumika
2013-01-07Release 1.15.Nebuleon Fumika
2013-01-07Add support for user-selected and automatic frame skipping. Add support for ↵Nebuleon Fumika
PAL timings (20 ms per frame). User-selected frameskip causes slowdowns if the game runs slower than the resulting frame rate, but synchronises correctly if the game runs faster. Automatic frame skipping is still the default. It now only skips up to 8 frames, but in some games still skips that entire 8 frames. What's needed is an algorithm that averages frame latencies over a few seconds and skips while the latency is LOWER than the average.