Jump to content
RealModScene
gavin_darkglider

Cheat Manager For Emulators

Recommended Posts

NEW VERSION OUT NOW. 0.4b

Here it is, as promised. A Database Program that will generate cht files that work with the Aurora enabled retroarch cores. The Official Retroarch build for the Xbox 360 does not support cht files, so go get the unofficial version here: http://www.realmodscene.com/index.php?/topic/4957-emulators-that-work-with-auroras-autolaunch-feature/

image.jpg

This is still in the beta stages, but has basic functionality.

 

Currently creating cheats for

1. Nintendo

2. Super Nintendo

3. GameBoy/GameBoy Color - Retro Arch Doesnt Currently support

4. GameBoy Advanced - Retro Arch Doesnt Currently support

5. Sega Genisis/Megadrive

 

Features:

1. Create/Modify Game Info

2. Create/Modify Cheat info

3. Export Cheat files from database. (RetroArch/Snes9x,FCEUX,ZSNES,Genesis/Kega Fusion.)

4. Determine if you have roms for games in database, so you dont have to export whole database. This requires having a copy of the roms on the computer, as I have yet to implement FTP functionallity.

5. Added Genesis Cheats to Database. :)

6. Added the ability for the app to create a blank DB if the DB isnt found.

7. GameGenie <> Hex conversion. Needed for some emulators(Eg. Snes9x) Does on the fly while creating cht files.

8. Added Progress Bar(So you know the app hasnt Frozen)

9. Sorting game list by system

10. Added Info about DB(How many games, cheats, and games you have)

11. Fixed File Name issues with the Xbox.

12. Added About.

13. Can now update sha256 hashes for your rom set. Just click on the hash in modify game, and choose your rom.  Only works with rom files, so dont forget to unzip them if you store your games that way. :)

14. Fixed bug with SNES9X/ZSNES export where blank cheats were getting put in file.

15. Added GameGear Support.

16. Added GameGenie2Hex converter, for easy modification of GG Codes, and it is cool to have.

17. Fixed Cheats for GBA, and GB/GBC, so now they work. Thank you Felida for cracking that one. :)

18. Added GameGear Cheats to DB. Thank you Felida, once again, for your hard work on the DB.

19. Added search, and sort functions.

20. FTP Functionallity

Features to add.

1. Import Functions(Some have been worked on, Mainly to save me time building the DB, but the end user cant access them. Yet. :)

2. Export to cht files for other emulators(coming along, but still a bunch to add)

3. Finish adding other emulator cores/cheats to Database(Still needs to be done).

4. Add an option to auto rename cht files to match rom names for emulators that require this.

 

NOTE: IF YOU HAVE ISSUES WITH SCANNING ROMS NOT FINDING YOUR ROMS, IT IS BECAUSE THERE ARE MULTIPLE VERSIONS OF EVERY ROM, AND I ONLY SAVED 1 SHA256 SUM( EVERY VERSIONS IS DIFFERENT) TO THE DATABASE, AS I DONT HAVE EVERY VERSION OF EVERY ROM. YOU CAN MANUALLY SET THAT YOU HAVE A GAME UNDER MODIFY GAME.

Special Thanks to: Swizzy, and Felida for helping me track down the bugs, and Felida for helping with the Database.

Download Here: https://www.dropbox.com/s/qr326iwepjqnfc1/Cheat%20Manager%200.3b.rar?dl=0

 

Download Source/0.4bFinal here: https://www.dropbox.com/s/f8wt8tzwxayegy3/Cheat%20Manager%200.4b%20source.rar?dl=0

 

The Latest version doesnt include the database, so you need to download 0.3b to get that, and has a compiled version included in the rar, for those that dont want to compile all of the librarys and stuff. 

 

That is it for this project for me. The only difference is this has basic FTP Support, and will upload files where you want them on the console.

  • Like 14

Share this post


Link to post
Share on other sites

Updated Op with new link, as Swizzy pointed out some stupid mistakes I made with the release. Stuff like not having the required sqlite dll file, and it being a debug build, so it had all the debug stuff with it.

  • Like 2

Share this post


Link to post
Share on other sites

F'ing outstanding.. Thanks m8 for the hard work  :thumbup:

codes work, this program seems to run well.. cheats dont have to be in the same directory or same filename on xb.. pretty good work

**there seems to be an error or something around rival turf SNES.. it displays a code in gamelist..

as far as when it has checked games had to the database, is it possible to que up just them games that i have? not a necessary thing, as it does only create all cheat files for them, just scrolling thru master list for each game can be tedious.. or have a group toggle such as NES shows only NES cat? just a few ideas.. 

  • Like 1

Share this post


Link to post
Share on other sites

F'ing outstanding.. Thanks m8 for the hard work  :thumbup:

codes work, this program seems to run well.. cheats dont have to be in the same directory or same filename on xb.. pretty good work

**there seems to be an error or something around rival turf SNES.. it displays a code in gamelist..

as far as when it has checked games had to the database, is it possible to que up just them games that i have? not a necessary thing, as it does only create all cheat files for them, just scrolling thru master list for each game can be tedious.. or have a group toggle such as NES shows only NES cat? just a few ideas.. 

This got kinda long, so I spoilered it.

When I created the database for that version I wrote a script that created the database, and imported the BSNES 2012 cheat xml file. Then I started creating the app. The one nice thing about BSNES, is it stores the sha256sum of the rom the codes are for. So I wrote a function that will scan your roms(Set path to roms on your hdd, unfortunatly, I havnt been able to look in to the ftp stuff yet) against the sha256 sum stored in the database, and will mark the rom as "Has" in the database.in settings it  has an option to only build for roms you have. Currently, the database only has cheats for NES, SNES, and Gameboy/Gameboy color, but has the ability for you to manually add cheats. You can also go under the cheat options, and set cheats to be enabled by default. I did notice while testing the function for scanning roms, than none of my NES roms actually verified against the database, and I have every game, excepting the Japan based games, as I dont read that. Eventually I will manually update the database for my rom set, as I know those roms are what they say they are. I am running into similar issues with the genesis, i have the cheats in the database, but I have to manually add the sha256 sum of all the roms. :(, I havnt tested any of the cheats for the genesis, when I do, I will add the new database as a download, but you will have to set the scan paths again, as they get stored in the database.

 

Long story short, I am happy to hear it is working for you, and I have plenty of plans to improve it later, like Importing/exporting from/to other emulators, more cheats, and a bunch checking/updating cheats on xbox, sorting by system, etc.. Might not get much done on the next version, but trust me, I have thought about this quite a bit. I wrote that much in 3 days, and I havnt written a program since I was in high school.  Lucky for me, Swizzy pointed me to some nice refresher material, so I have some reading to do, and work, but I will get it done when I can. :)

 

I was thinking progress bars would be nice also, as the export, and the import functions I have written all take a while because of the nested loops. Unfortunately, it is the only way I have found to have it import/export with my multi-table database. The game info is stored in one table, and the cheats are stored in another, and the settings in yet another. it is convenient

**there seems to be an error or something around rival turf SNES.. it displays a code in gamelist

I know, that error was in the bsnes 2012 cht file I imported into the database, and since I have no idea what game it was supposed to be, as my scan just checks the sha256 sum of a file in a folder, and then if it matches in the database, it will update its system type based upon the the rom extension, and will mark it as had. this loops all the files in the roms folder, so I cant really tell what game it is for. If I remember correctly, I noticed a few more games like that, I think once you get further down the list in the gameboy section.

  • Like 1

Share this post


Link to post
Share on other sites

Cool.. I made my own genesis cheat with your proggy.. Seems to work flawless.. As far as sha256, you might be over working yourself.. And as I stated.. I made a greatest heavyweights(genesis) myself w/o the sha hash.. Works just fine.. And the option to enable by default.. Doesn't work.. As emu just loads it as off regardless.. And you load the individual cheat file in rarch.. So I think the sha checks might be a bit overboard imo

Share this post


Link to post
Share on other sites

I will poke around more when I get home soon.. And let you know more

Share this post


Link to post
Share on other sites

Cool.. I made my own genesis cheat with your proggy.. Seems to work flawless.. As far as sha256, you might be over working yourself.. And as I stated.. I made a greatest heavyweights(genesis) myself w/o the sha hash.. Works just fine.. And the option to enable by default.. Doesn't work.. As emu just loads it as off regardless.. And you load the individual cheat file in rarch.. So I think the sha checks might be a bit overboard imo

The option was in the cht files I got from the admins over at the retroarch forms, so I put it in the app. That feature might not be in the xbox version. So, I guess it is good to know. If you dont care about the sha256, I will shoot you a pm with a link to the database with the genisis cheat in it, It will work with this version of the cheat manager also.

Share this post


Link to post
Share on other sites

A hiccup i found was that the file names of the cheats need to not have special characters, and only 32 char limit i believe.. no toooo sure on the exact ammount, but stuff like "Simpson, The" " & " doesnt transfer, so if there is a way to modify that everything will be good to roll, so peeps dont need to constantly rename n whatnot.. I will try that genesis list..

Share this post


Link to post
Share on other sites

A hiccup i found was that the file names of the cheats need to not have special characters, and only 32 char limit i believe.. no toooo sure on the exact ammount, but stuff like "Simpson, The" " & " doesnt transfer, so if there is a way to modify that everything will be good to roll, so peeps dont need to constantly rename n whatnot.. I will try that genesis list..

Thanks, as I said, I havnt tested those codes, only imported them, and am in the process of putting sha256 in the database, which I have to do manually, so will probably take a while. What system are the games that are messing up the file naming? It will make it easier to find in the database. just pm me a list, and when I get a moment, I will look into fixing that. :) You can fix that, because it names the files the name of the game, and adds .cht extension. Originally, I was going to release the app with an empty database, but since I was looking for testers for the functionallity that is already there, I released it with the database I made for myself. the final version will come with a blank database, and the option to download the pre-made one.

 

I also plan on creating a version of this that runs natively on the xbox, but I want to work all the bugs out of the version for the PC, then look into making an xbox app. Who knows, maybe if I ever get it finished, I will hand the code over to Maester Rowen, and it will get added directly into aurora/unity, so the app wouldnt be needed at all. I wouldnt count on it, because phoenix has its hands full with Aurora already, but who knows. :)

 

Also was curious if the scan worked on the NES Roms for you, as none of mine matched the Sha256 sum from bsnes, so not sure if they are wrong in the database, or if my rom sets are different then the ones they originally used.

Share this post


Link to post
Share on other sites

Well for the sha, you can get the good tools for the system, such as goodgen I used for Sega, and they have all the info about the ROMs u could need.. Zophar.net, or Google.. Simple command line tools.. Might be a better version floating around.. But for someone with your skillset, shouldn't be complicated to use em

Share this post


Link to post
Share on other sites

And only a few nes games did get output.. Dunno what happened there.. And by filenames, all my ROMs are already named for Xbox.. The .cht files came out with the release filenames.. So I thought it might have been in the database.. But it is characters like commas and + signs that the Xbox don't like.. First issue was "7th Saga, The" SNES.. 3rd game in SNES list.. Cheats are fine.. As I said just the special chars xb don't like

Share this post


Link to post
Share on other sites

And if your database is SQL, couldn't you do a simple update query to change it? Haven't played with SQL since my WoW PS days lol

Share this post


Link to post
Share on other sites

Fixing it isnt a problem, I have a busy week, so finding time is the problem. Yes I can update it with a simple query, as sqlite uses sql querys, but doesnt require a server to host the data, so it is all local. As I said earlier, I imported those cheats from the bsnes 2012 cheat file, which is an xml file, and when it saves the cht file, it uses the game name in the database so if you modify the game name with the app, the cht file name will change when you export. :) Maybe in a future version, I will create an online database also you can import/export cheats to/from, but it is super low priority. I seem to be spending more time on the database then I have on the code. I will look into writing a function that removes the special characters from the names, but I might be put off until next week. I do have a life, and as I said, originally, I wrote this for myself, and thought the rest of the world might like the app.

 

Thank you for the info, and when I get some time, and finish up adding the sha256 info for the genesis roms, I will look into it. Unfortunately, I have to manually add it all to the database. It would be nice to write a function that would just update the game table with the info, but since the names of my roms dont match whats in the database for Game names, I am stuck manually doing it. The biggest Issue I am finding, is that every different version of every rom has a different hash, so it only detects games if you are using the same version of the rom. eg. I have every American NES game, and none of them verify against the database. :(  The Snes, GB/Gb Color games verified fine, for the most part. I might look into pulling the headers from the roms, and having it sort that way, but even then it could be problematic between rom versions. It is a problem I have yet to think of a solution to, but dont think I havnt thought about it.

 

But to make you happy, I will list some of the changes to the app, That I have managed to implement so far.

1. Added genesis cheats to db, which I sent a copy of that db to felida, for testing of cheats. Still waiting to hear back from them if the cheats for that are working by the way.

2. Added progress bar for importing an exporting functions. For the most part it is working, but due to the random decimal point in the percentage calculator, and how I removed it, so the bar stops a little short. :( but who cares, it disappears when it is done, and is there, so people dont think the app is crashing if it takes forever. I do know when I first imported the bsnes file it took about 1.5 hours on my crappy computer, and exporting seems to be alot faster, but it is still nice to have a visual aid.

3. Sorting list by system type, and removing games from list that arent marked as had, so you dont have to look through all the games. The database with the app has like 1650 or something like that games in it, and the one I am currently working with has like 5 or 6 hundred more with the genesis games. Still need to add a search function to the app, So you can search by game name, which hopefully I will have finished up tonight, and will have a new working build compiled.

4. Added a game and cheat count to the main screen. Not really needed, but it comes in handy not having to open the database to see how many games/cheats are in it.

Stuff that still needs to be done.

1. Need to write a function that will create a blank database with the tables set up properly, so if the database isnt detected, it will create a blank one, so the app doesnt crash, which it throws all sorts of errors now, if it is missing.

2. Need to start writing more export functions for emulators other then retroarch, as that isnt the only emulator set I plan on this app being compatible with. I wanted an app that would manage cheats for all emulators, as I hate having to type them in, and create new cht files for each one, it is time consuming, and just sucks all around. If the Idea was just for retroarch, I would have just generated the cht files and put them in a rar and people would be downloading that instead.

3. Need to write an import function for every cht file type. So far I only have Genisis Fusion, which uses a tab delimited text file, and BSNES 2012 xml file. I will have to write 2-3 more functions for bsnes as they have changed the cheat database a few times. and there are tons of other emulators I still have to research. EG. the non retroarch version of Snes9x uses a binary file type, so I am going to have to pull the source for the emulator, and have to pull the filetype class for cheats, so I can open them, and write to the.

4. Add a function to change sha256 of a game from app, as every rom version has a different one, what is in the database might not match your rom, but will still work with it.

This app is still in the alpha stages, and that version I wrote in 3 days during my down time. hopefully in the next couple of days I will get a copy of the new version to some people to test. I have some people in mind, and I think they know who they are.

Share this post


Link to post
Share on other sites

Update. Been hard at work on this when I have time. It is a bit of a pain getting all of the information into the database, and also adding new features.

 

Whats been added.

To Database: Genesis/Megadrive Cheats.

 

To App.

1. Sorting game list by system, makes finding games easier. Will eventually add search function.

2. Game Genie to Memory Address Converter(Used on the fly for creating cheat files, as some emulators use the GG codes, while others convert them to memory address and save that(eg. Snes9x).

3. Created c++ dll that reads/writes other emulator cheats(Was easier then rewriting functions from C to VB .Net). Currently only supporting SNES9X.

 

What to expect in the next release.

1. The ability to export to Snes9X.

2. The ability to sort list.

When to expect next release. In the next couple of days. As soon as I finish up the Sha256Sums for genesis, and when I write the function to export to snes9x, which shouldnt take long at all.

Share this post


Link to post
Share on other sites

New Version Released. Get it in the op. Snes9X functionallity is there, but not completed. long story short, if a game has more then 150 cheats, it will only add the first 150.

Also, any cheat in the DB that is actually >1 cheat will not end up in your cheat file, as I still have to write the code for dealing with this.

 

I have plans on finishing this when I get some time. Also should be mentioned somewhere, that the Snes9x cheats will need to be renamed to the name of your rom, and put in the Cheats folder of snes9x. The Snes9x export is not for the snes9x Retroarch core, but for the official version of Snes9x. So dont try to export like this, and expect it to work with retroarch version.

  • Like 1

Share this post


Link to post
Share on other sites

New Database and app version coming soon. Thank you to Felida, he has been working really hard on getting all the cheats in the database.

Sorry for not updating this sooner, but I have been really busy with real life stuff.

New features added/to be added:

1. Ability to add/export game gear, TyrQuake, and PRboom.

2. Fceux export for non retroarch emulators.

3. GG to Hex Conversion window. Helpful for converting ProAction Replay to GG on some snes, and fun to play with.

4. The ability to update sha256 hash, so scanning for roms works better for every one. :)

 

in other news, I am still fighting with the Zsnes source code, to try and figure out how the system stores cheats, The emulator was written in assembly, so that is taking longer then I would like. In other news, I will try to add genesis fusion to the list of exportable systems, as it is a basic text file, and shouldnt take to long to write.

 

Edit: Just finished up the Update Sha256 Hash feature. Genesis Fusion/Kega Fusion Export almost complete, Just have to finish up handling Multi Codes. GG2Hex Converter on its way, havnt quite decided how I am going to do that, the functionallity is already there, just have to decide how I am going to implement it. :)

 

Edit 2: GG2Hex Converter Finished, Just have to finish up the Genesis/Kega Fusion Export Function, and am waiting on the completed update for the database, Cheats are there, waiting on felida to finish adding the sha256 hashes, as that is the last piece of the puzzle.

New systems added to DB: Finished up Gameboy/Gameboy Color Cheats, Gameboy Advanced Cheats, and Sega Game Gear Cheats. Cheat manager is exporting for all systems, and when I get the completed database back I will personally add the Cheats for Doom, Doom 2/Final Doom, and Quake. :)

 

Edit 3. Every thing is done for the next release, Just waiting on the Latest DB with the SHA256 Hashes. :)

  • Like 2

Share this post


Link to post
Share on other sites

So another update before the next release:

 

1. Figured out how to get ZSnes cheats, it appears they save exactly the same as Snes9x. in the mean time, I found a slight problem with the export for snes9x, where it is putting blank cheats in the cheat file. Not a big deal for the most part, except that with snes9x, it limits you to 150 cheats per game, so I will try to fix this.

2. Have to recreate the functions in the snes9x import/export dll, as the zsnes doesnt limit the number of cheats you have in a file, and it is locked to the max number of cheats for snes9x. :(

 

Edit: everything done, will mess with recreating the dll for snes9x at a later date, as very few games have more then 150 cheats on the snes.

  • Like 1

Share this post


Link to post
Share on other sites

Not able to run Cheat Manager!!!!
It keeps on giving me some error regarding (System.Data.SQLite) 
Need help please

Share this post


Link to post
Share on other sites

Not able to run Cheat Manager!!!!

It keeps on giving me some error regarding (System.Data.SQLite)

Need help please

Sounds like you're missing the DLL from the pack.. With that name.. Try downloading it again.. Or running the program as administrator

Sounds like you're missing the DLL from the pack.. With that name.. Try downloading it again.. Or running the program as administrator

i just checked on that, and the new version is missing it, here

https://mega.co.nz/#!HMoHTSoa!BGoceviJNJMCIL6-89WuvTjLiNgZS5xMLO5zEqrxBUo

just copy to directory and it should work.. gavin is working on adding FTP to this currently.. im pretty sure that was an accident.. but use that dll.. as it was supposed to be there..

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...