Commit graph

2419 commits

Author SHA1 Message Date
Ali Chraghi
1572ed7fc6 freetype: undepend to utils package 2022-08-29 05:59:52 -07:00
Ali Chraghi
157b3b1bd4 glfw:build: rename test steps 2022-08-29 05:59:52 -07:00
Ali Chraghi
9f40516841 ecs:build: use stage1 for tests 2022-08-29 05:59:52 -07:00
Ali Chraghi
80266c577e build: make libs tests seprate step 2022-08-29 05:59:52 -07:00
Ali Chraghi
af8310f2df freetype:build: don't run tests with zig build 2022-08-29 05:59:52 -07:00
Stephen Gutekanst
ec0be9294d mach: fix panic on application exit (invalid free)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-29 01:20:18 -07:00
Stephen Gutekanst
22f14ee1ed sysaudio: libsoundio backend now functional
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-28 23:37:56 -07:00
Stephen Gutekanst
052be9a684 sysaudio: soundio: add pause wrapper
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-28 23:37:56 -07:00
Stephen Gutekanst
1dc3a4cba8 {sysaudio,examples}: add support for multiple channels
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-28 23:37:56 -07:00
Stephen Gutekanst
587ea05d1e examples: add sysaudio piano example
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-28 23:37:56 -07:00
Stephen Gutekanst
a18938a84f sysaudio: various fixes to WebAudio backend
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-28 23:37:56 -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
Stephen Gutekanst
09ec61b5cd sysaudio: add soundio_pkg as dependency of sysaudio.pkg
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-28 23:37:56 -07:00
Stephen Gutekanst
3e69c54e79 sysjs: Implement Object.copyBytes to copy over a slice to Js array type objects
It works with Uint8Array objects only but no type checking is done right
now.

Originally authored by iddev5 :)

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-28 23:37:56 -07:00
Stephen Gutekanst
28fb75c7eb mach: simplify sign function & improve self-hosted compiler support
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-28 23:37:56 -07:00
LordMZTE
adfec5c930 gpu-dawn:build: fix incorrect capitalization 2022-08-28 13:53:21 -07:00
Ali Chraghi
9e1b04770a gpu-dawn:build: remove dawn-from-source option and build from source
by default
2022-08-28 10:45:09 -07:00
Ali Chraghi
ec99abc5d4 ci: fix projects matrix path 2022-08-28 10:45:09 -07:00
Ali Chraghi
47bdb5ea03 build: don't install libs, fix glfw shared lib compilation,
standardilize `buildXXX` funcs
2022-08-28 10:45:09 -07:00
Ali Chraghi
16d4e374a9 freetype: drop c package 2022-08-28 10:45:09 -07:00
Stephen Gutekanst
1e0fa20622 all: employ self-hosted @cImport hack only on Darwin targets
This is an poor approximation for the host OS running Darwin, which
is good enough for now. In practice this means macOS works but can't
cross-compile (until the cImport issue is fixed in Zig itself), but
Windows/Linux are unaffected and should be able to build natively and
cross-compile.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-27 11:19:57 -07:00
Ali Chraghi
01d8dc5714 glfw:build: undepend to X and OpenGL libs 2022-08-27 11:12:07 -07:00
Ali Chraghi
a0973af030 build: replace depracted functions 2022-08-27 11:12:07 -07:00
Ali Chraghi
cb760cbbf6 freetype: complete *Scanline Converter* binding 2022-08-27 11:12:07 -07:00
Ali Chraghi
890668f488 freetype: add glyph-to-svg output to .gitignore 2022-08-27 11:05:36 -07:00
Ali Chraghi
5cf7569767 build: fix gamemode package path 2022-08-27 11:05:36 -07:00
Ali Chraghi
b9e00fdbb6 build: fix memory leaks 2022-08-27 11:05:36 -07:00
Stephen Gutekanst
f094a85a1e examples/gkurve: fix compilation
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 20:18:02 -07:00
Stephen Gutekanst
eb5149a7bb examples/gkurve: improve compatibility with self-hosted compiler
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 19:21:27 -07:00
Stephen Gutekanst
a4792f6e5a freetype: examples: add help/usage output to single-glyph if arg not specified
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 19:04:54 -07:00
Stephen Gutekanst
8019d55fe5 freetype: improve self-hosted compiler support (use darwin @cImport workaround)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 19:03:55 -07:00
Stephen Gutekanst
45896bd6f5 sysaudio: improve self-hosted compiler support
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 18:53:54 -07:00
Stephen Gutekanst
f756af8bcd sysaudio: improve self-hosted compiler support (use darwin @cImport workaround)
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 18:53:02 -07:00
Stephen Gutekanst
fd8153b231 examples: zigimg: switch to MasterQ32 stage2 patches
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 17:59:02 -07:00
Stephen Gutekanst
e193be5bfe CI: correct git-filter-repo installation
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 16:00:50 -07:00
Stephen Gutekanst
d0961f2898 CI: correct git-filter-repo installation
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 15:58:11 -07:00
Stephen Gutekanst
e2f10dadc8 CI: install git-filter-repo dependency
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 15:44:07 -07:00
Stephen Gutekanst
3011ed0ea4 all: update pull request template to reflect new libs/ dir
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 15:12:04 -07:00
Stephen Gutekanst
bf096e2a0c dev: update ensure-standard-files for new libs/ directory
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 15:12:04 -07:00
Stephen Gutekanst
6e881b21a6 mach: reference new libs/ subproject path
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 15:12:04 -07:00
Stephen Gutekanst
0645429df9 all: move standalone libraries to libs/ subdirectory
The root dir of our repository has grown quite a lot the past few months.

I'd like to make it more clear where the bulk of the engine lives (`src/`) and
also make it more clear which Mach libraries are consumable as standalone projects.

As for the name of this directory, `libs` was my first choice but there's a bit of
a convention of that being external libraries in Zig projects _today_, while these
are libraries maintained as part of Mach in this repository - not external ones.

We will name this directory `libs`, and if we have a need for external libraries
we will use `external` or `deps` for that directory name. I considered other names
such as `components`, `systems`, `modules` (which are bad as they overlap with
major ECS / engine concepts), and it seems likely the official Zig package manager
will break the convention of using a `libs` dir anyway.

Performed via:

```sh
mkdir libs/
git mv freetype libs/
git mv basisu libs/
git mv gamemode libs/
git mv glfw libs/
git mv gpu libs/
git mv gpu-dawn libs/
git mv sysaudio libs/
git mv sysjs libs/
git mv ecs libs/
```

git-subtree-dir: glfw
git-subtree-mainline: 0d5b853443
git-subtree-split: 572d1144f11b353abdb64fff828b25a4f0fbb7ca

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>

git mv ecs libs/

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 15:12:04 -07:00
Stephen Gutekanst
79ec61396f dev: update scripts to push subrepos
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 15:12:04 -07:00
Stephen Gutekanst
b6a512ebac dev: update subproject paths to have libs/ prefix
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-26 15:12:04 -07:00
Ali Chraghi
f6f1187526 freetype: complete *Quick retrieval of advance value* binding 2022-08-25 09:57:19 -07:00
Ali Chraghi
b471a9cc98 freetype: fix flags integer size 2022-08-25 09:57:19 -07:00
Ali Chraghi
e13921c355 freetype: complete outline processing binding 2022-08-25 09:57:19 -07:00
Ali Chraghi
241892ad86 freetype: import structs from namespace
this is *Not a Breaking* change
2022-08-25 09:57:19 -07:00
Ali Chraghi
4a0802639c
basisu: add bindings for basis-universal (supercompressed textures) (#477) 2022-08-25 03:56:06 -07:00
Stephen Gutekanst
88558b7d52
README: document supported Zig version caveats more clearly 2022-08-24 11:16:26 -07:00
Stephen Gutekanst
0d5b853443 all: ensure .git* files are standard across subprojects
Produced via:

```sh
zig run ./dev/ensure-standard-files.zig
```

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-08-23 08:36:51 -07:00