summaryrefslogtreecommitdiff
path: root/src/main.zig
diff options
context:
space:
mode:
authorLorenzo Torres <torres@sideros.org>2025-03-28 19:53:56 +0100
committerLorenzo Torres <torres@sideros.org>2025-03-28 19:53:56 +0100
commit536c927613948f884ca441b9045afe89c45e0440 (patch)
tree46ed8fcb6be3a7c5039c294ceb71a396b8edcd49 /src/main.zig
parent64c9d32905c410dab5b015ed013c93f3793daf55 (diff)
Made ECS a separate module and implemented basic input handling.
Diffstat (limited to 'src/main.zig')
-rw-r--r--src/main.zig13
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", &parameters);
- 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 },