summaryrefslogtreecommitdiffstats
path: root/docs/release/src/osd/winui/layout.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'docs/release/src/osd/winui/layout.cpp')
-rw-r--r--docs/release/src/osd/winui/layout.cpp160
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));
-}