MCPcopy Create free account
hub / github.com/TheForceEngine/TheForceEngine / setProgramDataPath

Function setProgramDataPath

TheForceEngine/TFE_FileSystem/paths.cpp:43–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41 }
42
43 bool setProgramDataPath(const char* append)
44 {
45 // Support "Portable" methods as well.
46 if (isPortableInstall())
47 {
48 s_paths[PATH_PROGRAM_DATA] = s_paths[PATH_PROGRAM];
49 return !s_paths[PATH_PROGRAM_DATA].empty();
50 }
51
52#ifdef _WIN32
53 char path[TFE_MAX_PATH];
54 // Get path for each computer, non-user specific and non-roaming data.
55 if (SUCCEEDED(SHGetFolderPath(NULL, CSIDL_COMMON_APPDATA, NULL, 0, path)))
56 {
57 // Append product-specific path
58 PathAppend(path, append);
59
60 // Only setup the path if successful.
61 s_paths[PATH_PROGRAM_DATA] = path;
62 s_paths[PATH_PROGRAM_DATA] += "\\";
63
64 FileUtil::makeDirectory(path);
65 return true;
66 }
67 else
68 {
69 // If getting the program data folder fails, then revert back to using
70 // the program path if possible.
71 s_paths[PATH_PROGRAM_DATA] = s_paths[PATH_PROGRAM];
72 return !s_paths[PATH_PROGRAM].empty();
73 }
74#endif
75 return false;
76 }
77
78 bool setUserDocumentsPath(const char* append)
79 {

Callers 1

mainFunction · 0.50

Calls 3

isPortableInstallFunction · 0.70
makeDirectoryFunction · 0.70
emptyMethod · 0.45

Tested by

no test coverage detected