-
Notifications
You must be signed in to change notification settings - Fork 1
Add a new game
This section will help you to add a new game to the list of supported games (rom hack or other generations). Be aware, the games will not be maintains by the author of Pokebot if new features is added.
Generally, I used GenXMemory because the format and address are almost the same between games of the same generation. For example, in emerald ruby sapphire fire red and leaf green it's the same memory reader called Gen3Memory. Create your class that implement the interface IMemory.
The runner is a class that execute specific action and can be different between games of the same generation. For example, in emerald ruby sapphire it's a specific runner and fire red and leaf green is another one. Create your class that implement the interface IActionRunner or abstract class CommonActionRunner.
Read this guide to understand how symbols works and how to add new one.
Inside app.config you should add a new Generations section and new Versions. Generations is used to define contains of a version like pokemons, moves, caracters, items, ... Versions is used to define which ROM can be load and support by the tool and some parameters for bots to works.
When everything looks good you have now to add your game so it can be detected by the tool. Inside VersionCode enumeration you must add the code specific in the app.config of your version.
Then in VersionFactory add your game in the switch statement with your reader and your runner.
When you did all these steps, you should now be able to try it out. If symbols are correctly loaded you shouldn't even have fatal errors. If you have invalid data, then it's very likely that the addresses are invalid. If everything is working you can create a pull request and someone will review your code !
Thank you for helping Pokebot develop! 🥳