Small fixes
This commit is contained in:
parent
014e9cee8d
commit
24a07a05e5
13 changed files with 46 additions and 29 deletions
|
|
@ -23,7 +23,7 @@ build_code:
|
||||||
|
|
||||||
test_dmd_debug:
|
test_dmd_debug:
|
||||||
stage: test
|
stage: test
|
||||||
image: frolvlad/alpine-glibc
|
image: debian:buster-slim
|
||||||
script:
|
script:
|
||||||
- binaries/dmd_debug_unittest
|
- binaries/dmd_debug_unittest
|
||||||
artifacts:
|
artifacts:
|
||||||
|
|
@ -31,7 +31,7 @@ test_dmd_debug:
|
||||||
junit: test_report.xml
|
junit: test_report.xml
|
||||||
test_dmd:
|
test_dmd:
|
||||||
stage: test
|
stage: test
|
||||||
image: frolvlad/alpine-glibc
|
image: debian:buster-slim
|
||||||
script:
|
script:
|
||||||
- binaries/dmd_release_unittest
|
- binaries/dmd_release_unittest
|
||||||
artifacts:
|
artifacts:
|
||||||
|
|
@ -39,7 +39,7 @@ test_dmd:
|
||||||
junit: test_report.xml
|
junit: test_report.xml
|
||||||
test_dmd_betterC:
|
test_dmd_betterC:
|
||||||
stage: test
|
stage: test
|
||||||
image: frolvlad/alpine-glibc
|
image: debian:buster-slim
|
||||||
script:
|
script:
|
||||||
- binaries/dmd_debug_unittest_bc
|
- binaries/dmd_debug_unittest_bc
|
||||||
artifacts:
|
artifacts:
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ sdl2_image_dep = dependency('SDL2_image')
|
||||||
|
|
||||||
subdir('utils') # Utils library
|
subdir('utils') # Utils library
|
||||||
|
|
||||||
executable('decs-demos', [demos_src, external_src],
|
executable('BubelECSDemos', [demos_src, external_src],
|
||||||
include_directories : [demos_inc, external_inc],
|
include_directories : [demos_inc, external_inc],
|
||||||
d_module_versions : versions,
|
d_module_versions : versions,
|
||||||
link_with : [ecs_lib, ecs_utils_lib],
|
link_with : [ecs_lib, ecs_utils_lib],
|
||||||
|
|
|
||||||
4
dub.json
4
dub.json
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "bubel_ecs",
|
"name": "bubel-ecs",
|
||||||
"targetName" : "bubel_ecs",
|
"targetName" : "BubelECS",
|
||||||
"authors": [
|
"authors": [
|
||||||
"Michał Masiukiewicz", "Dawid Masiukiewicz"
|
"Michał Masiukiewicz", "Dawid Masiukiewicz"
|
||||||
],
|
],
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
project('decs', 'd', version : '0.5.0')
|
project('bubel-ecs', 'd', version : '0.5.0')
|
||||||
|
|
||||||
# Options
|
# Options
|
||||||
betterC_opt = get_option('betterC')
|
betterC_opt = get_option('betterC')
|
||||||
|
|
@ -55,18 +55,18 @@ add_project_link_arguments(link_args, language : 'd')
|
||||||
# Dependencies
|
# Dependencies
|
||||||
threads_dep = dependency('threads')
|
threads_dep = dependency('threads')
|
||||||
|
|
||||||
ecs_lib = library('decs',
|
ecs_lib = library('BubelECS',
|
||||||
src,
|
src,
|
||||||
include_directories : [inc],
|
include_directories : [inc],
|
||||||
)
|
)
|
||||||
|
|
||||||
decs_dep = declare_dependency(
|
bubel_ecs_dep = declare_dependency(
|
||||||
include_directories : [inc],
|
include_directories : [inc],
|
||||||
link_with : ecs_lib,
|
link_with : ecs_lib,
|
||||||
dependencies : threads_dep,
|
dependencies : threads_dep,
|
||||||
)
|
)
|
||||||
|
|
||||||
meson.override_dependency('decs', decs_dep)
|
meson.override_dependency('bubel-ecs', bubel_ecs_dep)
|
||||||
|
|
||||||
# Tests
|
# Tests
|
||||||
if BuildTests_opt
|
if BuildTests_opt
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
/************************************************************************************************************************
|
||||||
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
|
*/
|
||||||
module bubel.ecs.events;
|
module bubel.ecs.events;
|
||||||
|
|
||||||
import bubel.ecs.block_allocator;
|
import bubel.ecs.block_allocator;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,8 @@
|
||||||
module bubel.ecs.hash_map;
|
/************************************************************************************************************************
|
||||||
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
|
*/
|
||||||
|
module bubel.ecs.hash_map;
|
||||||
|
|
||||||
import std.traits;
|
import std.traits;
|
||||||
|
|
||||||
|
|
@ -332,36 +336,36 @@ nothrow:
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
export int byKey(scope int delegate(Key k) nothrow dg)
|
export int byKey(scope int delegate(ref Key k) dg)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
foreach (ref Key k; this)
|
foreach (ref Key k; this)
|
||||||
{
|
{
|
||||||
result = dg(k);
|
result = (cast(int delegate(ref Key k) nothrow)dg)(k);
|
||||||
if (result)
|
if (result)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
export int byValue(scope int delegate(ref Value k) nothrow dg)
|
export int byValue(scope int delegate(ref Value v) dg)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
foreach (ref Value v; this)
|
foreach (ref Value v; this)
|
||||||
{
|
{
|
||||||
result = dg(v);
|
result = (cast(int delegate(ref Value v) nothrow)dg)(v);
|
||||||
if (result)
|
if (result)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
export int byKeyValue(scope int delegate(ref Key k, ref Value v) nothrow dg)
|
export int byKeyValue(scope int delegate(ref Key k, ref Value v) dg)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
foreach (ref Key k, ref Value v; this)
|
foreach (ref Key k, ref Value v; this)
|
||||||
{
|
{
|
||||||
result = dg(k, v);
|
result = (cast(int delegate(ref Key k, ref Value v) nothrow)dg)(k, v);
|
||||||
if (result)
|
if (result)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
/************************************************************************************************************************
|
||||||
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
|
*/
|
||||||
module bubel.ecs.id_manager;
|
module bubel.ecs.id_manager;
|
||||||
|
|
||||||
import bubel.ecs.entity;
|
import bubel.ecs.entity;
|
||||||
|
|
|
||||||
|
|
@ -80,8 +80,6 @@ export struct EntityManager
|
||||||
{
|
{
|
||||||
UpdatePass* pass = Mallocator.make!UpdatePass;
|
UpdatePass* pass = Mallocator.make!UpdatePass;
|
||||||
pass.name = Mallocator.makeArray(cast(char[]) "update");
|
pass.name = Mallocator.makeArray(cast(char[]) "update");
|
||||||
//pass.name = Mallocator.makeArray!char("update".length);
|
|
||||||
//pass.name[0..$] = "update";
|
|
||||||
passes.add(pass);
|
passes.add(pass);
|
||||||
passes_map.add(cast(string) pass.name, cast(ushort)(passes.length - 1));
|
passes_map.add(cast(string) pass.name, cast(ushort)(passes.length - 1));
|
||||||
}
|
}
|
||||||
|
|
@ -297,7 +295,6 @@ export struct EntityManager
|
||||||
if (threads_count == 0)
|
if (threads_count == 0)
|
||||||
threads_count = 1;
|
threads_count = 1;
|
||||||
threads = Mallocator.makeArray!ThreadData(threads_count);
|
threads = Mallocator.makeArray!ThreadData(threads_count);
|
||||||
//foreach(ref thread;threads)thread = ThreadData().init;
|
|
||||||
|
|
||||||
m_page_size = page_size;
|
m_page_size = page_size;
|
||||||
m_pages_in_block = block_pages_count;
|
m_pages_in_block = block_pages_count;
|
||||||
|
|
@ -1253,8 +1250,6 @@ export struct EntityManager
|
||||||
{
|
{
|
||||||
UpdatePass* pass = Mallocator.make!UpdatePass;
|
UpdatePass* pass = Mallocator.make!UpdatePass;
|
||||||
pass.name = Mallocator.makeArray(cast(char[]) name);
|
pass.name = Mallocator.makeArray(cast(char[]) name);
|
||||||
/*pass.name = Mallocator.makeArray!char(name.length);
|
|
||||||
pass.name[0..$] = name[0..$];*/
|
|
||||||
passes.add(pass);
|
passes.add(pass);
|
||||||
passes_map.add(name, cast(ushort)(passes.length - 1));
|
passes_map.add(name, cast(ushort)(passes.length - 1));
|
||||||
return cast(ushort)(passes.length - 1);
|
return cast(ushort)(passes.length - 1);
|
||||||
|
|
@ -1849,8 +1844,6 @@ export struct EntityManager
|
||||||
info = Mallocator.make!EntityInfo;
|
info = Mallocator.make!EntityInfo;
|
||||||
|
|
||||||
info.components = Mallocator.makeArray(ids);
|
info.components = Mallocator.makeArray(ids);
|
||||||
/*info.components = Mallocator.makeArray!ushort(ids.length);
|
|
||||||
info.components[0 .. $] = ids[0 .. $];*/
|
|
||||||
info.deltas = Mallocator.makeArray!ushort(ids[$ - 1] + 1);
|
info.deltas = Mallocator.makeArray!ushort(ids[$ - 1] + 1);
|
||||||
|
|
||||||
info.size = EntityID.sizeof;
|
info.size = EntityID.sizeof;
|
||||||
|
|
@ -3226,8 +3219,6 @@ export struct EntityManager
|
||||||
if (index > 0)
|
if (index > 0)
|
||||||
{
|
{
|
||||||
caller.exclusion = Mallocator.makeArray(exclusion[0 .. index]);
|
caller.exclusion = Mallocator.makeArray(exclusion[0 .. index]);
|
||||||
/*caller.exclusion = Mallocator.makeArray!(SystemCaller*)(index);
|
|
||||||
caller.exclusion[0..$] = exclusion[0 .. index];*/
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
caller.exclusion = null;
|
caller.exclusion = null;
|
||||||
|
|
@ -3275,8 +3266,6 @@ export struct EntityManager
|
||||||
if (index > 0)
|
if (index > 0)
|
||||||
{
|
{
|
||||||
caller.dependencies = Mallocator.makeArray(exclusion[0 .. index]);
|
caller.dependencies = Mallocator.makeArray(exclusion[0 .. index]);
|
||||||
/*caller.dependencies = Mallocator.makeArray!(SystemCaller*)(index);
|
|
||||||
caller.dependencies[0..$] = exclusion[0 .. index];*/
|
|
||||||
caller.job_group.dependencies = Mallocator.makeArray!(JobGroup*)(index);
|
caller.job_group.dependencies = Mallocator.makeArray!(JobGroup*)(index);
|
||||||
|
|
||||||
foreach (j, dep; caller.dependencies)
|
foreach (j, dep; caller.dependencies)
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
/************************************************************************************************************************
|
||||||
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
|
*/
|
||||||
module ecs;
|
module ecs;
|
||||||
|
|
||||||
public import bubel.ecs.core;
|
public import bubel.ecs.core;
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
/************************************************************************************************************************
|
||||||
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
|
*/
|
||||||
module bubel.ecs.simple_vector;
|
module bubel.ecs.simple_vector;
|
||||||
|
|
||||||
import bubel.ecs.std;
|
import bubel.ecs.std;
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
/************************************************************************************************************************
|
||||||
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
|
*/
|
||||||
module bubel.ecs.traits;
|
module bubel.ecs.traits;
|
||||||
|
|
||||||
import std.traits;
|
import std.traits;
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
/************************************************************************************************************************
|
||||||
|
Copyright: Copyright © 2018-2019, Dawid Masiukiewicz, Michał Masiukiewicz
|
||||||
|
License: BSD 3-clause, see LICENSE file in project root folder.
|
||||||
|
*/
|
||||||
module bubel.ecs.vector;
|
module bubel.ecs.vector;
|
||||||
|
|
||||||
import core.bitop;
|
import core.bitop;
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,7 @@ tests_src = files(
|
||||||
'vector.d'
|
'vector.d'
|
||||||
)
|
)
|
||||||
|
|
||||||
exe = executable('decs-tests',
|
exe = executable('BubelECSTests',
|
||||||
tests_src,
|
tests_src,
|
||||||
include_directories : [inc, include_directories('..')],
|
include_directories : [inc, include_directories('..')],
|
||||||
d_args : args,
|
d_args : args,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue