04028b29d3Used __builtin_wasm_memory_size(0) instead of having the Javascript code call init_mem with the initial page count. Added a simple <div> below the canvas that can hold any number of labels that can be filled/updated through jsSetLabel which lives in a new file misc_functions.js.
main
Taylor Robbins2025-09-02 16:05:53 -07:00
f45c2d88e0Added some simple background textures from OpenGameArt.org and rendered them with a little parallax effectTaylor Robbins2025-09-02 12:20:11 -07:00
3aee6123c6Removed unneeded semicolons in macros for memset, memcpy, and memmove in std/string.hTaylor Robbins2025-09-02 12:00:25 -07:00
bed90ad8e1Small change to test_app.c. Committing as I'm reconfiguring local clone of the repo so I don't lose the workTaylor Robbins2025-09-02 11:58:49 -07:00
f2d590be13Added an asynchronous resource loading mechanism through App_GetResourcePath and App_ResourceLoaded. Added stb_image.h and used it to parse a .png file loaded from the server and upload it to app.testTexture. There is some ugliness around the edges images with transparency, probably caused by something pre-multiplied alpha related.Taylor Robbins2025-09-02 11:43:19 -07:00
1a9775d670Added cwasm_vectors.c and cwasm_matrices.c. Vectors API is completely finished, Matrices API is partially finished. Added Clamp(value, min, max) macro to cwasm.h. Fixed types on jsGl functions that take vectors or matrices (and Arena*).Taylor Robbins2025-09-02 00:15:03 -07:00
b62f0d279bAdd cAllocMem to cwasm.c which the javascript side can use to allocate memory from an opaque Arena pointer that was passed to it. Used this to implement jsGlGetParameterString, jsGlGetShaderInfoLog, and jsGlGetProgramInfoLog in gl_functions.js. Added NotNull macro and fixed bug in ScratchBegin macro. Added a bool return for App_Initialize which allows us to stop the main loop from beginning (which prevents log spew when something goes wrong)Taylor Robbins2025-09-01 21:53:24 -07:00
7c61189d3aAdded texture related functions to gl_functions.jsTaylor Robbins2025-09-01 20:46:25 -07:00
81f5457b61Added some more WebGL functions to gl_functions.js. Made the test_app render something more interesting. Added a bool return from App_UpdateAndRender which allows it to request that the application loop ends.Taylor Robbins2025-09-01 19:21:47 -07:00
42cf6d9e9fAdded a bunch of WebGL functions related to shader uniforms to gl_functions.jsTaylor Robbins2025-09-01 18:50:14 -07:00
b548b7bb26Set up a basic "front-end" for the webassembly module to be tested locally from a data folder (I use python -m http.server). The WebAssembly application is now responsible for all setup/rendering through the WebGL2 context.Taylor Robbins2025-09-01 12:13:56 -07:00
cca61ea163Added cwasm_arena.c and cwasm_debug.c. Arena API hasn't been tested well yet. There's also something wrong with our DebugOutputLineBuffer usage for splitting lines to multiple Javascript output calls. Also added an int level to jsStdPrint and a bunch of macros to cwasm.hTaylor Robbins2025-08-31 17:33:48 -07:00
d0aa7a1d0eAdded math.h, stdlib.h, float.h, and stbool.h to std folder (and all their implementations). Opted to NOT implement malloc/free/etc. in favor of having our own functions init_mem, grow_mem, and get_mem.
Taylor Robbins (Piggybank Studios)
2025-08-28 13:20:08 -07:00
deae3ccd12Got a basic WebAssembly module compiling with support for calling jsStdPrint through printf implementation (provided by stb_sprintf.h). We have a single function "HelloFromWasm" exported for testing purposes. Pulled in a bunch of standard library headers from PigCore's wasm layer.
Taylor Robbins (Piggybank Studios)
2025-08-28 09:44:32 -07:00