Commit Graph

61 Commits

Author SHA1 Message Date
mtabachenko 42b51f4e45 - add checks savestate ROM header data with loaded ROM header; 2013-05-13 08:08:19 +00:00
zeromus 04f8434bb1 license cleanup (but none of the linux port files yet) 2012-03-30 08:27:53 +00:00
rogerman 09985b15a8 Cheat System:
- Rename private method XXcodePreParser() to XXCodeFromString() and make public static.
- Add methods getListPtr() and getItemByIndex() to return pointers to the actual cheat items in the array list.
- Do some minor code cleanup.
2012-01-18 04:02:08 +00:00
rogerman 9012f5426f Cheat System:
- Fixed a crashing bug in certain situations when if a bad AR cheat code is applied, would then cause an invalid memory access.
2011-10-29 20:18:55 +00:00
rogerman cf621a6665 - Fixed a crashing bug when reading from a cheat database, which would cause invalid memory accesses on 64-bit systems.
- Fixed a dangling pointer bug when reading from a cheat database.
- Fixed many potential buffer overflow issues related to C-string usage.
- Increased the memory allocation for cheat items to account for very large database entries. Also, the new behavior of any exported database entry that attempts to exceed the memory allocation is: Too big code size will not read. Too big description will be truncated.
2011-10-28 07:33:38 +00:00
riccardom 182f81fb46 Fix memory block alignment in RomBanner for 4-byte wchar_t, #3354040
From rogerman:

The RomBanner struct requires UTF-16 strings for the six different ROM titles.
Currently, we use wchar_t buffers to define the memory blocks where the title
strings are supposed to go. Using wchar_t is fine for compilers that assume a
2-byte wchar_t. But compilers that use a 4-byte wchar_t will misalign
the memory blocks.

I've submitted a new patch that changes all the wchar_t in RomBanner titles
to u16 for all ports. It took me a while to research the dependencies on
titles, and to make sure I didn't accidentally break something in the
Windows port.

As for the wcscpy() deal in the RomBanner constructor, it's an arbitrary
default init value that we don't actually use in practice, so I removed it.
If a particular port wants to know what to display for the titles when a
ROM isn't loaded, there are plenty of ways to figure this out. Or they can
just check the titles for an empty string, which the constructor inits the
titles to before the wcscpy() call.

For CHEATS::save(), I removed the dependency on using titles. The ROM name
we write to file is also an arbitrary value which we don't actually
reference in practice. I changed it to use gameInfo.ROMname, since we're
already using gameInfo.ROMserial.
2011-07-23 16:01:48 +00:00
riccardom 4bfd29c702 cheatSystem: headerId should be const 2011-07-23 15:34:00 +00:00
mtabachenko 1cbd6afa28 cheats:
- fix bug for import from R4 cheats base (removing empty codes from list);
2011-06-03 10:38:46 +00:00
mtabachenko 13ae3664ab cheats:
- add support R4 encrypted cheats base;
cheats (winport):
- fix GUI bugs;
- add boxcheck in export dialog;
- add convert internal cheats to AR;
- add select R4 cheats base format (Path Settings);
- cheats base file moved to cheat folder (CHEAT.DAT/USRCHEAT.DAT);
2011-05-19 12:54:00 +00:00
zeromus 10f649e843 potentially fix a ton of bugs in the cheat system by going through the correct memory access APIs. also potentially break some cheats, because i didn't test any of it. 2011-05-17 19:47:37 +00:00
zeromus e3b27ecd16 apparently fix some situations where too many cheat codes are entered. codr's patch 3200856 2011-03-27 20:08:09 +00:00
zeromus 5141a38ec6 apparently 100% of pokemon AR codes were typed with the letter O in place of zero in some places, so lets try to adjust for it in the parser 2010-11-13 17:57:09 +00:00
zeromus 2e7f6bd52a try rewriting part of the AR parser a little differently to see if it will trick vs2010 into working 2010-11-04 09:44:52 +00:00
riccardom 56ea49a9e3 Some fixes and cleanups for FAT_R4
- Use typedef in struct definition
- Fix zeroing of struct, {0} is not enough need memset
- Fix english and size specifier in printf: u64 wants ll
2010-08-06 16:53:23 +00:00
mtabachenko 8f090d0499 cheats:
- add support for Action Replay V1.54
2010-08-06 07:27:21 +00:00
zeromus e4fcfb08af try fix 64bit pointer math compile errors 2010-07-28 03:58:59 +00:00
mtabachenko 0add4b34bf Cheats:
- add export cheats from R4 database (only from decrypted);
use: place USRCHEAT.DAT in DeSmuME folder, in Emulation->Cheats->List click on "Export..." button.
TODO: decrypting encrypted DB, add choose path for DB
2010-07-27 21:35:44 +00:00
riccardom 1f279f75af Thou shalt not use strnicmp.
Thou shalt use strncasecmp.

Fix compilation on !MSC.
2010-07-18 08:51:51 +00:00
zeromus dcfe3bad86 what about AR he says 2010-07-18 07:01:28 +00:00
zeromus 9c750642c8 fixes to cheat system 2010-07-18 06:32:15 +00:00
zeromus fb7b9a2104 make cheat system not so flaky with respect to numbers of cheats. it is my hypothesis that every single person whose cheats slay the emulator has entered more than 100 cheats and until now, 10,000 crashed emulator users later, nobody has bothered to tell us. should support unlimited cheats now, but i refuse to test cheats so someone else tell me if i broke something. 2010-07-16 02:40:54 +00:00
zeromus 7e1ec9f583 some cleanup of banner info handling, so bitbox 4k demo loads again 2010-06-01 22:39:59 +00:00
mtabachenko 66ec4060e4 core:
- add support for patched firmwares;
2010-02-01 14:47:01 +00:00
riccardom e2ca4ed530 Check fgets return code and shut up signed vs unsigned
integer comparison gcc warning.
2009-12-28 13:22:49 +00:00
zeromus dcbff3f40b fix crash/freeze when adding internal cheats [2921845] 2009-12-27 18:57:10 +00:00
mtabachenko 1d7d7df7e9 winport:
- fix load a settings of GuitarGrip;
- add saving a status of cheats (disabled/enabled);
2009-12-26 10:10:55 +00:00
mtabachenko 3969516d0b - add check for bounds of internal cheats; 2009-12-24 18:49:50 +00:00
mtabachenko e629f9ea7a - fix load/save of cheats; 2009-12-24 18:16:21 +00:00
mtabachenko 7e959377ae typo fix in cheats :) sorry 2009-12-23 14:58:21 +00:00
mtabachenko 41297b6d8e core:
- the type of ROM serial code is changed (now NTR-****-***)
2009-12-21 14:06:04 +00:00
riccardom 8941b4aba9 Add missing header for memset and declare strings as const char. 2009-12-20 14:43:30 +00:00
mtabachenko 659b0dbcb6 - fix for non WIN32 compilers; 2009-12-20 14:36:43 +00:00
mtabachenko 039e177db6 cheats:
- fix EXXXXXXX code;
2009-12-20 13:46:46 +00:00
mtabachenko 6fe8d6bdc7 cheats:
- cleanup & add classes;
- new cheat file format;

tools:
- add 'cheat file format converter' (.dct) from old versions (console);
2009-12-20 01:31:58 +00:00
mtabachenko 38a687eed8 winport:
- add cheats disable menu item;
2009-11-13 10:00:19 +00:00
zeromus acadc2f784 fix a bunch of warnings 2009-07-23 20:49:33 +00:00
mtabachenko 3ed0604e12 winport:
- fixed search after load savestate and reset game;
- fixed grayed 'OK' button in GBAslot dialog;
2009-06-14 16:44:00 +00:00
zeromus 947356fbe1 clean up rom info collection and mix it up with the movie system 2009-06-11 03:40:56 +00:00
zeromus 3499207db6 fix crash in cheat search involving loading state in the middle of a search session 2009-06-03 15:32:51 +00:00
mtabachenko 822552b138 winport:
- fixed toggle on/off for Action Replay (double click in list)
2009-04-26 12:58:21 +00:00
mtabachenko cc0c3c4e26 cheats: small fix in AR loop code 2009-04-26 11:31:33 +00:00
mtabachenko ff59371827 - added full Action Replay code parser; (hooks not need...?) 2009-04-26 11:26:20 +00:00
mtabachenko d4afa548de again :( , typo fix 2009-04-18 20:32:57 +00:00
mtabachenko 6b82719eb0 typo fix :( 2009-04-18 20:29:00 +00:00
mtabachenko 438800961e AR: implemented some codes and fixed early my commit 2009-04-18 20:01:26 +00:00
riccardom ea58962012 Use of macro that can be a nop inside a conditional should be protected by braces otherwise a kitten will get hurt! 2009-04-18 19:28:59 +00:00
mtabachenko 9304d34bf8 added parser for comma when load cheats; 2009-04-18 17:41:14 +00:00
mtabachenko 19d5e1c354 cheats:
- added some Action Replay codes processing;
2009-04-18 16:12:25 +00:00
riccardom e3d3b1407f Make a couple of functions static and shut up a signed vs unsigned warning in cheatSystem.cpp. 2009-04-18 13:44:31 +00:00
mtabachenko 654952bcf8 winport:
- it is now possible to add Action Replay to the cheats (THIS IS ONLY ADD TO CHEATS and NOT EXECUTE AR CODE)
2009-04-18 12:46:24 +00:00