13#include <unordered_map>
61using PackEntries = std::unordered_map<std::string, PackEntry>;
84 static void InitializePaths(
int argc,
char* argv[]);
98 static std::vector<char> ReadShaderBinaryFile( std::string
const & filename );
104 static std::vector<std::string> GetListOfFilesInDirectory( std::string directory );
109 static std::filesystem::path GetApplicationPath();
114 static std::filesystem::path GetBuildPath();
119 static std::filesystem::path GetShadersBinaryPath();
126 static std::vector<std::string> GetListOfFileNamesInDirectory(
const char* directory, std::string extToSearch);
129 static std::filesystem::path ResolveProjectRoot();
132 static std::filesystem::path GetContentFolderPath();
135 static std::filesystem::path GetTextureFolderPath();
138 static std::filesystem::path GetModelsFolderPath();
141 static std::filesystem::path GetFontsFolderPath();
144 static std::filesystem::path GetShadersFolderPath();
147 static std::filesystem::path GetConfigFilePath();
150 static std::filesystem::path GetLogsFolderPath();
155 static bool IsPackageProvided();
168 static std::vector<uint8_t> ReadPackedFile(
const std::string& entryPath);
175 static std::filesystem::path FindPath( std::string fileOrFolderName, std::string searchingFrom =
"../../" );
Provides static helper methods for file I/O and path management.
static std::filesystem::path sApplicationPath
static std::filesystem::path sBuildPath
static std::filesystem::path const sContentRelativePathFolder
static std::filesystem::path const sDefaultShadersBinaryRelativePath
static std::filesystem::path const sAppConfigFilePath
static std::filesystem::path const sContentPackageFilePath
static std::filesystem::path const sLogFolderPath
static std::filesystem::path const sTextureRelativePathFolder
static std::filesystem::path const sContentPackEntriesFilePath
static std::filesystem::path const sShadersRelativePathFolder
static std::filesystem::path const sFontsRelativePathFolder
static std::filesystem::path const sModelsRelativePathFolder
static std::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.