Commit graph

82 commits

Author SHA1 Message Date
Nebuleon Fumika
984682682c Release 1.26. 2013-02-02 01:39:50 -05:00
Nebuleon Fumika
25aeb83f7b Release 1.25. 2013-02-01 20:47:46 -05:00
Nebuleon Fumika
d4dd98e8c1 Add an option that controls which element should be more fluid, per game: 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-01 20:09:24 -05:00
Nebuleon Fumika
60f6ffcc70 When starting CATSFC, assume the backlights are both on, so don't delay 100 milliseconds and set both backlights to on. 2013-02-01 00:36:51 -05:00
Nebuleon Fumika
f0fab191e4 Prevent a file descriptor becoming unusable if the emulator configuration file is not in the correct format. 2013-01-29 22:24:20 -05:00
Nebuleon Fumika
cfa1c811c6 Reimplement Quicksort correctly for file selection screens. Before this commit, the emulator could sometimes give a file out of its order, for example an O* file between two S* files. 2013-01-27 00:45:59 -05:00
Nebuleon Fumika
362b28e937 Suspend on lid-close in the menu. 2013-01-27 00:30:48 -05:00
Nebuleon Fumika
365a69d72e Release 1.24. 2013-01-26 19:44:37 -05:00
Nebuleon Fumika
f2f7ef3fe9 Fix Tools/Global hotkeys/* refusing to work by touch. 2013-01-26 17:07:26 -05:00
Nebuleon Fumika
44164cce8c Release 1.23. 2013-01-22 04:55:46 -05:00
Nebuleon Fumika
2cf733eef4 Add three hotkeys: temporary fast-forward, sound toggle and return to menu. 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-22 04:16:15 -05:00
Nebuleon Fumika
f81781ae8c Properly finalise the current menu when returning to the game. Fixes entries "disappearing" in the recently played games menu. 2013-01-21 23:33:03 -05:00
Nebuleon Fumika
0f91ed22f3 Release 1.22. 2013-01-20 22:25:35 -05:00
Nebuleon Fumika
80f2e13043 Fix a regression with touching "recently played games". 2013-01-20 22:22:24 -05:00
Nebuleon Fumika
656eeab87f Release 1.21. 2013-01-20 19:20:54 -05:00
Nebuleon Fumika
73e8f96a3b Assert that the icon set will not change according to language. This is possible as of commit 4b4349ac8a. 2013-01-20 18:37:44 -05:00
Nebuleon Fumika
31c9101699 Prepare data structures for adding hotkeys. 2013-01-20 18:14:18 -05:00
Nebuleon Fumika
f64980e2c1 Avoid selecting a menu item by touch if the conditions aren't met, part 2: Saved state menu improvements. 2013-01-20 18:13:30 -05:00
Nebuleon Fumika
28464433a8 Show the screenshot for a saved state when touching it once in the Load state row. 2013-01-20 17:21:09 -05:00
Nebuleon Fumika
4c283f5401 Don't clear the screen to black after a file selector. Purely aesthetic. 2013-01-20 16:14:51 -05:00
Nebuleon Fumika
af0ea50e7e Scroll the selected file name faster in file selection dialogs. 2013-01-20 16:05:49 -05:00
Nebuleon Fumika
0cd9ebfb8b GUI touch handling improvements.
* 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-19 23:01:36 -05:00
Nebuleon Fumika
2bb2ee8c0a Prepare code to ask for a hotkey. Prepare a temporary fast-forward switch. 2013-01-19 02:24:37 -05:00
Nebuleon Fumika
4b4349ac8a GUI picture overhaul.
* 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-18 21:36:59 -05:00
Nebuleon Fumika
8ae4ee4d51 Fix a bug whereby "state #0" is selected as the default saved state in the 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-18 03:50:41 -05:00
Nebuleon Fumika
0d5be16895 Revert "Reinstate timer-interrupt audio."
This reverts commit 944d9a7294.

Conflicts:

	source/nds/entry.cpp
2013-01-18 03:33:14 -05:00
Nebuleon Fumika
bf5cb54162 Fix multiple compiler warnings: forward declaration, implicit declaration, unused variable, variable used uninitialised, unused function (when not used anywhere else with a #define). 2013-01-18 02:41:32 -05:00
Nebuleon Fumika
aa54875b05 cppcheck: [nds/gui.c:3130]: (error) Array 'tools_options[2]' index 4 out of bounds
cppcheck: [nds/gui.c:3132]: (error) Array 'tools_options[2]' index 4 out of bounds
2013-01-18 01:20:01 -05:00
Nebuleon Fumika
51e18ffb2f cppcheck: [nds/gui.c:3573]: (error) Possible null pointer dereference: current_option - otherwise it is redundant to check if current_option is null at line 3576 2013-01-18 01:18:11 -05:00
Nebuleon Fumika
944d9a7294 Reinstate timer-interrupt audio.
This reverts commit 0d048d05ee.
2013-01-17 18:52:22 -05:00
Nebuleon Fumika
582b3a23ce Initialise current_menu to NULL in menu(u16). Otherwise, choose_menu(&main_menu) tries to call the end_function of a menu that's a random pointer. 2013-01-16 03:17:33 -05:00
Nebuleon Fumika
95a1f4c0a3 Release 1.20. 2013-01-14 23:39:47 -05:00
Nebuleon Fumika
be4d4495ba Release 1.19. 2013-01-14 04:30:31 -05:00
Nebuleon Fumika
c7cc655473 Raise the CPU frequency while loading or saving states and while showing their screenshots. 2013-01-14 04:11:35 -05:00
Nebuleon Fumika
07f0fe97fd The delete (delette?) save state submenu still had 10 slots hardcoded. 2013-01-14 03:50:43 -05:00
Nebuleon Fumika
009019e1bf Make "Create saved state" have its own row of slot cells.
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-14 03:46:14 -05:00
Nebuleon Fumika
a6ec18e23f Preliminary support for saving to an arbitrary saved state slot.
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-14 02:51:39 -05:00
Nebuleon Fumika
a26bc99b90 Prevent the "Load cheat file" option from showing a file selection dialog if no game is loaded. 2013-01-13 20:59:26 -05:00
Nebuleon Fumika
5e6b9ea6ca Use the same update method as the rest of the code to display saved-state screenshots on the upper screen. 2013-01-13 20:23:45 -05:00
Nebuleon Fumika
e2359ee049 Localise Yes(A) and No(B) into English, French and Simplified Chinese as [A] Confirm and [B] Cancel.
CATSFC/system/gui/sbutto.bmp: Widen the button to accomodate this change.
2013-01-13 20:22:41 -05:00
Nebuleon Fumika
12a838c767 Release 1.18. 2013-01-13 14:31:44 -05:00
Nebuleon Fumika
0d048d05ee Revert timer-interrupt audio, but not optimisations done since then. Get the controller status every scanline again. 2013-01-13 05:00:47 -05:00
Nebuleon Fumika
5b33e3c903 Raise the CPU only after the delay required by ds2_setBacklight(). 2013-01-13 04:17:40 -05:00
Nebuleon Fumika
99b19abca3 Remove 2 extraneous delays. The 100-millisecond delays before 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-12 20:35:47 -05:00
Nebuleon Fumika
3a1708474f Reinstate some delays needed by the code to avoid crashing, and actually 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 8951fdff1a.
2013-01-11 03:28:59 -05:00
Nebuleon Fumika
e1ec72de10 Release 1.17. 2013-01-09 04:04:49 -05:00
Nebuleon Fumika
03a0d3457b Attempt to fix the crashing with sound interrupts, part 2: Stop the timer before the menu, and restart it after it ends. 2013-01-09 03:21:44 -05:00
Nebuleon Fumika
36ad810c10 Release 1.16. 2013-01-08 15:24:21 -05:00
Nebuleon Fumika
e4d3aeac2a Release 1.15. 2013-01-07 21:15:43 -05:00
Nebuleon Fumika
c01c25febe Add support for user-selected and automatic frame skipping. Add support for 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.
2013-01-07 02:16:34 -05:00