Commit Graph

55 Commits

Author SHA1 Message Date
Martin Fouilleul bfadcad7f3 reorganizing milepost directory tree into app, graphics, platfrom, ui, util 2023-08-09 17:30:35 +02:00
Martin Fouilleul c2fe529243 Preparing milepost submodule merge. Remove milepost submodule. 2023-08-09 11:39:45 +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
Reuben Dunnington 164540ea8c
update milepost submodule 2023-07-31 11:10:03 -07:00
Reuben Dunnington b9bd2723a9
replace pthread with mp_thread 2023-07-30 21:35:08 -07:00
Martin Fouilleul 835097f8b5 update milepost: allow renderer to use multiple image sources per batch 2023-07-28 10:58:26 +02:00
martinfouilleul 3dd85fdf74 [milepost] update milepost (gl canvas buffers size improvements) 2023-07-27 15:40:56 +02:00
martinfouilleul 81b700121f update milepost 2023-07-26 17:42:48 +02:00
martinfouilleul a1068c979a [win32] fix mp_window_center() 2023-07-26 17:38:24 +02:00
martinfouilleul de28d37d57 [win32] update window rect API and reported window sizes to match macos 2023-07-26 16:55:04 +02:00
Martin Fouilleul 756b085c5f [osx] update milepost, more consistent window rect api 2023-07-26 15:58:39 +02:00
Martin Fouilleul 213663a09c [milepost update] use autoresizeMask to resize surfaces to the parent window's client area 2023-07-25 17:02:38 +02:00
martinfouilleul 225b506dd4 [win32, surface] automatically resize surfaces to parent window's client area 2023-07-25 14:21:44 +02:00
martinfouilleul 86f6eb028c update milepost to fix win32 gl renderer 2023-07-16 17:21:43 +02:00
martinfouilleul fd205df8a7 update milepost 2023-07-07 15:48:28 +02:00
Martin Fouilleul 301020ee9a update milepost to fix issue 15 with discord screen sharing 2023-07-07 10:44:16 +02:00
martinfouilleul de5c74c607 update milepost to fix crash on windows when deselecting surface 2023-07-06 11:33:36 +02:00
martinfouilleul 7437dd0b0f Testing superpong on win32 2023-07-05 18:25:14 +02:00
Ben Visness e2a2116cb2 Make pong prettier 2023-07-04 16:14:14 -05:00
Ben Visness 071e8560d4 A little build script cleanup 2023-06-30 17:14:10 -05:00
Martin Fouilleul b7e3e83f3e Block for events in main thread, and avoid burning the planet 2023-06-26 20:00:29 +02:00
Martin Fouilleul 0a83f26f7b avoid some unnecessary str8 copies now that arena-allocating string functions null terminate strings 2023-06-26 16:07:44 +02:00
Martin Fouilleul d0ad92f0b8 Load images in pong example 2023-06-25 20:36:02 +02:00
Martin Fouilleul 571e8a6f8e Explicitly mark symbols imported from the runtime and avoid --allow-undefined (get compile-time errors on non-runtime-provided undefined symbols) 2023-06-25 20:18:14 +02:00
Martin Fouilleul 1f75f40536 give read _and_ write access to data dir capability, so that we can both read and create files inside it. (warning for when we implement delete/rename etc: Write access to a directory shouldn't permit deleting/renaming it, just to delete/rename stuff inside it) 2023-06-23 17:26:19 +02:00
Martin Fouilleul da2b0867a6 explicitly deselect surfaces before using them in the runloop thread 2023-06-23 15:38:13 +02:00
martinfouilleul 238963df0b [wip, win32] got debug overlay ~working, with a couple hacks: use top-level transparent windows as child windows (see milepost), and create a dummy surface just to deselect normal and debug surface before using them in render thread. TODO: make an API for deselecting those surfaces. Investigate multisurface options more... 2023-06-21 19:27:15 +02:00
martinfouilleul a09b10714c [win32] debugging multi surface 2023-06-21 15:49:03 +02:00
Martin Fouilleul 3b91d2c622 added multi-surface skeleton example in milepost 2023-06-20 11:48:29 +02:00
martinfouilleul 19c82cfe14 Fix mem_arena_alloc bug in milepost, now debug overlay doesn crash, but doesn't display either (instead it flashes pretty hard, so I disabled it for now. Epilepsy warning if you re-enable it!) 2023-06-19 17:13:56 +02:00
martinfouilleul be84dbc6d1 [win32, wip] Pong sample running on win32 (but debug overlay crashes the app). 2023-06-19 16:51:43 +02:00
martinfouilleul 3ba2488541 [win32] runtime compiles, and boots (without loading wasm module) 2023-06-17 20:10:11 +02:00
martinfouilleul f5f7c5d8ff [wip, win32] wip implementing missing win32 platform functions 2023-06-16 20:07:26 +02:00
martinfouilleul e884b14b25 [win32] update milepost: fixed include directive to simplify compile commands 2023-06-16 19:57:24 +02:00
martinfouilleul ea4a19b074 [win32, build] first iteration on build script for win32 2023-06-16 19:57:19 +02:00
Martin Fouilleul 37ab5ca5e4 Sanbox file IO to app data directory with IO_OP_OPEN_AT and FILE_OPEN_RESTRICT 2023-06-11 18:21:04 +02:00
Martin Fouilleul a4a3423907 re-integrating file IO with common platform API 2023-06-09 17:28:33 +02:00
Martin Fouilleul 02014a6ddf update milepost and use new file path functions 2023-05-24 16:31:01 +02:00
Martin Fouilleul 0fab5635e2 update milepost with fix to mg_image_size() 2023-05-10 11:25:23 +02:00
Martin Fouilleul 569b05526b update milepost: fix image data not storing surface handle in mg_image_create() 2023-05-08 13:05:42 +02:00
Martin Fouilleul 891d84da61 upadate milepost to use arch-agnostic hash functions 2023-04-29 19:26:38 +02:00
Martin Fouilleul ea787ed686 update readme and angle install notes 2023-04-26 15:59:03 +02:00
Martin Fouilleul 3874e798c3 Compile canvas command buffer into wasm and bind host surface/render API 2023-04-26 14:57:12 +02:00
Martin Fouilleul 28a4fe0579 First draft of in-app debug console 2023-04-20 15:47:18 +02:00
Martin Fouilleul eb09d73fa8 [milepost] changes to event system that allows using events with payloads (eg file paths) across threads 2023-04-19 16:19:13 +02:00
Martin Fouilleul 81ead1ba91 [in-app console]
- splitting input state from app structures in milepost, so that it can be used from another thread than main event thread.
- Adding a collapsable debug overlay to orca window (wip)
2023-04-19 11:28:53 +02:00
Martin Fouilleul 47722e99ca pull utf8 from milepost into orca 2023-04-18 18:43:06 +02:00
Martin Fouilleul b3c9e0822b moved asserts to platform layer 2023-04-18 18:36:21 +02:00
Martin Fouilleul 7884ddd339 puling logging functionality from milepost into orca 2023-04-18 18:06:47 +02:00