* util/options.cpp: Added option types for single and multiple paths.
* util/options.cpp: Substitute environment variables in values from defaults and INI files.
* ui/dirmenu.cpp: Removed hard-coded list of multi-path options.
* plugins: Don't substitute environment variables in path options.
* Use the plugin data folder for storing the cache. The history folder
may be read-only or shared with different configurations.
* Don't create the cache database or surrounding folder if there's
nothing to store in it.
* Actually use prepared queries multiple times rather than always
destroying them after a single use.
* Added proper error checking for most database operations.
* Improved query performance by avoiding outer joins and table scans.
-bus/nubus: Made the Macintosh Display Cards map the blue channel to
white with monochrome monitors. Also added logging for PLL
configuration to help debug how CRTC and RAMDAC clocks work in the
future.
* Fix console history path, homepath is a core option
* Create missing directories recursively in lua plugins.
* Add lfs to global environment in a less magical way.
require normally doesn't bind the name globally just returns the
module, mame sets a preloader that does bind lfs globally, but
maybe it's less surprising to do it explicitly
Made the sound manager mute controls readable, and got rid of system
enable since it just controls system mute anyway. This was causing
confusion: phantom2 was trying to use both independentlyt casuing the
mute bit to be ignored.
THe Lua interface changes are mostly changing methods to properties,
some renames to make things clearer, and some additional properties for
better control over snapshots.