Commit graph

86 commits

Author SHA1 Message Date
Stephen Gutekanst
ad17aa940b change adapter anytype -> *mach.Engine
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-08-20 16:17:40 -07:00
Ali Chraghi
c26cfec0b6 update to latest mach-core API 2023-08-02 20:34:15 -07:00
RokKos
e96864242c mach: math lib added testing for vector functionalities 2023-07-15 13:42:25 -07:00
Stephen Gutekanst
a1b4c03f9d mach: add mach.Atlas implementation from Mitchell Hashimoto
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-07-04 08:25:14 -07:00
Stephen Gutekanst
0e1b79969f mach: remove ResourceManager for now
needs much more thought

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-06-30 20:40:30 -07:00
Stephen Gutekanst
816b5101b3 core: use mach-sysjs via package manager
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-05-19 08:21:31 -07:00
Stephen Gutekanst
8d2d31f6cb mach: add gfx2d / Sprite2D ECS module
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-05-17 20:34:28 -07:00
Stephen Gutekanst
03fe3d02a9 mach: add new mach.math module
https://machengine.org/next/engine/math/

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-05-17 20:32:57 -07:00
Stephen Gutekanst
1fbd36199a mach: depend on mach-ecs and mach-earcut standalone repositories
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-04-28 16:04:45 -07:00
Stephen Gutekanst
353cf6144b mach: update to latest ECS module layout
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2023-03-27 09:29:47 -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
Ali Chraghi
1d7cd4be80 mach: fundamental changes
- Core doesn't depend to `App` anymore
 - `setOptions` has replaced with some new functions (`setTitle`,
   `setSize`, etc)
   - and more
2023-01-12 01:54:48 -07:00
Keith Chambers
c151222011
mach: VertexWriter fixes (#633)
* mach: VertexWriter fixes
* mach: Reference decls in gfx
* remove comptime block from refAllDecls as is redundant
2022-11-30 09:27:00 -07:00
Stephen Gutekanst
212c902747 mach: test ResourceManager
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-11-05 14:12:56 -07:00
Stephen Gutekanst
6a45971c6f trimesh2d: remove in favor of mach/earcut library
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-10-31 12:12:01 -07:00
Stephen Gutekanst
96c2e35ab3 all: integrate earcut library
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-10-31 12:12:01 -07:00
Stephen Gutekanst
af357c0a8a mach: expose trimesh2d package
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-10-19 07:30:11 -07:00
Stephen Gutekanst
2e61125601 mach: expose sysaudio/sysjs packages
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-28 23:37:56 -07:00
Ali Chraghi
b500b04c41 all: build: install tests exe 2022-07-25 11:21:37 -07:00
Stephen Gutekanst
6ec27861b4 mach: initial support for high-level ECS applications
Adds experimental support for high-level ECS-based applications
following hexops/mach#349

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-07-04 22:25:39 -07:00
Stephen Gutekanst
e79c9e075a mach: rename mach.Engine -> mach.Core
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-07-04 20:14:27 -07:00
iddev5
e58fd44ec0 mach: Implement basic resource loading system
Curently no real management has been implemented. It just loads the
resource from the list of paths present and provides the raw data from
it.
2022-06-24 10:07:16 -07:00
iddev5
3bb45c75a1 mach: introduce cross platform Timer abstraction
This Timer uses std.time.Timer as backing timer in native platforms, and
will use custom timers for special platforms (wasm, android?, ios?).

Unlike std.time.Timer, its primary API is focused on floats. Also meant
to provides some convenient functions alongside base ones.

Follows std.time.Timer API, but methods by default return f32 i.e
non-precise variant with precise variants available returning u64.
2022-05-17 23:56:41 -07:00
iddev5
8b46f46cf8 mach: Create binding methods for all glfw methods in use and update
examples
2022-05-13 16:17:18 -07:00
iddev5
7a392b2780 mach: Add enums for keys and actions 2022-05-09 08:08:01 -07:00
iddev5
5249e72408 example: finalize triangle example to new API 2022-04-29 12:48:47 -07:00
iddev5
2aedc4ca01 mach: implement App struct in terms of unified entry point 2022-04-29 12:48:47 -07:00
d3m1gd
ce1aeafa84
choose first adapter (#251)
Related to hexops/mach#216

Co-authored-by: d3m1gd <mach+d3m1gd@users.noreply.github.com>
2022-04-22 18:50:42 -07:00
iddev5
a922b4b29b mach: set error message to be shown on glfw error
This uses glfw.setErrorCallback to set a global callback in mach's App
which would work across all mach applications
2022-04-17 11:50:33 -07:00
Stephen Gutekanst
305c446aa2 add delta time calculation for frame-rate independent movement
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-04-17 10:06:56 -07:00
Stephen Gutekanst
5883a50d92 add high-level vsync modes
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-04-16 11:52:47 -07:00
Silver
614322edc7 gpu: convert Texture.Usage to packed struct 2022-04-08 11:03:00 -07:00
Silver
adf5332969 app: add resize callback function 2022-04-08 11:03:00 -07:00
Stephen Gutekanst
49f80de6ab add higher-level app library
Fixes hexops/mach#190

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-04-05 00:16:51 -07:00
Stephen Gutekanst
2bb3b934e1 glfw: add terminate function
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-07-16 15:24:45 -07:00
Stephen Gutekanst
7fcd051870 add main engine library + minimal glfw linking example
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2021-07-06 20:58:46 -07:00