BizHawk
BizHawk copied to clipboard
Auto-generate preferred cores from source
- closes #3960
RFC.
This auto-generates the UI options for the core preferences picker from the list of available cores. This also requires changing the core attribute for many cores to signal that they are the preferred core for a specific system. Basically, instead of having the core preference list stored entangled with the UI picker data and having to be manually maintained, the list is now based purely on the available cores.
This and the added tests ensure that all system ids with multiple core choices have an entry in the core picker (preventing mistakes like what d74b130c22a8e877cbf6ecec45a1ab714bb2f77f fixed) and that the default preference is always known, even when the user has configured a different preferred core for a given system id.
This will also make it impossible for fa08002fbf2d8481b6558630c2f57f51953b771e to occur, where quick(er)nes was both the preferred core and had lower than default priority. In reality this doesn't really show itself, but it's best to fix it nonetheless.