Commit graph

3369 commits

Author SHA1 Message Date
Stephen Gutekanst
a83f9d5be8 module: rename NamespacedComponents -> ComponentTypesByName
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
2e7cb30bc9 module: invert switch case for hypothetically better branch prediction
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
ea14480246 module: improve isString, add tests
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
0328598945 module: merge ecs/systems.zig -> module.zig
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
e847d46ff9 module: begin making Mod unaware of all namespaced components
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
df263685ab ecs: update tests
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
b1d8c2a009 ecs: fix test / typo
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
7e0b9dde68 module: components are written in the same style as events
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
f50a27b83d module: update tests for sendGlobal changes
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
23b03f973f module: make sendGlobal() global args type known
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
3661cb8721 module: sending global event requires sender module awareness
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
9eac721f24 module: make send() local args type known
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
ca05c9f3d9 module: expose Module.LocalEvent type
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
38e0d576cc module: expose Module.GlobalEvent type
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
f3f4524f1b all: improve module event names, gfx.Sprite/gfx.Text init
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
15d9efcf26 module: *World is no longer an injectable parameter
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
3bfafe102d module: event handlers are defined ahead of time
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
0fc3bf6545 module: improve parameter injection, fix tests
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
aa33896935 gfx: make Text ECS module use style entities (cleaner API design)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
0c3ae9a048 ecs: correctly update invalidated pointer post-allocation
Potentially fixes hexops/mach#1178

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
3898995c4c all: get ECS running on revised module system
All ECS `examples/` now run on the revised module system.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
cd2f3fbc3f module: test empty/minimal module
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
388a1fbfca module: move namespaced state/components to ecs
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
e24d09cd62 module: event handlers can return inferred error set
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
03454decdf examples: try send() -> send()
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
fcf6be9e6d module: make global event argument types always known
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
135e9b8121 module: add GlobalEvent enum
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
e25281cc64 module: add event arguments & dependency injection support
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
e4e834e054 module: add API variants for global/local events
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
6f23812fa6 module: initial runtime event dispatch implementation
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
5b6020508c module: runtime local event handler calling
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
18a391f446 module: build addressable event handler names, runtime invocation
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
afc5a50c09 testing: fix runtime parameters
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
35f55df696 testing: export allocator/RefAllDeclsRecursive
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
c6db530d74 module: begin working towards dynamic dispatch
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
5e353e60bb module: improve testing
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
56fc29743f move mach.ecs.Module -> mach.Module
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-04-06 15:18:38 -07:00
Stephen Gutekanst
279290bbf2 update zig version check for 2024.3.0-mach
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-09 00:24:25 -07:00
Stephen Gutekanst
459228f5ca update .zigversion
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-08 23:59:31 -07:00
Stephen Gutekanst
3ba511ffaf correct wasm32-freestanding build
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-08 23:56:59 -07:00
Stephen Gutekanst
b7fb2057f7 fix x86_64-linux-gnu build
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-08 23:44:33 -07:00
Stephen Gutekanst
a433937d39 update to Zig 2024.03-mach
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-08 22:34:28 -07:00
Wrench[bot]
74fac0f8d0 all: update Zig to version 0.12.0-dev.3180+83e578a18
Signed-off-by: Wrench[bot] <wrench@hexops.com>
2024-03-08 22:04:29 -07:00
Stephen Gutekanst
00b8571b27
github: update zig nomination issue template 2024-03-08 21:25:25 -07:00
Stephen Gutekanst
f42135795a github: update Zig nomination issue template
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-06 11:31:06 -07:00
Stephen Gutekanst
944ca3b0ed build.zig.zon: cleanup dependency order
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-06 11:30:52 -07:00
Stephen Gutekanst
7d1b5e4466 move examples into this repository
Helps hexops/mach#1165

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-06 11:09:13 -07:00
Stephen Gutekanst
0a8e22bb49 examples: import mach-examples@20ceb359231ff284cf343dddba8cf25112ffe717
Helps hexops/mach#1165

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-06 11:08:19 -07:00
Stephen Gutekanst
f25f435275 core: fix gamemode import path
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-05 01:03:42 -07:00
Stephen Gutekanst
f12f48b166 build: fix sysaudio.c path
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-03-05 00:48:26 -07:00