Elaztek Developer Hub
Blamite Game Engine - Strings  00326.06.27.21.0407.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 bool CreateFileFromResource (HMODULE module_handle, std::string filename, int res_id, const char *res_type)
 Creates a file with the contents pulled from the specified application resource. More...
 
STRINGS_API bool CreateFileFromHTMLResource (HMODULE module_handle, std::string filename, int res_id)
 Creates a file with the contents pulled from the specified application HTML resource. More...
 
STRINGS_API bool CreateFileFromPNGResource (HMODULE module_handle, std::string filename, int res_id)
 Creates a file with the contents pulled from the specified application PNG resource. 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::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 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 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...
 

Detailed Description

Utilities relating to reading/writing to and from files.

Function Documentation

◆ CreateFileFromHTMLResource()

bool BlamStrings::Utils::IO::CreateFileFromHTMLResource ( HMODULE  module_handle,
std::string  filename,
int  res_id 
)

Creates a file with the contents pulled from the specified application HTML resource.

Parameters
filename- The path to the file to create.
res_id- The ID of the HTML resource to load the contents from.
apply_placeholders- Whether or not to apply placeholders to the file contents before writing.
Returns
true if the file was created successfully, otherwise returns false.
Deprecated:
Win32 resources should be used as little as possible going forward.

◆ CreateFileFromPNGResource()

bool BlamStrings::Utils::IO::CreateFileFromPNGResource ( HMODULE  module_handle,
std::string  filename,
int  res_id 
)

Creates a file with the contents pulled from the specified application PNG resource.

Parameters
filename- The path to the file to create.
res_id- The ID of the PNG resource to load the contents from.
Returns
true if the file was created successfully, otherwise returns false.
Deprecated:
Win32 resources should be used as little as possible going forward.

◆ CreateFileFromResource()

bool BlamStrings::Utils::IO::CreateFileFromResource ( HMODULE  module_handle,
std::string  filename,
int  res_id,
const char *  res_type 
)

Creates a file with the contents pulled from the specified application resource.

Parameters
filename- The path to the file to create.
res_id- The ID of the resource to load the contents from.
res_type- The type of resource that res_id is.
apply_placeholders- Whether or not to apply placeholders to the file contents before writing.
Returns
true if the file was created successfully, otherwise returns false.
Deprecated:
Win32 resources should be used as little as possible going forward.

◆ 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.

◆ 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

◆ GetApplicationDir()

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

Retrieves the application's working directory.

Returns
The application's working directory.

◆ GetContainingFolder()

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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.

◆ 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.