Elaztek Developer Hub
Blamite Game Engine - Strings  00386.06.16.23.0646.blamite
A library containing general purpose utilities and classes for use in multiple projects.
BlamStrings::Utils::IO Namespace Reference

Utilities relating to reading/writing to and from files. More...

Functions

STRINGS_API bool FileExists (std::string name)
 Checks if the specified file or directory exists. More...
 
STRINGS_API bool IsFile (std::string path)
 Checks if a given path refers to a regular file. More...
 
STRINGS_API bool IsDirectory (std::string path)
 Checks if a given path refers to a directory. More...
 
STRINGS_API bool CreateNewFile (std::string filename, std::string file_contents)
 Creates a file with the specified contents, or overwrites an existing file if it already exists. More...
 
STRINGS_API void ValidatePath (std::string path)
 Validates that the specified path exists. More...
 
STRINGS_API void OpenGameDirectory ()
 Opens the engine's game directory in Windows Explorer. More...
 
STRINGS_API std::string GetApplicationDir ()
 Retrieves the application's working directory. More...
 
STRINGS_API bool ReadBinaryFile (std::string path, void *data, int64_t *size)
 Reads a file as raw binary data. More...
 
STRINGS_API std::vector< std::string > GetFileContentsAsLines (std::string path)
 Reads a file as a list of strings. More...
 
STRINGS_API std::string GetFileContentsAsString (std::string path)
 Reads a file as a string. More...
 
STRINGS_API std::vector< std::string > GetFileList (std::string path)
 Retrieves the list of all files in a given directory. More...
 
STRINGS_API std::vector< std::string > GetDirectoryList (std::string path)
 Retrieves the list of all folders in the root of a given directory. More...
 
STRINGS_API std::vector< std::string > GetDeepFileList (std::string path)
 Retrieves the list of all files within a given directory. More...
 
STRINGS_API std::string NormalizePath (std::string path)
 Normalizes a path string. More...
 
STRINGS_API std::string GetFileName (std::string path)
 Retrieves the name of the file or folder that a given path refers to. More...
 
STRINGS_API std::string GetFileNameWithoutExtension (std::string path)
 Retrieves the name of the file or folder that a given path refers to, excluding the file's extension (if applicable). More...
 
STRINGS_API std::string GetFileExtension (std::string path)
 Retrieves the extension of a file. More...
 
STRINGS_API std::string GetContainingFolder (std::string path)
 Retrieves the containing folder of a given file or directory. More...
 
STRINGS_API std::string GetContainingFolder (std::string path, bool require_exists)
 Retrieves the containing folder of a given file or directory. More...
 
STRINGS_API std::string GetEngineDataRoot ()
 Retrieves the root folder for all game engine and editing kit user data files. More...
 
STRINGS_API void ExploreDirectory (std::string path)
 Opens a directory within the system file explorer. More...
 
STRINGS_API std::string GetAbsolutePathFromRelative (std::string relative_path)
 Converts a relative path to an absolute file path. More...
 
STRINGS_API std::string GetRelativePathFromAbsolute (std::string absolute_path)
 Converts an absolute path to a relative file path. More...
 

Detailed Description

Utilities relating to reading/writing to and from files.

Function Documentation

◆ CreateNewFile()

bool BlamStrings::Utils::IO::CreateNewFile ( std::string  filename,
std::string  file_contents 
)

Creates a file with the specified contents, or overwrites an existing file if it already exists.

Parameters
filename- The path to the file to create.
file_contents- The contents to write to the file.
Returns
true if the file was created successfully, otherwise returns false.
+ Here is the caller graph for this function:

◆ ExploreDirectory()

void BlamStrings::Utils::IO::ExploreDirectory ( std::string  path)

Opens a directory within the system file explorer.

◆ FileExists()

bool BlamStrings::Utils::IO::FileExists ( std::string  name)

Checks if the specified file or directory exists.

Parameters
name- The path to the file or directory.
Returns
true if the file exists, false if it does not
+ Here is the caller graph for this function:

◆ GetAbsolutePathFromRelative()

std::string BlamStrings::Utils::IO::GetAbsolutePathFromRelative ( std::string  relative_path)

Converts a relative path to an absolute file path.

Parameters
relative_path- The relative path to the file, relative to the application directory.

@retruns The absolute path to the file. If an error occurred, this will return an empty string.

◆ GetApplicationDir()

std::string BlamStrings::Utils::IO::GetApplicationDir ( )

Retrieves the application's working directory.

Returns
The application's working directory.
+ Here is the caller graph for this function:

◆ GetContainingFolder() [1/2]

std::string BlamStrings::Utils::IO::GetContainingFolder ( std::string  path)

Retrieves the containing folder of a given file or directory.

In the event that path refers to a file (ie, C:/Windows/system32/moricons.dll), this would return the path with the filename omitted (C:/Windows/system32/). In the event that path refers to a directory (ie, C:/Windows/system32/), this would return the path with the last directory excluded (C:/Windows/).

If the specified path could not be found (or if the path refers to neither a file nor directory), an empty string is returned.

Parameters
path- The path to retrieve the containing folder for.
Returns
The path of the directory that contains the specified file or folder.

◆ GetContainingFolder() [2/2]

std::string BlamStrings::Utils::IO::GetContainingFolder ( std::string  path,
bool  require_exists 
)

Retrieves the containing folder of a given file or directory.

In the event that path refers to a file (ie, C:/Windows/system32/moricons.dll), this would return the path with the filename omitted (C:/Windows/system32/). In the event that path refers to a directory (ie, C:/Windows/system32/), this would return the path with the last directory excluded (C:/Windows/).

If the specified path could not be found (or if the path refers to neither a file nor directory), an empty string is returned.

Parameters
path- The path to retrieve the containing folder for.
require_exists- If true, will perform extra checks and require that the path exists.
Returns
The path of the directory that contains the specified file or folder.
+ Here is the call graph for this function:

◆ GetDeepFileList()

std::vector< std::string > BlamStrings::Utils::IO::GetDeepFileList ( std::string  path)

Retrieves the list of all files within a given directory.

This will search through ALL subdirectories and build a complete list of all files. This list will ONLY contain files, any directories are excluded.

Parameters
path- The path of the folder to locate files from.
Returns
A list of strings, with each string being the full path to a file.
+ Here is the call graph for this function:

◆ GetDirectoryList()

std::vector< std::string > BlamStrings::Utils::IO::GetDirectoryList ( std::string  path)

Retrieves the list of all folders in the root of a given directory.

This list will ONLY contain directories/folders, any files are excluded.

Parameters
path- The path of the folder to locate folders from.
Returns
A list of strings, with each string being the name of a folder.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetEngineDataRoot()

std::string BlamStrings::Utils::IO::GetEngineDataRoot ( )

Retrieves the root folder for all game engine and editing kit user data files.

On Windows, this value is set to APPDATA%/Elaztek Studios/Blamite/.

Returns
The root folder for game engine user data.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetFileContentsAsLines()

std::vector< std::string > BlamStrings::Utils::IO::GetFileContentsAsLines ( std::string  path)

Reads a file as a list of strings.

Can be used to easily read a set of lines from a plain text file.

Parameters
path- The path of the file to read from.
Returns
A list of strings, with each string representing a line in the file.

◆ GetFileContentsAsString()

std::string BlamStrings::Utils::IO::GetFileContentsAsString ( std::string  path)

Reads a file as a string.

Parameters
path- The path of the file to read from.
Returns
The file contents, represented as a string.
+ Here is the caller graph for this function:

◆ GetFileExtension()

std::string BlamStrings::Utils::IO::GetFileExtension ( std::string  path)

Retrieves the extension of a file.

For instance, using this function on C:/Windows/explorer.exe would return exe. Running this function on a directory or file with no extension would return an empty string.

Parameters
path- The path to retrieve the extension for.
Returns
The file extension.
+ Here is the call graph for this function:

◆ GetFileList()

std::vector< std::string > BlamStrings::Utils::IO::GetFileList ( std::string  path)

Retrieves the list of all files in a given directory.

This list will ONLY contain files, any directories are excluded.

Parameters
path- The path of the folder to locate files from.
Returns
A list of strings, with each string being the name of a file.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetFileName()

std::string BlamStrings::Utils::IO::GetFileName ( std::string  path)

Retrieves the name of the file or folder that a given path refers to.

For instance, using this function on C:/Windows/explorer.exe would return explorer.exe. Running this function on C:/Program Files (x86)/Microsoft Games/Halo would return Halo.

Parameters
path- The path to retrieve the file name for.
Returns
The file or folder name.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ GetFileNameWithoutExtension()

std::string BlamStrings::Utils::IO::GetFileNameWithoutExtension ( std::string  path)

Retrieves the name of the file or folder that a given path refers to, excluding the file's extension (if applicable).

For instance, using this function on C:/Windows/explorer.exe would return explorer. Running this function on C:/Program Files (x86)/Microsoft Games/Halo would return Halo.

Parameters
path- The path to retrieve the file name for.
Returns
The file or folder name.
+ Here is the call graph for this function:

◆ GetRelativePathFromAbsolute()

std::string BlamStrings::Utils::IO::GetRelativePathFromAbsolute ( std::string  absolute_path)

Converts an absolute path to a relative file path.

Parameters
relative_path- The absolute path to the file.

@retruns The relative path to the file, relative to the application directory. If an error occurred, this will return an empty string.

◆ IsDirectory()

bool BlamStrings::Utils::IO::IsDirectory ( std::string  path)

Checks if a given path refers to a directory.

Parameters
path- The path to check.
Returns
true if the given path refers to a directory. If the path does not exist or does not refer to a directory, then this will return false.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ IsFile()

bool BlamStrings::Utils::IO::IsFile ( std::string  path)

Checks if a given path refers to a regular file.

Parameters
path- The path to check.
Returns
true if the given path refers to a regular file. If the path does not exist or does not refer to a regular file, then this will return false.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ NormalizePath()

std::string BlamStrings::Utils::IO::NormalizePath ( std::string  path)

Normalizes a path string.

This function will take a file path, and ensure it is consistent prior to being interpreted by other code within the engine. Primarily, it will replace \\ with /.

Parameters
path- The path to normalize.
Returns
The normalized file path.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ OpenGameDirectory()

void BlamStrings::Utils::IO::OpenGameDirectory ( )

Opens the engine's game directory in Windows Explorer.

◆ ReadBinaryFile()

bool BlamStrings::Utils::IO::ReadBinaryFile ( std::string  path,
void *  data,
int64_t *  size 
)

Reads a file as raw binary data.

Parameters
path- The path of the file to read from.
data- Address to write data to.
size- Pointer of the size of the resource.
Returns
S_OK if the file was read without error, E_FAIL if the file could not be read.

◆ ValidatePath()

void BlamStrings::Utils::IO::ValidatePath ( std::string  path)

Validates that the specified path exists.

The path can be any relative or absolute path. The function will automatically create any and all required subdirectories to ensure that the path can be written to.

Parameters
path- The path to validate.
+ Here is the call graph for this function: