Commit graph

33 commits

Author SHA1 Message Date
Richard Goedeken
210f946cae added newlines to the end of every source file which was missing one 2008-09-27 15:22:21 +00:00
Scott Knauert
a39df3aa94 Fix lack of newline breakage. Sorry about that, gcc 4.3 doesn't give those warnings even on -Wall. One -Wall fix, and remove hardcoded 1024 PATH_MAX to use limits.h. Also re-added rice hard gtk dependency. 2008-09-26 19:08:12 +00:00
Scott Knauert
83f614d45c Minor fixes, primarily to allow for compiling with -Wall, but also formatting and comments. A few corner case bugs found. 2008-09-25 21:46:06 +00:00
Richard Goedeken
eaa7093f42 reverted commit 677, which introduced a bug which causes very bad things to happen if you run the same game twice. I suspect this is related to the g_MemHasBeenBSwapped mechanism which was removed in this commit, but there were too many changes to pinpoint the exact cause 2008-06-26 01:10:56 +00:00
Scott Knauert
d607893707 Tied rcs messages with new main_messaging system. Fixed longstanding rcs Gtk GUI bug (cannot load rom via play button), added multifile zip support, cleaned up rom loading functions. 2008-06-25 19:48:49 +00:00
James Hood
ef14c2cabd Added cheat system support such that if a cheat is disabled during gameplay, the original memory values before the cheat was applied will be written back to memory to attempt to reverse the cheat.
For example, before this fix, if you enabled the "Mario flies without wingcap" cheat during gameplay, it would work, but if you then disabled it during gameplay, Mario would still be able to fly. Now it correctly restores the old memory values so Mario can't fly anymore after you disable the cheat. Note, because cheats are basically writing to a random area of memory, this function may not always restore the previous state depending on the way that area of memory is used by the game.
2008-04-24 07:40:31 +00:00
James Hood
16a274adb6 -Rewrote cheat dialog to handle add/edit and enable of cheats all in one dialog.
-Removed Cheat menu and replaced it with "Cheats..." menu item in the Options menu.
-Modified alert_message and confirm_message so they handle line wrap of the message internally, so now it's no longer necessary to insert newline chars into strings passed to alert_message and confirm_message.
-added list_find_node utility function to util.c.
-added utility functions to create/delete cheat structures for use by the gui.
2008-04-23 06:46:47 +00:00
James Hood
2baec5c8eb Added cheat menu and implemented dialog to enable/disable cheats during gameplay. This dialog does not allow you to add/edit cheats. That's coming soon. 2008-04-14 19:32:07 +00:00
Richard Goedeken
9f10d202be Reverted all changes on trunk from rev 189. The reason why I made a branch was so that you would not commit these things on the trunk. 2008-04-14 11:29:15 +00:00
John Chadwick
ec8445cc55 Attempt 3 at commiting the patches.
THIS PATCH IS PRELIMINARY AND DOES NOT WORK.
It also needs some major cleanup and most plugins are not yet compiling. Going to need any help I can get here, but I'll be working on it.
2008-04-14 04:37:57 +00:00
James Hood
ee9cc495dc Simplified execute_cheat function 2008-04-10 06:15:07 +00:00
Scott Gorman
a5ea948c58 Added more cases, fixed a few bugs. 2008-04-09 22:50:45 +00:00
James Hood
f7339c8d4f fixed minor syntax error introduced during debug testing 2008-04-09 22:18:06 +00:00
James Hood
04112142fc -Added GS button support in cheat_apply_cheats.
-Readded boot code handling (it was lost during cleanup).
-Made conditional cheat code handling cleaner (got rid of do_next var).
2008-04-09 21:13:26 +00:00
James Hood
13bc1f9744 D'oh, my last implementation of GS Button didn't work because of how SDL handles keyup events. I had to change the implementation. Now there's a function in cheat.c that will allow you to query whether the GS button is pressed or not. 2008-04-09 20:33:20 +00:00
James Hood
0165af30c5 -Added global variable representing whether the Gameshark button is pressed or not.
-Added 'g' shortcut key that will act as the Gameshark button.
-Added user ability to map a joystick button to the Gameshark button.

Note, I did not add support for the Gameshark button to the emulator core yet, so cheats triggered by the GS button will not work until that's done.
2008-04-09 17:11:00 +00:00
Scott Gorman
c133e08e6c removed always_enabled but changed it to enabled.
i dont see why this is needed.
2008-04-09 13:51:20 +00:00
James Hood
5f40aa84cc -major cleanup of the cheat code.
-Changed name of cheat config file to cheats.cfg. File is now read in on startup and written out on exit.
-Changed cheat config file format to the following:

{Some Game's CRC}
name=Some Game

[Cheat Name 1]
enabled=1
XXXXXXXX YYYY <-- cheat code (address, new value)
XXXXXXXX YYYY
XXXXXXXX YYYY

[Cheat Name 2]
enabled=0
XXXXXXXX YYYY
XXXXXXXX YYYY
XXXXXXXX YYYY

{Another Game's CRC}
name=Another Game
...

Here's the cheats.cfg I used for testing:

{635a2bff 8b022326}
name=SUPER MARIO 64

[Super Mega Jumps]
enabled=1
8133b176 0008

[Jesus Mode Mario]
enabled=1
81381764 0800
81381766 0024
81000090 3c04
81000092 8034
81000094 8484
81000096 b1e6
81000098 4484
8100009a 3000
810000a0 4680
810000a2 3120
810000a4 4604
810000a6 903c
810000ac 4500
810000ae 0002
810000b4 4600
810000b6 2486
810000b8 080e
810000ba 05db
810000bc e712
2008-04-09 06:59:41 +00:00
Scott Gorman
762e122f81 fixed a infinite loop for games that did not have a cheats.gs entry. 2008-04-09 05:38:57 +00:00
John Chadwick
20295c5989 removes a few now unnecessary things from the gameshark system. 2008-04-09 04:54:12 +00:00
John Chadwick
dc17ec142b Needs clean up, but fixes the conditionals system in the cheating core. 2008-04-09 04:49:24 +00:00
Richard Goedeken
8fd1a809a9 added header files to cheat.c to fix compiler warnings 2008-04-09 02:43:50 +00:00
James Hood
1838894052 fixed segfault if no cheats.gs file exists 2008-04-08 16:05:03 +00:00
Scott Gorman
6ad7a2b218 this should fix it 2008-04-08 14:44:49 +00:00
Scott Gorman
51bfc3d9fa Fixed the file reading... successfully reads 1 cheat from /.mupen64plus/cheats.gs
example: (Mario 64)

1
:635a2bff 8b022326
Super Mega Jumps
1
<
8133B1760008
>

This might contain tabs, I'm sorry my editor is messed up... and it's late and I need to goto bed. (I'm working on fixing my editor though... I promise)
2008-04-08 08:38:03 +00:00
John Chadwick
0a170d46e3 even more cheat work, yawn 2008-04-08 07:30:28 +00:00
John Chadwick
7136b73644 More fixing of my own stupidity in the cheat core. 2008-04-08 07:16:50 +00:00
John Chadwick
39ee4f940c More work on the cheating core, added usage load_cheats into main.c 2008-04-08 07:09:22 +00:00
John Chadwick
0877c6d42c Should finish the rest of the gameshark implementation, however, much testing is needed. 2008-04-08 06:47:41 +00:00
Scott Gorman
740f400cf0 Fixed the struc cheat_code in cheat.h
wrote the apply_cheat's function

almost there
2008-04-08 05:37:26 +00:00
John Chadwick
df25dc8bbe some fixes to the cheat core, mainly can ignore this as it is just for collaborating 2008-04-08 04:43:40 +00:00
Richard Goedeken
4e3bd85840 Do not commit code with tabs. Learn how to configure your editor. Add correct file header information; if you don't update it now you never will 2008-04-08 04:17:57 +00:00
Scott Gorman
87ee6b180b cheat.c basic file - incomplete 2008-04-08 04:06:45 +00:00