Commit graph

8 commits

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