kwsch / SysBot.NET

sys-botbase client for remote control automation of Nintendo Switch consoles.
https://projectpokemon.org/home/files/file/4207-sysbot-automatic-build/
GNU Affero General Public License v3.0
463 stars 270 forks source link

Adapt classes for reuse in different games, improve many features #119

Closed kwsch closed 3 years ago

kwsch commented 3 years ago

Preface

With BD/SP on the horizon, the question of "how will SysBot.NET support the new games" has to be addressed. There are two options:

  1. Have distinct hardcoded abstractions separate for each environment PKM format.
  2. Have generic abstractions that can be used regardless of the environment's PKM format.

Since we want to be able to backport improvements & future communication protocols like Atmosphere's tma, we have chosen option 2 to keep the codebase as consistent and feature-rich as possible.

Notable changes:

This is a lot of changes -- forks may have difficulty following the main branch updates if they do not update to follow the latest design.

Configuration File

Migrating saved configuration details is required:

It is advised to make a copy of your config, then delete the channel/role whitelisting. Once the config has been updated by running & closing the program, copy over your Routine Complete values if you care about keeping them. Then, reconfigure your role/channel settings.

Closing:

This pull request will be merged in whenever the next PKHeX.Core update is posted, to synchronize the two releases. When future game features are more well known, there may be more abstraction required for trading users, as not all games use 8 digit trade codes.

The wiki has already been updated to reflect these changes.