* Fix handling of Unicode paths on Windows
I love C++
* Reduce the amount of reinterpret_casts
* Okay? Don't commit the file CLion? Why not?
* Fix texture replacements too
* add ability to set path of card image before CARDInit
* begin work on updating card class to support gci folders
a lot of work will just be directly reading from whatever folder is supplied, instead of relying on an always open FileIO handle
* swap to interface system for easier code seperation, begin actually planning out logic for gci loading
* fix wrong name for func, add modified time to new gci file entry
* get gci folder working
tp seems to be happy with everything ive done, the only funcs im worried about are getSerial and getChecksum as those dont do anything atm.
* fix createFile not assigning file index to output FileHandle, CARDSetLoadType now takes an enum
* make probeCardFile a virtual func so GciFolder and RawFile can both implement their own, bit of cleanup
Previously we'd write each block individually, this is extremely slow,
instead let's allocate the entirety of the dummy data and write that all at once.
This gives a considerably speed boost and prevents games from stalling at launch
* add ability to set path of card image before CARDInit
* add missing func to osx/linux variant of ResolveDolphinCardPath
* remove format specifiers in formatting funcs
* missed some oops
* refactor card loading to allow loading slot A and B if present
if neither slots have card images, a slot A image will be created at the save directory
this commit also changes card image names to "MemoryCardA/B.USA.raw" to fit with dolphins naming conventions (region code will always be USA unless changed in the macro, which could eventually be changed to be something in aurora config)
* only remove file name from CARDSetBasePath if not a directory