-improved WASM compilation scripts

-added external bindbc.sdl import for WASM
-working on demos (WIP, working simple demo with ECS and SDL2)
-small change in ecs.std
This commit is contained in:
Mergul 2019-11-06 20:38:46 +01:00
parent a8c74d5045
commit 73f2aa6861
60 changed files with 9015 additions and 67 deletions

View file

@ -0,0 +1,83 @@
// Copyright Michael D. Parker 2018.
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
module bindbc.sdl.bind.sdlversion;
struct SDL_version {
ubyte major;
ubyte minor;
ubyte patch;
}
enum SDL_MAJOR_VERSION = 2;
enum SDL_MINOR_VERSION = 0;
version(SDL_201) {
enum ubyte SDL_PATCHLEVEL = 1;
}
else version(SDL_202) {
enum ubyte SDL_PATCHLEVEL = 2;
}
else version(SDL_203) {
enum ubyte SDL_PATCHLEVEL = 3;
}
else version(SDL_204) {
enum ubyte SDL_PATCHLEVEL = 4;
}
else version(SDL_205) {
enum ubyte SDL_PATCHLEVEL = 5;
}
else version(SDL_206) {
enum ubyte SDL_PATCHLEVEL = 6;
}
else version(SDL_207) {
enum ubyte SDL_PATCHLEVEL = 7;
}
else version(SDL_208) {
enum ubyte SDL_PATCHLEVEL = 8;
}
else version(SDL_209) {
enum ubyte SDL_PATCHLEVEL = 9;
}
else version(SDL_2010) {
enum ubyte SDL_PATCHLEVEL = 10;
}
else {
enum ubyte SDL_PATCHLEVEL = 0;
}
@nogc nothrow pure
void SDL_VERSION(SDL_version* x) {
pragma(inline, true);
x.major = SDL_MAJOR_VERSION;
x.minor = SDL_MINOR_VERSION;
x.patch = SDL_PATCHLEVEL;
}
enum SDL_VERSIONNUM(ubyte X, ubyte Y, ubyte Z) = X*1000 + Y*100 + Z;
enum SDL_COMPILEDVERSION = SDL_VERSIONNUM!(SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL);
enum SDL_VERSION_ATLEAST(ubyte X, ubyte Y, ubyte Z) = SDL_COMPILEDVERSION >= SDL_VERSIONNUM!(X, Y, Z);
version(BindSDL_Static) {
extern(C) @nogc nothrow {
void SDL_GetVersion(SDL_version*);
const(char)* SDL_GetRevision();
int SDL_GetRevisionNumber();
}
}
else {
extern(C) @nogc nothrow {
alias pSDL_GetVersion = void function(SDL_version*);
alias pSDL_GetRevision = const(char)* function();
alias pSDL_GetRevisionNumber = int function();
}
__gshared {
pSDL_GetVersion SDL_GetVersion;
pSDL_GetRevision SDL_GetRevision;
pSDL_GetRevisionNumber SDL_GetRevisionNumber;
}
}