Stephen Gutekanst
0b7d683a7a
core: fix constness of type conversion
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-05-25 14:23:33 -07:00
Stephen Gutekanst
4e66ab8896
core: fix bad merge
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-05-19 16:20:00 -07:00
Stephen Gutekanst
11c76a9747
core: switch to pure-Zig mach-gamemode library
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-05-19 16:11:08 -07:00
Stephen Gutekanst
cb26c1e90c
core: make default window size 1/2 1920x1080
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-05-17 20:29:41 -07:00
Ali Chraghi
354716b927
core: fix event iterator
2023-03-28 21:01:22 -07:00
Ali Chraghi
266b651b34
all: use explicit backing integers for packed structs
2023-03-28 21:01:22 -07:00
Stephen Gutekanst
033ebb8551
core: separate entrypoint from core module
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-03-15 21:19:03 -07:00
Stephen Gutekanst
729ffa2d17
core: update to latest Zig version
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-03-11 20:13:50 -07:00
Dominic
96ad6503d9
core: fix usage of std_options for log_level and log_scope_levels ( #717 )
...
Co-authored-by: dweiller <4678790+dweiller@users.noreplay.github.com>
2023-03-09 19:49:40 -07:00
Stephen Gutekanst
341b9e0b28
Revert "core: fix linux build (gamemode import not available during testing currently)"
...
This reverts commit 5ae82c42d4 .
2023-02-12 17:30:42 -07:00
Stephen Gutekanst
5ae82c42d4
core: fix linux build (gamemode import not available during testing currently)
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-02-12 17:30:23 -07:00
Andrew Gutekanst
60eb518e4f
core: libmachcore fixes
2023-02-07 19:00:36 -07:00
Stephen Gutekanst
f57073f02f
core: add borderless window fullscreen support
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-01-28 12:04:31 -07:00
Stephen Gutekanst
40351f85ba
core: make Core.pollEvents return an iterator, remove Core.hasEvent
...
After this change:
* `Core.pollEvents` returns an iterator. At the time of polling events, Mach core
will perform work to poll for events, handle resizing of the framebuffer, etc.
and the iterator allows the caller to consume all available events.
* The event queue is now baced by a `std.fifo.LinearFifo`, which removes the need
for dynamic allocation of each event. Instead, the event queue starts with a generous
size suitable for most high-end gaming setups (high-precision mouse, etc.) and can
grow, but never shrink, up to the maximum event queue size experienced by the app
within any given frame. Effectively, this means we find the maximum capacity needed
to store events and avoid runtime allocations.
* `Core.hasEvent` is removed.
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-01-26 00:19:45 -07:00
Stephen Gutekanst
3ff4bcc2a3
mach: finish splitting Core and Engine
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-01-24 18:14:52 -07:00
Stephen Gutekanst
2094e59627
core: correct standalone build
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-01-24 18:14:52 -07:00
Stephen Gutekanst
9bbada90b2
{mach,core}: move core sources to libs/core
...
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-01-24 18:14:52 -07:00