- Calculating MD5 in Gtk GUI rom properties dialogue now works.
- Gtk GUI open rom filter now has .z64, .v64, and .n64 extensions.
- Rom file decompression handled at single point (as opposed to
2-3) to prevent duplication of code and make adding 7zip support easier.
- General code cleanup, renaming / comments, etc.
Testing done:
- Tested .zipped (singe and multifile archives), .gzipped, and
uncompressed .z64 amd .v64 roms.
stub: void lowercase(char string[]);
modified the screenshot function to use the roms header (without spaces, and converted to lowercase) name:
example: supermario64_001.png
-Also removed gui code that tries to change the name of the pause toolbar item to either "Pause" or "Resume". I think most users understand that the pause key will also unpause. Plus the name can get out of sync due to the many alternative ways to pause/continue emulation (lirc, keyboard shortcut, mapped controller button).
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.
-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.
-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
-Added new tab to configuration dialog for user to create mappings.
-Minor fix: Reset configuration dialog to have first tab selected everytime it's shown.
-Added file filters to load dialogs for a more polished file chooser.
-Removed chdir to the config dir (~/.mupen64plus) from setPaths function. This was a hack to get around the fact that plugins were looking in the current working dir for config files. I've since fixed that issue, so the chdir is no longer necessary. Plus, the chdir was causing the file chooser dialogs to default to ~/.mupen64plus, which could be confusing to a user.