From 5894e7654090e0208ea6c25c07cce60815126175 Mon Sep 17 00:00:00 2001 From: Mergul Date: Tue, 19 Nov 2019 10:37:34 +0100 Subject: [PATCH] -updated wasm build scripts -multitheaded wasm tests -updated dub.json -fixed thread pool assert issue -added windows libraries -added demos: *launcher *simple *snake *space invaders (WIP) *statistics window *changable gui styles *tips window *profile window *demo window with automatic generation *multithreaded job updater --- compile_wasm.py | 10 +- demos/.gitignore | 3 +- demos/compile_wasm.py | 13 +- demos/dub.json | 6 +- demos/external/sources/mmutils/thread_pool.d | 2 +- demos/libs/windows/x64/SDL2.lib | Bin 0 -> 145280 bytes demos/libs/windows/x64/SDL2_image.lib | Bin 0 -> 10120 bytes demos/libs/windows/x64/SDL2main.lib | Bin 0 -> 41244 bytes demos/libs/windows/x64/SDL2test.lib | Bin 0 -> 924400 bytes demos/libs/windows/x64/cimgui.lib | Bin 0 -> 136730 bytes demos/source/app.d | 716 +++++++++++++++++ demos/source/demos/bullet_madnes.d | 19 + demos/source/demos/chipmunk2d.d | 19 + demos/source/demos/events.d | 19 + demos/source/demos/flag_component.d | 19 + demos/source/demos/physics.d | 19 + demos/source/demos/simple.d | 171 +++++ demos/source/demos/snake.d | 522 +++++++++++++ demos/source/demos/space_invaders.d | 764 +++++++++++++++++++ demos/source/game_core/job_updater.d | 199 +++++ demos/source/gui/component.d | 6 + demos/source/gui/manager.d | 49 ++ demos/source/gui/system.d | 11 + demos/utils/dub.json | 1 - demos/utils/source/ecs_utils/gfx/renderer.d | 8 +- source/ecs/vector.d | 6 +- 26 files changed, 2562 insertions(+), 20 deletions(-) create mode 100644 demos/libs/windows/x64/SDL2.lib create mode 100644 demos/libs/windows/x64/SDL2_image.lib create mode 100644 demos/libs/windows/x64/SDL2main.lib create mode 100644 demos/libs/windows/x64/SDL2test.lib create mode 100644 demos/libs/windows/x64/cimgui.lib create mode 100644 demos/source/app.d create mode 100644 demos/source/demos/bullet_madnes.d create mode 100644 demos/source/demos/chipmunk2d.d create mode 100644 demos/source/demos/events.d create mode 100644 demos/source/demos/flag_component.d create mode 100644 demos/source/demos/physics.d create mode 100644 demos/source/demos/simple.d create mode 100644 demos/source/demos/snake.d create mode 100644 demos/source/demos/space_invaders.d create mode 100644 demos/source/game_core/job_updater.d create mode 100644 demos/source/gui/component.d create mode 100644 demos/source/gui/manager.d create mode 100644 demos/source/gui/system.d diff --git a/compile_wasm.py b/compile_wasm.py index da42783..e808354 100644 --- a/compile_wasm.py +++ b/compile_wasm.py @@ -13,7 +13,7 @@ def compile(sources, output): if file_extension == '.d' and filename != 'package': files.append(os.path.join(r, file)) - ldc_cmd = 'ldc2 ' + shared_flags + ldc_flags + '-oq -mtriple=wasm32-unknown-unknown-wasm -betterC -L-allow-undefined --output-bc --od=.bc --singleobj --checkaction=C --of=' + output + ' ' + ldc_cmd = 'ldc2 ' + shared_flags + ldc_flags + '-oq -mtriple=wasm32-unknown-unknown-wasm -betterC --output-bc --od=.bc --singleobj --checkaction=C --of=' + output + ' ' for path in sources: ldc_cmd += '-I' + path + ' ' @@ -56,6 +56,9 @@ for arg in sys.argv[1:]: shared_flags += '-Oz ' elif(arg == '-g'): shared_flags += '-g ' + elif(arg == '-g4'): + ldc_flags += '-g ' + emc_flags += '-g4 ' elif(arg == '--build-tests'): build_tests = 1 elif(arg == '--llvm-lto'): @@ -77,8 +80,9 @@ if build_tests == 0: compile(['tests'], 'tests.bc') -emcc_cmd = 'emcc -v ' + shared_flags + emc_flags + '-s ALLOW_MEMORY_GROWTH=1 -s MALLOC=dlmalloc -s WASM=1 -o index.html ' - +emcc_cmd = 'emcc -v ' + shared_flags + emc_flags + '-s ALLOW_MEMORY_GROWTH=1 -s WASM_MEM_MAX=1024MB -s MALLOC=dlmalloc -s WASM=1 -o index.html ' +#-s ALLOW_MEMORY_GROWTH=1 + emcc_cmd += 'ecs.bc tests.bc' print emcc_cmd diff --git a/demos/.gitignore b/demos/.gitignore index e6f937c..7ccfc2f 100644 --- a/demos/.gitignore +++ b/demos/.gitignore @@ -3,8 +3,9 @@ !**/dub.json !libs/ !*.dll +!libs/** !utils/**/*.d -!simple/**/*.d +!source/**/*.d !launcher/**/*.d !assets/** !external/**/*.d diff --git a/demos/compile_wasm.py b/demos/compile_wasm.py index b34b5c6..06845cf 100644 --- a/demos/compile_wasm.py +++ b/demos/compile_wasm.py @@ -13,7 +13,7 @@ def compile(sources, output): if file_extension == '.d' and filename != 'package': files.append(os.path.join(r, file)) - ldc_cmd = 'ldc2 ' + shared_flags + ldc_flags + '-oq -mtriple=wasm32-unknown-unknown-wasm -betterC -L-allow-undefined --output-bc --od=.bc --singleobj --checkaction=C --of=' + output + ' ' + ldc_cmd = 'ldc2 ' + shared_flags + ldc_flags + '-oq -mtriple=wasm32-unknown-unknown-wasm -betterC --output-bc --od=.bc --singleobj --checkaction=C --of=' + output + ' ' for path in sources: ldc_cmd += '-I' + path + ' ' @@ -58,6 +58,9 @@ for arg in sys.argv[1:]: shared_flags += '-Oz ' elif(arg == '-g'): shared_flags += '-g ' + elif(arg == '-g4'): + ldc_flags += '-g ' + emc_flags += '-g4 ' elif(arg == '--llvm-lto'): emc_flags += '--llvm-lto 3 ' elif(arg == '--simd'): @@ -68,6 +71,10 @@ for arg in sys.argv[1:]: emc_flags += '--llvm-lto 3 -s SIMD=1 ' elif(arg == '--clean'): clean = 1 + elif(arg == '-pthread'): + shared_flags += '-O3 ' + ldc_flags += '-release -enable-inlining ' + emc_flags += '-s PTHREAD_POOL_SIZE=16 -Wl,--no-check-features -s USE_PTHREADS=1 ' elif(arg == '--demo=simple'): demo = 0 else: @@ -83,14 +90,14 @@ compile(['source'], 'demo.bc') if clean or os.path.exists('../ecs.bc') == 0 or os.path.isfile('../ecs.bc') == 0: compile(['../source'], '../ecs.bc') -emcc_cmd = 'emcc -v ' + shared_flags + emc_flags + '-s ALLOW_MEMORY_GROWTH=1 -s MALLOC=dlmalloc -s FULL_ES2=1 -s WASM=1 -o index.html ' +emcc_cmd = 'emcc -v ' + shared_flags + emc_flags + '-s ERROR_ON_UNDEFINED_SYMBOLS=0 -s DISABLE_DEPRECATED_FIND_EVENT_TARGET_BEHAVIOR=1 -s TOTAL_MEMORY=256MB -s WASM_MEM_MAX=1024MB -s MALLOC=dlmalloc -s WASM=1 -o index.html ' +#-s ALLOW_MEMORY_GROWTH=1 -s PROXY_TO_PTHREAD=1 emcc_cmd += '../ecs.bc ' emcc_cmd += 'utils.bc ' emcc_cmd += 'bindbc-sdl.bc ' emcc_cmd += 'glad.bc ' emcc_cmd += 'cimgui.bc ' -emcc_cmd += 'nuklear.bc ' emcc_cmd += 'mmutils.bc ' emcc_cmd += 'demo.bc ' diff --git a/demos/dub.json b/demos/dub.json index 0bda382..009bf9e 100644 --- a/demos/dub.json +++ b/demos/dub.json @@ -22,7 +22,7 @@ "targetType" : "executable", "subConfigurations": { - "ecs":"library" + "ecs_utils":"default" } }, { @@ -33,9 +33,7 @@ ], "subConfigurations": { - "bindbc-sdl":"staticBC", - "ecs_utils":"betterC", - "ecs":"library-betterC" + "ecs_utils":"betterC" } } ] diff --git a/demos/external/sources/mmutils/thread_pool.d b/demos/external/sources/mmutils/thread_pool.d index a986048..eb4d53f 100644 --- a/demos/external/sources/mmutils/thread_pool.d +++ b/demos/external/sources/mmutils/thread_pool.d @@ -537,7 +537,7 @@ else version(D_BetterC) threadStart = dg; handle = cast(HANDLE) _beginthreadex( null, 0, &threadRunFunc, cast(void*)&this, 0, null ); //int ok = pthread_create(&handle, null, &threadRunFunc, cast(void*)&this); - assert(handle == null); + assert(handle != null); } void join() diff --git a/demos/libs/windows/x64/SDL2.lib b/demos/libs/windows/x64/SDL2.lib new file mode 100644 index 0000000000000000000000000000000000000000..89f7d37fcc07c69aa0ff58679a6aa19e5cc0f7b8 GIT binary patch literal 145280 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 literal 0 HcmV?d00001 diff --git a/demos/libs/windows/x64/SDL2_image.lib b/demos/libs/windows/x64/SDL2_image.lib new file mode 100644 index 0000000000000000000000000000000000000000..6d00aed6db965856cea7c53bb15df7462c90b6e9 GIT binary patch literal 10120 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 literal 0 HcmV?d00001 diff --git a/demos/libs/windows/x64/cimgui.lib b/demos/libs/windows/x64/cimgui.lib new file mode 100644 index 0000000000000000000000000000000000000000..3a6b57ca678656b7f7849b1973c942e8a37f666e GIT binary patch literal 136730 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 1000)launcher.delta_time = 1000; + + static uint temp_fps = 0; + static double fps_time = 0; + temp_fps++; + fps_time += launcher.delta_time; + while(fps_time > 1000) + { + fps_time -= 1000; + launcher.fps = temp_fps; + temp_fps = 0; + } + + + SDL_Event event; + while (SDL_PollEvent(&event)) + { + version(WebAssembly)ImGui_ImplSDL2_ProcessEvent(&event); + else ImGui_ImplSDL2_ProcessEvent(&event); + if(launcher.event)launcher.event(&event); + if (event.type == SDL_QUIT || (event.type == SDL_KEYDOWN && event.key.keysym.scancode == SDL_SCANCODE_ESCAPE)) { + quit(); + *cast(bool*)arg = false; + return; + } + else if(event.type == SDL_WINDOWEVENT) + { + switch(event.window.event) + { + case SDL_WINDOWEVENT_RESIZED: + //launcher.renderer.resize(ivec2(event.window.data1,event.window.data2)); + launcher.window_size = ivec2(event.window.data1,event.window.data2); + break; + case SDL_WINDOWEVENT_SIZE_CHANGED: + //launcher.renderer.resize(ivec2(event.window.data1,event.window.data2)); + launcher.window_size = ivec2(event.window.data1,event.window.data2); + break; + default:break; + } + } + } + + version(WebAssembly) + { + ImGui_ImplOpenGL3_NewFrame(); + ImGui_ImplSDL2_NewFrame(launcher.window); + } + else + { + ImGuiImplOpenGL2NewFrame(); + ImGuiImplSDL2NewFrame(launcher.window); + } + + igNewFrame(); + + if(igBeginMainMenuBar()) + { + if(igBeginMenu("File",true)) + { + if(igMenuItemBool("Close","esc",false,true)) + { + quit(); + *cast(bool*)arg = false; + return; + } + igEndMenu(); + } + if(igBeginMenu("Demos",true)) + { + if(igMenuItemBool("Simpe",null,false,true)) + { + import demos.simple; + launcher.switchDemo(&simpleStart,&simpleLoop,&simpleEnd,&simpleEvent,Simple.tips); + } + if(igMenuItemBool("Snake",null,false,true)) + { + import demos.snake; + launcher.switchDemo(&snakeStart,&snakeLoop,&snakeEnd,&snakeEvent,Snake.tips); + } + if(igMenuItemBool("Space invaders",null,false,true)) + { + import demos.space_invaders; + launcher.switchDemo(&spaceInvadersStart,&spaceInvadersLoop,&spaceInvadersEnd,&spaceInvadersEvent,SpaceInvaders.tips); + } + igEndMenu(); + } + if(igBeginMenu("Options",true)) + { + if(igMenuItemBool("VSync", null, launcher.swap_interval, true)) + { + launcher.swap_interval = !launcher.swap_interval; + SDL_GL_SetSwapInterval(launcher.swap_interval); + } + if(igMenuItemBool("Multithreading", null, launcher.multithreading, true)) + { + launcher.multithreading = !launcher.multithreading; + } + if(igBeginMenu("Show",true)) + { + if(igMenuItemBool("Statistics",null,launcher.show_stat_wnd,true)) + { + launcher.show_stat_wnd = !launcher.show_stat_wnd; + } + else if(igMenuItemBool("Demo",null,launcher.show_demo_wnd,true)) + { + launcher.show_demo_wnd = !launcher.show_demo_wnd; + } + else if(igMenuItemBool("Tips",null,launcher.show_tips,true)) + { + launcher.show_tips = !launcher.show_tips; + } + else if(igMenuItemBool("Virual keys",null,launcher.show_virtual_keys_wnd,true)) + { + launcher.show_virtual_keys_wnd = !launcher.show_virtual_keys_wnd; + } + igEndMenu(); + } + if(igBeginMenu("Style",true)) + { + if(igMenuItemBool("Classic",null,launcher.style == 0,true)) + { + launcher.setStyle(0); + } + else if(igMenuItemBool("Dark",null,launcher.style == 1,true)) + { + launcher.setStyle(1); + } + else if(igMenuItemBool("Light",null,launcher.style == 2,true)) + { + launcher.setStyle(2); + } + else if(igMenuItemBool("Super",null,launcher.style == 3,true)) + { + launcher.setStyle(3); + } + igEndMenu(); + } + igEndMenu(); + } + igEndMainMenuBar(); + } + + if(launcher.show_virtual_keys_wnd) + { + igSetNextWindowPos(ImVec2(launcher.window_size.x - 400, launcher.window_size.y - 200), ImGuiCond_Once, ImVec2(0,0)); + igSetNextWindowSize(ImVec2(64*4+128, 168), ImGuiCond_Once); + igSetNextWindowBgAlpha(launcher.windows_alpha); + ImGuiStyle * style = igGetStyle(); + style.Colors[ImGuiCol_Button].w = 0.8; + if(igBegin("Virtual keys",&launcher.show_virtual_keys_wnd, 0)) + { + igColumns(2,null,0); + igSetColumnWidth(0,64*3+16); + igIndent(64+4); + if(igButton("W",ImVec2(64,64)) || igIsItemDeactivated()) + { + launcher.keys[SDL_SCANCODE_W] = false; + } + else if(igIsItemActive()) + { + launcher.keys[SDL_SCANCODE_W] = true; + } + igUnindent(64+4); + if(igButton("A",ImVec2(64,64)) || igIsItemDeactivated()) + { + launcher.keys[SDL_SCANCODE_A] = false; + } + else if(igIsItemActive()) + { + launcher.keys[SDL_SCANCODE_A] = true; + } + igSameLine(0,4); + if(igButton("S",ImVec2(64,64)) || igIsItemDeactivated()) + { + launcher.keys[SDL_SCANCODE_S] = false; + } + else if(igIsItemActive()) + { + launcher.keys[SDL_SCANCODE_S] = true; + } + igSameLine(0,4); + if(igButton("D",ImVec2(64,64)) || igIsItemDeactivated()) + { + launcher.keys[SDL_SCANCODE_D] = false; + } + else if(igIsItemActive()) + { + launcher.keys[SDL_SCANCODE_D] = true; + } + igNextColumn(); + if(igButton("Space",ImVec2(-1,128)) || igIsItemDeactivated()) + { + launcher.keys[SDL_SCANCODE_SPACE] = false; + } + else if(igIsItemActive()) + { + launcher.keys[SDL_SCANCODE_SPACE] = true; + } + igColumns(1,null,0); + } + igEnd(); + style.Colors[ImGuiCol_Button].w = 1.0; + } + + if(launcher.show_tips) + { + igSetNextWindowPos(ImVec2(launcher.window_size.x - 550, 80), ImGuiCond_Once, ImVec2(0,0)); + igSetNextWindowSize(ImVec2(300, 0), ImGuiCond_Once); + igSetNextWindowBgAlpha(launcher.windows_alpha); + if(igBegin("Tips",&launcher.show_tips,ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoSavedSettings)) + { + igTextWrapped(launcher.tips); + } + igEnd(); + } + + if(launcher.show_demo_wnd) + { + igSetNextWindowPos(ImVec2(launcher.window_size.x - 260, 30), ImGuiCond_Once, ImVec2(0,0)); + igSetNextWindowSize(ImVec2(250, 250), ImGuiCond_Once); + if(igBegin("Demo",&launcher.show_demo_wnd,0)) + { + launcher.gui_manager.gui(); + if(igBeginCombo("Tool",tool_strings[launcher.used_tool],0)) + { + if(igSelectable("Entity spawner",false,0,ImVec2(0,0))) + { + launcher.used_tool = Tool.entity_spawner; + } + if(igSelectable("Component manipulator",false,0,ImVec2(0,0))) + { + launcher.used_tool = Tool.component_manipulator; + } + if(igSelectable("Selector",false,0,ImVec2(0,0))) + { + launcher.used_tool = Tool.selector; + } + igEndCombo(); + } + if(igButton("Clear",ImVec2(-1,0))) + { + launcher.manager.begin(); + launcher.manager.update("clean"); + launcher.manager.end(); + } + } + igEnd(); + } + + if(launcher.show_profile_wnd) + { + igSetNextWindowPos(ImVec2(launcher.window_size.x - 260, launcher.window_size.y - 280), ImGuiCond_Once, ImVec2(0,0)); + igSetNextWindowSize(ImVec2(250, 250), ImGuiCond_Once); + if(igBegin("Profile",&launcher.show_profile_wnd,0)) + { + if(igBeginTabBar("ProfileTabBar",ImGuiTabBarFlags_FittingPolicyScroll)) + { + + if(igBeginTabItem("Plots", null, 0)) + { + if(igBeginChild("ProfileChild",ImVec2(-1,-1),0,0)) + { + igPlotLines("Delta time",&launcher.plot_values[0].delta_time,100,launcher.plot_index,"Delta time",0,float.max,ImVec2(0,64),Launcher.PlotStruct.sizeof); + igPlotLines("Loop time",&launcher.plot_values[0].loop_time,100,launcher.plot_index,"Loop time",0,float.max,ImVec2(0,64),Launcher.PlotStruct.sizeof); + igPlotLines("Draw time",&launcher.plot_values[0].draw_time,100,launcher.plot_index,"Draw time",0,float.max,ImVec2(0,64),Launcher.PlotStruct.sizeof); + } + igEndChild(); + igEndTabItem(); + } + if(igBeginTabItem("Multithreading graph", null, 0)) + { + if(igBeginChild("ProfileChild",ImVec2(-1,-1),0,0)) + { + igText("Work in proggress"); + } + igEndChild(); + igEndTabItem(); + } + + igEndTabBar(); + } + } + igEnd(); + } + + launcher.renderer.resize(launcher.window_size); + launcher.renderer.view(vec2(0,0),vec2(launcher.window_size.x,launcher.window_size.y)); + //glClear(GL_COLOR_BUFFER_BIT); + launcher.renderer.clear(); + + double loop_time = launcher.getTime(); + if(launcher.loop && !launcher.loop()) + { + quit(); + *cast(bool*)arg = false; + } + loop_time = launcher.getTime() - loop_time; + + double draw_time = launcher.getTime(); + launcher.renderer.present(); + draw_time = launcher.getTime() - draw_time; + + static float plot_time = 0; + static uint plot_samples = 0; + plot_time += launcher.delta_time; + plot_samples++; + launcher.plot_values[100].delta_time += launcher.delta_time; + launcher.plot_values[100].loop_time += loop_time; + launcher.plot_values[100].draw_time += draw_time; + if(plot_time > 100) + { + launcher.plot_values[launcher.plot_index].delta_time = launcher.plot_values[100].delta_time / cast(float)plot_samples; + launcher.plot_values[launcher.plot_index].loop_time = launcher.plot_values[100].loop_time / cast(float)plot_samples; + launcher.plot_values[launcher.plot_index].draw_time = launcher.plot_values[100].draw_time / cast(float)plot_samples; + launcher.plot_values[100].delta_time = 0; + launcher.plot_values[100].loop_time = 0; + launcher.plot_values[100].draw_time = 0; + + plot_samples = 0; + plot_time -= 100; + launcher.plot_index++; + if(launcher.plot_index >= 100)launcher.plot_index = 0; + } + + if(launcher.show_stat_wnd) + { + igSetNextWindowPos(ImVec2(10, 30), ImGuiCond_Appearing, ImVec2(0,0)); + igSetNextWindowContentSize(ImVec2(150, 0.0f)); + igSetNextWindowBgAlpha(launcher.windows_alpha); + if(igBegin("Statistics", &launcher.show_stat_wnd, ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize)) + { + igColumns(2,null,0); + igSetColumnWidth(0,100); + igText("FPS: "); + igText("Entities: "); + igText("Loop time: "); + igText("Draw time: "); + igText("Delta time: "); + igNextColumn(); + igText("%u",launcher.fps); + igText("%u",launcher.entities_count); + igText("%2.2fms",loop_time); + igText("%2.2fms",draw_time); + igText("%2.2fms",launcher.delta_time); + igColumns(1,null,0); + } + igEnd(); + } + + glUseProgram(0); + import ecs_utils.gfx.buffer; + Buffer.unbind(Buffer.BindTarget.array); + Buffer.unbind(Buffer.BindTarget.element_array); + + igRender(); + version(WebAssembly)ImGui_ImplOpenGL3_RenderDrawData(igGetDrawData()); + else ImGuiImplOpenGL2RenderDrawData(igGetDrawData()); + + //launcher.renderer.clear(); + //launcher.renderer.present(); + + SDL_GL_SwapWindow(launcher.window); + +} + +void quit() +{ + launcher.gui_manager.clear(); + Mallocator.dispose(launcher.gui_manager); + + launcher.manager.destroy(); + launcher.manager = null; + + version(WebAssembly)emscripten_cancel_main_loop(); +} + +int main(int argc, char** argv) +{ + + if (SDL_Init(SDL_INIT_VIDEO) < 0) + { + printf("SDL could not initialize! SDL_Error: %s", SDL_GetError()); + return -1; + } + + SDL_version sdl_version; + SDL_GetVersion(&sdl_version); + printf("SDL version: %u.%u.%u\n",cast(uint)sdl_version.major,cast(uint)sdl_version.minor,cast(uint)sdl_version.patch); + + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 2); + SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 0); + launcher.window = SDL_CreateWindow("Simple", SDL_WINDOWPOS_CENTERED, + SDL_WINDOWPOS_CENTERED, launcher.window_size.x, launcher.window_size.y, SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL | SDL_WINDOW_RESIZABLE); + + launcher.gl_context = SDL_GL_CreateContext(launcher.window); + launcher.context = igCreateContext(null); + launcher.timer_freq = SDL_GetPerformanceFrequency(); + + launcher.plot_values = Mallocator.makeArray!(Launcher.PlotStruct)(101); + + SDL_GetWindowSize(launcher.window, &launcher.window_size.x, &launcher.window_size.y); + + version(WebAssembly) + { + gladLoadGLES2(x => SDL_GL_GetProcAddress(x)); + if(!ImGui_ImplSDL2_InitForOpenGL(launcher.window,launcher.gl_context)) + { + printf("ImGui initialization failed!"); + return -2; + } + if(!ImGui_ImplOpenGL3_Init()) + { + printf("ImGui OpenGL initialization failed!"); + return -3; + } + } + else + { + gladLoadGL(); + if(!ImGuiImplSDL2InitForOpenGL(launcher.window,launcher.gl_context)) + { + printf("ImGui initialization failed!"); + return -2; + } + if(!ImGuiImplOpenGL2Init()) + { + printf("ImGui OpenGL initialization failed!"); + return -3; + } + } + + ImFontConfig* config = ImFontConfig_ImFontConfig(); + ImGuiIO* io = igGetIO(); + const ushort* font_ranges = ImFontAtlas_GetGlyphRangesDefault(io.Fonts); + ImFontAtlas_AddFontFromFileTTF(io.Fonts,"assets/fonts/Ruda-Bold.ttf", 15.0f, config, font_ranges); + + setStyle(3); + + launcher.job_updater = Mallocator.make!ECSJobUpdater(8); + //launcher.job_updater.onCreate(); + + EntityManager.initialize(8); + launcher.manager = EntityManager.instance; + + launcher.manager.m_thread_id_func = &launcher.job_updater.getThreadID; + launcher.manager.setJobDispachFunc(&launcher.job_updater.dispatch); + + launcher.manager.beginRegister(); + + launcher.manager.registerPass("clean"); + + launcher.manager.registerSystem!CountSystem(10000); + launcher.manager.registerSystem!CleanSystem(0,"clean"); + + launcher.manager.endRegister(); + + loadGFX(); + + launcher.renderer.initialize(); + + launcher.gui_manager = Mallocator.make!GUIManager(); + + { + import demos.simple; + launcher.switchDemo(&simpleStart,&simpleLoop,&simpleEnd,&simpleEvent,Simple.tips); + } + + int key_num; + ubyte* keys = SDL_GetKeyboardState(&key_num); + launcher.keys = keys[0..key_num]; + + version(WebAssembly) + { + /*EmscriptenFullscreenStrategy strategy; + strategy.scaleMode = EMSCRIPTEN_FULLSCREEN_SCALE_STRETCH; + strategy.canvasResolutionScaleMode = EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_STDDEF; + strategy.filteringMode = EMSCRIPTEN_FULLSCREEN_FILTERING_NEAREST;*/ + + //int result = emscripten_request_fullscreen_strategy(null, true, &strategy); + //emscripten_enter_soft_fullscreen(null, &strategy); + //printf("Fullscreen request: %s.\n", emscripten_result_to_string(result)); + emscripten_set_main_loop_arg(&mainLoop, null, -1, 1); + } + else + { + bool arg = true; + while(arg == true) + { + mainLoop(&arg); + } + } + + return 0; +} + +void loadGFX() +{ + import ecs_utils.gfx.texture; + import ecs_utils.gfx.vertex; + import ecs_utils.gfx.shader; + import ecs_utils.gfx.material; + import ecs_utils.gfx.config; + import ecs_utils.gfx.mesh; + + Texture.__loadBackend(); + Renderer.__loadBackend(); + + GfxConfig.materials = Mallocator.makeArray!Material(1); + GfxConfig.meshes = Mallocator.makeArray!Mesh(1); + + float[16] vertices = [-0.5,-0.5, 0,0, -0.5,0.5, 0,1, 0.5,-0.5, 1,0, 0.5,0.5, 1,1]; + GfxConfig.meshes[0].vertices = Mallocator.makeArray(vertices); + ushort[6] indices = [0,1,2,1,2,3]; + GfxConfig.meshes[0].indices = Mallocator.makeArray(indices); + GfxConfig.meshes[0].uploadData(); + + Shader vsh; + vsh.create(); + vsh.load("assets/shaders/base.vp"); + vsh.compile(); + + Shader fsh; + fsh.create(); + fsh.load("assets/shaders/base.fp"); + fsh.compile(); + + GfxConfig.materials[0].create(); + GfxConfig.materials[0].data.blend_mode = Material.BlendMode.opaque; + GfxConfig.materials[0].data.mode = Material.TransformMode.position; + Material.ShaderModule[1] modules = [Material.ShaderModule(vsh,fsh)]; + GfxConfig.materials[0].attachModules(modules); + //GfxConfig.materials[0]. + //GfxConfig.materials[0].load(load_data.materials[i].str); + GfxConfig.materials[0].compile(); + GfxConfig.materials[0].bindAttribLocation("positions",0); + GfxConfig.materials[0].bindAttribLocation("tex_coords",1); + GfxConfig.materials[0].link(); + + GfxConfig.materials[0].data.uniforms = Mallocator.makeArray!(Material.Uniform)(3); + GfxConfig.materials[0].data.uniforms[0] = Material.Uniform(Material.Type.float4, GfxConfig.materials[0].getLocation("matrix_1"), 0); + GfxConfig.materials[0].data.uniforms[1] = Material.Uniform(Material.Type.float4, GfxConfig.materials[0].getLocation("matrix_2"), 16); + GfxConfig.materials[0].data.uniforms[2] = Material.Uniform(Material.Type.float4, GfxConfig.materials[0].getLocation("uv_transform"), 32); + GfxConfig.materials[0].data.bindings = Mallocator.makeArray!(int)(1); + GfxConfig.materials[0].data.bindings[0] = GfxConfig.materials[0].getLocation("tex"); + + + /*glUseProgram(0); + glBindBuffer(GL_ARRAY_BUFFER, 0); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);*/ +} \ No newline at end of file diff --git a/demos/source/demos/bullet_madnes.d b/demos/source/demos/bullet_madnes.d new file mode 100644 index 0000000..0996e2e --- /dev/null +++ b/demos/source/demos/bullet_madnes.d @@ -0,0 +1,19 @@ +module demos.bullet_madnes; + +import app; + +import bindbc.sdl; + +import cimgui.cimgui; + +import ecs.attributes; +import ecs.core; +import ecs.entity; +import ecs.manager; +import ecs.std; + +import ecs_utils.gfx.texture; +import ecs_utils.math.vector; +import ecs_utils.utils; + +extern(C): \ No newline at end of file diff --git a/demos/source/demos/chipmunk2d.d b/demos/source/demos/chipmunk2d.d new file mode 100644 index 0000000..25b9c66 --- /dev/null +++ b/demos/source/demos/chipmunk2d.d @@ -0,0 +1,19 @@ +module demos.chipmunk2d; + +import app; + +import bindbc.sdl; + +import cimgui.cimgui; + +import ecs.attributes; +import ecs.core; +import ecs.entity; +import ecs.manager; +import ecs.std; + +import ecs_utils.gfx.texture; +import ecs_utils.math.vector; +import ecs_utils.utils; + +extern(C): \ No newline at end of file diff --git a/demos/source/demos/events.d b/demos/source/demos/events.d new file mode 100644 index 0000000..620ff4d --- /dev/null +++ b/demos/source/demos/events.d @@ -0,0 +1,19 @@ +module demos.events; + +import app; + +import bindbc.sdl; + +import cimgui.cimgui; + +import ecs.attributes; +import ecs.core; +import ecs.entity; +import ecs.manager; +import ecs.std; + +import ecs_utils.gfx.texture; +import ecs_utils.math.vector; +import ecs_utils.utils; + +extern(C): \ No newline at end of file diff --git a/demos/source/demos/flag_component.d b/demos/source/demos/flag_component.d new file mode 100644 index 0000000..a1863b9 --- /dev/null +++ b/demos/source/demos/flag_component.d @@ -0,0 +1,19 @@ +module demos.flag_component; + +import app; + +import bindbc.sdl; + +import cimgui.cimgui; + +import ecs.attributes; +import ecs.core; +import ecs.entity; +import ecs.manager; +import ecs.std; + +import ecs_utils.gfx.texture; +import ecs_utils.math.vector; +import ecs_utils.utils; + +extern(C): \ No newline at end of file diff --git a/demos/source/demos/physics.d b/demos/source/demos/physics.d new file mode 100644 index 0000000..6e9ba4a --- /dev/null +++ b/demos/source/demos/physics.d @@ -0,0 +1,19 @@ +module demos.physics; + +import app; + +import bindbc.sdl; + +import cimgui.cimgui; + +import ecs.attributes; +import ecs.core; +import ecs.entity; +import ecs.manager; +import ecs.std; + +import ecs_utils.gfx.texture; +import ecs_utils.math.vector; +import ecs_utils.utils; + +extern(C): \ No newline at end of file diff --git a/demos/source/demos/simple.d b/demos/source/demos/simple.d new file mode 100644 index 0000000..9340458 --- /dev/null +++ b/demos/source/demos/simple.d @@ -0,0 +1,171 @@ +module demos.simple; + +import app; + +import bindbc.sdl; + +import cimgui.cimgui; + +import ecs.attributes; +import ecs.core; +import ecs.entity; +import ecs.manager; +import ecs.std; + +import ecs_utils.gfx.texture; +import ecs_utils.math.vector; +import ecs_utils.utils; + +extern(C): + +struct Simple +{ + __gshared const (char)* tips = "Use \"space\" to spwan entities.\n\nSystems can be enabled/disabled from \"Simple\" window."; + + EntityTemplate* tmpl; + Texture texture; + + bool move_system = true; + bool draw_system = true; +} + +struct CLocation +{ + mixin ECS.Component; + + alias location this; + + vec2 location; +} + +struct CTexture +{ + mixin ECS.Component; + + Texture tex; +} + +struct DrawSystem +{ + mixin ECS.System!1; + + struct EntitiesData + { + uint length; + @readonly CTexture[] textures; + @readonly CLocation[] locations; + } + + void onUpdate(EntitiesData data) + { + foreach(i; 0..data.length) + { + launcher.renderer.draw(data.textures[i].tex, data.locations[i].location, vec2(32,32), vec4(0,0,1,1), 0, 0 , 0); + //draw(renderer, data.textures[i].tex, data.locations[i], vec2(32,32), vec4(0,0,1,1)); + } + } +} + +struct MoveSystem +{ + mixin ECS.System!64; + + struct EntitiesData + { + uint length; + CLocation[] locations; + } + + void onUpdate(EntitiesData data) + { + foreach(i; 0..data.length) + { + data.locations[i].location.y = data.locations[i].location.y + 1; + if(data.locations[i].location.y > 400)data.locations[i].location.y = 0; + } + } +} + +Simple* simple; + +void simpleStart() +{ + simple = Mallocator.make!Simple; + + simple.texture.create(); + simple.texture.load("assets/textures/buckler.png"); + + launcher.manager.beginRegister(); + + launcher.manager.registerComponent!CLocation; + launcher.manager.registerComponent!CTexture; + + launcher.manager.registerSystem!MoveSystem(0); + launcher.manager.registerSystem!DrawSystem(1); + + launcher.manager.endRegister(); + + launcher.gui_manager.addSystem(MoveSystem.system_id,"Move System"); + launcher.gui_manager.addSystem(DrawSystem.system_id,"Draw System"); + + ushort[2] components = [CLocation.component_id, CTexture.component_id]; + simple.tmpl = launcher.manager.allocateTemplate(components); + CTexture* tex_comp = simple.tmpl.getComponent!CTexture; + tex_comp.tex = simple.texture; + CLocation* loc_comp = simple.tmpl.getComponent!CLocation; + + foreach(i; 0..10) + foreach(j; 0..10) + { + loc_comp.location = vec2(i*32+64,j*32+64); + launcher.manager.addEntity(simple.tmpl); + } +} + +void simpleEnd() +{ + launcher.manager.getSystem(MoveSystem.system_id).disable(); + launcher.manager.getSystem(DrawSystem.system_id).disable(); + + simple.texture.destroy(); + + launcher.manager.freeTemplate(simple.tmpl); + Mallocator.dispose(simple); +} + +void simpleEvent(SDL_Event* event) +{ + +} + +void spawnEntity() +{ + CLocation* loc_comp = simple.tmpl.getComponent!CLocation; + loc_comp.location = vec2(randomf() * 600,0); + launcher.manager.addEntity(simple.tmpl); +} + +bool simpleLoop() +{ + if(launcher.getKeyState(SDL_SCANCODE_SPACE)) + { + spawnEntity(); + } + + + launcher.manager.begin(); + if(launcher.multithreading) + { + launcher.job_updater.begin(); + launcher.manager.updateMT(); + launcher.job_updater.call(); + launcher.multithreading = false; + } + else + { + launcher.manager.update(); + } + launcher.manager.end(); + + return true; +} \ No newline at end of file diff --git a/demos/source/demos/snake.d b/demos/source/demos/snake.d new file mode 100644 index 0000000..19f08ad --- /dev/null +++ b/demos/source/demos/snake.d @@ -0,0 +1,522 @@ +module demos.snake; + +import app; + +import bindbc.sdl; + +import cimgui.cimgui; + +import ecs.attributes; +import ecs.core; +import ecs.entity; +import ecs.manager; +import ecs.std; +import ecs.vector; + +import ecs_utils.gfx.texture; +import ecs_utils.math.vector; +import ecs_utils.utils; + +extern(C): + +struct MapElement +{ + enum Type + { + empty = 0, + snake = 1, + apple = 2, + wall = 3 + } + Type type; + EntityID id; +} + +struct Snake +{ + __gshared const (char)* tips = "Use \"WASD\" keys to move."; + + EntityTemplate* apple_tmpl; + EntityTemplate* snake_tmpl; + Texture snake_texture; + Texture wall_texture; + Texture apple_texture; + + bool move_system = true; + bool draw_system = true; + + const int map_size = 18; + + MapElement[map_size * map_size] map; + + MapElement element(ivec2 pos) + { + return map[pos.x + pos.y * map_size]; + } + + void element(MapElement el, ivec2 pos) + { + map[pos.x + pos.y * map_size] = el; + } + + void addApple() + { + ivec2 random_pos = ivec2(rand()%map_size,rand()%map_size); + while(element(random_pos).type != MapElement.Type.empty) + { + random_pos.x += 1; + if(random_pos.x > map_size) + { + random_pos.y = 0; + random_pos.y += 1; + if(random_pos.y > map_size)random_pos.y = 0; + } + } + Entity* apple = launcher.manager.addEntity(apple_tmpl); + element(MapElement(MapElement.Type.apple,apple.id),random_pos); + } + + void drawMap() + { + foreach(x; 0 .. map_size) + { + foreach(y; 0 .. map_size) + { + switch(element(ivec2(x,y)).type) + { + case MapElement.Type.apple:launcher.renderer.draw(apple_texture, vec2(x*32,y*32), vec2(32,32), vec4(0,0,1,1), 0, 0 , 0);break; + case MapElement.Type.snake:launcher.renderer.draw(snake_texture, vec2(x*32,y*32), vec2(32,32), vec4(0,0,1,1), 0, 0 , 0);break; + case MapElement.Type.wall:launcher.renderer.draw(wall_texture, vec2(x*32,y*32), vec2(32,32), vec4(0,0,1,1), 0, 0 , 0);break; + default:break; + } + } + } + } + +} + +struct CILocation +{ + mixin ECS.Component; + + alias location this; + + ivec2 location; +} + +struct CLocation +{ + mixin ECS.Component; + + alias location this; + + vec2 location; +} + +struct CSnake +{ + void onCreate() + { + parts.array = Mallocator.makeArray!ivec2(100); + } + + void onDestroy() + { + Mallocator.dispose(parts.array); + } + + mixin ECS.Component; + + struct Parts + { + uint length = 0; + ivec2[] array; + + ivec2 opIndex(size_t ind) const + { + return array[ind]; + } + + ivec2[] opSlice() + { + return array[0 .. length]; + } + + void opIndexAssign(ivec2 vec, size_t ind) + { + array[ind] = vec; + } + + size_t opDollar() const + { + return length; + } + + void add(ivec2 v) + { + length++; + array[length-1] = v; + } + } + + Parts parts; +} + +struct CApple +{ + mixin ECS.Component; +} + +struct CParticle +{ + mixin ECS.Component; +} + +struct CParticleVector +{ + mixin ECS.Component; + + vec2 velocity; +} + +struct CMovement +{ + mixin ECS.Component; + + enum Direction : byte + { + up, + down, + left, + right + } + + Direction direction; +} + +struct CInput +{ + mixin ECS.Component; +} + +struct MoveSystem +{ + mixin ECS.System!64; + + struct EntitiesData + { + uint length; + @readonly Entity[] entities; + @readonly CMovement[] movement; + @optional CSnake[] snakes; + CILocation[] location; + } + + void moveLocation(ref CILocation location, CMovement.Direction direction) + { + final switch(direction) + { + case CMovement.Direction.down: + location.y -= 1; + if(location.y < 0)location.y = snake.map_size - 1; + break; + case CMovement.Direction.up: + location.y += 1; + if(location.y >= snake.map_size)location.y = 0; + break; + case CMovement.Direction.left: + location.x -= 1; + if(location.x < 0)location.x = snake.map_size - 1; + break; + case CMovement.Direction.right: + location.x += 1; + if(location.x >= snake.map_size)location.x = 0; + break; + } + } + + void moveSnake(ref CSnake snake, ivec2 location) + { + if(snake.parts.length) + { + .snake.element(MapElement(),snake.parts[0]); + foreach(j; 0 .. snake.parts.length - 1) + { + snake.parts[j] = snake.parts[j + 1]; + } + snake.parts[$-1] = location; + } + else .snake.element(MapElement(),location); + } + + void onUpdate(EntitiesData data) + { + if(data.snakes) + { + foreach(i; 0..data.length) + { + ivec2 new_location = data.location[i]; + moveLocation(data.location[i], data.movement[i].direction); + final switch(snake.element(data.location[i].location).type) + { + case MapElement.Type.snake: + launcher.manager.removeEntity(data.entities[i].id); + break; + case MapElement.Type.wall: + launcher.manager.removeEntity(data.entities[i].id); + break; + case MapElement.Type.empty: + moveSnake(data.snakes[i], new_location); + snake.element(MapElement(MapElement.Type.snake, data.entities[i].id),data.location[i].location); + break; + case MapElement.Type.apple: + data.snakes[i].parts.add(new_location); + snake.element(MapElement(MapElement.Type.snake, data.entities[i].id),new_location); + snake.element(MapElement(MapElement.Type.snake, data.entities[i].id),data.location[i].location); + snake.addApple(); + break; + } + } + } + else + { + foreach(i; 0..data.length) + { + final switch(data.movement[i].direction) + { + case CMovement.Direction.down:data.location[i].location.y -= 1;break; + case CMovement.Direction.up:data.location[i].location.y += 1;break; + case CMovement.Direction.left:data.location[i].location.x -= 1;break; + case CMovement.Direction.right:data.location[i].location.x += 1;break; + } + } + } + + } +} + +struct InputSystem +{ + mixin ECS.System!64; + + struct EntitiesData + { + uint length; + CMovement[] movement; + @readonly CInput[] input; + } + + void onUpdate(EntitiesData data) + { + foreach(i; 0..data.length) + { + if(launcher.getKeyState(SDL_SCANCODE_W)) + { + data.movement[i].direction = CMovement.Direction.up; + } + else if(launcher.getKeyState(SDL_SCANCODE_S)) + { + data.movement[i].direction = CMovement.Direction.down; + } + else if(launcher.getKeyState(SDL_SCANCODE_A)) + { + data.movement[i].direction = CMovement.Direction.left; + } + else if(launcher.getKeyState(SDL_SCANCODE_D)) + { + data.movement[i].direction = CMovement.Direction.right; + } + } + } +} + +struct FixSnakeDirectionSystem +{ + mixin ECS.System!64; + + struct EntitiesData + { + uint length; + CMovement[] movement; + @readonly CILocation[] location; + const (CSnake)[] snake; + } + + void onUpdate(EntitiesData data) + { + foreach(i; 0..data.length) + { + ivec2 last_location; + if(data.snake[i].parts.length)last_location = data.snake[i].parts[$ - 1]; + else continue; + ivec2 next_location = data.location[i]; + + final switch(data.movement[i].direction) + { + case CMovement.Direction.up: + next_location.y += 1; + if(next_location.y >= snake.map_size)next_location.y = 0; + if(next_location.x == last_location.x && next_location.y == last_location.y) + { + data.movement[i].direction = CMovement.Direction.down; + } + break; + case CMovement.Direction.down: + next_location.y -= 1; + if(next_location.y < 0)next_location.y = snake.map_size - 1; + if(next_location.x == last_location.x && next_location.y == last_location.y) + { + data.movement[i].direction = CMovement.Direction.up; + } + break; + case CMovement.Direction.left: + next_location.x -= 1; + if(next_location.x < 0)next_location.x = snake.map_size - 1; + if(next_location.x == last_location.x && next_location.y == last_location.y) + { + data.movement[i].direction = CMovement.Direction.right; + } + break; + case CMovement.Direction.right: + next_location.x += 1; + if(next_location.x >= snake.map_size)next_location.x = 0; + if(next_location.x == last_location.x && next_location.y == last_location.y) + { + data.movement[i].direction = CMovement.Direction.left; + } + break; + } + } + } +} + +struct CleanSystem +{ + mixin ECS.System!64; + + struct EntitiesData + { + uint length; + Entity[] entities; + } + + void onUpdate(EntitiesData data) + { + foreach(i; 0..data.length) + { + launcher.manager.removeEntity(data.entities[i].id); + } + } +} + +Snake* snake; + +void snakeStart() +{ + snake = Mallocator.make!Snake; + + snake.snake_texture.create(); + snake.snake_texture.load("assets/textures/buckler.png"); + + snake.apple_texture.create(); + snake.apple_texture.load("assets/textures/buckler.png"); + + snake.wall_texture.create(); + snake.wall_texture.load("assets/textures/buckler.png"); + + launcher.manager.beginRegister(); + + launcher.manager.registerPass("fixed"); + + launcher.manager.registerComponent!CLocation; + launcher.manager.registerComponent!CILocation; + launcher.manager.registerComponent!CSnake; + launcher.manager.registerComponent!CApple; + launcher.manager.registerComponent!CParticle; + launcher.manager.registerComponent!CMovement; + launcher.manager.registerComponent!CInput; + + launcher.manager.registerSystem!MoveSystem(0,"fixed"); + launcher.manager.registerSystem!InputSystem(-100); + launcher.manager.registerSystem!FixSnakeDirectionSystem(-1,"fixed"); + + launcher.manager.endRegister(); + + launcher.gui_manager.addSystem(MoveSystem.system_id,"Move System"); + launcher.gui_manager.addSystem(InputSystem.system_id,"Input System"); + launcher.gui_manager.addSystem(FixSnakeDirectionSystem.system_id,"Fix Direction System"); + + { + ushort[4] components = [CILocation.component_id, CSnake.component_id, CMovement.component_id, CInput.component_id]; + snake.snake_tmpl = launcher.manager.allocateTemplate(components); + CILocation* loc_comp = snake.snake_tmpl.getComponent!CILocation; + loc_comp.location = ivec2(2,2); + launcher.manager.addEntity(snake.snake_tmpl); + } + + { + ushort[2] components = [CILocation.component_id, CApple.component_id]; + snake.apple_tmpl = launcher.manager.allocateTemplate(components); + snake.addApple(); + } + + /*foreach(i; 0..10) + foreach(j; 0..10) + { + loc_comp.location = vec2(i*32+64,j*32+64); + launcher.manager.addEntity(simple.tmpl); + }*/ +} + +void snakeEnd() +{ + snake.wall_texture.destroy(); + snake.apple_texture.destroy(); + snake.snake_texture.destroy(); + + //launcher.manager.freeTemplate(simple.tmpl); + Mallocator.dispose(snake); +} + +void snakeEvent(SDL_Event* event) +{ + +} + +bool snakeLoop() +{ + /*if(launcher.show_demo_wnd) + { + igSetNextWindowPos(ImVec2(800 - 260, 30), ImGuiCond_Once, ImVec2(0,0)); + igSetNextWindowSize(ImVec2(250, 0), ImGuiCond_Once); + if(igBegin("Snake",&launcher.show_demo_wnd,0)) + { + + } + igEnd(); + }*/ + + launcher.manager.begin(); + + float delta_time = launcher.delta_time; + if(delta_time > 2000)delta_time = 2000; + static float time = 0; + + if(launcher.getKeyState(SDL_SCANCODE_SPACE))time += delta_time * 3; + else time += delta_time; + + while(time > 100) + { + time -= 100; + + launcher.manager.update("fixed"); + } + + launcher.manager.update(); + + launcher.manager.end(); + + snake.drawMap(); + + return true; +} \ No newline at end of file diff --git a/demos/source/demos/space_invaders.d b/demos/source/demos/space_invaders.d new file mode 100644 index 0000000..2d8ebc0 --- /dev/null +++ b/demos/source/demos/space_invaders.d @@ -0,0 +1,764 @@ +module demos.space_invaders; + +import app; + +import bindbc.sdl; + +import cimgui.cimgui; + +import ecs.attributes; +import ecs.core; +import ecs.entity; +import ecs.manager; +import ecs.std; + +import ecs_utils.gfx.texture; +import ecs_utils.math.vector; +import ecs_utils.utils; + +extern(C): + +/*####################################################################################################################### +------------------------------------------------ Types ------------------------------------------------------------------ +#######################################################################################################################*/ + +struct SpaceInvaders +{ + __gshared const (char)* tips = "Use \"WASD\" keys to move and \"Space\" for shooting."; + + EntityTemplate* enemy_tmpl; + EntityTemplate* ship_tmpl; + EntityTemplate* laser_tmpl; + Texture enemy_tex; + Texture ship_tex; + Texture laser_tex; + + bool move_system = true; + bool draw_system = true; + + const vec2 map_size = vec2(600,600); + const float cell_size = 60; +} + +struct SceneGrid +{ + struct Element + { + EntityID entity; + int guild; + vec2 min; + vec2 max; + } + + struct Cell + { + Element[20] elements; + } + + void create() + { + cells_count.x = cast(int)((space_invaders.map_size.x - 0.01f) / space_invaders.cell_size) + 1; + cells_count.y = cast(int)((space_invaders.map_size.y - 0.01f) / space_invaders.cell_size) + 1; + cells = Mallocator.makeArray!Cell(cells_count.x * cells_count.y); + } + + void destory() + { + if(cells) + { + Mallocator.dispose(cells); + cells = null; + } + } + + ivec2 cells_count; + Cell[] cells; +} + +enum Direction : byte +{ + up, + down, + left, + right +} + +/*####################################################################################################################### +------------------------------------------------ Components ------------------------------------------------------------------ +#######################################################################################################################*/ + +struct CLocation +{ + mixin ECS.Component; + + alias value this; + + vec2 value; +} + +struct CScale +{ + mixin ECS.Component; + + ///use component as it value + alias value this; + + vec2 value = vec2(32,32); +} + +struct CTexture +{ + mixin ECS.Component; + + Texture tex; +} + +struct CVelocity +{ + mixin ECS.Component; + + alias value this; + + vec2 value = vec2(0,0); +} + +struct CInput +{ + mixin ECS.Component; +} + +struct CEnemy +{ + mixin ECS.Component; +} + +struct CShip +{ + mixin ECS.Component; +} + +struct CAutoShoot +{ + mixin ECS.Component; +} + +struct CGuild +{ + mixin ECS.Component; + + int guild; +} + +struct CLaser +{ + mixin ECS.Component; + + float damage = 1.0f; +} + +struct CLaserWeapon +{ + mixin ECS.Component; + + ubyte level = 1; + float shoot_time = 0; +} + +struct CShootDirection +{ + mixin ECS.Component; + + Direction direction; +} + +struct CSideMove +{ + mixin ECS.Component; + + byte group = -1; +} + +/*####################################################################################################################### +------------------------------------------------ Events ------------------------------------------------------------------ +#######################################################################################################################*/ + +struct EChangeDirection +{ + mixin ECS.Event; + + this(Direction direction) + { + this.direction = direction; + } + + Direction direction; +} + +/*####################################################################################################################### +------------------------------------------------ Systems ------------------------------------------------------------------ +#######################################################################################################################*/ + +struct DrawSystem +{ + mixin ECS.System!1; + + struct EntitiesData + { + uint length; + @readonly CTexture[] textures; + @readonly CLocation[] locations; + @readonly CScale[] scale; + } + + void onUpdate(EntitiesData data) + { + foreach(i; 0..data.length) + { + launcher.renderer.draw(data.textures[i].tex, data.locations[i].value, data.scale[i], vec4(0,0,1,1), 0, 0 , 0); + //draw(renderer, data.textures[i].tex, data.locations[i], vec2(32,32), vec4(0,0,1,1)); + } + } +} + +struct CollisionSystem +{ + mixin ECS.System; + + struct EntitiesData + { + + } + + void onUpdate(EntitiesData data) + { + + } +} + +struct LaserShootingSystem +{ + mixin ECS.System!32; + + bool shoot = false; + float[10] laser_shoot_times = [2000,1500,1000,700,500,300,100,50,10,1]; + + CLocation* laser_location; + CVelocity* laser_velocity; + + struct EntitiesData + { + ///variable named "length" contain entites count + uint length; + @readonly CShootDirection[] shoot_direction; + @readonly @optional CAutoShoot[] auto_shoot; + @readonly CLocation[] location; + CLaserWeapon[] laser; + } + + ///Called inside "registerSystem" function + /*void onCreate() + { + laser_location = space_invaders.laser_tmpl.getComponent!CLocation; + }*/ + + bool onBegin() + { + laser_location = space_invaders.laser_tmpl.getComponent!CLocation; + laser_velocity = space_invaders.laser_tmpl.getComponent!CVelocity; + if(launcher.getKeyState(SDL_SCANCODE_SPACE)) + { + shoot = true; + } + else shoot = false; + return true; + } + + void onUpdate(EntitiesData data) + { + //conditional branch for whole entities block + if(shoot || data.auto_shoot) + { + foreach(i;0..data.length) + { + CLaserWeapon* laser = &data.laser[i]; + laser.shoot_time += launcher.delta_time; + while(laser.shoot_time > laser_shoot_times[laser.level - 1]) + { + laser.shoot_time -= laser_shoot_times[laser.level - 1]; + laser_location.value = data.location[i]; + laser_velocity.value = vec2(randomf()*0.5-0.25,data.shoot_direction[i].direction == Direction.up ? 1.0 : -1.0); + launcher.manager.addEntity(space_invaders.laser_tmpl); + } + } + } + else + { + foreach(i;0..data.length) + { + CLaserWeapon* laser = &data.laser[i]; + laser.shoot_time += launcher.delta_time; + if(laser.shoot_time > laser_shoot_times[laser.level - 1])laser.shoot_time = laser_shoot_times[laser.level - 1]; + } + } + + } +} + +struct ChangeDirectionSystem +{ + mixin ECS.System; + + Direction[8] groups_directions; + + struct EntitiesData + { + uint length; + const (Entity)[] entities; + CVelocity[] velocity; + + @optional const(CSideMove)[] side_move; + } + + void onCreate() + { + foreach(ref direction; groups_directions) + { + direction = cast(Direction)-1; + } + } + + bool onBegin() + { + foreach(direction; groups_directions) + { + if(direction != cast(Direction)-1)return true; + } + return false; + } + + void onEnd() + { + foreach(ref direction; groups_directions) + { + direction = cast(Direction)-1; + } + } + + void onUpdate(EntitiesData data) + { + if(!data.side_move)return; + foreach(i;0..data.length) + { + byte group = data.side_move[i].group; + if(group == -1)continue; + Direction direction = groups_directions[group]; + if(direction != cast(Direction)-1) + { + CVelocity* velocity = &data.velocity[i]; + final switch(direction) + { + case Direction.up: + if(velocity.value.y > 0)velocity.value.y = -velocity.value.y; + break; + case Direction.down: + if(velocity.value.y < 0)velocity.value.y = -velocity.value.y; + break; + case Direction.left: + if(velocity.value.x > 0)velocity.value.x = -velocity.value.x; + break; + case Direction.right: + if(velocity.value.x < 0)velocity.value.x = -velocity.value.x; + break; + } + } + } + } + + void handleEvent(Entity* entity, EChangeDirection event) + { + CSideMove* side_move = entity.getComponent!CSideMove; + if(side_move && side_move.group != -1) + { + groups_directions[side_move.group] = event.direction; + return; + } + //Entity* entity = launcher.manager.getEntity(event.entity_id); + CVelocity* velocity = entity.getComponent!CVelocity; + final switch(event.direction) + { + case Direction.up: + if(velocity.value.y > 0)velocity.value.y = -velocity.value.y; + break; + case Direction.down: + if(velocity.value.y < 0)velocity.value.y = -velocity.value.y; + break; + case Direction.left: + if(velocity.value.x > 0)velocity.value.x = -velocity.value.x; + break; + case Direction.right: + if(velocity.value.x < 0)velocity.value.x = -velocity.value.x; + break; + } + } +} + +struct ClampPositionSystem +{ + mixin ECS.System!32; + + struct EntitiesData + { + uint length; + const (Entity)[] entities; + //components are treated as required by default + CLocation[] locations; + + @optional const (CLaser)[] laser; + @optional const (CSideMove)[] side_move; + } + + void onUpdate(EntitiesData data) + { + if(data.laser) + { + foreach(i;0..data.length) + { + if(data.locations[i].x < 0 || data.locations[i].x > space_invaders.map_size.x || + data.locations[i].y < 0 || data.locations[i].y > space_invaders.map_size.y)launcher.manager.removeEntity(data.entities[i].id); + } + } + else if(data.side_move) + { + foreach(i;0..data.length) + { + if(data.locations[i].x < 0) + { + //data.locations[i].x = 0; + launcher.manager.sendEvent(data.entities[i].id,EChangeDirection(Direction.right)); + } + else if(data.locations[i].x > space_invaders.map_size.x) + { + //data.locations[i].x = space_invaders.map_size.x; + launcher.manager.sendEvent(data.entities[i].id,EChangeDirection(Direction.left)); + } + if(data.locations[i].y < 0) data.locations[i].y = 0; + else if(data.locations[i].y > space_invaders.map_size.y)data.locations[i].y = space_invaders.map_size.y; + } + } + else + { + foreach(i;0..data.length) + { + if(data.locations[i].x < 0)data.locations[i].x = 0; + else if(data.locations[i].x > space_invaders.map_size.x)data.locations[i].x = space_invaders.map_size.x; + if(data.locations[i].y < 0)data.locations[i].y = 0; + else if(data.locations[i].y > space_invaders.map_size.y)data.locations[i].y = space_invaders.map_size.y; + } + } + } +} + +struct MovementSystem +{ + mixin ECS.System!32; + + struct EntitiesData + { + uint length; + //read only components can be marked with @readonly attribute or with const expression instead + const (CVelocity)[] velocity; + //components are treated as required by default + CLocation[] locations; + //@optional const (CLaser)[] laser; + const (Entity)[] entities; + + @optional CSideMove[] side_move; + } + + void onUpdate(EntitiesData data) + { + foreach(i;0..data.length) + { + data.locations[i].x += data.velocity[i].x * launcher.delta_time; + data.locations[i].y += data.velocity[i].y * launcher.delta_time; + } + } +} + +/** +*System is responsible for movement of objects with CInput component. +*In this example every entity has same speed when using movement system. +*/ +struct InputMovementSystem +{ + mixin ECS.System!32; + + vec2 move_vector; + + struct EntitiesData + { + uint length; + //read only components can be marked with @readonly attribute or with const expression instead + const (CInput)[] input; + //components are treated as required by default + CLocation[] locations; + } + + /** + *onBegin gives opportunity to check keys once and call update on entities only when + *one key is pressed. + */ + bool onBegin() + { + if(launcher.getKeyState(SDL_SCANCODE_W)) + { + move_vector = vec2(0,1); + return true; + } + else if(launcher.getKeyState(SDL_SCANCODE_S)) + { + move_vector = vec2(0,-1); + return true; + } + else if(launcher.getKeyState(SDL_SCANCODE_A)) + { + move_vector = vec2(-1,0); + return true; + } + else if(launcher.getKeyState(SDL_SCANCODE_D)) + { + move_vector = vec2(1,0); + return true; + } + //don't call system update because no key pressed + return false; + } + + /** + *Update is called multiple times in one "manager.update()" call. + *Number of "onUpdate" calls is count of buffers which must be updated during pass. + *When multithreading is used, number of "onUpdate" calls can be greater due to fact that + *JobSystem can split buffers for better data packing. + */ + void onUpdate(EntitiesData data) + { + //move every entity using movement vector + foreach(i; 0..data.length) + { + data.locations[i].x += move_vector.x * launcher.delta_time * 0.5; + data.locations[i].y += move_vector.y * launcher.delta_time * 0.5; + } + } +} + +/*####################################################################################################################### +------------------------------------------------ Functions ------------------------------------------------------------------ +#######################################################################################################################*/ + +__gshared SpaceInvaders* space_invaders; + +void spaceInvadersStart() +{ + space_invaders = Mallocator.make!SpaceInvaders; + + space_invaders.ship_tex.create(); + space_invaders.ship_tex.load("assets/textures/buckler.png"); + + space_invaders.laser_tex.create(); + space_invaders.laser_tex.load("assets/textures/buckler.png"); + + launcher.manager.beginRegister(); + + launcher.manager.registerComponent!CLocation; + launcher.manager.registerComponent!CTexture; + launcher.manager.registerComponent!CInput; + launcher.manager.registerComponent!CShip; + launcher.manager.registerComponent!CEnemy; + launcher.manager.registerComponent!CScale; + launcher.manager.registerComponent!CShootDirection; + launcher.manager.registerComponent!CAutoShoot; + launcher.manager.registerComponent!CLaserWeapon; + launcher.manager.registerComponent!CVelocity; + launcher.manager.registerComponent!CLaser; + launcher.manager.registerComponent!CSideMove; + + launcher.manager.registerEvent!EChangeDirection; + + //launcher.manager.registerSystem!MoveSystem(0); + launcher.manager.registerSystem!DrawSystem(100); + launcher.manager.registerSystem!InputMovementSystem(-100); + launcher.manager.registerSystem!LaserShootingSystem(0); + launcher.manager.registerSystem!MovementSystem(0); + launcher.manager.registerSystem!ClampPositionSystem(1); + launcher.manager.registerSystem!ChangeDirectionSystem(0); + + launcher.manager.endRegister(); + + launcher.gui_manager.addSystem(DrawSystem.system_id,"Draw System"); + launcher.gui_manager.addSystem(InputMovementSystem.system_id,"Input Movement"); + launcher.gui_manager.addSystem(LaserShootingSystem.system_id,"Laser Shooting"); + launcher.gui_manager.addSystem(MovementSystem.system_id,"Movement System"); + launcher.gui_manager.addSystem(ClampPositionSystem.system_id,"Clamp Position System"); + launcher.gui_manager.addSystem(ChangeDirectionSystem.system_id,"Change Direction System"); + + //launcher.manager.getSystem(CleanSystem.system_id).disable(); + { + ushort[7] components = [CLocation.component_id, CTexture.component_id, CInput.component_id, CShip.component_id, CScale.component_id, CLaserWeapon.component_id, CShootDirection.component_id]; + space_invaders.ship_tmpl = launcher.manager.allocateTemplate(components); + + CTexture* tex_comp = space_invaders.ship_tmpl.getComponent!CTexture; + tex_comp.tex = space_invaders.ship_tex; + CLocation* loc_comp = space_invaders.ship_tmpl.getComponent!CLocation; + loc_comp.value = vec2(64,64); + CLaserWeapon* weapon = space_invaders.ship_tmpl.getComponent!CLaserWeapon; + weapon.level = 10; + + launcher.manager.addEntity(space_invaders.ship_tmpl); + } + + { + ushort[5] components = [CLocation.component_id, CTexture.component_id, CVelocity.component_id, CScale.component_id, CLaser.component_id]; + space_invaders.laser_tmpl = launcher.manager.allocateTemplate(components); + + CTexture* tex_comp = space_invaders.laser_tmpl.getComponent!CTexture; + tex_comp.tex = space_invaders.laser_tex; + CScale* scale_comp = space_invaders.laser_tmpl.getComponent!CScale; + scale_comp.value = vec2(4,16); + CVelocity* vel_comp = space_invaders.laser_tmpl.getComponent!CVelocity; + vel_comp.value = vec2(0,1); + } + + { + ushort[8] components = [CVelocity.component_id, CAutoShoot.component_id, CLocation.component_id, CTexture.component_id, CScale.component_id, CLaserWeapon.component_id, CEnemy.component_id, CShootDirection.component_id];//, CVelocity.component_id]; + space_invaders.enemy_tmpl = launcher.manager.allocateTemplate(components); + + CTexture* tex_comp = space_invaders.enemy_tmpl.getComponent!CTexture; + tex_comp.tex = space_invaders.ship_tex; + CLocation* loc_comp = space_invaders.enemy_tmpl.getComponent!CLocation; + loc_comp.value = vec2(64,space_invaders.map_size.y - 64); + CShootDirection* shoot_dir_comp = space_invaders.enemy_tmpl.getComponent!CShootDirection; + shoot_dir_comp.direction = Direction.down; + CVelocity* vel_comp = space_invaders.enemy_tmpl.getComponent!CVelocity; + vel_comp.value = vec2(0.1,0); + + Entity* current_entity; + + current_entity = launcher.manager.addEntity(space_invaders.enemy_tmpl); + launcher.manager.addComponents(current_entity.id,CSideMove(0)); + + loc_comp.value = vec2(128,space_invaders.map_size.y - 64); + current_entity = launcher.manager.addEntity(space_invaders.enemy_tmpl); + launcher.manager.addComponents(current_entity.id,CSideMove(-1)); + + loc_comp.value = vec2(256,space_invaders.map_size.y - 64); + launcher.manager.addEntity(space_invaders.enemy_tmpl); + + loc_comp.value = vec2(0,space_invaders.map_size.y - 64); + current_entity = launcher.manager.addEntity(space_invaders.enemy_tmpl); + launcher.manager.addComponents(current_entity.id,CSideMove(0)); + } + +} + +void spaceInvadersEnd() +{ + + launcher.manager.getSystem(DrawSystem.system_id).disable(); + launcher.manager.getSystem(InputMovementSystem.system_id).disable(); + launcher.manager.getSystem(LaserShootingSystem.system_id).disable(); + launcher.manager.getSystem(MovementSystem.system_id).disable(); + launcher.manager.getSystem(ClampPositionSystem.system_id).disable(); + + space_invaders.ship_tex.destroy(); + + launcher.manager.freeTemplate(space_invaders.ship_tmpl); + Mallocator.dispose(space_invaders); +} + +void spaceInvadersEvent(SDL_Event* event) +{ + +} + +bool spaceInvadersLoop() +{ + + /*if(launcher.show_demo_wnd) + { + igSetNextWindowPos(ImVec2(800 - 260, 30), ImGuiCond_Once, ImVec2(0,0)); + igSetNextWindowSize(ImVec2(250, 0), ImGuiCond_Once); + if(igBegin("Simple",&launcher.show_demo_wnd,0)) + { + if(igCheckbox("Move system",&simple.move_system)) + { + if(simple.move_system)launcher.manager.getSystem(MoveSystem.system_id).enable(); + else launcher.manager.getSystem(MoveSystem.system_id).disable(); + } + if(igCheckbox("Draw system",&simple.draw_system)) + { + if(simple.draw_system)launcher.manager.getSystem(DrawSystem.system_id).enable(); + else launcher.manager.getSystem(DrawSystem.system_id).disable(); + } + igPushButtonRepeat(true); + igColumns(3,null,0); + if(igButton("Spawn",ImVec2(-1,0))) + { + spawnEntity(); + } + igNextColumn(); + if(igButton("+10",ImVec2(-1,0))) + { + foreach(i;0..10)spawnEntity(); + } + igNextColumn(); + if(igButton("+100",ImVec2(-1,0))) + { + foreach(i;0..100)spawnEntity(); + } + igPopButtonRepeat(); + igColumns(1,null,0); + if(igButton("Clear",ImVec2(-1,0))) + { + launcher.manager.getSystem(CleanSystem.system_id).enable(); + launcher.manager.begin(); + launcher.manager.update(); + launcher.manager.end(); + launcher.manager.getSystem(CleanSystem.system_id).disable(); + } + } + igEnd(); + }*/ + + /*if(launcher.show_tips) + { + igSetNextWindowPos(ImVec2(800 - 550, 80), ImGuiCond_Once, ImVec2(0,0)); + igSetNextWindowSize(ImVec2(300, 0), ImGuiCond_Once); + if(igBegin("Tips",&launcher.show_tips,ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoSavedSettings)) + { + igTextWrapped("Use \"space\" to spwan entities.\n\nSystems can be enabled/disabled from \"Simple\" window."); + } + igEnd(); + }*/ + + launcher.manager.begin(); + if(launcher.multithreading) + { + launcher.job_updater.begin(); + launcher.manager.updateMT(); + launcher.job_updater.call(); + launcher.multithreading = false; + printf("Disable mt\n"); + } + else + { + launcher.manager.update(); + } + launcher.manager.end(); + + /*foreach(i;0..1000)//13000) + { + launcher.renderer.draw(simple.texture,vec2(i%100*32,i/100*32),vec2(32,32),vec4(0,0,1,1),0.0); + }*/ + + return true; +} \ No newline at end of file diff --git a/demos/source/game_core/job_updater.d b/demos/source/game_core/job_updater.d new file mode 100644 index 0000000..26cd8e3 --- /dev/null +++ b/demos/source/game_core/job_updater.d @@ -0,0 +1,199 @@ +module game_core.job_updater; + +import ecs.std; +import ecs.vector; + +import ecs_utils.utils; + +//import core.time; +import ecs.manager; +import mmutils.thread_pool; + +//import supre.core.call_graph_generator; + +struct ECSJobUpdater +{ + + this(uint threads) + { + onCreate(threads); + } + + ~this() + { + pool.waitThreads(); + //pool.unregistExternalThread(thread_data); + if(jobs)Mallocator.dispose(jobs); + } + + ThreadPool pool; + ThreadData* thread_data; + + int job_id = 0; + int no_dep_count = 0; + static uint thread_id = 0; + + struct Group + { + ~this() nothrow + { + + } + + JobsGroup group; + JobData[1024] jobs; + JobCaller[1024] callers; + uint count = 0; + + void dependantOn(Group* dependency) + { + group.dependantOn(&dependency.group); + } + + void start() + { + group.thPool.addGroupAsynchronous(&group); + } + + void build(ThreadPool* pool) + { + group.thPool = pool; + group.jobs = jobs[0..count]; + } + + void clear() + { + group = JobsGroup("name",null); + count = 0; + } + + void add(JobCaller caller) + { + callers[count] = caller; + jobs[count] = JobData(&callers[count].callJob,"hmm"); + count++; + } + } + + Group[] jobs; + Vector!(Group*) call_jobs; + Group last_job; + + //TrackData[32] trackers; + + void onCreate(uint threads_count) + { + pool.initialize(); + //thread_data = pool.registerExternalThread(); + pool.setThreadsNum(threads_count); + + jobs = Mallocator.makeArray!Group(256); + } + + uint getThreadID() nothrow + { + return thread_id; + } + + void begin() + { + job_id = 0; + call_jobs.clear(); + + foreach(ref job;jobs) + { + job.clear(); + } + + last_job.clear(); + } + + void clearTracker() + { + //foreach(ref tracker;trackers)tracker.clear(); + } + + void call() + { + if(last_job.group.getDependenciesWaitCount() == 0)return; + if(call_jobs.length == 0)return; + + JobData[1] groupEndJobs; + groupEndJobs[0] = JobData(&releaseMainThread, "Stop Threads"); + + last_job.group.jobs = groupEndJobs; + last_job.group.executeOnThreadNum = 0; + + foreach(job;call_jobs) + { + job.start(); + } + ret = false; + while(!ret) + { + printf("SDL\n"); + } + printf("NonSDL\n"); + //thread_data.threadStartFunc(); + + int i = 10; + } +shared bool ret = false; + void releaseMainThread(ThreadData* th_data, JobData* data) + { + //pool.releaseExternalThreads(); + ret = true; + } + + static struct JobCaller + { + EntityManager.Job* job; + ECSJobUpdater* updater; + uint id; + + void callJob(ThreadData* th_data, JobData* data) + { + updater.thread_id = th_data.threadId; + uint job_id = updater.getThreadID(); + //updater.trackers[job_id].begin(id); + job.execute(); + //updater.trackers[job_id].end(); + } + } + + void dispatch(EntityManager.JobGroup group) + { + if(group.jobs.length == 0) + { + return; + } + + foreach(ref job;group.jobs) + { + uint index = 0; + if(job.callers.length)index = job.callers[0].system_id; + JobCaller caller; + caller.updater = &this; + caller.job = &job; + caller.id = index; + jobs[group.id].add(caller); + } + + jobs[group.id].build(&pool); + + uint deps = cast(uint)group.dependencies.length; + + foreach(dep;group.dependencies) + { + if(jobs[dep.id].count && dep.caller.system.execute && dep.caller.system.enabled)jobs[group.id].dependantOn(&jobs[dep.id]); + else deps--; + } + + if(deps == 0) + { + call_jobs.add(&jobs[group.id]); + } + + last_job.dependantOn(&jobs[group.id]); + } +} \ No newline at end of file diff --git a/demos/source/gui/component.d b/demos/source/gui/component.d new file mode 100644 index 0000000..bbd7ec5 --- /dev/null +++ b/demos/source/gui/component.d @@ -0,0 +1,6 @@ +module gui.components; + +struct ComponentGUI +{ + +} \ No newline at end of file diff --git a/demos/source/gui/manager.d b/demos/source/gui/manager.d new file mode 100644 index 0000000..10727eb --- /dev/null +++ b/demos/source/gui/manager.d @@ -0,0 +1,49 @@ +module gui.manager; + +import app; + +import cimgui.cimgui; + +import ecs.std; +import ecs.system; +import ecs.vector; + +import gui.system; + +extern(C): + +struct GUIManager +{ + Vector!SystemGUI systems; + + void clear() + { + systems.clear(); + } + + void addSystem(ushort id, const (char)* name, bool enabled = true) + { + System* system = launcher.manager.getSystem(id); + //const (char)* name = + systems.add(SystemGUI(name,system,enabled)); + } + + void gui() + { + if(igCollapsingHeader("Systems", ImGuiTreeNodeFlags_Framed)) + { + bool true_ = true; + igIndent(8); + foreach(ref SystemGUI system;systems) + { + if(igCheckbox(system.name,&system.enabled)) + { + if(system.enabled)system.system.enable(); + else system.system.disable(); + } + } + igUnindent(8); + } + + } +} \ No newline at end of file diff --git a/demos/source/gui/system.d b/demos/source/gui/system.d new file mode 100644 index 0000000..bbee409 --- /dev/null +++ b/demos/source/gui/system.d @@ -0,0 +1,11 @@ +module gui.system; + +import ecs.system; + +struct SystemGUI +{ + const (char)* name; + System* system; + + bool enabled = true; +} \ No newline at end of file diff --git a/demos/utils/dub.json b/demos/utils/dub.json index 2f7d1bb..d8ecfb1 100644 --- a/demos/utils/dub.json +++ b/demos/utils/dub.json @@ -12,7 +12,6 @@ ], "importPaths": [ "source", - "../external/imports", "../external/sources" ], "dependencies": { diff --git a/demos/utils/source/ecs_utils/gfx/renderer.d b/demos/utils/source/ecs_utils/gfx/renderer.d index 5b151bc..e064c9e 100644 --- a/demos/utils/source/ecs_utils/gfx/renderer.d +++ b/demos/utils/source/ecs_utils/gfx/renderer.d @@ -799,10 +799,10 @@ struct Renderer sdl_transform = vec4(0,0,1.0/size.x,1.0/size.y); } - static void function(ref Renderer this_, Texture tex, vec2 pos, vec2 size, vec4 coords, float angle, uint material_id, uint mesh_id) __draw; - static void function(ref Renderer this_) __present; - static void function(ref Renderer this_) __clear; - static void function(ref Renderer this_) __initialize; + __gshared void function(ref Renderer this_, Texture tex, vec2 pos, vec2 size, vec4 coords, float angle, uint material_id, uint mesh_id) __draw; + __gshared void function(ref Renderer this_) __present; + __gshared void function(ref Renderer this_) __clear; + __gshared void function(ref Renderer this_) __initialize; static void __loadBackend() { diff --git a/source/ecs/vector.d b/source/ecs/vector.d index fa616ed..84ecc51 100644 --- a/source/ecs/vector.d +++ b/source/ecs/vector.d @@ -29,7 +29,7 @@ public: } - static if (isCopyable!T) { + /*static if (isCopyable!T) { export this(this) { T[] tmp = array[0 .. used]; array = null; @@ -38,9 +38,9 @@ public: } } else { @disable this(this); - } + }*/ - //@disable this(this); + @disable this(this); export ~this() { clear();