diff options
author | Lorenzo Torres <torres@sideros.org> | 2025-03-28 19:53:56 +0100 |
---|---|---|
committer | Lorenzo Torres <torres@sideros.org> | 2025-03-28 19:53:56 +0100 |
commit | 536c927613948f884ca441b9045afe89c45e0440 (patch) | |
tree | 46ed8fcb6be3a7c5039c294ceb71a396b8edcd49 /src/main.zig | |
parent | 64c9d32905c410dab5b015ed013c93f3793daf55 (diff) |
Made ECS a separate module and implemented basic input handling.
Diffstat (limited to 'src/main.zig')
-rw-r--r-- | src/main.zig | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/main.zig b/src/main.zig index ab58279..d549868 100644 --- a/src/main.zig +++ b/src/main.zig @@ -1,16 +1,13 @@ const std = @import("std"); const config = @import("config"); const math = @import("sideros").math; +const Input = @import("sideros").Input; const mods = @import("mods"); -const ecs = @import("ecs/ecs.zig"); +const ecs = @import("ecs"); pub const Renderer = @import("renderer"); fn testSystem2(pool: *ecs.Pool) void { - const slice = pool.humans.slice(); - - for (slice.items(.position), slice.items(.speed)) |position, speed| { - std.debug.print("entity: {any} {any} {any}: {any}\n", .{ position.x, position.y, position.z, speed.speed }); - } + std.debug.print("{any}\n", .{pool.resources.input.isKeyDown(.a)}); } pub fn main() !void { @@ -38,7 +35,7 @@ pub fn main() !void { //var parameters = [_]usize{}; //try runtime.callExternal(allocator, "preinit", ¶meters); - const w = try Renderer.Window.create(800, 600, "sideros"); + var w = try Renderer.Window.create(800, 600, "sideros"); defer w.destroy(); // TODO(luccie-cmd): Renderer.create shouldn't return an error @@ -48,10 +45,12 @@ pub fn main() !void { const resources = ecs.Resources{ .window = w, .renderer = r, + .input = .{ .key_pressed = .{false} ** @intFromEnum(Input.KeyCode.menu) }, }; var pool = try ecs.Pool.init(allocator, resources); defer pool.deinit(); + w.setResources(&pool.resources); _ = try pool.createEntity(ecs.entities.Human{ .position = .{ .x = 0.0, .y = 1.0, .z = 0.0 }, |