DeltaEngineCpp is a complete Native C++ code version of the engine. It uses load-time dynamic linking to import the Dll libraries. so is easily extensible and easy to update. This is a guide on how to install and use DeltaEngineCpp.
To understand how to extend the source code, see our Cpp Coding Style.


DeltaEngineCpp relies on vc110 (C++11 compiler of Visual Studio 2012) and Hypodermic, which uses Boost 1.51. Hypodermic and the needed boost header files are included in DeltaEngineCpp, but you are free to install boost on your own (not required, see below).
-
This version of the DeltaEngineCpp  engine requires Visual Studio 2012, and relies heavenly on the use of C++11 lenguaje features.
The helper libraires PugiXML and stblib are used, The code of these is included with the rest of the engine, and there is no need to install them.


After all the above dependencies have been set, download DeltaEngineCpp, and place it in any folder you like (we use C:\Code\DeltaEngineCpp, but C:\Program Files\DeltaEngineCpp also works fine, just make sure you update the include and library paths below).

If you want to make sure you are always using the right path, you can add an Enviromental Variable with the path, something like:

DeltaEngineCppPath              C:\code\DeltaEngineCpp

env variable image
Also:

Remember that the Dlls of the library must be placed on a path where Windows will search for them.
Usually on the same directory of the Application or in some Windows-common location. 
You can copy the .dlls from the DeltaEngineCpp library path:
 C:\Code\DeltaEngineCpp\lib        To where you application executable resides, or:

Add a path directory to the Windows "Path" environmental variable:

change path image

Finally Just create your program solution as a Visual C++ / Win32 Project application.



After having created your own C++ solution:
  1. Alt-Enter on your project to open the Properties window.
  2. If you want to compile DeltaEngineCpp yourself outside of your solution path, you use the DeltaEngineCppPath environment variable to point to your DeltaEngineCpp path.
  3. Add C:\Code\DeltaEngineCpp to the C/C++ option: Additional Include Directories.
  4. Add C:\Code\DeltaEngineCpp\lib to the Linker / General option: Additional Library Directories.
  5. For each namespace you use, add the corresponding .lib file to Linker / Input option: Additional Dependencies. For instance, if you want to link DeltaEngine.Graphics, you need to add "DeltaEngine.Graphics.lib" to the list.
  6. The DeltaEngine.lib contains the basic types and core functions of the engine, you should include it on every project.

To learn more about the C++ Version of the Delta Engine and for additional tips see our Cpp Coding Style.


Now all is left to start programming is including the header files you need. For instance, if you want to use Point from DeltaEngine.Datatypes:

1
2
3
4
5
6
#include "Datatypes/Point.h"
  
int main()
{
    auto point = DeltaEngine::Datatypes::Point();
}

Or, if you want to include the whole namespace:

1
2
3
4
5
6
#include "DeltaEngine.Datatypes.h"
  
void main()
{
    auto point = DeltaEngine::Datatypes::Point();
}

If you do not want a Window application without the console, We recommend using the Linker / System option: Subsystem with the parameter: 
Windows (/SUBSYSTEM:WINDOWS)

and an entry point like this:

1
2
3
4
5
#include <Windows.h>
 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
}