Commit graph

122 commits

Author SHA1 Message Date
PiergiorgioZagaria
4ee9ba1000 gamemode: Fix overcomplications and @import with symlinks 2022-07-28 04:12:25 -07:00
PiergiorgioZagaria
d256d071e0 gamemode: WIP building gamemode from source 2022-07-28 04:12:25 -07:00
PiergiorgioZagaria
509ebd13ab mach: Initial commit for gamemode 2022-07-28 04:12:25 -07:00
Ali Chraghi
b500b04c41 all: build: install tests exe 2022-07-25 11:21:37 -07:00
Stephen Gutekanst
fbc9cee4cc libmach: respect build target / mode flags
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-07-21 19:41:33 -07:00
alichraghi
fc90fa6689 build: renable tests target option 2022-07-21 19:41:06 -07:00
Zachary Huang
5d86314fbb libmach: update API again, factors out init/update/deinit from native.zig main function 2022-07-20 18:59:29 -07:00
alichraghi
e6adc3e350 build: add mode paramater to testStep functions 2022-07-20 18:55:59 -07:00
Lucas Romanó
7de47a8f2d examples: add map-async example
Signed-off-by: Lucas Romanó <9062026+lucasromanosantos@users.noreply.github.com>
2022-07-17 09:27:29 -07:00
Lucas Romanó
a787265af2 examples: add image-blur example
Signed-off-by: Lucas Romanó <9062026+lucasromanosantos@users.noreply.github.com>
2022-07-15 12:02:17 -07:00
Zachary Huang
9ece370059 libmach: initial API bindings for mach core 2022-07-14 22:44:44 -07:00
iddev5
02c7fe9a75 mach: build: Add sysaudio dependency package 2022-07-14 21:55:32 -07:00
iddev5
7a0d39c274 mach: Rename `js-runtime subproject to sysjs` 2022-07-13 01:30:10 -07:00
iddev5
7b27544cce mach: build: Add platform field in App to simplify target checking
Also now add js-runtime package to app for web platform.
2022-07-12 06:55:40 -07:00
iddev5
0ff8edebd9 mach: Add js-runtime as a dependency for wasm applications
This is a workaround for a limitation right now. The html-generator has
no way to dynamically add JS sources (and that can't be done without
using a preprocessor library) so we hardcode js-runtime in it.

In the future, I think the correct behavior would be to move tools/
inside js-runtime along with a wasm application building SDK and get rid
of any direct JS access we have today (which is just
src/platform/wasm.zig and src/platform/mach.js).
2022-07-07 04:35:19 -07:00
iddev5
81e6de55f8 mach: wasm: Build textured-cube and ecs-app examples 2022-07-06 05:55:04 -07:00
iddev5
5f0d54bd1b mach: wasm: Specify base dir to be mach root dir for html-generator
tools/html-generator references www/template.html which was outside the
main-pkg-path of html-generator
2022-07-06 05:55:04 -07:00
Stephen Gutekanst
d3b03901fb examples: add initial ecs-app
This is a temporary application to begin iterating on high-level ECS applications.

Eventually, this will be removed - for now it's just here so we can see how this API
looks today and improve it.

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-07-04 22:25:39 -07:00
iddev5
6b64c865bf mach: build: Install folders containing resources as a build step 2022-06-24 10:07:16 -07:00
Ali Chraghi
d98bfab809 freetype: rename freetype_pkg to pkg 2022-06-10 12:53:10 -07:00
Ali Chraghi
82e1990009 freetype: init harfbuzz binding 2022-06-07 19:23:33 -07:00
d3m1gd
866acd5535 mach: ensure git present 2022-05-30 10:24:09 -07:00
iddev5
b57fe9a420 mach: build: disable gkurve example of wasm as freetype cant be compiled for
freestanding targets
2022-05-30 10:23:21 -07:00
iddev5
21c49ff9be mach: Move all platform specific files to platform/ directory 2022-05-30 10:22:42 -07:00
kamidev
68190e863a Change std.build.Pkg.path -> std.build.Pkg.source
Fixes breaking change in latest Zig master, see https://github.com/ziglang/zig/pull/11557
2022-05-29 08:25:52 -07:00
PiergiorgioZagaria
8fa9ab2f58 examples/gkurve: add atlas text rendering 2022-05-27 21:24:31 -07:00
Stephen Gutekanst
027939e8ef mach: ensure tools/libs/apple_pie submodule is cloned
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-27 21:08:10 -07:00
iddev5
d85c6a8669 mach: build: Use proper application name in case of wasm
This uses the new html-generator tool to automatically fix the file
names in resulting application.html
2022-05-27 21:08:10 -07:00
iddev5
8d4c51738e mach: build+tools: allow address and port of http server be configurable
for wasm

MACH_ADDRESS and MACH_PORT environment variable are added.
2022-05-27 21:08:10 -07:00
iddev5
8b8ed4dc8f mach: build: cleanup and add notes 2022-05-27 21:08:10 -07:00
iddev5
e7f7737cc8 mach: build: Implement run step for wasm applications
This actually compiles and runs a http server (based on apple_pie) and
uses xdg-open (on unixes) and open (on rest) to launch the browser.

The steps actually take place in reverse order because running a web
server would block the current process (limitation of RunStep). Hence we
are assuming that (xdg-)open is just a launcher and would take a while
to open the browser application.
2022-05-27 21:08:10 -07:00
iddev5
84af4e118c mach: build: install additional files (html, js) in case of wasm
Install the files template.html (renamed to application.html) and
mach.js in case of WASM. Also changed the install directory to
{prefix}/www.
2022-05-27 21:08:10 -07:00
iddev5
1c2dbfbd4f mach: build: simplify stating of dependencies for apps 2022-05-27 21:08:10 -07:00
iddev5
b5737af9cd examples: Load all images from Memory (using embedFile) instead of File 2022-05-27 01:09:15 -07:00
d3m1gd
ed0d9c100f mach: fix build.zig 2022-05-26 18:29:43 -07:00
iddev5
f64595393b mach: include example name in step descriptions 2022-05-23 00:06:35 -07:00
iddev5
4fad3b93d2 mach: add compile-only step for examples and shaderexp
These steps will only compile and install the applications but not run
it. To be used as ``zig build example-*`` and ``zig build shaderexp``
respectively, i.e without the run prefix.
2022-05-23 00:06:35 -07:00
iddev5
dbdb2173b8 mach: do not install apps implicitly by default 2022-05-22 11:44:21 -07:00
iddev5
1491167daa mach: wasm: enabled boids example and do not compile examples which are
unsupported
2022-05-22 11:44:21 -07:00
iddev5
ae4374b9df mach: wasm specific build system fixes
- Disable some examples
- Dont compile shaderexp at all
- Block off all run steps
2022-05-22 11:44:21 -07:00
iddev5
7466f32b62 mach: build system SDK improvements for wasm
- Target is now passed as an option in App.init()
- Always install() in all case
- Add functions getInstallStep(), setBuildMode() and run()
2022-05-22 11:44:21 -07:00
PiergiorgioZagaria
1e8ad533e2
examples: gkurve added shapes and textures (#284) 2022-05-22 08:52:40 -07:00
iddev5
657091ed65 mach: Reorganised native backend files, moved structs and fixed circular
dependency
2022-05-15 10:36:08 -07:00
PiergiorgioZagaria
a1daf399a3 examples: created gkurve example 2022-05-08 15:02:39 -07:00
Lee Cannon
4570838304
Update to latest Zig master (0.10.0-dev.2017+a0a2ce92c) (#261)
* use `@ceil` instead of `std.math.ceil`
* `ChildProcess.init` does not allocate anymore
* update CI zig version
* examples: temporarily switch to fork of zigimg compatible with zig-master

Commands executed:

```
git submodule set-url -- examples/libs/zigimg https://github.com/slimsag/zigimg
git submodule set-branch --branch zig-master -- examples/libs/zigimg
git submodule update --init --remote examples/libs/zigimg
```

Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
Co-authored-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-01 11:44:27 -07:00
iddev5
e1192877c3 build: compile examples and applications on demand
Without this change, anytime a dependency is modified, all the examples
and applications are rebuilt before tring to run any of them. The
problem with this approach is that it leads to long compile times which
will keep on increasing as more and more examples are added.
2022-04-30 01:10:56 -07:00
iddev5
7c518f7bd6 shaderexp: port to new API 2022-04-29 13:06:42 -07:00
iddev5
218a6a5c08 examples: port to new API 2022-04-29 13:06:34 -07:00
iddev5
5c984d9795 mach: finalizing changes for now 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