diff options
Diffstat (limited to 'docs/release/src/osd/winui/layout.cpp')
-rw-r--r-- | docs/release/src/osd/winui/layout.cpp | 160 |
1 files changed, 72 insertions, 88 deletions
diff --git a/docs/release/src/osd/winui/layout.cpp b/docs/release/src/osd/winui/layout.cpp index a4ced439c48..c27a361d6ef 100644 --- a/docs/release/src/osd/winui/layout.cpp +++ b/docs/release/src/osd/winui/layout.cpp @@ -4,7 +4,7 @@ /*************************************************************************** - layout.c + layout.cpp MAME specific TreeView definitions (and maybe more in the future) @@ -24,99 +24,85 @@ #include "help.h" #include "mui_audit.h" #include "properties.h" -//#define MESS -static BOOL FilterAvailable(int driver_index); -#ifdef MESS -#include "drivenum.h" - -static BOOL DriverIsComputer(int driver_index) -{ - return (driver_list::driver(driver_index).flags & MACHINE_TYPE_COMPUTER) != 0; -} - -static BOOL DriverIsConsole(int driver_index) -{ - return (driver_list::driver(driver_index).flags & MACHINE_TYPE_CONSOLE) != 0; -} - -static BOOL DriverIsModified(int driver_index) +static BOOL FilterAvailable(uint32_t driver_index) { - return (driver_list::driver(driver_index).flags & MACHINE_UNOFFICIAL) != 0; + return !DriverUsesRoms(driver_index) || IsAuditResultYes(GetRomAuditResults(driver_index)); } +#ifdef MESS extern const FOLDERDATA g_folderData[] = { - {"All Systems", "allgames", FOLDER_ALLGAMES, IDI_FOLDER, 0, 0, NULL, NULL, TRUE }, - {"Available", "available", FOLDER_AVAILABLE, IDI_FOLDER_AVAILABLE, F_AVAILABLE, 0, NULL, FilterAvailable, TRUE }, - {"Unavailable", "unavailable", FOLDER_UNAVAILABLE, IDI_FOLDER_UNAVAILABLE, 0, F_AVAILABLE, NULL, FilterAvailable, FALSE }, - {"Console", "console", FOLDER_CONSOLE, IDI_FOLDER, F_CONSOLE, F_COMPUTER, NULL, DriverIsConsole, TRUE }, - {"Computer", "computer", FOLDER_COMPUTER, IDI_FOLDER, F_COMPUTER, F_CONSOLE, NULL, DriverIsComputer, TRUE }, - {"Modified/Hacked", "modified", FOLDER_MODIFIED, IDI_FOLDER, 0, 0, NULL, DriverIsModified, TRUE }, - {"Manufacturer", "manufacturer", FOLDER_MANUFACTURER, IDI_FOLDER_MANUFACTURER, 0, 0, CreateManufacturerFolders }, - {"Year", "year", FOLDER_YEAR, IDI_FOLDER_YEAR, 0, 0, CreateYearFolders }, - {"Source", "source", FOLDER_SOURCE, IDI_FOLDER_SOURCE, 0, 0, CreateSourceFolders }, -// {"CPU", "cpu", FOLDER_CPU, IDI_FOLDER, 0, 0, CreateCPUFolders }, -// {"Sound", "sound", FOLDER_SND, IDI_FOLDER, 0, 0, CreateSoundFolders }, - {"Imperfect", "imperfect", FOLDER_DEFICIENCY, IDI_FOLDER, 0, 0, CreateDeficiencyFolders }, -// {"Dumping Status", "dumping", FOLDER_DUMPING, IDI_FOLDER, 0, 0, CreateDumpingFolders }, -// {"BIOS", "bios", FOLDER_BIOS, IDI_FOLDER, 0, 0, CreateBIOSFolders, DriverIsBios, TRUE }, - {"CHD", "harddisk", FOLDER_HARDDISK, IDI_HARDDISK, 0, 0, NULL, DriverIsHarddisk, TRUE }, - {"Samples", "samples", FOLDER_SAMPLES, IDI_FOLDER, 0, 0, NULL, DriverUsesSamples, TRUE }, - {"Working", "working", FOLDER_WORKING, IDI_WORKING, F_WORKING, F_NONWORKING, NULL, DriverIsBroken, FALSE }, - {"Not Working", "nonworking", FOLDER_NONWORKING, IDI_NONWORKING, F_NONWORKING, F_WORKING, NULL, DriverIsBroken, TRUE }, - {"Originals", "originals", FOLDER_ORIGINAL, IDI_FOLDER, F_ORIGINALS, F_CLONES, NULL, DriverIsClone, FALSE }, - {"Clones", "clones", FOLDER_CLONES, IDI_FOLDER, F_CLONES, F_ORIGINALS, NULL, DriverIsClone, TRUE }, - {"Screens", "screens", FOLDER_SCREENS, IDI_FOLDER, 0, 0, CreateScreenFolders }, - {"Raster", "raster", FOLDER_RASTER, IDI_FOLDER, F_RASTER, F_VECTOR, NULL, DriverIsVector, FALSE }, - {"Horizontal", "horizontal", FOLDER_HORIZONTAL, IDI_FOLDER_HORIZONTAL, F_HORIZONTAL, F_VERTICAL, NULL, DriverIsVertical, FALSE }, - {"Vertical", "vertical", FOLDER_VERTICAL, IDI_FOLDER_VERTICAL, F_VERTICAL, F_HORIZONTAL, NULL, DriverIsVertical, TRUE }, - {"Vector", "vector", FOLDER_VECTOR, IDI_FOLDER, F_VECTOR, F_RASTER, NULL, DriverIsVector, TRUE }, - {"Mouse", "mouse", FOLDER_MOUSE, IDI_FOLDER, 0, 0, NULL, DriverUsesMouse, TRUE }, - {"Trackball", "trackball", FOLDER_TRACKBALL, IDI_FOLDER, 0, 0, NULL, DriverUsesTrackball, TRUE }, - {"Lightgun", "Lightgun", FOLDER_LIGHTGUN, IDI_FOLDER, 0, 0, NULL, DriverUsesLightGun, TRUE }, - {"Stereo", "stereo", FOLDER_STEREO, IDI_SOUND, 0, 0, NULL, DriverIsStereo, TRUE }, - {"Save State", "savestate", FOLDER_SAVESTATE, IDI_FOLDER, 0, 0, NULL, DriverSupportsSaveState, TRUE }, - {"Mechanical", "mechanical", FOLDER_MECHANICAL, IDI_FOLDER, 0, 0, NULL, DriverIsMechanical, TRUE }, - {"Non Mechanical", "nonmechanical", FOLDER_NONMECHANICAL,IDI_FOLDER, 0, 0, NULL, DriverIsMechanical, FALSE }, + {"All Systems", "allgames", FOLDER_ALLGAMES, IDI_FOLDER, 0, 0, 0, NULL, NULL, TRUE }, + {"Available", "available", FOLDER_AVAILABLE, IDI_FOLDER_AVAILABLE, F_AVAILABLE, 0, 0, NULL, FilterAvailable, TRUE }, + {"BIOS", "bios", FOLDER_BIOS, IDI_FOLDER, 0, 0, 1, CreateBIOSFolders, DriverIsBios, TRUE }, + {"CHD", "harddisk", FOLDER_HARDDISK, IDI_HARDDISK, 0, 0, 0, NULL, DriverIsHarddisk, TRUE }, + {"Clones", "clones", FOLDER_CLONES, IDI_FOLDER, F_CLONES, F_ORIGINALS, 0, NULL, DriverIsClone, TRUE }, + {"Computer", "computer", FOLDER_COMPUTER, IDI_FOLDER, F_COMPUTER, F_CONSOLE, 0, NULL, DriverIsComputer, TRUE }, + {"Console", "console", FOLDER_CONSOLE, IDI_FOLDER, F_CONSOLE, F_COMPUTER, 0, NULL, DriverIsConsole, TRUE }, + {"CPU", "cpu", FOLDER_CPU, IDI_FOLDER, 0, 0, 1, CreateCPUFolders }, + {"Dumping Status", "dumping", FOLDER_DUMPING, IDI_FOLDER, 0, 0, 1, CreateDumpingFolders }, + {"FPS", "fps", FOLDER_FPS, IDI_FOLDER, 0, 0, 1, CreateFPSFolders }, + {"Horizontal", "horizontal", FOLDER_HORIZONTAL, IDI_FOLDER_HORIZONTAL, F_HORIZONTAL, F_VERTICAL, 0, NULL, DriverIsVertical, FALSE }, + {"Imperfect", "imperfect", FOLDER_DEFICIENCY, IDI_FOLDER, 0, 0, 0, CreateDeficiencyFolders }, + {"Lightgun", "Lightgun", FOLDER_LIGHTGUN, IDI_FOLDER, 0, 0, 0, NULL, DriverUsesLightGun, TRUE }, + {"Manufacturer", "manufacturer", FOLDER_MANUFACTURER, IDI_FOLDER_MANUFACTURER, 0, 0, 1, CreateManufacturerFolders }, + {"Mechanical", "mechanical", FOLDER_MECHANICAL, IDI_FOLDER, 0, 0, 0, NULL, DriverIsMechanical, TRUE }, + {"Modified/Hacked", "modified", FOLDER_MODIFIED, IDI_FOLDER, 0, 0, 0, NULL, DriverIsModified, TRUE }, + {"Mouse", "mouse", FOLDER_MOUSE, IDI_FOLDER, 0, 0, 0, NULL, DriverUsesMouse, TRUE }, + {"Non Mechanical", "nonmechanical", FOLDER_NONMECHANICAL,IDI_FOLDER, 0, 0, 0, NULL, DriverIsMechanical, FALSE }, + {"Not Working", "nonworking", FOLDER_NONWORKING, IDI_NONWORKING, F_NONWORKING, F_WORKING, 0, NULL, DriverIsBroken, TRUE }, + {"Originals", "originals", FOLDER_ORIGINAL, IDI_FOLDER, F_ORIGINALS, F_CLONES, 0, NULL, DriverIsClone, FALSE }, + {"Raster", "raster", FOLDER_RASTER, IDI_FOLDER, F_RASTER, F_VECTOR, 0, NULL, DriverIsVector, FALSE }, + {"Resolution", "resolution", FOLDER_RESOLUTION, IDI_FOLDER, 0, 0, 1, CreateResolutionFolders }, + {"Samples", "samples", FOLDER_SAMPLES, IDI_FOLDER, 0, 0, 0, NULL, DriverUsesSamples, TRUE }, + {"Save State", "savestate", FOLDER_SAVESTATE, IDI_FOLDER, 0, 0, 0, NULL, DriverSupportsSaveState, TRUE }, + {"Screens", "screens", FOLDER_SCREENS, IDI_FOLDER, 0, 0, 1, CreateScreenFolders }, + {"Sound", "sound", FOLDER_SND, IDI_FOLDER, 0, 0, 1, CreateSoundFolders }, + {"Source", "source", FOLDER_SOURCE, IDI_FOLDER_SOURCE, 0, 0, 1, CreateSourceFolders }, + {"Stereo", "stereo", FOLDER_STEREO, IDI_SOUND, 0, 0, 0, NULL, DriverIsStereo, TRUE }, + {"Trackball", "trackball", FOLDER_TRACKBALL, IDI_FOLDER, 0, 0, 0, NULL, DriverUsesTrackball, TRUE }, + {"Unavailable", "unavailable", FOLDER_UNAVAILABLE, IDI_FOLDER_UNAVAILABLE, 0, F_AVAILABLE, 0, NULL, FilterAvailable, FALSE }, + {"Vector", "vector", FOLDER_VECTOR, IDI_FOLDER, F_VECTOR, F_RASTER, 0, NULL, DriverIsVector, TRUE }, + {"Vertical", "vertical", FOLDER_VERTICAL, IDI_FOLDER_VERTICAL, F_VERTICAL, F_HORIZONTAL, 0, NULL, DriverIsVertical, TRUE }, + {"Working", "working", FOLDER_WORKING, IDI_WORKING, F_WORKING, F_NONWORKING, 0, NULL, DriverIsBroken, FALSE }, + {"Year", "year", FOLDER_YEAR, IDI_FOLDER_YEAR, 0, 0, 1, CreateYearFolders }, { NULL } }; #else extern const FOLDERDATA g_folderData[] = { - {"All Games", "allgames", FOLDER_ALLGAMES, IDI_FOLDER, 0, 0, NULL, NULL, TRUE }, - {"Available", "available", FOLDER_AVAILABLE, IDI_FOLDER_AVAILABLE, F_AVAILABLE, 0, NULL, FilterAvailable, TRUE }, - {"Unavailable", "unavailable", FOLDER_UNAVAILABLE, IDI_FOLDER_UNAVAILABLE, 0, F_AVAILABLE, NULL, FilterAvailable, FALSE }, - {"Manufacturer", "manufacturer", FOLDER_MANUFACTURER, IDI_FOLDER_MANUFACTURER, 0, 0, CreateManufacturerFolders }, - {"Year", "year", FOLDER_YEAR, IDI_FOLDER_YEAR, 0, 0, CreateYearFolders }, - {"Source", "source", FOLDER_SOURCE, IDI_FOLDER_SOURCE, 0, 0, CreateSourceFolders }, -// These 3 work, but cause MAMEUI to take a long time to start (approx 2 secs each) -// {"CPU", "cpu", FOLDER_CPU, IDI_CPU, 0, 0, CreateCPUFolders }, -// {"Sound", "sound", FOLDER_SND, IDI_SOUND, 0, 0, CreateSoundFolders }, -// {"Dumping Status", "dumping", FOLDER_DUMPING, IDI_FOLDER, 0, 0, CreateDumpingFolders }, - {"BIOS", "bios", FOLDER_BIOS, IDI_FOLDER, 0, 0, CreateBIOSFolders, DriverIsBios, TRUE }, - {"CHD", "harddisk", FOLDER_HARDDISK, IDI_HARDDISK, 0, 0, NULL, DriverIsHarddisk, TRUE }, - {"Samples", "samples", FOLDER_SAMPLES, IDI_FOLDER, 0, 0, NULL, DriverUsesSamples, TRUE }, - {"Working", "working", FOLDER_WORKING, IDI_WORKING, F_WORKING, F_NONWORKING, NULL, DriverIsBroken, FALSE }, - {"Imperfect", "imperfect", FOLDER_DEFICIENCY, IDI_FOLDER, 0, 0, CreateDeficiencyFolders }, - {"Not Working", "nonworking", FOLDER_NONWORKING, IDI_NONWORKING, F_NONWORKING, F_WORKING, NULL, DriverIsBroken, TRUE }, - {"Originals", "originals", FOLDER_ORIGINAL, IDI_FOLDER, F_ORIGINALS, F_CLONES, NULL, DriverIsClone, FALSE }, - {"Clones", "clones", FOLDER_CLONES, IDI_FOLDER, F_CLONES, F_ORIGINALS, NULL, DriverIsClone, TRUE }, - {"Screens", "screens", FOLDER_SCREENS, IDI_FOLDER, 0, 0, CreateScreenFolders }, -// These 2 stop MAMEUI from starting -// {"Resolution", "resolution", FOLDER_RESOLUTION, IDI_FOLDER, 0, 0, CreateResolutionFolders }, -// {"FPS", "fps", FOLDER_FPS, IDI_FOLDER, 0, 0, CreateFPSFolders }, - {"Horizontal", "horizontal", FOLDER_HORIZONTAL, IDI_FOLDER_HORIZONTAL, F_HORIZONTAL, F_VERTICAL, NULL, DriverIsVertical, FALSE }, - {"Vertical", "vertical", FOLDER_VERTICAL, IDI_FOLDER_VERTICAL, F_VERTICAL, F_HORIZONTAL, NULL, DriverIsVertical, TRUE }, - {"Raster", "raster", FOLDER_RASTER, IDI_FOLDER, F_RASTER, F_VECTOR, NULL, DriverIsVector, FALSE }, - {"Vector", "vector", FOLDER_VECTOR, IDI_FOLDER, F_VECTOR, F_RASTER, NULL, DriverIsVector, TRUE }, - {"Trackball", "trackball", FOLDER_TRACKBALL, IDI_FOLDER, 0, 0, NULL, DriverUsesTrackball, TRUE }, - {"Lightgun", "Lightgun", FOLDER_LIGHTGUN, IDI_FOLDER, 0, 0, NULL, DriverUsesLightGun, TRUE }, - {"Stereo", "stereo", FOLDER_STEREO, IDI_FOLDER, 0, 0, NULL, DriverIsStereo, TRUE }, - {"Save State", "savestate", FOLDER_SAVESTATE, IDI_FOLDER, 0, 0, NULL, DriverSupportsSaveState, TRUE }, - {"Mechanical", "mechanical", FOLDER_MECHANICAL, IDI_FOLDER, 0, 0, NULL, DriverIsMechanical, TRUE }, - {"Non Mechanical", "nonmechanical", FOLDER_NONMECHANICAL,IDI_FOLDER, 0, 0, NULL, DriverIsMechanical, FALSE }, + {"All Games", "allgames", FOLDER_ALLGAMES, IDI_FOLDER, 0, 0, 0, NULL, NULL, TRUE }, + {"Available", "available", FOLDER_AVAILABLE, IDI_FOLDER_AVAILABLE, F_AVAILABLE, 0, 0, NULL, FilterAvailable, TRUE }, + {"BIOS", "bios", FOLDER_BIOS, IDI_FOLDER, 0, 0, 1, CreateBIOSFolders, DriverIsBios, TRUE }, + {"CHD", "harddisk", FOLDER_HARDDISK, IDI_HARDDISK, 0, 0, 0, NULL, DriverIsHarddisk, TRUE }, + {"Clones", "clones", FOLDER_CLONES, IDI_FOLDER, F_CLONES, F_ORIGINALS, 0, NULL, DriverIsClone, TRUE }, + {"CPU", "cpu", FOLDER_CPU, IDI_CPU, 0, 0, 1, CreateCPUFolders }, + {"Dumping Status", "dumping", FOLDER_DUMPING, IDI_FOLDER, 0, 0, 1, CreateDumpingFolders }, + {"FPS", "fps", FOLDER_FPS, IDI_FOLDER, 0, 0, 1, CreateFPSFolders }, + {"Horizontal", "horizontal", FOLDER_HORIZONTAL, IDI_FOLDER_HORIZONTAL, F_HORIZONTAL, F_VERTICAL, 0, NULL, DriverIsVertical, FALSE }, + {"Imperfect", "imperfect", FOLDER_DEFICIENCY, IDI_FOLDER, 0, 0, 0, CreateDeficiencyFolders }, + {"Lightgun", "Lightgun", FOLDER_LIGHTGUN, IDI_FOLDER, 0, 0, 0, NULL, DriverUsesLightGun, TRUE }, + {"Manufacturer", "manufacturer", FOLDER_MANUFACTURER, IDI_FOLDER_MANUFACTURER, 0, 0, 1, CreateManufacturerFolders }, + {"Mechanical", "mechanical", FOLDER_MECHANICAL, IDI_FOLDER, 0, 0, 0, NULL, DriverIsMechanical, TRUE }, + {"Non Mechanical", "nonmechanical", FOLDER_NONMECHANICAL,IDI_FOLDER, 0, 0, 0, NULL, DriverIsMechanical, FALSE }, + {"Not Working", "nonworking", FOLDER_NONWORKING, IDI_NONWORKING, F_NONWORKING, F_WORKING, 0, NULL, DriverIsBroken, TRUE }, + {"Originals", "originals", FOLDER_ORIGINAL, IDI_FOLDER, F_ORIGINALS, F_CLONES, 0, NULL, DriverIsClone, FALSE }, + {"Raster", "raster", FOLDER_RASTER, IDI_FOLDER, F_RASTER, F_VECTOR, 0, NULL, DriverIsVector, FALSE }, + {"Resolution", "resolution", FOLDER_RESOLUTION, IDI_FOLDER, 0, 0, 1, CreateResolutionFolders }, + {"Samples", "samples", FOLDER_SAMPLES, IDI_FOLDER, 0, 0, 0, NULL, DriverUsesSamples, TRUE }, + {"Save State", "savestate", FOLDER_SAVESTATE, IDI_FOLDER, 0, 0, 0, NULL, DriverSupportsSaveState, TRUE }, + {"Screens", "screens", FOLDER_SCREENS, IDI_FOLDER, 0, 0, 1, CreateScreenFolders }, + {"Sound", "sound", FOLDER_SND, IDI_SOUND, 0, 0, 1, CreateSoundFolders }, + {"Source", "source", FOLDER_SOURCE, IDI_FOLDER_SOURCE, 0, 0, 1, CreateSourceFolders }, + {"Stereo", "stereo", FOLDER_STEREO, IDI_FOLDER, 0, 0, 0, NULL, DriverIsStereo, TRUE }, + {"Trackball", "trackball", FOLDER_TRACKBALL, IDI_FOLDER, 0, 0, 0, NULL, DriverUsesTrackball, TRUE }, + {"Unavailable", "unavailable", FOLDER_UNAVAILABLE, IDI_FOLDER_UNAVAILABLE, 0, F_AVAILABLE, 0, NULL, FilterAvailable, FALSE }, + {"Vector", "vector", FOLDER_VECTOR, IDI_FOLDER, F_VECTOR, F_RASTER, 0, NULL, DriverIsVector, TRUE }, + {"Vertical", "vertical", FOLDER_VERTICAL, IDI_FOLDER_VERTICAL, F_VERTICAL, F_HORIZONTAL, 0, NULL, DriverIsVertical, TRUE }, + {"Working", "working", FOLDER_WORKING, IDI_WORKING, F_WORKING, F_NONWORKING, 0, NULL, DriverIsBroken, FALSE }, + {"Year", "year", FOLDER_YEAR, IDI_FOLDER_YEAR, 0, 0, 1, CreateYearFolders }, { NULL } }; #endif @@ -229,6 +215,7 @@ extern const ICONDATA g_iconData[] = { IDI_WIN_UNKNOWN, "unknown" }, { IDI_WIN_CLONE, "clone" }, { IDI_WIN_REDX, "warning" }, + { IDI_WIN_IMPERFECT, "imperfect" }, { IDI_WIN_NOROMSNEEDED, "noromsneeded" }, { IDI_WIN_MISSINGOPTROM, "missingoptrom" }, { IDI_WIN_FLOP, "floppy" }, @@ -237,6 +224,7 @@ extern const ICONDATA g_iconData[] = { IDI_WIN_SNAP, "snapshot" }, { IDI_WIN_PRIN, "printer" }, { IDI_WIN_HARD, "hard" }, + { IDI_WIN_MIDI, "midi" }, { 0 } }; #else @@ -247,19 +235,15 @@ extern const ICONDATA g_iconData[] = { IDI_WIN_UNKNOWN, "unknown" }, { IDI_WIN_CLONE, "clone" }, { IDI_WIN_REDX, "warning" }, + { IDI_WIN_IMPERFECT, "imperfect" }, { 0 } }; #endif #ifdef MESS extern const TCHAR g_szPlayGameString[] = TEXT("&Run %s"); -extern const char g_szGameCountString[] = "%d systems"; +extern const char g_szGameCountString[] = "%d machines"; #else extern const TCHAR g_szPlayGameString[] = TEXT("&Play %s"); extern const char g_szGameCountString[] = "%d games"; #endif - -static BOOL FilterAvailable(int driver_index) -{ - return !DriverUsesRoms(driver_index) || IsAuditResultYes(GetRomAuditResults(driver_index)); -} |