Commit Graph

102 Commits

Author SHA1 Message Date
Ben Visness b792476d36 We can render text! 2023-06-28 20:43:52 -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 463e6322a4 - Changed mkapp.py flags to embed files and directories.
'--resource name' now copies file or directory 'name' into the app's private filesystem
'--resource-dir dir' copies all files _inside_ 'dir' into the app's private filesystem
2023-06-26 12:24:22 +02:00
Martin Fouilleul 4e90290add [build] check if wasm3/milepost dependencies are present and build them otherwise 2023-06-26 11:13:09 +02:00
Martin Fouilleul abb37537e9 - Investigating clang's handling of memory builtins and bulk memory code generation in test/bulkmem
- Using bulk memory (via builtins) for memset/memcpy/memcmp
- Change build script to build wasm3 with optimizations on
2023-06-25 20:37:22 +02:00
Martin Fouilleul d0ad92f0b8 Load images in pong example 2023-06-25 20:36:02 +02:00
Ben Visness 4175efb7a5 zsh bus error garbage 2023-06-25 20:33:42 +02:00
Ben Visness 47ea91ef66 Get enough of libc added for stb_image, maybe 2023-06-25 20:33:16 +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 7d4fdf9a75 explicitly mark exported functions in wasm module with ORCA_EXPORT 2023-06-25 19:57:28 +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 472d3031b2 [win32, multisurface] putting 'present' call for guest and surface overlay next to each other. 2023-06-22 17:28:32 +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
Martin Fouilleul 93ee157da0 silence clang warning on const qualifiers 2023-06-20 10:26:28 +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 0312c7c56a add an error popup and quit when the web assembly module can't load 2023-06-19 14:17:40 +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 33dd2214a8 merge io into image 2023-05-11 19:42:12 +02:00
Martin Fouilleul bfc81fd062 [io] check that file path doesn't escape app's local data folder when opening files 2023-05-11 19:42:12 +02:00
Martin Fouilleul e82225116b [io] Store last error in file handle, lockdown on fatal error 2023-05-11 19:42:12 +02:00
Martin Fouilleul 25f66b3954 [io, wip] read/write/seek/pos/size operations (todo: error on handle) 2023-05-11 19:42:12 +02:00
Martin Fouilleul 4ae51d7a23 [file io, wip] open/close file API 2023-05-11 19:42:12 +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 6c8c74e775 Migrating milepost submodule to HMN gitea 2023-04-26 15:31:00 +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 58effcb413 fixed using wrong length when copying debug entries function name 2023-04-21 10:02:17 +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
Martin Fouilleul a1c69fc5f9 [wip] logging system 2023-04-18 14:33:47 +02:00
Martin Fouilleul caa454f1ca Adding printing functions and asserts 2023-04-18 10:46:02 +02:00
Martin Fouilleul d43afa2ac0 memory arena and mem copy/compare functions for orca 2023-04-17 18:13:07 +02:00
Martin Fouilleul 4f90efbb22 start integrating milepost components into orca 2023-04-17 10:56:38 +02:00