CI and common update:

-added webpage deploymnet stage
-added separate build stage which build all binaries and generate documentation
-added Emscripten build stage for merge to master only
-added VBO batch rendering (current default, no render mode switch yet)
-fixed camera positioning calculation
-fixed buffer issue with WebGL
-added viewport scalling (at least 300 pixels height). Pixels are scalled if screen is bigger.
-center demos gameplay area
-added fullpage html template for Emscripten build
This commit is contained in:
Dawid Masiukiewicz 2020-05-01 19:26:21 +00:00
parent f67eb452cc
commit 54a6d5dec2
29 changed files with 1167 additions and 322 deletions

View file

@ -8,12 +8,12 @@ import ecs.atomic;
import core.stdc.string : memcpy;
/************************************************************************************************************************
*IDManager is responsible for assignment and removing IDs. IDs are unique throughtout a whole duration of the program.
IDManager is responsible for assignment and removing IDs. IDs are unique throughtout a whole duration of the program.
*/
struct IDManager
{
/************************************************************************************************************************
*Get new ID.
Get new ID.
*/
pragma(inline, false) EntityID getNewID() nothrow @nogc
{
@ -74,7 +74,7 @@ struct IDManager
}
/************************************************************************************************************************
*Release ID.
Release ID.
*/
void releaseID(EntityID id) nothrow @nogc
{
@ -91,7 +91,7 @@ struct IDManager
}
/************************************************************************************************************************
*Update pointer to entity. The purpose of this function is to ensure that pointer to entity is always correct.
Update pointer to entity. The purpose of this function is to ensure that pointer to entity is always correct.
*/
void update(ref Entity entity) nothrow @nogc
{
@ -107,7 +107,7 @@ struct IDManager
}
/************************************************************************************************************************
*Returns pointer to entity.
Returns pointer to entity.
*/
export Entity* getEntityPointer(EntityID id) nothrow @nogc
{
@ -132,7 +132,7 @@ struct IDManager
}
/************************************************************************************************************************
*Check if entity with specified ID exist.
Check if entity with specified ID exist.
*/
export bool isExist(EntityID id) nothrow @nogc
{
@ -143,7 +143,7 @@ struct IDManager
}
/************************************************************************************************************************
*Initialize manager.
Initialize manager.
*/
void initialize() nothrow @nogc
{
@ -162,7 +162,7 @@ struct IDManager
}
/************************************************************************************************************************
*Free manager memory.
Free manager memory.
*/
void deinitialize() @trusted @nogc nothrow
{
@ -185,7 +185,7 @@ struct IDManager
}
/************************************************************************************************************************
*Optimize memory. Must be called if any ID was added and some ID will be removed.
Optimize memory. Must be called if any ID was added and some ID will be removed.
*/
void optimize() nothrow @nogc
{