Commit Graph
6 Commits
Author SHA1 Message Date
DimitriPilot3 d4d7e2515f Apply the simple NULL-checking patch from issue 4311.
Judging by the feedback provided by other OSX users, this appears to fix the crash when starting Dolphin on OSX with devices that have an empty name.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7598 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-15 12:50:47 +00:00
DimitriPilot3 98536df915 Make sure to reserve() exactly the right amount of elements for the std::vector before filling it with CheatSearchResult's, in order to prevent automatic re-allocations.
It turns out that this (somewhat) gets rid of memory-related exceptions which used to occur (especially) during 8-bit cheat searches.  At least this is the case with my computer that has 3GB of RAM (the issue didn't seem to be caused by 100% of RAM usage, however).

Hopefully you'll be able to perform the following steps without errors now:
1. Open any game in Dolphin;
2. Go to Tools->Cheats Manager, and open the "Cheat Search" tab;
3. Preferably set the "Data Size" to 8-bit (the smaller, the more initial search results);
4. Press the "New Scan" button;
5. Use the "Unknown" search filter (which won't narrow the results down at all);
6. Press the "Next Scan" button.

(oh, and fix a typo in a comment I introduced in r6791 :p)

Anyway, make sure to tell me any eventual errors/regressions.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7596 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-06-13 15:47:02 +00:00
DimitriPilot3 5224a5a007 Cleaned up, and added some error-checking to the CARCodeAddEdit::SaveCheatData() function which deals with the parsing (and decrypting whenever needed) of lines of codes entered in the Add/Edit AR code dialog.
I believe this makes Dolphin more reliable than GCNcrypt v1.1 which seems to add (prepend) a buggy line when decrypting...

- Split lines using SplitString() once more (as done with ' ' and '-' already), instead of relying on find() and substr() and the (size_t)line variable.
- Rename some variables, use a for() loop instead of a while() loop.

- Apply the StripSpaces() function to each line before attempting to parse them as encrypted/decrypted AR code lines.  Without this, lines such as "B1PD-DXRQ-GTRKM " (notice the unexpected space character) would be recognized neither as encrypted nor as decrypted, which could result in badly decrypted codes (a problem I had tried to explain here: http://forums.dolphin-emulator.com/showthread.php?pid=153532#pid153532).

- For the sake of error-checking, after pressing OK, throw a warning in the following situations:  when a line of code is not in a valid encrypted or decrypted format, and whenever the resulting decrypted code doesn't contain any lines.

(did I do any mistakes?)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7569 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-29 13:51:42 +00:00
DimitriPilot3 8c304d912a To me, the Free Look option wasn't really broken; for quite a long time, it simply required the SHIFT key to be held before pressing any of the WASD/R/0/9 keys.
So, clarify this by rewriting the "tooltip" for the Free Look option.  This should close issue 2882 and its duplicates.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7546 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-05-15 17:36:22 +00:00
DimitriPilot3 a1da2e0e4c Some fixes for the "Cheat Search" feature :
- Replace ToLong() with ToULong(), as to allow values in the [0x80000000..0xFFFFFFFF] range to be parsed correctly without failure.
- Remove the "val_base" hack, as it breaks hexadecimal values beginning with '-'.
Simply passing 0 as the second parameter to ToULong() is enough, as mentioned on this page: http://msdn.microsoft.com/en-us/library/5k9xb7x1%28v=VS.100%29.aspx
- Changed the error message (and some of its translations) to reflect that octal values are now auto-detected ("supported") as well.

To users: 
Note that values beginning with '0' (not "0x" nor "0X") are now interpreted as octal values instead of decimal values. So be careful when using those!

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7223 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-02-21 18:01:32 +00:00
DimitriPilot3 4e74a58c2a Build fix: a bogus include was added in r6988.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6991 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-01-30 19:27:46 +00:00