mirror of
https://github.com/geode-sdk/geode.git
synced 2025-02-16 16:29:43 -05:00
actually add Dirs files
This commit is contained in:
parent
f73d1042a3
commit
f9b6595073
2 changed files with 130 additions and 0 deletions
59
loader/include/Geode/loader/Dirs.hpp
Normal file
59
loader/include/Geode/loader/Dirs.hpp
Normal file
|
@ -0,0 +1,59 @@
|
|||
#pragma once
|
||||
|
||||
#include "../external/filesystem/fs/filesystem.hpp"
|
||||
#include "../DefaultInclude.hpp"
|
||||
|
||||
namespace geode::dirs {
|
||||
/**
|
||||
* Directory where Geometry Dash is
|
||||
*/
|
||||
GEODE_DLL ghc::filesystem::path getGameDir();
|
||||
/**
|
||||
* Directory where GD saves its files
|
||||
*/
|
||||
GEODE_DLL ghc::filesystem::path getSaveDir();
|
||||
/**
|
||||
* Directory where Geode is
|
||||
*/
|
||||
GEODE_DLL ghc::filesystem::path getGeodeDir();
|
||||
/**
|
||||
* Directory where Geode saves its files
|
||||
*/
|
||||
GEODE_DLL ghc::filesystem::path getGeodeSaveDir();
|
||||
/**
|
||||
* Directory where Geode's resources are stored
|
||||
*/
|
||||
GEODE_DLL ghc::filesystem::path getGeodeResourcesDir();
|
||||
/**
|
||||
* Directory where Geode's resources are stored
|
||||
*/
|
||||
GEODE_DLL ghc::filesystem::path getGeodeLogDir();
|
||||
/**
|
||||
* Directory to store temporary files
|
||||
*/
|
||||
GEODE_DLL ghc::filesystem::path getTempDir();
|
||||
/**
|
||||
* Directory where mods are stored by default
|
||||
*/
|
||||
GEODE_DLL ghc::filesystem::path getModsDir();
|
||||
/**
|
||||
* Directory where mods' save data is stored
|
||||
*/
|
||||
GEODE_DLL ghc::filesystem::path getModsSaveDir();
|
||||
/**
|
||||
* Directory where mods' unzipped packages are stored at runtime
|
||||
*/
|
||||
GEODE_DLL ghc::filesystem::path getModRuntimeDir();
|
||||
/**
|
||||
* Directory where mods' config files lie
|
||||
*/
|
||||
GEODE_DLL ghc::filesystem::path getModConfigDir();
|
||||
/**
|
||||
* Directory where Geode stores the cached index
|
||||
*/
|
||||
GEODE_DLL ghc::filesystem::path getIndexDir();
|
||||
/**
|
||||
* Directory where crashlogs are stored
|
||||
*/
|
||||
GEODE_DLL ghc::filesystem::path getCrashlogsDir();
|
||||
}
|
71
loader/src/loader/Dirs.cpp
Normal file
71
loader/src/loader/Dirs.cpp
Normal file
|
@ -0,0 +1,71 @@
|
|||
|
||||
#include <Geode/loader/Dirs.hpp>
|
||||
#include <cocos2d.h>
|
||||
#include <crashlog.hpp>
|
||||
|
||||
USE_GEODE_NAMESPACE();
|
||||
|
||||
ghc::filesystem::path dirs::getGameDir() {
|
||||
return ghc::filesystem::path(CCFileUtils::sharedFileUtils()->getWritablePath2().c_str());
|
||||
}
|
||||
|
||||
ghc::filesystem::path dirs::getSaveDir() {
|
||||
#ifdef GEODE_IS_MACOS
|
||||
// not using ~/Library/Caches
|
||||
return ghc::filesystem::path("/Users/Shared/Geode");
|
||||
#elif defined(GEODE_IS_WINDOWS)
|
||||
return ghc::filesystem::path(
|
||||
ghc::filesystem::weakly_canonical(
|
||||
CCFileUtils::sharedFileUtils()->getWritablePath().c_str()
|
||||
).string()
|
||||
);
|
||||
#else
|
||||
return ghc::filesystem::path(
|
||||
CCFileUtils::sharedFileUtils()->getWritablePath().c_str()
|
||||
);
|
||||
#endif
|
||||
}
|
||||
|
||||
ghc::filesystem::path dirs::getGeodeDir() {
|
||||
return dirs::getGameDir() / "geode";
|
||||
}
|
||||
|
||||
ghc::filesystem::path dirs::getGeodeSaveDir() {
|
||||
return dirs::getSaveDir() / "geode";
|
||||
}
|
||||
|
||||
ghc::filesystem::path dirs::getGeodeResourcesDir() {
|
||||
return dirs::getGeodeDir() / "resources";
|
||||
}
|
||||
|
||||
ghc::filesystem::path dirs::getGeodeLogDir() {
|
||||
return dirs::getGeodeDir() / "logs";
|
||||
}
|
||||
|
||||
ghc::filesystem::path dirs::getTempDir() {
|
||||
return getGeodeDir() / "temp";
|
||||
}
|
||||
|
||||
ghc::filesystem::path dirs::getModsDir() {
|
||||
return getGeodeDir() / "mods";
|
||||
}
|
||||
|
||||
ghc::filesystem::path dirs::getModsSaveDir() {
|
||||
return getGeodeSaveDir() / "mods";
|
||||
}
|
||||
|
||||
ghc::filesystem::path dirs::getModRuntimeDir() {
|
||||
return dirs::getGeodeDir() / "unzipped";
|
||||
}
|
||||
|
||||
ghc::filesystem::path dirs::getModConfigDir() {
|
||||
return dirs::getGeodeDir() / "config";
|
||||
}
|
||||
|
||||
ghc::filesystem::path dirs::getIndexDir() {
|
||||
return dirs::getGeodeDir() / "index";
|
||||
}
|
||||
|
||||
ghc::filesystem::path dirs::getCrashlogsDir() {
|
||||
return crashlog::getCrashLogDirectory();
|
||||
}
|
Loading…
Reference in a new issue