summaryrefslogtreecommitdiffstats
path: root/docs/release/src/osd/winui/directories.h
blob: f4e033cd7b5b57eed164ad4afab4bb84cfd24a99 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// For licensing and usage information, read docs/winui_license.txt
// MASTER
//****************************************************************************

#ifndef DIRECTORIES_H
#define DIRECTORIES_H

/* Dialog return codes - do these do anything??? */
#define DIRDLG_ROMS         0x0010  // this one does
#define DIRDLG_SAMPLES      0x0020  // this one does
#define DIRDLG_INI          0x0040
#define DIRDLG_CFG          0x0100
#define DIRDLG_IMG          0x0400
#define DIRDLG_INP          0x0800
#define DIRDLG_CTRLR        0x1000
#define DIRDLG_SW           0x4000  // this one does
#define DIRDLG_CHEAT        0x8000

#define DIRLIST_NEWENTRYTEXT "<               >"

#include "mui_opts.h"

typedef struct
{
	LPCSTR   lpName;                                 // name to display
	const std::string   (*pfnGetTheseDirs)(void);    // function to get existing setting
	void     (*pfnSetTheseDirs)(LPCSTR lpDirs);      // function to save new setting
	BOOL     bMulti;                                 // true = it supports multiple directories
	int      nDirDlgFlags;                           // if changed, a refresh needs to be done
}
DIRECTORYINFO;

const DIRECTORYINFO g_directoryInfo[] =
{
	{ "ROMs",                  GetRomDirs,         SetRomDirs,         true,  DIRDLG_ROMS },
	{ "Samples",               GetSampleDirs,      SetSampleDirs,      true,  DIRDLG_SAMPLES },
	{ "Software File Base",    GetSWDir,           SetSWDir,           false, DIRDLG_SW }, // core cannot handle multiple path, even though we can.
	{ "Artwork",               GetArtDir,          SetArtDir,          true, 0 },
	{ "Artwork Previews",      GetArtworkDir,      SetArtworkDir,      true, 0 },
	{ "Bosses",                GetBossesDir,       SetBossesDir,       true, 0 },
	{ "Cabinets",              GetCabinetDir,      SetCabinetDir,      true, 0 },
	{ "Cheats",                GetCheatDir,        SetCheatDir,        true, DIRDLG_CHEAT },
	{ "Config",                GetCfgDir,          SetCfgDir,          false, DIRDLG_CFG },
	{ "Control Panels",        GetControlPanelDir, SetControlPanelDir, true, 0 },
	{ "Controller Files",      GetCtrlrDir,        SetCtrlrDir,        true, DIRDLG_CTRLR },
	{ "Covers",                GetCoversDir,       SetCoversDir,       true, 0 },
	{ "Crosshairs",            GetCrosshairDir,    SetCrosshairDir,    true, 0 },
	{ "DAT files",             GetDatsDir,         SetDatsDir,         false, 0 },
	{ "Ends",                  GetEndsDir,         SetEndsDir,         true, 0 },
	{ "Flyers",                GetFlyerDir,        SetFlyerDir,        true, 0 },
	{ "Folders",               GetFolderDir,       SetFolderDir,       false, 0 },
	{ "Fonts",                 GetFontDir,         SetFontDir,         true, 0 },
	{ "Game Overs",            GetGameOverDir,     SetGameOverDir,     true, 0 },
	{ "Hash",                  GetHashDirs,        SetHashDirs,        true, 0 },
	{ "Hard Drive Difference", GetDiffDir,         SetDiffDir,         true, 0 },
	{ "HLSL",                  GetHLSLDir,         SetHLSLDir,         false, 0 },
	{ "How To",                GetHowToDir,        SetHowToDir,        true, 0 },
	{ "Icons",                 GetIconsDir,        SetIconsDir,        false, 0 },
//	{ "Ini Files",             GetIniDir,          SetIniDir,          false, DIRDLG_INI },  // 2017-02-03 hardcoded to 'ini' now
	{ "Input files",           GetInpDir,          SetInpDir,          true, DIRDLG_INP },
	{ "Language",              GetLangDir,         SetLangDir,         false, 0 },
	{ "Logos",                 GetLogoDir,         SetLogoDir,         true, 0 },
	{ "Manuals (PDF)",         GetManualsDir,      SetManualsDir,      false, 0 },
	{ "Marquees",              GetMarqueeDir,      SetMarqueeDir,      true, 0 },
	{ "NVRAM",                 GetNvramDir,        SetNvramDir,        true, 0 },
	{ "PCBs",                  GetPcbDir,          SetPcbDir,          true, 0 },
	{ "Plugins",               GetPluginsDir,      SetPluginsDir,      false, 0 },
	{ "Scores",                GetScoresDir,       SetScoresDir,       true, 0 },
	{ "Selects",               GetSelectDir,       SetSelectDir,       true, 0 },
	{ "Snapshots",             GetImgDir,          SetImgDir,          true, DIRDLG_IMG },
	{ "State",                 GetStateDir,        SetStateDir,        true, 0 },
	{ "Titles",                GetTitlesDir,       SetTitlesDir,       true, 0 },
	{ "Versus",                GetVersusDir,       SetVersusDir,       true, 0 },
	{ "Videos and Movies",     GetVideoDir,        SetVideoDir,        false, 0 },
	{ NULL }
};


INT_PTR CALLBACK DirectoriesDialogProc(HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam);

#endif /* DIRECTORIES_H */