Commit graph

3635 commits

Author SHA1 Message Date
Stephen Gutekanst
f79351ed59 wip
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-22 08:21:33 -07:00
Stephen Gutekanst
18e32ee6bf build: use ReleaseFast for opus decoding
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-18 17:06:20 +02:00
Stephen Gutekanst
205a1f33db Core: support configuring window before it opens
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-14 00:12:26 +02:00
Stephen Gutekanst
122a1ea9a7 {gfx,examples}: simplify text rendering API a bit
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-14 00:12:26 +02:00
Stephen Gutekanst
393320aa68 build: do not force install/build of core- examples
CoreApp users can call b.installArtifact(app.compile) themselves if
they desire that behavior

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-14 00:12:26 +02:00
Ali Chraghi
182c6a9180 math: collision module 2024-05-14 00:07:47 +02:00
Ali Chraghi
6e5c68c1c7 Audio: don't deinit the player 2024-05-13 14:54:51 +02:00
Ali Chraghi
39bf303057 Audio: add volume component 2024-05-13 14:54:51 +02:00
Stephen Gutekanst
9a059d6f8c Audio: fix unlock
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-13 07:57:38 +02:00
Stephen Gutekanst
194fe8a451 Audio: fix potential exit deadlock
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-13 07:54:14 +02:00
Stephen Gutekanst
36f21d5c4d Audio: correct deinit race across threads
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-13 04:20:16 +02:00
Ali Chraghi
cadaa3e85b sysaudio: revive i24 samples 2024-05-12 07:34:25 -07:00
Andrew Gutekanst
73a1ea4650 sysaudio: fix crash on windows without a mic/capture device 2024-05-12 07:29:13 -07:00
Andrew Gutekanst
f080a1c31e sysaudio: fix wasapi wave format selection 2024-05-12 07:29:13 -07:00
Stephen Gutekanst
92086d8d66 examples: add hardware-check
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-12 16:27:52 +02:00
Stephen Gutekanst
3c778816d9 examples: improve play-opus code quality a bit
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-12 16:23:38 +02:00
Stephen Gutekanst
6e4105d8e2 math: add lerp
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-12 14:26:46 +02:00
Stephen Gutekanst
ca27f1e263 Core: add window size in virtual pixels, update info each frame
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-12 14:26:34 +02:00
Stephen Gutekanst
07e61fde30 module: bump eval branch quota on ComponentName
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-12 14:25:59 +02:00
Stephen Gutekanst
0200bed7ec examples: simplify dependencies, mach depends on Opus
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-11 14:35:54 -07:00
Stephen Gutekanst
8578613adc module: fix ECS alignment issues caught only on Windows
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-11 14:22:48 -07:00
Stephen Gutekanst
10f35a49ef module: fix swap removal bug, improve code clarity
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-09 17:37:17 -07:00
Stephen Gutekanst
22ac26b57e module: rename events -> systems, remove 'event arguments'
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-08 13:39:07 -07:00
Stephen Gutekanst
83d436ffa4 module: remove "global events" concept
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-08 13:39:07 -07:00
Stephen Gutekanst
8d669537dc module: make adding/removing components/entities legal during query iteration
This makes adding/removing components and entities legal during the execution
of a query iterator. Previously, this could invalidate the iterator slices at
worst leading to UB. This fixes the issue by deferring all such actions until
after no queries are pending (i.e. all iterators have finished running)

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
27754cdf1f gfx: add TODO for SpritePipeline multi-texturing
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
89ad7fce24 examples: sprite: fix release() bugs caught by sysgpu
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
5ec9f89821 examples: text: correctly release frame_render_pass
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
786d0d50b1 examples: glyphs: slightly improve release() logic
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
d8e0787c7e examples: play-opus: release render_pass properly
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
3d4888f430 examples: glyphs: fix double-free of texture
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
6feaad630e {examples,Audio}: optimize needless setComponent calls away
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
57767c2f9f module: remove deprecated query API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
b5b094642a gfx: Text: remove __entities internal usage
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
e041bc65ea gfx: Text: cache loaded font at least
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
bd655828e3 all: use new mach.Entity.Mod query API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
541ce9e7c0 all: rename mach.Entity.Mod -> mach.Entities.Mod
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
11ebce62a3 module: rename Entities -> Database
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
2b6aea7d91 module: add query() method to injectable *mach.Entities.Mod
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
65e2168b9f module: injected mach.Entity.Mod for global entity operations
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
cb6bdd7eca examples: play-opus: change sfx noise
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
69ff2e027f all: rename mod.entities -> mod.__entities (private)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
3bd46d078d module: add new query API
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
22feb42730 module: denote const vs. mut component queries
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
7d033ca2cf module: rename query2 -> query
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
2e8926d6fa module: rename query -> queryDeprecated
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-07 23:40:56 -07:00
Stephen Gutekanst
26b2351d4b module: fix zero-size component bug
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-06 14:03:57 -07:00
Stephen Gutekanst
1b65702ae8 module: add test for zero-size component bug
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-06 14:03:57 -07:00
Stephen Gutekanst
261f94d3bc module: begin improved query implementation
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-06 14:03:57 -07:00
Stephen Gutekanst
2075959dad module: refactor: pass modules through Entities comptime logic
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2024-05-06 14:03:57 -07:00