12#include "boost/filesystem.hpp"
60using PackEntries = std::unordered_map<std::string, PackEntry>;
83 static void InitializePaths(
int argc,
char* argv[]);
97 static std::vector<char> ReadShaderBinaryFile( std::string
const & filename );
103 static std::vector<std::string> GetListOfFilesInDirectory( std::string directory );
108 static boost::filesystem::path GetApplicationPath();
113 static boost::filesystem::path GetBuildPath();
118 static boost::filesystem::path GetShadersBinaryPath();
125 static std::vector<std::string> GetListOfFileNamesInDirectory(
const char* directory, std::string extToSearch);
128 static boost::filesystem::path ResolveProjectRoot();
131 static boost::filesystem::path GetContentFolderPath();
134 static boost::filesystem::path GetTextureFolderPath();
137 static boost::filesystem::path GetModelsFolderPath();
140 static boost::filesystem::path GetFontsFolderPath();
143 static boost::filesystem::path GetShadersFolderPath();
146 static boost::filesystem::path GetConfigFilePath();
149 static boost::filesystem::path GetLogsFolderPath();
154 static bool IsPackageProvided();
167 static std::vector<uint8_t> ReadPackedFile(
const std::string& entryPath);
174 static boost::filesystem::path FindPath( std::string fileOrFolderName, std::string searchingFrom =
"../../" );
Provides static helper methods for file I/O and path management.
static boost::filesystem::path sApplicationPath
static boost::filesystem::path sBuildPath
static boost::filesystem::path const sContentRelativePathFolder
static boost::filesystem::path const sDefaultShadersBinaryRelativePath
static boost::filesystem::path const sAppConfigFilePath
static boost::filesystem::path const sContentPackageFilePath
static boost::filesystem::path const sLogFolderPath
static boost::filesystem::path const sTextureRelativePathFolder
static boost::filesystem::path const sContentPackEntriesFilePath
static boost::filesystem::path const sShadersRelativePathFolder
static boost::filesystem::path const sFontsRelativePathFolder
static boost::filesystem::path const sModelsRelativePathFolder
static boost::filesystem::path sShadersBinaryPath
std::unordered_map< std::string, PackEntry > PackEntries
Basic application settings loaded from a configuration file.
float targetFPS
Target frame rate (0 = uncapped).
float screenWidth
Desired window width in pixels (ignored in full-screen mode).
bool isFullScreen
Whether the application should start in full-screen mode.
std::string appName
Name of the application.
bool useSmoothedFPS
Enable FPS smoothing and frame pacing behavior.
bool showStatsOverlay
Enable on-screen statistics overlay.
float screenHeight
Desired window height in pixels (ignored in full-screen mode).
std::vector< std::string > textScripts
Unicode scripts to preload for text rendering.
std::string logLevel
Logging verbosity level ("Error", "Warning", "Info", "Debug").
std::vector< int > fontSizePreload
Font sizes to preload at startup.
Metadata describing one file stored inside a packed asset archive.