Elaztek Developer Hub
Blamite Game Engine - blam!  00398.09.22.23.2015.blamite
The core library for the Blamite Game Engine.
Blam::Extensions Namespace Reference

Namespace containing functions for extensions. More...

Functions

BLAM BlamResult LoadExtensionFunction (void **function_callback, const char *function_name, HMODULE module_handle, std::string module_filename)
 Loads a function within a given extension. More...
 
BLAM void LoadExtensions ()
 Attempts to load all available extensions. More...
 
BLAM void UnloadExtensions ()
 Unloads all loaded extensions. More...
 

Detailed Description

Namespace containing functions for extensions.

Extensions are 3rd-party libraries that the engine will load during startup. These extensions can be used to add new code to the engine without modifying the core of the engine. While this won't be perfect for everything - some workloads may be better off using game scripts, and others yet may be best suited for actual engine modifications - it can serve the role of easily adding new code using an easy-to-use API.

Function Documentation

◆ LoadExtensionFunction()

BlamResult Blam::Extensions::LoadExtensionFunction ( void **  function_callback,
const char *  function_name,
HMODULE  module_handle,
std::string  module_filename 
)

Loads a function within a given extension.

Parameters
function_callback- Pointer to the function callback to load.
function_name- The name of the function. Should match the name of the function within the DLL.
module_handle- The module handle of the extension to load the function from.
module_filename- The filename of the extension. Used for diagnostic messages.
Returns
BlamResult::Success_OK if all required functions are loaded, otherwise returns an error code.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ LoadExtensions()

void Blam::Extensions::LoadExtensions ( )

Attempts to load all available extensions.

Any extension that fails to load will simply be skipped.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ UnloadExtensions()

void Blam::Extensions::UnloadExtensions ( )

Unloads all loaded extensions.

+ Here is the call graph for this function:
+ Here is the caller graph for this function: