Commit graph

17 commits

Author SHA1 Message Date
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