Commit Graph

6 Commits

Author SHA1 Message Date
Martin Fouilleul cf88ba6290 This commit restructures the codebase to melt the milepost platform layer into the main orca codebase.
Here's a list of commits squashed in this update:

- move angle files to ext/ and pull includes/libs from there when needed
- remove milepost/ext/angle_headers
- Collapsed milepost/ext into ext
- Collapse milepost/scripts into scripts/
- collapse milepost/resources into resources/. WARN: this temporarily breaks milepost's native examples
- collapse milepost/test into test/
- renamed test/ to tests/
- build milepost directly into build/bin
- remove unused GLES and KHR folders from sdk/
- reorganizing milepost directory tree into app, graphics, platfrom, ui, util
- collapse milepost/src to src/
- Move all native examples to sketches/ and remove milepost repo
- Moving sketches resources into their own shared folder separate from the runtime's resource folder
- Moving all binding code to src/wasmbind
- Moving all binding code to src/wasmbind
- pong: fix typo in error log
- fixing log parameter order
- add error logs to mg_image_create_*
- Fix build scripts on windows
- fixed include mistake after rebase
- collapsing milepost.{h|c|m} to orca.{h|c|m} and moving from sdk/ to src/
- rename orca_app.h/main.c to runtime.h/c
- collapsed sdk/ to src/
- put old sdk files into their respective dirs
- renamed canvas_api.json to surface_api.json
- moved all stb headers in ext/stb/
- remove unused OpenSansLatinSubset.ttf font
- moving cstdlib to src/wasmlibc and removing some duplicates with src/platform
- move libc stdarg and string functions from platform/ to wasmlibc/
- rename wasmlibc to libc-shim to reflect non-completeness
- Expose abort/assert variadic functions and macros to orca apps, and forward libc-shim abort/assert to these
- move Orca API runtime implementations to runtime_xxx
- fix missing math constants when including math.h with msvc in graphics_common.c
- Change name of runtime to orca_runtime. When bundling on Windows, change name of runtime executable to the name of the app.
2023-08-13 15:28:57 +02:00
Martin Fouilleul e4d9955e83 [gles] expose GLES surface and GLES API to orca apps.
- Allow orca app to request either Canvas or GLES surfaces
- Add bounds check specifications to the json bindings spec format and to the bindings generator scripts.
- Generate GLES API json bindings spec from gl.xml
- Remove APIs that can't be bound with current wasm memory model (ie buffer mapping)
- Manually link remaining APIs, except glGetString
- Add fluid simulation sample
- Add abort messages for wasm loading and runtime fatal errors
- Adapt orca build tool to generate GLES json spec from gl.xml
- Adapt glesTriangle and fluid samples build scripts to new orca build tool
2023-08-08 22:54:29 +02:00
bvisness 3fae3252a1 Convert build scripts to Python (#31)
All the tooling has been built into a new command-line tool, `orca`. To use it, just run `orca -h`.

To build the samples, you must first install the orca tooling by running `orca dev install`. This simulates what it will be like to actually use the orca tooling as an end user, without the source checked out. Mostly. (I don't yet have it downloading pre-built copies of the Orca runtime libraries and `orca.exe`.)
Co-authored-by: Ben Visness <ben@bvisness.me>
Co-authored-by: Ben Visness <bvisness@gmail.com>
Co-authored-by: Martin Fouilleul <martinfouilleul@gmail.com>
Reviewed-on: #31
Co-authored-by: bvisness <ben@handmade.network>
Co-committed-by: bvisness <ben@handmade.network>
2023-08-08 09:38:43 +00:00
Ben Visness 071e8560d4 A little build script cleanup 2023-06-30 17:14:10 -05:00
Martin Fouilleul caa454f1ca Adding printing functions and asserts 2023-04-18 10:46:02 +02:00
Martin Fouilleul 17c0f02962 orca runtime initial commit 2023-04-12 16:21:03 +02:00