Finally decided to stop fighting C++, and just use size_t everywhere an
array is used.
Even though this is a 64-bit value, it seems that C++/STL expects it
when dealing with arrays, so I guess we will too.
- music support
- autodetection support
- creation of 60K ROMs
For the latter, I still need to see how we will distribute those ROMs, and get them added to the database.
- class has been renamed to 'Bankswitch'
- it is now a proper (static) class with namespacing
'Bankswitch' now contains all logic for determing what a proper ROM filename is.
So some functions have moved from LauncherFilterDialog to here (that class will be removed soon).
In the process, implemented issue 261 (file extension determines BS type to use).
Clang 3.8, gcc 5, Visual Studio 2017 and Xcode 8 are now the minimum
supported compilers, and they all support C++14, so we may as well use it.
- Change all make_ptr to make_unique
- Change iterator begin(), end(), etc to const versions where appropriate
- Remove UniquePtr, since C++14 supports it natively
This has been in patch form for about a year, and I'm finally
getting around to applying it. Basically, we separate the Cart
class into 3 classes:
- Cart: stuff specific to cartridge emulation
- BSTypes: various bankswitch types, both as enum and strings
- CartDetector: actual bankswitch auto-detection code
Also made more use of smart pointers, and added const in a few
more places.
I promise to get back to the phosphor stuff soon. This is just
to clear my head a little.