module: event handlers are defined ahead of time

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
Stephen Gutekanst 2024-03-24 17:31:12 -07:00 committed by Stephen Gutekanst
parent 0fc3bf6545
commit 3bfafe102d
12 changed files with 1099 additions and 967 deletions

View file

@ -26,13 +26,19 @@ pub const components = struct {
pub const scale = f32;
};
pub const events = .{
.{ .global = .init, .handler = init },
.{ .global = .deinit, .handler = deinit },
.{ .global = .tick, .handler = tick },
};
// TODO: this shouldn't be a packed struct, it should be extern.
const UniformBufferObject = packed struct {
offset: Vec3.Vector,
scale: f32,
};
pub fn init(
fn init(
engine: *mach.Engine.Mod,
renderer: *Mod,
) !void {
@ -97,7 +103,7 @@ pub fn init(
shader_module.release();
}
pub fn deinit(
fn deinit(
renderer: *Mod,
) !void {
renderer.state.pipeline.release();
@ -106,7 +112,7 @@ pub fn deinit(
renderer.state.uniform_buffer.release();
}
pub fn tick(
fn tick(
engine: *mach.Engine.Mod,
renderer: *Mod,
) !void {