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 is fully compatible with standard C++ I/O streams, and that it can be initialised with an std::string(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.