FIxed GDC compilation (basic betterC WIP) and some improvements

-fixed issue with adding/removing entities inside events handling
-fixed EntityMeta.getComponent() (added check if component_id is valid)
-added function hasComponent to entity to check if component exists
This commit is contained in:
Mergul 2020-05-14 22:18:57 +02:00
parent f731b4cedb
commit 9589a5cb2d
11 changed files with 174 additions and 94 deletions

View file

@ -182,6 +182,12 @@ void instructionPause()
__builtin_ia32_pause();
}
else version(GNU)
{
import gcc.builtins;
__builtin_ia32_pause();
}
else version (DigitalMars)
{
asm
@ -189,7 +195,6 @@ void instructionPause()
rep;
nop;
}
}
else
{

View file

@ -17,7 +17,7 @@ import ecs_utils.gfx.texture;
import ecs_utils.math.vector;
import ecs_utils.utils;
import std.array : staticArray;
//import std.array : staticArray;
enum float px = 1.0/512.0;

View file

@ -21,7 +21,19 @@ float randomRangef(float min, float max)
return rand()%4096;
}*/
extern(C) int printf(scope const char* format, ...) @nogc nothrow @system;
version(GNU)
{
public import core.stdc.stdio : printf;
pragma(inline, true) T[n] staticArray(T, size_t n)(auto ref T[n] a)
{
return a;
}
}
else
{
extern(C) int printf(scope const char* format, ...) @nogc nothrow @system;
public import std.array : staticArray;
}
extern(C) int rand();
version(D_BetterC)