Made ECS a separate module and implemented basic input handling.

This commit is contained in:
Lorenzo Torres 2025-03-28 19:53:56 +01:00
parent 64c9d32905
commit 536c927613
6 changed files with 172 additions and 7 deletions

View file

@ -68,12 +68,21 @@ pub fn build(b: *std.Build) void {
});
mods.addImport("sideros", sideros);
const ecs = b.addModule("ecs", .{
.root_source_file = b.path("src/ecs/ecs.zig"),
.target = target,
.optimize = optimize,
});
ecs.addImport("sideros", sideros);
const renderer = b.addModule("renderer", .{
.root_source_file = b.path("src/renderer/Renderer.zig"),
.target = target,
.optimize = optimize,
});
renderer.addImport("sideros", sideros);
renderer.addImport("ecs", ecs);
ecs.addImport("renderer", renderer);
renderer.addIncludePath(b.path("ext/glfw/include"));
compileAllShaders(b, renderer);
@ -87,6 +96,7 @@ pub fn build(b: *std.Build) void {
exe.root_module.addImport("mods", mods);
exe.root_module.addImport("sideros", sideros);
exe.root_module.addImport("renderer", renderer);
exe.root_module.addImport("ecs", ecs);
exe.linkSystemLibrary("vulkan");
exe.linkLibrary(glfw);