Standardize listing text, Reduce Toast text size
The toast was nearly a full screen dialog for one line of text
Differentiate the headings from the list items
Increase transparency of tiled background image
Fix an issue with text size for switch compat
This will account for storing games in a second-tier folder, such as
putting bins in one directory and chd in another with each game having
it’s own folder for bin and cue.
The BIOS search should handle 4 levels to account for the use of
/Android/data/com.reicast.emulator/files but should also ignore
directories, such as cache and obb, where the file will never be.
Since the BIOS cannot be stored on external storage, there is
absolutely no reason to begin a search from that folder.
It makes more sense to start from a user-defined folder than the
default simply because an external card exists. A check has been added
to see if the preference is a default.
This adds the ability to simply close the emulator when launched
externally and prevents changes designed for linux from generating
conflicting controller configurations on Android (and may be needed for
iOS as well).
This *should* add the Android audio backend. I do not have any idea how
to do this properly, but I figured that this might work for the moment.
There's probably a lot of testing required for this to work.
This makes it possible to have multiple audio backends compiled into
reicast (e.g. ALSA & OSS on Linux). These can then selected by the user
via a config option ("backend" iin the "audio" section). It *should*
also be possible to reduce the number of platform-specific ifdefs with this
approach.
Audio backends need to define a struct (audiobackend_t) that holds a
pointer to it's init, push and term function and also a slug and a name
as string. They then need to pass a pointer to this struct to
RegisterAudioBackend() before InitAudio() is called.
For now, I defined a function (RegisterAllAudioBackends) that get's
called exactly once (i.e. upon first call of InitAudio()), where
we can put ifdef'd RegisterAudioBackend() calls into for each backend
that reicast supports.
Please note that this commit just implements the basic audio backend
system - no backends have been ported to the new API yet. For the meantime,
reicast will run without any audio support accross all systems.