Installation
Installing the engine is simple: simply compile all files under src statically with your project.
Configuration
Custom string type
You can provide a custom string type by defining the UTTE_CUSTOM_STRING macro to be equal to the given type,
and the UTTE_CUSTOM_STRING_INCLUDE macro to be equal to the include path in quotes. It is defined like this:
#define UTTE_CUSTOM_STRING my_string
#define UTTE_CUSTOM_STRING_INCLUDE "my_string.h"
Make sure that your string class behaves like std::string — the library relies on the usual members and operators
(data(), size(), length(), resize(), substr(), replace(), find(), assign(), c_str(), empty(),
operator[], concatenation with + and comparison with ==), and it must be constructible from both a const char*
and an std::string (direct usage of std::string in the library is rare but is needed in some places).
Custom map type
You can also provide a custom map type by defining the UTTE_CUSTOM_MAP macro to be equal to the given type,
and the UTTE_CUSTOM_MAP_INCLUDE macro to be equal to the include path in quotes. It is defined like this:
#define UTTE_CUSTOM_MAP my_map
#define UTTE_CUSTOM_MAP_INCLUDE "my_map.h"
Make sure that your map is defined using 2 template parameters like this:
template<typename T, typename T2>
class my_map
{
... // Your code here
}
Otherwise, our type definition will not work.
Exporting symbols when compiling a DLL
If you want to export the symbols of the library out of a DLL, simply define the MLS_EXPORT_LIBRARY macro.
Then, when building the library, make sure the macro MLS_LIB_COMPILE is enabled.