|Version: | 2024.4 | |:--------------|:------------| |Branch: | main | |Commit: | 797 | # [V·4·K 2024.4 ](https://v4k.dev) ## a b o u t - Envision, Prototype, Perfect. - visit the code repo at [dev.v4.games](https://dev.v4.games/v4games/v4k) now! - you can try out the [live demo](https://demo.v4k.dev), too! - and for anything else, reach us at [v4.games](https://v4.games/).
Code style ```C linenumbers /// ## Markdown comments when documenting (3 slashes) // C++ comments allowed /*C comments too*/ // Order matters: includes -> defines -> enums -> structs -> functions #define puts(x) my_printf("%s", x) // lowercase defines allowed for syntax sugars #define VERSION "1.0.0" // uppercase defines otherwise enum { ZERO = 0 }; // uppercase enums. also, one-line brackets allowed void assert_positive( int my_int ) { // lowercase snake_case everywhere int *x = &my_int; // no spacing between pointers and variables if( *x < ZERO ) { // no outer padding space after if,do,while,for,switch puts( "Negative" ); // inner padding space around operators and parenthesis } // 4-spaces indents, 1TBS brackets } // when in doubt, dont worry & mimic style from codebase ```
## r e a d m e
Features - [x] Pipeline: configurable and integrated [asset pipeline](tools/cook.ini). - [x] Embedded: single-file header, all dependencies included. - [x] Compiler: MSVC, MINGW64, TCC, GCC, clang, clang-cl and emscripten. - [x] Linkage: Both static linkage and dynamic .dll/.so/.dylib support. - [x] Platform: Windows, Linux and OSX. Partial HTML5/Web support. - [x] DS: hash, sort, array/vector, map, set. - [x] Math: rand, noise, ease, vec2/3/4, mat33/34/44, quat. - [x] Geometry: ray, line, plane, aabb, sphere, capsule, triangle, poly and frustum. - [x] Window: windowed, soft/hard fullscreen, msaa, icon, cursor handling. - [x] Input: keyboard, mouse and gamepads. - [x] Script: Lua scripting, Luajit bindings. - [x] Network: downloads (HTTPS) and sockets (TCP/UDP). - [x] Network: Game sync module - [x] AI: Swarm/Boids. - [x] UI: button, list, slider, toggle, checkbox, editbox, dialog, color, image, menu, window, notify... - [x] Font: TTF, OTF and TTC. Basic syntax highlighter. Glyph ranges. Atlasing. - [x] Localization/I18N: XLSX and INI. Unicode. - [x] Image: JPG, PNG, BMP, PSD, PIC, PNM, ICO. - [x] Texture: KTX/2, PVR, DDS, ASTC, BASIS, HDR, TGA. - [x] Texel: Depth, R, RG, RGB, RGBA, BC1/2/3/4/5/6/7, PVRI/II, ETC1/2, ASTC. - [x] Audio: WAV/FLAC, OGG/MP1/MP3, FUR, MOD/XM/S3M/IT, SFXR and MID+SF2/SF3. - [x] Video: MP4, MPG, OGV, MKV, WMV and AVI. Also, MP4 recording with MPEG-1 fallback. - [x] Model: IQM/E, GLTF/2, GLB, FBX, OBJ, DAE, BLEND, MD3/5, MS3D, SMD, X, 3DS, BVH, DXF, LWO. - [x] Render: PBR (metallic-roughness) workflow. - [x] Render: Cubemaps, panoramas and spherical harmonics. Rayleigh/Mie scattering. - [x] Render: Post-effects (SSAO,FXAA1/3,CRT,Contrast,Grain,Outline,Vignette...). - [x] Render: 3D Anims, skeletal anims, hardware skinning and instanced rendering. - [x] Render: 3D Debugdraw, batching and vectorial font. - [x] Render: 2D Sprites, spritesheets, AA zooming and batching. - [x] Render: 2D Tilemaps and tilesets: TMX, TSX. - [x] Render: Compute shaders and SSBO support. - [x] Render: Geometry shaders. - [x] Compression: DEFLATE, LZMA, LZ4, ULZ, BALZ, BCM, CRUSH, LZW3, LZSS and PPP. - [x] Virtual filesystem: ZIP, PAK, TAR and DIR. - [x] Level data: JSON, JSON5, SJSON, XML, INI. - [x] Disk cache. - [x] Scene handling. - [x] Profiler, stats and leaks finder. - [x] [Documentation (wip)](https://v4k.dev).
Hello V4K ```C #include "v4k.h" // Minimal C sample int main() { window_create(75.0, 0); // 75% size, no extra flags while( window_swap() && !input(KEY_ESC) ) { // game loop puts("hello V4K from C!"); } } ``` ```lua local v4k = require("v4k") -- Minimal Lua sample v4k.window_create(75.0,0) -- 75% size, no extra flags while v4k.window_swap() and v4k.input(v4k.KEY_ESC) == 0 do -- game loop print("hello V4K from Lua!") end ```
Quickstart - Double-click `MAKE.bat` to quick start. - `MAKE.bat all` to build everything. - `MAKE.bat proj` to generate solutions/makefiles. - `MAKE.bat help` for a bunch of options. - `MAKE.bat hello.c` to build a single executable. - Alternatively, ```bat echo win/vc && cl hello.c echo win/clang-cl && clang-cl hello.c echo win/tcc && tools\tcc hello.c -m64 echo win/mingw && gcc hello.c -lws2_32 -lwinmm -ldbghelp -lole32 -luser32 -lgdi32 -lcomdlg32 echo win/clang && clang hello.c -lws2_32 -lwinmm -ldbghelp -lole32 -luser32 -lgdi32 -lcomdlg32 echo linux && cc hello.c -lm -ldl -lpthread -lX11 echo linux/tcc && tcc hello.c -lm -ldl -lpthread -lX11 -D__STDC_NO_VLA__ echo osx && cc -ObjC hello.c -framework cocoa -framework iokit -framework audiotoolbox ```
Cook - Assets need to be cooked before being consumed in your application. The [tools/](tools/) folder contains all the related binaries to perform any asset processing plus the [cookbook](tools/cook.ini) to do so. - Your game will cook all your assets as long as the [`tools/`](tools/) folder is next to your executable. Alternatively, cook them all just by invoking supplied [`tools/cook` standalone binary](tools/). - In both cases, assets will be cooked and packed into .zipfiles next to your executable, then mounted before entering game loop. These .zipfiles plus your executable are the only required files when releasing your game.
Extra tips - Any ico/png file named after the executable name will be automatically used as app icon. - Similar to the ico/png case above, the cooked .zipfiles can be named after the main executable as well. - Dropped files into game window will be imported & saved into [`import/`](engine/art/import/) folder. - Update the gamepad controller database by upgrading the [`gamecontrollerdb.txt`](engine/art/input/) file. - Depending on your IDE, you might need to browse to [`engine/split/`](engine/split/) sources when debugging FWK. - Cook assets on demand, as opposed to cook all existing assets on depot, by using `--cook-on-demand` flag. - Linux/OSX users can optionally install wine and use the Windows tools instead (by using `--cook-wine` flag). - Disable automatic cooking by using `--cook-jobs=0` flag (not recommended). - Generate a project solution by dropping `engine/v4k.h, v4k.c and v4k` files into it. - Auto-generated Luajit and Python bindings can be found in the [`engine/bind/`](engine/bind/) folder.
Credits **Original** Big big thanks to [r-lyeh](https://github.com/r-lyeh/fwk) for the amazing [FWK](https://github.com/r-lyeh/FWK) base!

**Artwork** [Dean Evans, Raijin](https://youtu.be/RRvYkrrpMKo?t=147) for the Map song (c), [FMS_Cat](https://gist.github.com/FMS-Cat/a1ccea3ce866c34706084e3526204f4f) for nicest VHS/VCR shader around (MIT), [Goblin165cm](https://sketchfab.com/3d-models/halloween-little-witch-ccc023590bfb4789af9322864e42d1ab) for witch 3D model (CC BY 4.0), [Nuulbee](https://sketchfab.com/3d-models/kgirls01-d2f946f58a8040ae993cda70c97b302c) for kgirls01 3D model (CC BY-NC-ND 4.0), [Quaternius](https://www.patreon.com/quaternius) for the lovely 3D robots (CC0), [Rotting Pixels](https://opengameart.org/content/2d-castle-platformer-tileset-16x16) for castle-tileset (CC0), [Tom Lewandowski](https://QuestStudios.com) for his MIDI recordings (c), [Rye Terrell](https://github.com/wwwtyro/glsl-atmosphere) for nicest rayleigh/mie scattering shader around (CC0), **Tools** [Aaron Barany](https://github.com/akb825/Cuttlefish) for cuttlefish (APACHE2), [Arseny Kapoulkine](https://github.com/zeux/pugixml/) for pugixml (MIT), [Assimp authors](https://github.com/assimp/assimp) for assimp (BSD3), [Bernhard Schelling](https://github.com/schellingb/TinySoundFont) for tml.h (Zlib) and tsf.h (MIT), [Christian Collins](http://www.schristiancollins.com) for GeneralUser GS soundfont (PD), [FFMPEG authors](https://www.ffmpeg.org/) for ffmpeg (LGPL21), [Imagination](https://developer.imaginationtech.com/pvrtextool/) for pvrtextoolcli (ITL), [Krzysztof Gabis](https://github.com/kgabis/ape) for split.py/join.py (MIT), [Lee Salzman](https://github.com/lsalzman/iqm/tree/5882b8c32fa622eba3861a621bb715d693573420/demo) for iqm.cpp (PD), [Martín Lucas Golini](https://github.com/SpartanJ/eepp/commit/8552941da19380d7a629c4da80a976aec5d39e5c) for emscripten-fs.html (CC0), [Mattias Gustavsson](https://github.com/mattiasgustavsson/libs) for mid.h (PD), [Michael Schmoock](http://github.com/willsteel/lcpp) for lcpp (MIT), [Morgan McGuire](https://casual-effects.com/markdeep/) for markdeep (BSD2), [Olivier Lapicque, Konstanty Bialkowski](https://github.com/Konstanty/libmodplug) for libmodplug (PD), [Polyglot Team](https://docs.google.com/spreadsheets/d/17f0dQawb-s_Fd7DHgmVvJoEGDMH_yoSd8EYigrb0zmM/edit) for polyglot gamedev (CC0), [Tildearrow](https://github.com/tildearrow/furnace/) for Furnace (GPL2), [Tomas Pettersson](http://www.drpetter.se/) for sfxr (PD), [Tor Andersson](https://github.com/ccxvii/asstools) for assiqe.c (BSD), **Runtime** [Andreas Mantler](https://github.com/ands) for their math library (PD), [Barerose](https://github.com/barerose) for swrap (CC0) and math library (CC0), [Camilla Löwy](https://github.com/elmindreda) for glfw3 (Zlib), [Dave Rand](https://tools.ietf.org/html/rfc1978) for ppp (PD), [David Herberth](https://github.com/dav1dde/) for glad generated code (PD), [David Reid](https://github.com/mackron) for miniaudio (PD), [Dominic Szablewski](https://github.com/phoboslab/pl_mpeg) for pl_mpeg (MIT), [Dominik Madarász](https://github.com/zaklaus) for json5 parser (PD), [Eduard Suica](https://github.com/eduardsui/tlse) for tlse (PD), [Evan Wallace](https://github.com/evanw) for their math library (CC0), [Gargaj+cce/Peisik](https://github.com/gargaj/foxotron) for Foxotron/PBR shaders (UNLICENSE), [Guilherme Lampert](https://github.com/glampert) for their math library (PD), [Guillaume Vareille](http://tinyfiledialogs.sourceforge.net) for tinyfiledialogs (ZLIB), [Haruhiko Okumura](https://oku.edu.mie-u.ac.jp/~okumura/compression/) for lzss (PD), [Igor Pavlov](https://www.7-zip.org/) for LZMA (PD), [Ilya Muravyov](https://github.com/encode84) for bcm, balz, crush, ulz, lz4x (PD), [Jon Olick](https://www.jonolick.com/) for jo_mp1 and jo_mpeg (PD), [Joonas Pihlajamaa](https://github.com/jokkebk/JUnzip) for JUnzip library (PD), [Juliette Focault](https://github.com/juliettef/IconFontCppHeaders/blob/main/IconsMaterialDesign.h) for the generated MD header (ZLIB), [Kristoffer Grönlund](https://github.com/krig) for their math library (CC0), [Lee Salzman](https://github.com/lsalzman/iqm/tree/5882b8c32fa622eba3861a621bb715d693573420/demo) for IQM spec & player (PD), [Lee Salzman, V.Hrytsenko, D.Madarász](https://github.com/zpl-c/enet/) for enet (MIT), [Libtomcrypt](https://github.com/libtom/libtomcrypt) for libtomcrypt (Unlicense), [Lua authors](https://www.lua.org/) for Lua language (MIT), [Mattias Gustavsson](https://github.com/mattiasgustavsson/libs) for thread.h and https.h (PD), [Micha Mettke](https://github.com/vurtun) for their math library (PD), [Micha Mettke, Chris Willcocks, Dmitry Hrabrov](https://github.com/vurtun/nuklear) for nuklear (PD), [Michael Galetzka](https://github.com/Cultrarius/Swarmz) for swarmz (UNLICENSE), [Morten Vassvik](https://github.com/vassvik/mv_easy_font) for mv_easy_font (Unlicense), [Mārtiņš Možeiko](https://gist.github.com/mmozeiko/68f0a8459ef2f98bcd879158011cc275) for A* pathfinding (PD), [Omar Cornut, vaiorabbit](https://github.com/ocornut/imgui/pull/3627) for tables of unicode ranges (MIT-0), [Rabia Alhaffar](https://github.com/Rabios/ice_libs) for ice_batt.h (PD), [Rich Geldreich](https://github.com/richgel999/miniz) for miniz (PD), [Ross Williams](http://ross.net/compression/lzrw3a.html) for lzrw3a (PD), [Samuli Raivio](https://github.com/bqqbarbhg/bq_websocket) for bq_websocket (PD), [Sean Barrett](https://github.com/nothings) for stb_image, stb_image_write, stb_sprintf, stb_truetype and stb_vorbis (PD), [Sebastian Steinhauer](https://github.com/kieselsteini) for sts_mixer (PD), [Stan Melax, Cloud Wu](https://web.archive.org/web/20031204035320/http://www.melax.com/polychop/gdmag.pdf) for polychop C algorithm (PD), [Stefan Gustavson](https://github.com/stegu/perlin-noise) for simplex noise (PD), [Sterling Orsten](https://github.com/sgorsten) for their math library (UNLICENSE), [Tor Andersson](https://github.com/ccxvii/minilibs) for xml.c (PD), [Wolfgang Draxinger](https://github.com/datenwolf) for their math library (WTFPL2),
Unlicense This software is released into the [public domain](https://unlicense.org/). Also dual-licensed as [0-BSD](https://opensource.org/licenses/0BSD) or [MIT (No Attribution)](https://github.com/aws/mit-0) for those countries where public domain is a concern (sigh). Any contribution to this repository is implicitly subjected to the same release conditions aforementioned.
## config
🄳 macro ENABLE_FASTCALL_LUA Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄳 macro ENABLE_PROFILER Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄳 macro ENABLE_SELFIES Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄳 macro ENABLE_MEMORY_POISON Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄳 macro ENABLE_MEMORY_LEAKS Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄳 macro ENABLE_LINUX_CALLSTACKS Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄳 macro ENABLE_AUTOTESTS Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄳 macro ENABLE_COOK Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## ds
🄵 API int less_64(uint64_t a,uint64_t b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int less_int(int a,int b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int less_ptr(void* a,void* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int less_str(char* a,char* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int less_64_ptr(const void* a,const void* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int less_int_ptr(const void* a,const void* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint32_t unhash_32(uint32_t x); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint32_t hash_32(uint32_t x); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t hash_64(uint64_t x); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t hash_flt(double x); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t hash_int(int key); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t hash_ptr(const void* ptr); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t hash_bin(const void* ptr,unsigned len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t hash_str(const char* str); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t popcnt64(uint64_t x); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* vrealloc(void* p,size_t sz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API size_t vlen(void* p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct set_item; ~~~~~~C struct set_item { struct set_item* next; uint64_t keyhash; void* key; void* super; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct set; ~~~~~~C struct set { array(set_item*) array; int (*cmp)(void*, void*); uint64_t (*hash)(void*); int count; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void set_init(set* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void set_free(set* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void set_insert(set* m,set_item* p,void* key,uint64_t keyhash,void* super); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void set_erase(set* m,void* key,uint64_t keyhash); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* set_find(const set* m,void* key,uint64_t keyhash); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int set_isempty(const set* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int set_count(const set* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void set_gc(set* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void set_clear(set* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct pair; ~~~~~~C struct pair { struct pair* next; uint64_t keyhash; void* key; void* value; void* super; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct map; ~~~~~~C struct map { array(pair*) array; int (*cmp)(void*, void*); uint64_t (*hash)(void*); int count:31; int is_sorted:1; array(pair*) sorted; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void map_init(map* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void map_free(map* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void map_insert(map* m,pair* p,void* key,void* value,uint64_t keyhash,void* super); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void map_erase(map* m,void* key,uint64_t keyhash); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* map_find(map* m,void* key,uint64_t keyhash); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int map_isempty(map* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int map_count(map* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void map_gc(map* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool map_sort(map* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void map_clear(map* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## math
🅂 union vec2i; ~~~~~~C union vec2i { struct { int X,Y; }; struct { int x,y; }; struct { int r,g; }; struct { int w,h; }; struct { int min,max; }; struct { int from,to; }; struct { int src,dst; }; int v2[2]; int array[1]; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 union vec3i; ~~~~~~C union vec3i { struct { int X,Y,Z; }; struct { int x,y,z; }; struct { int r,g,b; }; struct { int w,h,d; }; struct { int min,max; }; struct { int from,to,step; }; struct { int src,dst; }; int v3[3]; int array[1]; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 union vec2; ~~~~~~C union vec2 { struct { float X,Y; }; struct { float x,y; }; struct { float r,g; }; struct { float w,h; }; struct { float min,max; }; struct { float from,to; }; struct { float src,dst; }; float v2[2]; float array[1]; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 union vec3; ~~~~~~C union vec3 { struct { float X,Y,Z; }; struct { float x,y,z; }; struct { float r,g,b; }; struct { float min,max; }; struct { float from,to; }; vec2 xy; vec2 rg; vec2 wh; float v3[3]; float array[1]; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 union vec4; ~~~~~~C union vec4 { struct { float X,Y,Z,W; }; struct { float x,y,z,w; }; struct { float r,g,b,a; }; struct { float min,max; }; struct { float from,to; }; vec2 xy; vec3 xyz; vec2 rg; vec3 rgb; vec2 wh; vec3 whd; float v4[4]; float array[1]; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 union quat; ~~~~~~C union quat { struct { float X,Y,Z,W; }; struct { float x,y,z,w; }; vec3 xyz; vec4 xyzw; float v4[4]; float array[1]; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅃 typedef float mat33[9]; Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅃 typedef float mat34[12]; Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅃 typedef float mat44[16]; Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void randset(uint64_t state); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t rand64(void); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double randf(void); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int randi(int mini,int maxi); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float simplex1(float x); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float simplex2(vec2 xy); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float simplex3(vec3 xyz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float simplex4(vec4 xyzw); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float deg(float radians); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float rad(float degrees); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int mini(int a,int b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int maxi(int a,int b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int absi(int a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int clampi(int v,int a,int b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float minf(float a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float maxf(float a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float absf(float a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float pmodf(float a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float signf(float a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float clampf(float v,float a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float mixf(float a,float b,float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float slerpf(float a,float b,float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float fractf(float a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 ptr2(const float* a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 neg2(vec2 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 add2(vec2 a,vec2 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 sub2(vec2 a,vec2 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 mul2(vec2 a,vec2 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 div2(vec2 a,vec2 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 inc2(vec2 a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 dec2(vec2 a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 scale2(vec2 a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 pmod2(vec2 a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 min2(vec2 a,vec2 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 max2(vec2 a,vec2 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 abs2(vec2 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 floor2(vec2 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 fract2(vec2 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 ceil2(vec2 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float dot2(vec2 a,vec2 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 refl2(vec2 a,vec2 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float cross2(vec2 a,vec2 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float len2sq(vec2 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float len2(vec2 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 norm2(vec2 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int finite2(vec2 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 mix2(vec2 a,vec2 b,float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 clamp2(vec2 v,vec2 a,vec2 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 clamp2f(vec2 v,float a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 rnd3(void); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 ptr3(const float* a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 vec23(vec2 a,float z); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 neg3(vec3 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 add3(vec3 a,vec3 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 sub3(vec3 a,vec3 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 mul3(vec3 a,vec3 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 div3(vec3 a,vec3 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 inc3(vec3 a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 dec3(vec3 a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 scale3(vec3 a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 pmod3(vec3 a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 min3(vec3 a,vec3 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 max3(vec3 a,vec3 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 abs3(vec3 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 floor3(vec3 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 fract3(vec3 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 ceil3(vec3 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 cross3(vec3 a,vec3 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float dot3(vec3 a,vec3 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 refl3(vec3 a,vec3 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float len3sq(vec3 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float len3(vec3 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 norm3(vec3 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 norm3sq(vec3 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int finite3(vec3 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 mix3(vec3 a,vec3 b,float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 clamp3(vec3 v,vec3 a,vec3 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 clamp3f(vec3 v,float a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ortho3(vec3* left,vec3* up,vec3 v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 rotatex3(vec3 dir,float degrees); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 rotatey3(vec3 dir,float degrees); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 rotatez3(vec3 dir,float degrees); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 ptr4(const float* a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 vec34(vec3 a,float w); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 neg4(vec4 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 add4(vec4 a,vec4 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 sub4(vec4 a,vec4 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 mul4(vec4 a,vec4 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 div4(vec4 a,vec4 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 inc4(vec4 a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 dec4(vec4 a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 scale4(vec4 a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 pmod4(vec4 a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 min4(vec4 a,vec4 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 max4(vec4 a,vec4 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 abs4(vec4 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 floor4(vec4 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 fract4(vec4 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 ceil4(vec4 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float dot4(vec4 a,vec4 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 refl4(vec4 a,vec4 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float len4sq(vec4 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float len4(vec4 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 norm4(vec4 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 norm4sq(vec4 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int finite4(vec4 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 mix4(vec4 a,vec4 b,float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 clamp4(vec4 v,vec4 a,vec4 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 clamp4f(vec4 v,float a,float b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat idq(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat ptrq(const float* a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat vec3q(vec3 a,float w); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat vec4q(vec4 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat negq(quat a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat conjq(quat a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat addq(quat a,quat b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat subq(quat a,quat b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat mulq(quat p,quat q); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat scaleq(quat a,float s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat normq(quat a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float dotq(quat a,quat b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat mixq(quat a,quat b,float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat slerpq(quat a,quat b,float s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat rotationq(float deg,float x,float y,float z); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat mat44q(mat44 M); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 rotate3q_2(vec3 v,quat q); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 rotate3q(vec3 v,quat r); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 euler(quat q); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API quat eulerq(vec3 pyr_degrees); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void scaling33(mat33 m,float x,float y,float z); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void scale33(mat33 m,float x,float y,float z); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void id33(mat33 m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void extract33(mat33 m,const mat44 m4); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void copy33(mat33 m,const mat33 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 mulv33(mat33 m,vec3 v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void multiply33x2(mat33 m,const mat33 a,const mat33 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void rotation33(mat33 m,float degrees,float x,float y,float z); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void rotationq33(mat33 m,quat q); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void rotate33(mat33 r,float degrees,float x,float y,float z); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void compose33(mat33 m,quat r,vec3 s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void id34(mat34 m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void copy34(mat34 m,const mat34 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void scale34(mat34 m,float s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void add34(mat34 m,mat34 n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void muladd34(mat34 m,mat34 n,float s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void add34x2(mat34 m,mat34 n,mat34 o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void lerp34(mat34 m,mat34 n,mat34 o,float alpha); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void multiply34x2(mat34 m,const mat34 m0,const mat34 m1); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void multiply34(mat34 m,const mat34 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void multiply34x3(mat34 m,const mat34 a,const mat34 b,const mat34 c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void compose34(mat34 m,vec3 t,quat q,vec3 s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void invert34(mat34 m,const mat34 o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void id44(mat44 m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void identity44(mat44 m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void copy44(mat44 m,const mat44 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void multiply44x2(mat44 m,const mat44 a,const mat44 b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void multiply44x3(mat44 m,const mat44 a,const mat44 b,const mat44 c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void multiply44(mat44 m,const mat44 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ortho44(mat44 m,float l,float r,float b,float t,float n,float f); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void frustum44(mat44 m,float l,float r,float b,float t,float n,float f); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void perspective44(mat44 m,float fovy_degrees,float aspect,float nearp,float farp); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void lookat44(mat44 m,vec3 eye,vec3 center,vec3 up); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void translation44(mat44 m,float x,float y,float z); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void translate44(mat44 m,float x,float y,float z); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void relocate44(mat44 m,float x,float y,float z); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void rotationq44(mat44 m,quat q); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void rotation44(mat44 m,float degrees,float x,float y,float z); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void rotate44(mat44 m,float degrees,float x,float y,float z); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void scaling44(mat44 m,float x,float y,float z); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void scale44(mat44 m,float x,float y,float z); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void transpose44(mat44 m,const mat44 a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float det44(const mat44 M); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool invert44(mat44 T,const mat44 M); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void compose44(mat44 m,vec3 t,quat q,vec3 s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 transformq(const quat q,const vec3 v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 transform33(const mat33 m,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 transform344(const mat44 m,const vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 transform444(const mat44 m,const vec4 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool unproject44(vec3* out,vec3 xyd,vec4 viewport,mat44 mvp); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void print2i(vec2i v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void print3i(vec3i v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void print2(vec2 v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void print3(vec3 v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void print4(vec4 v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void printq(quat q); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void print33(float* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void print34(float* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void print44(float* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## obj
🄵 API uintptr_t id_make(void* ptr); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* id_handle(uintptr_t id); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void id_dispose(uintptr_t id); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool id_valid(uintptr_t id); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct obj; ~~~~~~C struct obj { }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct entity; ~~~~~~C struct entity { EN}; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 void* obj_malloc(unsigned sz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 void* obj_free(void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uintptr_t obj_header(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uintptr_t obj_id(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* obj_type(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned obj_typeid(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int obj_sizeof(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int obj_size(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* obj_data(void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* obj_datac(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* obj_payload(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* obj_zero(void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* obj_ref(void* oo); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* obj_unref(void* oo); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API obj* obj_detach(void* c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API obj* obj_attach(void* o,void* c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API obj* obj_root(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API obj* obj_parent(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API array(obj*)* obj_children(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API array(obj*)* obj_siblings(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int obj_dumptree(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* obj_setmeta(void* o,const char* key,const char* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* obj_meta(const void* o,const char* key); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* obj_setname(void* o,const char* name); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* obj_name(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* obj_swap(void* dst,void* src); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* obj_copy_fast(void* dst,const void* src); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* obj_copy(void* dst,const void* src); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int obj_comp_fast(const void* a,const void* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int obj_comp(const void* a,const void* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int obj_lesser(const void* a,const void* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int obj_greater(const void* a,const void* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int obj_equal(const void* a,const void* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t obj_hash(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool obj_hexdump(const void* oo); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int obj_print(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int obj_printf(const void* o,const char* text); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int obj_console(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* obj_saveini(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API obj* obj_mergeini(void* o,const char* ini); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API obj* obj_loadini(void* o,const char* ini); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* obj_savejson(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API obj* obj_mergejson(void* o,const char* json); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API obj* obj_loadjson(void* o,const char* json); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* obj_savebin(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API obj* obj_mergebin(void* o,const char* sav); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API obj* obj_loadbin(void* o,const char* sav); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* obj_savempack(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API obj* obj_mergempack(void* o,const char* sav); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API obj* obj_loadmpack(void* o,const char* sav); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int obj_push(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int obj_pop(void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool obj_addcomponent(entity* e,unsigned c,void* ptr); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool obj_hascomponent(entity* e,unsigned c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* obj_getcomponent(entity* e,unsigned c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool obj_delcomponent(entity* e,unsigned c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool obj_usecomponent(entity* e,unsigned c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool obj_offcomponent(entity* e,unsigned c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* entity_save(entity* self); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* obj_clone(const void* src); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* obj_merge(void* dst,const void* src); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* obj_mutate(void* dst,const void* src); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* obj_make(const char* str); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum OBJTYPE_BUILTINS; ~~~~~~C enum OBJTYPE_BUILTINS { OBJTYPE_obj = 0, OBJTYPE_entity = 1, OBJTYPE_vec2 = 2, OBJTYPE_vec3 = 3, OBJTYPE_vec4 = 4, OBJTYPE_quat = 5, OBJTYPE_mat33 = 6, OBJTYPE_mat34 = 7, OBJTYPE_mat44 = 8, OBJTYPE_vec2i = 9, OBJTYPE_vec3i = 10 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## ai
🄵 API int pathfind_astar(int width,int height,const unsigned* map,vec2i src,vec2i dst,vec2i* path,size_t maxpath); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅃 typedef bt_func; ~~~~~~C typedef int (*bt_func)(); ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct bt_t; ~~~~~~C struct bt_t { uint64_t type; int (*action)(); union { int argi; float argf; }; array(struct bt_t) children; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bt_t bt(const char* ini_file,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int bt_run(bt_t* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void bt_addfun(const char* name,int (*func)()); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bt_func bt_findfun(const char* name); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* bt_funcname(bt_func fn); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_bt(bt_t* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum SWARM_DISTANCE; ~~~~~~C enum SWARM_DISTANCE { SWARM_DISTANCE_LINEAR, SWARM_DISTANCE_INVERSE_LINEAR, SWARM_DISTANCE_QUADRATIC, SWARM_DISTANCE_INVERSE_QUADRATIC }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct boid_t; ~~~~~~C struct boid_t { vec3 position; vec3 velocity; vec3 acceleration; vec3 prev_position; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct swarm_t; ~~~~~~C struct swarm_t { array(boid_t) boids; float perception_radius; float separation_weight; SWARM_DISTANCE separation_type; float alignment_weight; float cohesion_weight; float steering_weight; array(vec3) steering_targets; SWARM_DISTANCE steering_target_type; float blindspot_angledeg; float max_acceleration; float max_velocity; map(vec3*, array(boid_t*)) voxel_cache_; float blindspot_angledeg_compare_value_; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API swarm_t swarm(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void swarm_update(swarm_t* self,float delta); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void swarm_update_acceleration_only(swarm_t* self); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void swarm_update_acceleration_and_velocity_only(swarm_t* self,float delta); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_swarm(swarm_t* self); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## audio
🄵 API void midi_send(unsigned midi_msg); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct audio_handle* audio_t; Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API audio_t audio_clip(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API audio_t audio_stream(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int audio_play(audio_t s,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int audio_play_gain(audio_t a,int flags,float gain); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int audio_play_gain_pitch(audio_t a,int flags,float gain,float pitch); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int audio_play_gain_pitch_pan(audio_t a,int flags,float gain,float pitch,float pan); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int audio_stop(audio_t a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void audio_loop(audio_t a,bool loop); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool audio_playing(audio_t a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float audio_volume_clip(float gain); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float audio_volume_stream(float gain); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float audio_volume_master(float gain); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int audio_mute(int mute); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int audio_muted(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_audio(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum AUDIO_FLAGS; ~~~~~~C enum AUDIO_FLAGS { AUDIO_1CH = 0, AUDIO_2CH = 1, AUDIO_8 = 2, AUDIO_16 = 0, AUDIO_32 = 4, AUDIO_FLOAT = 8, AUDIO_8KHZ = 16, AUDIO_11KHZ = 32, AUDIO_22KHZ = 0, AUDIO_32KHZ = 64, AUDIO_44KHZ = 128, AUDIO_MIXER_GAIN = 0, AUDIO_IGNORE_MIXER_GAIN = 256, AUDIO_MULTIPLE_INSTANCES = 0, AUDIO_SINGLE_INSTANCE = 512 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int audio_queue(const void* samples,int num_samples,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## collide
🅂 struct gjk_support; ~~~~~~C struct gjk_support { int aid,bid; vec3 a; vec3 b; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct gjk_vertex; ~~~~~~C struct gjk_vertex { vec3 a; vec3 b; vec3 p; int aid,bid; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct gjk_simplex; ~~~~~~C struct gjk_simplex { int max_iter,iter; int hit,cnt; gjk_vertex v[4]; float bc[4],D; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct gjk_result; ~~~~~~C struct gjk_result { int hit; vec3 p0; vec3 p1; float distance_squared; int iterations; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 int gjk(gjk_simplex* s,const gjk_support* sup,vec3* dv); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 gjk_result gjk_analyze(const gjk_simplex* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 gjk_result gjk_quad(float a_radius,float b_radius); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct line; ~~~~~~C struct line { vec3 a,b; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct sphere; ~~~~~~C struct sphere { vec3 c; float r; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct aabb; ~~~~~~C struct aabb { vec3 min,max; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct plane; ~~~~~~C struct plane { vec3 p,n; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct capsule; ~~~~~~C struct capsule { vec3 a,b; float r; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct ray; ~~~~~~C struct ray { vec3 p,d; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct triangle; ~~~~~~C struct triangle { vec3 p0,p1,p2; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct poly; ~~~~~~C struct poly { vec3* verts; int cnt; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 union frustum; ~~~~~~C union frustum { struct { vec4 l,r,t,b,n,f; }; vec4 pl[6]; float v[24]; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct hit; ~~~~~~C struct hit { union { float depth; struct { float t0,t1; }; struct { int hits; vec3 p0,p1; float distance2; int iterations; }; }; union { vec3 p; vec3 contact_point; }; union { vec3 n; vec3 normal; }; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float line_distance2_point(line l,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 line_closest_point(line l,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ray_test_plane(ray r,vec4 p4); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ray_test_triangle(ray r,triangle t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ray_test_sphere(float* t0,float* t1,ray r,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ray_test_aabb(float* t0,float* t1,ray r,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* ray_hit_plane(ray r,plane p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* ray_hit_triangle(ray r,triangle t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* ray_hit_sphere(ray r,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* ray_hit_aabb(ray r,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 sphere_closest_point(sphere s,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* sphere_hit_aabb(sphere s,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* sphere_hit_capsule(sphere s,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* sphere_hit_sphere(sphere a,sphere b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int sphere_test_aabb(sphere s,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int sphere_test_capsule(sphere s,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int sphere_test_poly(sphere s,poly p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int sphere_test_sphere(sphere a,sphere b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 aabb_closest_point(aabb a,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float aabb_distance2_point(aabb a,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int aabb_contains_point(aabb a,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* aabb_hit_aabb(aabb a,aabb b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* aabb_hit_capsule(aabb a,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* aabb_hit_sphere(aabb a,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int aabb_test_aabb(aabb a,aabb b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int aabb_test_capsule(aabb a,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int aabb_test_poly(aabb a,poly p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int aabb_test_sphere(aabb a,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float capsule_distance2_point(capsule c,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 capsule_closest_point(capsule c,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* capsule_hit_aabb(capsule c,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* capsule_hit_capsule(capsule a,capsule b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* capsule_hit_sphere(capsule c,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int capsule_test_aabb(capsule c,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int capsule_test_capsule(capsule a,capsule b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int capsule_test_poly(capsule c,poly p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int capsule_test_sphere(capsule c,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_sphere(poly p,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_aabb(poly p,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_capsule(poly p,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_poly(poly a,poly b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_sphere_transform(poly p,vec3 pos3,mat33 rot33,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_aabb_transform(poly p,vec3 apos3,mat33 arot33,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_capsule_transform(poly p,vec3 pos3,mat33 rot33,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_poly_transform(poly a,vec3 apos3,mat33 arot33,poly b,vec3 bpos3,mat33 brot33); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_sphere(struct gjk_result* res,poly p,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_aabb(struct gjk_result* res,poly p,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_capsule(struct gjk_result* res,poly p,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_poly(struct gjk_result* res,poly a,poly b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_sphere_transform(struct gjk_result* res,poly p,vec3 pos3,mat33 rot33,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_aabb_transform(struct gjk_result* res,poly p,vec3 pos3,mat33 rot33,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_capsule_transform(struct gjk_result* res,poly p,vec3 pos3,mat33 rot33,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_poly_transform(struct gjk_result* res,poly a,vec3 at3,mat33 ar33,poly b,vec3 bt3,mat33 br33); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 plane4(vec3 p,vec3 n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API frustum frustum_build(mat44 projview); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int frustum_test_sphere(frustum f,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int frustum_test_aabb(frustum f,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API poly poly_alloc(int cnt); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void poly_free(poly* p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API poly pyramid(vec3 from,vec3 to,float size); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API poly diamond(vec3 from,vec3 to,float size); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void collide_demo(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## cook
🄴 enum COOK_FLAGS; ~~~~~~C enum COOK_FLAGS { COOK_SYNC = 0, COOK_ASYNC = 1, COOK_CANCELABLE = 2, COOK_DEBUGLOG = 4 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void cook_config(const char* path_to_cook_ini); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool cook_start(const char* path_to_cook_ini,const char* masks,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void cook_stop(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void cook_cancel(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int cook_jobs(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int cook_progress(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool have_tools(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## data
🅂 union json_t; ~~~~~~C union json_t { char* s; double f; int64_t i; uintptr_t p; array(union json_t) arr; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool json_push(const char* json_content); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* json_key(const char* keypath); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API json_t* json_find(const char* type_keypath); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API json_t json_get(const char* type_keypath); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int json_count(const char* keypath); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool json_pop(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int xml_push(const char* xml_content); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* xml_string(char* key); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned xml_count(char* key); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API array(char) xml_blob(char* key); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void xml_pop(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool data_tests(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## extend
🄵 API void* dll(const char* filename,const char* symbol); Load dynamic library `file` and search for `symbol`. |Return| NULL if not found, found symbol otherwise.| |-----|------| |`filename`| path to dynamic library file. must contain extension.| |`symbol`| symbol name. must not be NULL.| !!! WARNING `filename` must contain extension ~~~~~~C linenumbers /* dll example */ bool (*plugin_init)(void) = dll("plugin.dll", "init"); assert(plugin_init()); ~~~~~~ See also: dlopen, dlclose
🄴 enum {; ~~~~~~C enum { SCRIPT_LUA = 1, SCRIPT_DEBUGGER = 2 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void script_init(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* script_init_env(unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool script_push(void* env); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void script_run(const char* script); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void script_runfile(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void script_bind_class(const char* objname,int num_methods,const char** c_names,void** c_functions); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void script_bind_function(const char* c_name,void* c_function); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void script_call(const char* lua_function); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool script_tests(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool script_pop(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## file
🄵 API array(char*) file_list(const char* pathmasks); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool file_write(const char* file,const void* ptr,int len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool file_append(const char* file,const void* ptr,int len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* file_read(const char* filename); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* file_load(const char* filename,int* len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t file_size(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool file_directory(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* file_pathabs(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* file_path(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* file_name(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* file_base(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* file_ext(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* file_id(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* file_normalize(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* file_counter(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t file_stamp(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t file_stamp10(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool file_exist(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool file_delete(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool file_copy(const char* src,const char* dst); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool file_move(const char* src,const char* dst); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API FILE* file_temp(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* file_tempname(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* file_md5(const char* file); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* file_sha1(const char* file); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* file_crc32(const char* file); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API array(char*) file_zip_list(const char* zipfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API array(char) file_zip_extract(const char* zipfile,const char* filename); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool file_zip_append(const char* zipfile,const char* filename,int clevel); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool file_zip_appendmem(const char* zipfile,const char* entryname,const void* ptr,unsigned len,int clevel); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void storage_mount(const char* folder); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void storage_read(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void storage_flush(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool vfs_mount(const char* mount_point); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API array(char*) vfs_list(const char* masks); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* vfs_read(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* vfs_load(const char* pathfile,int* size); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int vfs_size(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void vfs_reload(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* vfs_resolve(const char* fuzzyname); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API FILE* vfs_handle(const char* pathfile); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* cache_insert(const char* key,void* value,int size); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* cache_lookup(const char* key,int* size); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅃 typedef ini_t; ~~~~~~C typedef map(char*, char*) ini_t; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API ini_t ini(const char* filename); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API ini_t ini_from_mem(const char* data); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ini_destroy(ini_t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool ini_write(const char* filename,const char* section,const char* key,const char* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## font
🄴 enum FONT_FLAGS; ~~~~~~C enum FONT_FLAGS { FONT_512 = 0x0, FONT_1024 = 0x1, FONT_2048 = 0x2, FONT_4096 = 0x4, FONT_NO_OVERSAMPLE = 0x0, FONT_OVERSAMPLE_X = 0x08, FONT_OVERSAMPLE_Y = 0x10, FONT_ASCII = 0x800, FONT_AR = 0x001000, FONT_ZH = 0x002000, FONT_EL = 0x004000, FONT_EM = 0x008000, FONT_EU = 0x010000, FONT_HE = 0x020000, FONT_JP = 0x040000, FONT_KR = 0x080000, FONT_RU = 0x100000, FONT_TH = 0x200000, FONT_VI = 0x400000, FONT_CJK = FONT_ZH|FONT_JP|FONT_KR }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct font_metrics_t; ~~~~~~C struct font_metrics_t { float ascent; float descent; float linegap; float linedist; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void font_face(const char* face_tag,const char* filename_ttf,float font_size,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void font_face_from_mem(const char* tag,const void* ttf_buffer,unsigned ttf_len,float font_size,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void font_scale(const char* face_tag,int scale_index,float value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void font_scales(const char* face_tag,float h1,float h2,float h3,float h4,float h5,float h6); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void font_color(const char* color_tag,uint32_t color); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 font_xy(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void font_goto(float x,float y); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 font_print(const char* text); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 font_clip(const char* text,vec4 rect); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* font_wrap(const char* text,float max_width); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 font_rect(const char* text); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API font_metrics_t font_metrics(const char* text); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* font_colorize(const char* text,const char* comma_types,const char* comma_keywords); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 font_highlight(const char* text,const void* colors); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ui_font(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## input
🄵 API int input_use(int controller_id); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float input(int vk); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 input2(int vk); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float input_diff(int vk); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 input_diff2(int vk); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* input_string(int vk); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float input_frame(int vk,int Nth_frame); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 input_frame2(int vk,int Nth_frame); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int input_up(int vk); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int input_down(int vk); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int input_held(int vk); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int input_idle(int vk); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int input_click(int vk,int ms); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int input_click2(int vk,int ms); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int input_repeat(int vk,int ms); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int input_chord2(int vk1,int vk2); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int input_chord3(int vk1,int vk2,int vk3); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int input_chord4(int vk1,int vk2,int vk3,int vk4); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float input_filter_positive(float v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 input_filter_positive2(vec2 v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 input_filter_deadzone(vec2 v,float deadzone_treshold); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 input_filter_deadzone_4way(vec2 v,float deadzone_treshold); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum TOUCH_BUTTONS; ~~~~~~C enum TOUCH_BUTTONS { TOUCH_0, TOUCH_1 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void input_touch_area(unsigned button,vec2 begin_coord_ndc,vec2 end_coord_ndc); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 input_touch(unsigned button,float sensitivity); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 input_touch_delta(unsigned button,float sensitivity); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 input_touch_delta_from_origin(unsigned button,float sensitivity); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool input_touch_active(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void input_mappings(const char* filename); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char input_keychar(unsigned code); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int input_enum(const char* sym); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int input_anykey(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int input_eval(const char* expression); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void input_send(int vk); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API array(char) save_input(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool load_input(array(char) replay); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_keyboard(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_mouse(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_gamepad(int id); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_gamepads(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum INPUT_ENUMS; ~~~~~~C enum INPUT_ENUMS { KEY_0, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8, KEY_9, KEY_TICK, KEY_BS, KEY_ESC, KEY_TAB, KEY_Q, KEY_W, KEY_E, KEY_R, KEY_T, KEY_Y, KEY_U, KEY_I, KEY_O, KEY_P, KEY_CAPS, KEY_A, KEY_S, KEY_D, KEY_F, KEY_G, KEY_H, KEY_J, KEY_K, KEY_L, KEY_ENTER, KEY_LSHIFT, KEY_Z, KEY_X, KEY_C, KEY_V, KEY_B, KEY_N, KEY_M, KEY_RSHIFT, KEY_UP, KEY_LCTRL, KEY_LALT, KEY_SPACE, KEY_RALT, KEY_RCTRL, KEY_LEFT, KEY_DOWN, KEY_RIGHT, KEY_INS, KEY_HOME, KEY_PGUP, KEY_DEL, KEY_END, KEY_PGDN, KEY_LMETA, KEY_RMETA, KEY_MENU, KEY_PRINT, KEY_PAUSE, KEY_SCROLL, KEY_NUMLOCK, KEY_MINUS, KEY_EQUAL, KEY_LSQUARE, KEY_RSQUARE, KEY_SEMICOLON, KEY_QUOTE, KEY_HASH, KEY_BAR, KEY_COMMA, KEY_DOT, KEY_SLASH, KEY_F1, KEY_F2, KEY_F3, KEY_F4, KEY_F5, KEY_F6, KEY_F7, KEY_F8, KEY_F9, KEY_F10, KEY_F11, KEY_F12, KEY_PAD1, KEY_PAD2, KEY_PAD3, KEY_PAD4, KEY_PAD5, KEY_PAD6, KEY_PAD7, KEY_PAD8, KEY_PAD9, KEY_PAD0, KEY_PADADD, KEY_PADSUB, KEY_PADMUL, KEY_PADDIV, KEY_PADDOT, KEY_PADENTER, MOUSE_L, MOUSE_M, MOUSE_R, GAMEPAD_CONNECTED, GAMEPAD_A, GAMEPAD_B, GAMEPAD_X, GAMEPAD_Y, GAMEPAD_UP, GAMEPAD_DOWN, GAMEPAD_LEFT, GAMEPAD_RIGHT, GAMEPAD_MENU, GAMEPAD_START, GAMEPAD_LB, GAMEPAD_RB, GAMEPAD_LTHUMB, GAMEPAD_RTHUMB, WINDOW_BLUR, WINDOW_FOCUS, WINDOW_CLOSE, WINDOW_MINIMIZE, WINDOW_MAXIMIZE, WINDOW_FULLSCREEN, WINDOW_WINDOWED, GAMEPAD_LPAD, GAMEPAD_LPADX = GAMEPAD_LPAD, GAMEPAD_LPADY, GAMEPAD_RPAD, GAMEPAD_RPADX = GAMEPAD_RPAD, GAMEPAD_RPADY, GAMEPAD_LTRIGGER, GAMEPAD_LT = GAMEPAD_LTRIGGER, GAMEPAD_RTRIGGER, GAMEPAD_RT = GAMEPAD_RTRIGGER, GAMEPAD_BATTERY, MOUSE, MOUSE_X = MOUSE, MOUSE_Y, MOUSE_W, TOUCH_X1, TOUCH_Y1, TOUCH_X2, TOUCH_Y2, WINDOW_RESIZE, WINDOW_RESIZEX = WINDOW_RESIZE, WINDOW_RESIZEY, WINDOW_ORIENTATION, WINDOW_BATTERY, GAMEPAD_GUID, GAMEPAD_NAME }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum INPUT_ALIASES; ~~~~~~C enum INPUT_ALIASES { KEY_SHIFT = KEY_LSHIFT, KEY_ALT = KEY_LALT, KEY_CTRL = KEY_LCTRL }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## memory
🄵 API void* xrealloc(void* p,size_t sz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API size_t xsize(void* p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* xstats(void); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* stack(int bytes); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* watch(void* ptr,int sz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* forget(void* ptr); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## network
🄵 API array(char) download(const char* url); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int download_file(FILE* out,const char* url); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int portname(const char* service_name,unsigned retries); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool network_tests(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int udp_bind(const char* address,const char* port); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int udp_open(const char* address,const char* port); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int udp_send(int,const void* buf,int len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int udp_sendto(int,const char* ip,const char* port,const void* buf,int len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int udp_recv(int,void* buf,int len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int udp_peek(int); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int tcp_open(const char* address,const char* port); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int tcp_bind(const char* interface_,const char* port,int queue); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int tcp_peek(int,int (*callback)(int)); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int tcp_send(int,const void* buf,int len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int tcp_recv(int,void* buf,int len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* tcp_host(int); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* tcp_port(int); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int tcp_close(int); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int tcp_debug(int); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## track
🄵 API int track_init(char const* host,char const* port); Initialises telemetry and connects to the specified endpoint. |Return| error code| |-----|------| |`host`| IP address / domain of the endpoint| |`port`| service name / port| See also: [track_event](#track_event), [track_ident](#track_ident), [track_group](#track_group)
🄵 API int track_destroy(void); Destroys the currently established telemetry socket. No parameters needed for this function. Returns: error code
🄵 API int track_event(char const* event_id,char const* user_id,char const* json_payload); Sends an EVENT message to the server. |Return| error code| |-----|------| |`event_id`| Identifier for the event type.| |`user_id`| Identifier for the user.| |`json_payload`| JSON-formatted metadata for the event.|
🄵 API int track_ident(char const* user_id,char const* traits); Sends user identification to the server. |Return| error code| |-----|------| |`user_id`| Identifier for the user.| |`traits`| JSON-formatted traits or attributes of the user.|
🄵 API int track_group(char const* user_id,char const* group_id,char const* traits); Associates a user to a group. |Return| error code| |-----|------| |`user_id`| Identifier for the user.| |`group_id`| Identifier for the group.| |`traits`| JSON-formatted traits or attributes of the group.|
🅂 struct track_prop; ~~~~~~C struct track_prop { char const* key; char const* val; }; ~~~~~~ Structure to represent key-value pairs for event properties.
🄵 API int track_event_props(char const* event_id,char const* user_id,const track_prop* props); Sends an EVENT message with custom properties. |Return| error code| |-----|------| |`event_id`| Identifier for the event type.| |`user_id`| Identifier for the user.| |`props`| Array of key-value pairs. Terminates when key is set to NULL.|
## netsync
🄴 enum {; ~~~~~~C enum { NETWORK_BIND = 2, NETWORK_CONNECT = 4, NETWORK_NOFAIL = 8 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void network_create(unsigned max_clients,const char* ip,const char* port,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { NETWORK_SEND = 2, NETWORK_RECV = 4 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { NETWORK_UNRELIABLE = 8, NETWORK_UNORDERED = 16 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* network_buffer(void* ptr,unsigned sz,uint64_t flags,int64_t rank); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char** network_sync(unsigned timeout_ms); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { NETWORK_EVENT_CONNECT, NETWORK_EVENT_DISCONNECT, NETWORK_EVENT_RECEIVE, NETWORK_EVENT_DISCONNECT_TIMEOUT, NETWORK_EVENT_RPC = 10, NETWORK_EVENT_RPC_RESP }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int network_event(const char* msg,int* errcode,char** errstr); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { NETWORK_RANK = 0 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { NETWORK_PING = 1 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { NETWORK_PORT = 2, NETWORK_IP, NETWORK_LIVE }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { NETWORK_SEND_MS = 4 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { NETWORK_BUF_CLEAR_ON_JOIN = 5 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { NETWORK_USERID = 7, NETWORK_COUNT, NETWORK_CAPACITY }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int64_t network_get(uint64_t key); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int64_t network_put(uint64_t key,int64_t value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void network_rpc(const char* signature,void* function); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void network_rpc_send_to(int64_t rank,unsigned id,const char* cmdline); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void network_rpc_send(unsigned id,const char* cmdline); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool server_bind(int max_clients,int port); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char** server_poll(unsigned timeout_ms); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char** client_poll(unsigned timeout_ms); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_broadcast_bin_flags(const void* ptr,int len,uint64_t flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_broadcast_bin(const void* ptr,int len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_broadcast_flags(const char* msg,uint64_t flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_broadcast(const char* msg); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_terminate(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_send(int64_t handle,const char* msg); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_send_bin(int64_t handle,const void* ptr,int len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_drop(int64_t handle); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int64_t client_join(const char* ip,int port); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## pack
🄴 enum COMPRESS_FLAGS; ~~~~~~C enum COMPRESS_FLAGS { COMPRESS_RAW = 0, COMPRESS_PPP = (1<<4), COMPRESS_ULZ = (2<<4), COMPRESS_LZ4 = (3<<4), COMPRESS_CRUSH = (4<<4), COMPRESS_DEFLATE = (5<<4), COMPRESS_LZP1 = (6<<4), COMPRESS_LZMA = (7<<4), COMPRESS_BALZ = (8<<4), COMPRESS_LZW3 = (9<<4), COMPRESS_LZSS = (10<<4), COMPRESS_BCM = (11<<4), COMPRESS_ZLIB = (12<<4) }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned zbounds(unsigned inlen,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned zencode(void* out,unsigned outlen,const void* in,unsigned inlen,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned zexcess(unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned zdecode(void* out,unsigned outlen,const void* in,unsigned inlen,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* interleave(void* out,const void* list,int list_count,int sizeof_item,unsigned columns); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned cobs_bounds(unsigned len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned cobs_encode(const void* in,unsigned inlen,void* out,unsigned outlen); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned cobs_decode(const void* in,unsigned inlen,void* out,unsigned outlen); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned base92_encode(const void* in,unsigned inlen,void* out,unsigned outlen); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned base92_decode(const void* in,unsigned inlen,void* out,unsigned outlen); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned base92_bounds(unsigned inlen); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned netstring_bounds(unsigned inlen); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned netstring_encode(const char* in,unsigned inlen,char* out,unsigned outlen); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned netstring_decode(const char* in,unsigned inlen,char* out,unsigned outlen); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void delta8_encode(void* buffer,unsigned count); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void delta8_decode(void* buffer,unsigned count); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void delta16_encode(void* buffer,unsigned count); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void delta16_decode(void* buffer,unsigned count); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void delta32_encode(void* buffer,unsigned count); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void delta32_decode(void* buffer,unsigned count); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void delta64_encode(void* buffer,unsigned count); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void delta64_decode(void* buffer,unsigned count); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t zig64(int64_t value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int64_t zag64(uint64_t value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint32_t enczig32u(int32_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t enczig64u(int64_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int32_t deczig32i(uint32_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int64_t deczig64i(uint64_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* arc4(void* buffer,unsigned buflen,const void* pass,unsigned passlen); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t crc64(uint64_t h,const void* ptr,uint64_t len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void entropy(void* buf,unsigned n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int semver(int major,int minor,int patch); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int semvercmp(int v1,int v2); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct byte2; ~~~~~~C struct byte2 { uint8_t x,y; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct byte3; ~~~~~~C struct byte3 { uint8_t x,y,z; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct byte4; ~~~~~~C struct byte4 { uint8_t x,y,z,w; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct int2; ~~~~~~C struct int2 { int x,y; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct int3; ~~~~~~C struct int3 { int x,y,z; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct int4; ~~~~~~C struct int4 { int x,y,z,w; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct uint2; ~~~~~~C struct uint2 { unsigned int x,y; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct uint3; ~~~~~~C struct uint3 { unsigned int x,y,z; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct uint4; ~~~~~~C struct uint4 { unsigned int x,y,z,w; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct float2; ~~~~~~C struct float2 { float x,y; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct float3; ~~~~~~C struct float3 { float x,y,z; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct float4; ~~~~~~C struct float4 { float x,y,z,w; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct double2; ~~~~~~C struct double2 { double x,y; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct double3; ~~~~~~C struct double3 { double x,y,z; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct double4; ~~~~~~C struct double4 { double x,y,z,w; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* cc4str(unsigned cc); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* cc8str(uint64_t cc); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { #define _(a, b, c, d, e) cc__##a, cc__##b, cc__##c, cc__##d, cc__##e cc__1 = '1', _(2, 3, 4, 5, 6), _(7, 8, 9, 0, _), cc__ = ' ', cc__A = 'A', _(B, C, D, E, F), _(G, H, I, J, K), _(L, M, N, O, P), _(Q, R, S, T, U), _(V, W, X, Y, Z), cc__a = 'a', _(b, c, d, e, f), _(g, h, i, j, k), _(l, m, n, o, p), _(q, r, s, t, u), _(v, w, x, y, z), #undef _ }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* ftoa1(float v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* ftoa2(vec2 v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* ftoa3(vec3 v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* ftoa4(vec4 v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float atof1(const char* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 atof2(const char* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 atof3(const char* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 atof4(const char* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* itoa1(int v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* itoa2(vec2i v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* itoa3(vec3i v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int atoi1(const char* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2i atoi2(const char* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3i atoi3(const char* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int is_big(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int is_little(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint16_t swap16(uint16_t x); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint32_t swap32(uint32_t x); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t swap64(uint64_t x); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float swap32f(float n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double swap64f(double n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void swapf(float* a,float* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void swapf2(vec2* a,vec2* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void swapf3(vec3* a,vec3* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void swapf4(vec4* a,vec4* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint16_t lil16(uint16_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint32_t lil32(uint32_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t lil64(uint64_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float lil32f(float n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double lil64f(double n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint16_t big16(uint16_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint32_t big32(uint32_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t big64(uint64_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float big32f(float n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double big64f(double n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint16_t* lil16p(void* p,int sz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint32_t* lil32p(void* p,int sz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t* lil64p(void* p,int sz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float* lil32pf(void* p,int sz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double* lil64pf(void* p,int sz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint16_t* big16p(void* p,int sz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint32_t* big32p(void* p,int sz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t* big64p(void* p,int sz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float* big32pf(void* p,int sz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double* big64pf(void* p,int sz); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅃 typedef uint16_t half; Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float half_to_float(half value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API half float_to_half(float value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void pack16i(uint8_t* buf,uint16_t i,int swap); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void pack32i(uint8_t* buf,uint32_t i,int swap); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void pack64i(uint8_t* buf,uint64_t i,int swap); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int16_t unpack16i(const uint8_t* buf,int swap); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int32_t unpack32i(const uint8_t* buf,int swap); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int64_t unpack64i(const uint8_t* buf,int swap); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t pack754(long double f,unsigned bits,unsigned expbits); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API long double unpack754(uint64_t i,unsigned bits,unsigned expbits); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t pack64uv(uint8_t* buffer,uint64_t value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t unpack64uv(const uint8_t* buffer,uint64_t* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t pack64iv(uint8_t* buffer,int64_t value_); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t unpack64iv(const uint8_t* buffer,int64_t* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgpack(const char* fmt,...); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgunpack(const char* fmt,...); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgpack_new(uint8_t* w,size_t l); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgpack_nil(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgpack_chr(bool n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgpack_uns(uint64_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgpack_int(int64_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgpack_str(const char* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgpack_bin(const char* s,size_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgpack_flt(double g); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgpack_ext(uint8_t key,void* val,size_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgpack_arr(uint32_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgpack_map(uint32_t n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgpack_eof(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int msgpack_err(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool msgunpack_new(const void* opaque_or_FILE,size_t bytes); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool msgunpack_nil(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool msgunpack_chr(bool* chr); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool msgunpack_uns(uint64_t* uns); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool msgunpack_int(int64_t* sig); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool msgunpack_str(char** str); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool msgunpack_bin(void** bin,uint64_t* len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool msgunpack_flt(float* flt); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool msgunpack_dbl(double* dbl); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool msgunpack_ext(uint8_t* key,void** val,uint64_t* len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool msgunpack_arr(uint64_t* len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool msgunpack_map(uint64_t* len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool msgunpack_eof(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool msgunpack_err(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int savef(FILE* file,const char* format,...); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int saveb(unsigned char* buf,const char* format,...); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int loadf(FILE* file,const char* format,...); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int loadb(const unsigned char* buf,const char* format,...); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## profile
🄼 macro profile(section) Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄼 macro profile_incstat(name,accum) Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄼 macro profile_setstat(name,value) Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int profiler_enable(bool on); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## reflect
🅂 struct reflect_t; ~~~~~~C struct reflect_t { unsigned id,objtype; union { unsigned sz; unsigned member_offset; unsigned enum_value; }; const char* name; const char* info; void* addr; unsigned parent; const char* type; unsigned bytes; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned enum_find(const char* E); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* function_find(const char* F); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API reflect_t member_find(const char* T,const char* M); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* member_findptr(void* obj,const char* T,const char* M); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API array(reflect_t)* members_find(const char* T); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void type_inscribe(const char* TY,unsigned TYsz,const char* infos); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void enum_inscribe(const char* E,unsigned Eval,const char* infos); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void struct_inscribe(const char* T,unsigned Tsz,unsigned OBJTYPEid,const char* infos); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void member_inscribe(const char* T,const char* M,unsigned Msz,const char* infos,const char* type,unsigned bytes); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void function_inscribe(const char* F,void* func,const char* infos); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* symbol_naked(const char* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_reflect(const char* mask); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## render
🅃 typedef unsigned handle; Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct renderstate_t; ~~~~~~C struct renderstate_t { float clear_color[4]; bool color_mask[4]; double clear_depth; bool depth_test_enabled; bool depth_write_enabled; unsigned depth_func; bool polygon_offset_enabled; float polygon_offset; float polygon_offset_factor; bool blend_enabled; unsigned blend_func; unsigned blend_src; unsigned blend_dst; bool cull_face_enabled; unsigned cull_face_mode; bool stencil_test_enabled; unsigned stencil_func; unsigned stencil_op_fail,stencil_op_zfail,stencil_op_zpass; int stencil_ref; unsigned stencil_read_mask; unsigned stencil_write_mask; unsigned front_face; bool line_smooth_enabled; float line_width; bool point_size_enabled; float point_size; unsigned polygon_mode_face; unsigned polygon_mode_draw; bool scissor_test_enabled; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API renderstate_t renderstate(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool renderstate_compare(const renderstate_t* stateA,const renderstate_t* stateB); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void renderstate_apply(const renderstate_t* state); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned rgba(uint8_t r,uint8_t g,uint8_t b,uint8_t a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned bgra(uint8_t b,uint8_t g,uint8_t r,uint8_t a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned rgbaf(float r,float g,float b,float a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned bgraf(float b,float g,float r,float a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned alpha(unsigned rgba); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned atorgba(const char* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* rgbatoa(unsigned rgba); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum IMAGE_FLAGS; ~~~~~~C enum IMAGE_FLAGS { IMAGE_R = 0x01000, IMAGE_RG = 0x02000, IMAGE_RGB = 0x04000, IMAGE_RGBA = 0x08000, IMAGE_FLIP = 0x10000, IMAGE_FLOAT = 0x20000 }; ~~~~~~ Flags when constructing the image_t type. |Enum|| |-----|------| |`IMAGE_R`| 1-channel image (R)| |`IMAGE_RG`| 2-channel image (R,G)| |`IMAGE_RGB`| 3-channel image (R,G,B)| |`IMAGE_RGBA`| 4-channel image (R,G,B,A)| |`IMAGE_FLIP`| Flip image vertically| |`IMAGE_FLOAT`| Float pixel components| See also: [image](#image), [image_from_mem](#image_from_mem)
🅂 struct image_t; ~~~~~~C struct image_t { union { unsigned x,w; }; union { unsigned y,h; }; union { unsigned n,comps; }; union { void* pixels; uint8_t* pixels8; uint16_t* pixels16; uint32_t* pixels32; float* pixelsf; }; }; ~~~~~~ Type that holds linear uncompressed bitmap of any given dimensions. |Member|| |-----|------| |`w,h`| image dimensions in pixels. `x,y` alias.| |`comps`| number of components per pixel. `n` alias.| |`pixels`| untyped pointer to linear bitmap data. typed pointers use `pixels8/16/32/f` aliases.| See also: [texture_t](#texture_t)
🄵 API image_t image(const char* pathfile,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API image_t image_from_mem(const void* ptr,int len,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void image_destroy(image_t* img); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum TEXTURE_FLAGS; ~~~~~~C enum TEXTURE_FLAGS { TEXTURE_BC1 = 8, TEXTURE_BC2 = 16, TEXTURE_BC3 = 32, TEXTURE_NEAREST = 0, TEXTURE_LINEAR = 64, TEXTURE_MIPMAPS = 128, TEXTURE_ANISOTROPY = 1<<30, TEXTURE_CLAMP = 0, TEXTURE_BORDER = 0x100, TEXTURE_REPEAT = 0x200, TEXTURE_BYTE = 0, TEXTURE_FLOAT = IMAGE_FLOAT, TEXTURE_COLOR = 0, TEXTURE_DEPTH = 0x800, TEXTURE_R = IMAGE_R, TEXTURE_RG = IMAGE_RG, TEXTURE_RGB = IMAGE_RGB, TEXTURE_RGBA = IMAGE_RGBA, TEXTURE_FLIP = IMAGE_FLIP, TEXTURE_SRGB = 1<<24, TEXTURE_BGR = 1<<25, TEXTURE_BGRA = TEXTURE_BGR, TEXTURE_ARRAY = 1<<26 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct texture_t; ~~~~~~C struct texture_t { union { unsigned x,w; }; union { unsigned y,h; }; union { unsigned z,d; }; union { unsigned n,bpp; }; handle id; unsigned texel_type; unsigned flags; char* filename; bool transparent; unsigned fbo; union { unsigned userdata,delay; }; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API texture_t texture_compressed(const char* filename,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API texture_t texture_compressed_from_mem(const void* data,int len,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API texture_t texture(const char* filename,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API texture_t texture_from_mem(const void* ptr,int len,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API texture_t texture_create(unsigned w,unsigned h,unsigned n,const void* pixels,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API texture_t texture_checker(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void texture_destroy(texture_t* t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int texture_unit(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned texture_update(texture_t* t,unsigned w,unsigned h,unsigned n,const void* pixels,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool texture_rec_begin(texture_t* t,unsigned w,unsigned h); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void texture_rec_end(texture_t* t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API texture_t brdf_lut(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct colormap_t; ~~~~~~C struct colormap_t { vec4 color; texture_t* texture; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool colormap(colormap_t* cm,const char* texture_name,bool load_as_srgb); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void fullscreen_quad_rgb(texture_t texture_rgb); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void fullscreen_quad_rgb_flipped(texture_t texture); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void fullscreen_quad_ycbcr(texture_t texture_YCbCr[3]); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void fullscreen_quad_ycbcr_flipped(texture_t texture_YCbCr[3]); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct cubemap_t; ~~~~~~C struct cubemap_t { unsigned id; vec3 sh[9]; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API cubemap_t cubemap(const image_t image,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API cubemap_t cubemap6(const image_t images[6],int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void cubemap_destroy(cubemap_t* c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API cubemap_t* cubemap_get_active(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned fbo(unsigned texture_color,unsigned texture_depth,int wr_flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void fbo_bind(unsigned id); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void fbo_unbind(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void fbo_destroy(unsigned id); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct shadowmap_t; ~~~~~~C struct shadowmap_t { mat44 shadowmatrix; mat44 mvp; mat44 mv; mat44 proj; vec4 light_position; int saved_fb; int saved_viewport[4]; handle fbo,texture; int texture_width; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API shadowmap_t shadowmap(int texture_width); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shadowmap_destroy(shadowmap_t* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shadowmap_set_shadowmatrix(shadowmap_t* s,vec3 aLightPos,vec3 aLightAt,vec3 aLightUp,const mat44 projection); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shadowmap_begin(shadowmap_t* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shadowmap_end(shadowmap_t* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shadowmatrix_proj(mat44 shm_proj,float aLightFov,float znear,float zfar); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shadowmatrix_ortho(mat44 shm_proj,float left,float right,float bottom,float top,float znear,float zfar); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned shader(const char* vs,const char* fs,const char* attribs,const char* fragcolor,const char* defines); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned shader_geom(const char* gs,const char* vs,const char* fs,const char* attribs,const char* fragcolor,const char* defines); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned shader_bind(unsigned program); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int shader_uniform(const char* name); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_bool(const char* uniform,bool i); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_int(const char* uniform,int i); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_uint(const char* uniform,unsigned i); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_float(const char* uniform,float f); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_vec2(const char* uniform,vec2 v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_vec3(const char* uniform,vec3 v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_vec3v(const char* uniform,int count,vec3* v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_vec4(const char* uniform,vec4 v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_mat44(const char* uniform,mat44 m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_texture(const char* sampler,texture_t texture); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_texture_unit(const char* sampler,unsigned texture,unsigned unit); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_colormap(const char* name,colormap_t cm); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned shader_get_active(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_destroy(unsigned shader); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned shader_properties(unsigned shader); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char** shader_property(unsigned shader,unsigned property_no); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_apply_param(unsigned shader,unsigned param_no); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void shader_apply_params(unsigned shader,const char* parameter_mask); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_shader(unsigned shader); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_shaders(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum BUFFER_MODE; ~~~~~~C enum BUFFER_MODE { BUFFER_READ, BUFFER_WRITE, BUFFER_READ_WRITE }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned compute(const char* cs); Loads the compute shader and compiles a GL program. |Return| GL program, 0 if failed.| |-----|------| |`cs`| shader source code|
🄵 API void compute_dispatch(unsigned wx,unsigned wy,unsigned wz); Runs the compute program with provided global workgroup size on x y z grid. |Return|| |-----|------| |`wx`| global workgroup size x| |`wy`| global workgroup size y| |`wz`| global workgroup size z|
🄵 API void shader_image(texture_t t,unsigned unit,unsigned level,int layer,unsigned access); Binds a texture to the program. |Return|| |-----|------| |`t`| texture to bind| |`unit`| texture unit bind index| |`level`| texture level access (MIP0, MIP1, ...)| |`layer`| bind layer| |`access`| texture access policy| !!! WARNING Set `layer` to -1 to disable layered access. See also: [BUFFER_MODE](#BUFFER_MODE)
🄵 API void shader_image_unit(unsigned texture,unsigned unit,unsigned level,int layer,unsigned texel_type,unsigned access); Binds a texture to the program. |Return|| |-----|------| |`texture`| GL texture handle| |`unit`| texture unit bind index| |`level`| texture level access (MIP0, MIP1, ...)| |`layer`| bind layer| |`texel_type`| image texel format (RGBA8, RGBA32F, ...)| |`access`| texture access policy| !!! WARNING Set `layer` to -1 to disable layered access. See also: [BUFFER_MODE](#BUFFER_MODE)
🄵 API void write_barrier(); Blocks main thread until all memory operations are done by the GPU.
🄵 API void write_barrier_image(); Blocks main thread until all image operations are done by the GPU.
🄴 enum SSBO_USAGE; ~~~~~~C enum SSBO_USAGE { STATIC_DRAW, STATIC_READ, STATIC_COPY, DYNAMIC_DRAW, DYNAMIC_READ, DYNAMIC_COPY, STREAM_DRAW, STREAM_READ, STREAM_COPY }; ~~~~~~ `STATIC`, `DYNAMIC` AND `STREAM` specify the frequency at which we intend to access the data. `DRAW` favors CPU->GPU operations. `READ` favors GPU->CPU operations. `COPY` favors CPU->GPU->CPU operations.
🄴 enum SSBO_ACCESS; ~~~~~~C enum SSBO_ACCESS { SSBO_READ = BUFFER_READ, SSBO_WRITE = BUFFER_WRITE, SSBO_READ_WRITE = BUFFER_READ_WRITE }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned ssbo_create(const void* data,int len,unsigned usage); Create Shader Storage Buffer Object. |Return|| |-----|------| |`data`| optional pointer to data to upload| |`len`| buffer size, must not be 0| |`usage`| buffer usage policy| !!! WARNING `data` can be NULL See also: [SSBO_USAGE](#SSBO_USAGE)
🄵 API void ssbo_destroy(unsigned ssbo); Destroys an SSBO resource.
🄵 API void ssbo_update(int offset,int len,const void* data); Updates an existing SSBO. |Return|| |-----|------| |`offset`| offset to buffer memory| |`len`| amount of data to write| |`data`| pointer to data we aim to write, can not be NULL| !!! WARNING `len` can not exceed the original buffer size specified in `ssbo_create` !
🄵 API void ssbo_bind(unsigned ssbo,unsigned unit); Bind an SSBO resource to the provided bind unit index. |Return|| |-----|------| |`ssbo`| resource object| |`unit`| bind unit index|
🄵 API void* ssbo_map(unsigned access); Map an SSBO resource to the system memory. |Return| pointer to physical memory of the buffer| |-----|------| |`access`| buffer access policy| !!! WARNING Make sure to `ssbo_unmap` the buffer once done working with it. See also: [SSBO_ACCESS](#SSBO_ACCESS)
🄵 API void ssbo_unmap(); Unmaps an SSBO resource. !!! WARNING Pointer provided by `ssbo_map` becomes invalid.
🄵 API void ssbo_unbind(); Unbinds an SSBO resource.
🄴 enum MESH_FLAGS; ~~~~~~C enum MESH_FLAGS { MESH_STATIC = 0, MESH_STREAM = 1, MESH_TRIANGLE_STRIP = 2 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct mesh_t; ~~~~~~C struct mesh_t { handle vao,vbo,ibo; unsigned vertex_count; unsigned index_count; unsigned flags; array(int) lod_collapse_map; union { array(unsigned) in_index; array(vec3i) in_index3; }; union { array(unsigned) out_index; array(vec3i) out_index3; }; union { array(float) in_vertex; array(vec3) in_vertex3; }; union { array(float) out_vertex; array(vec3) out_vertex3; }; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API mesh_t mesh(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void mesh_update(mesh_t* m,const char* format,int vertex_stride,int vertex_count,const void* interleaved_vertex_data,int index_count,const void* index_data,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void mesh_render(mesh_t* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void mesh_render_prim(mesh_t* sm,unsigned prim); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void mesh_destroy(mesh_t* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API aabb mesh_bounds(mesh_t* m); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum SKYBOX_FLAGS; ~~~~~~C enum SKYBOX_FLAGS { SKYBOX_RAYLEIGH, SKYBOX_CUBEMAP, SKYBOX_PBR }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct skybox_t; ~~~~~~C struct skybox_t { handle program; mesh_t geometry; cubemap_t cubemap; int flags; int framebuffers[6]; int textures[6]; float* pixels; texture_t sky,refl,env; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API skybox_t skybox(const char* panorama_or_cubemap_folder,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API skybox_t skybox_pbr(const char* sky_map,const char* refl_map,const char* env_map); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int skybox_render(skybox_t* sky,mat44 proj,mat44 view); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void skybox_destroy(skybox_t* sky); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void skybox_mie_calc_sh(skybox_t* sky,float sky_intensity); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void skybox_sh_reset(skybox_t* sky); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void skybox_sh_add_light(skybox_t* sky,vec3 light,vec3 dir,float strength); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int skybox_push_state(skybox_t* sky,mat44 proj,mat44 view); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int skybox_pop_state(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum MATERIAL_ENUMS; ~~~~~~C enum MATERIAL_ENUMS { MATERIAL_CHANNEL_DIFFUSE, MATERIAL_CHANNEL_NORMALS, MATERIAL_CHANNEL_SPECULAR, MATERIAL_CHANNEL_ALBEDO, MATERIAL_CHANNEL_ROUGHNESS, MATERIAL_CHANNEL_METALLIC, MATERIAL_CHANNEL_AO, MATERIAL_CHANNEL_AMBIENT, MATERIAL_CHANNEL_EMISSIVE, MAX_CHANNELS_PER_MATERIAL }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct material_layer_t; ~~~~~~C struct material_layer_t { char texname[32]; float value; colormap_t map; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct material_t; ~~~~~~C struct material_t { char* name; material_layer_t layer[MAX_CHANNELS_PER_MATERIAL]; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { SHADERTOY_FLIP_Y = 2, SHADERTOY_IGNORE_FBO = 4, SHADERTOY_IGNORE_MOUSE = 8 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct shadertoy_t; ~~~~~~C struct shadertoy_t { handle vao,program; int uniforms[32]; int texture_channels[4]; int frame; uint64_t t; texture_t tx; vec2i dims; int flags; vec4 mouse; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API shadertoy_t shadertoy(const char* shaderfile,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API shadertoy_t* shadertoy_render(shadertoy_t* s,float delta); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum ANIM_FLAGS; ~~~~~~C enum ANIM_FLAGS { ANIM_LOOP = 1, ANIM_DONT_RESET_AFTER_USE = 2 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct anim_t; ~~~~~~C struct anim_t { int from; int to; float blendtime; unsigned flags; float curframe; unsigned easing; float alpha; float timer; bool active; vec3 pose; char* name; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API anim_t clip(float minframe,float maxframe,float blendtime,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API anim_t loop(float minframe,float maxframe,float blendtime,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API array(anim_t) animlist(const char* filename); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum MODEL_FLAGS; ~~~~~~C enum MODEL_FLAGS { MODEL_NO_ANIMATIONS = 1, MODEL_NO_MESHES = 2, MODEL_NO_TEXTURES = 4, MODEL_NO_FILTERING = 8, MODEL_MATCAPS = 16, MODEL_RIMLIGHT = 32, MODEL_PBR = 64 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum SHADING_MODE; ~~~~~~C enum SHADING_MODE { SHADING_NONE, SHADING_PHONG, SHADING_PBR }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum RENDER_PASS; ~~~~~~C enum RENDER_PASS { RENDER_PASS_NORMAL, RENDER_PASS_SHADOW, RENDER_PASS_LIGHTMAP, NUM_RENDER_PASSES }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum MODEL_UNIFORMS; ~~~~~~C enum MODEL_UNIFORMS { MODEL_UNIFORM_MV, MODEL_UNIFORM_MVP, MODEL_UNIFORM_VP, MODEL_UNIFORM_CAM_POS, MODEL_UNIFORM_CAM_DIR, MODEL_UNIFORM_BILLBOARD, MODEL_UNIFORM_TEXLIT, MODEL_UNIFORM_MODEL, MODEL_UNIFORM_VIEW, MODEL_UNIFORM_INV_VIEW, MODEL_UNIFORM_PROJ, MODEL_UNIFORM_SKINNED, MODEL_UNIFORM_VS_BONE_MATRIX, MODEL_UNIFORM_U_MATCAPS, MODEL_UNIFORM_RESOLUTION, MODEL_UNIFORM_HAS_TEX_SKYSPHERE, MODEL_UNIFORM_HAS_TEX_SKYENV, MODEL_UNIFORM_TEX_SKYSPHERE, MODEL_UNIFORM_SKYSPHERE_MIP_COUNT, MODEL_UNIFORM_TEX_SKYENV, MODEL_UNIFORM_TEX_BRDF_LUT, MODEL_UNIFORM_FRAME_COUNT, NUM_MODEL_UNIFORMS }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct model_t; ~~~~~~C struct model_t { struct iqm_t* iqm; int shading; unsigned num_textures; handle* textures; char** texture_names; array(material_t) materials; int uniforms[NUM_MODEL_UNIFORMS]; texture_t sky_refl,sky_env; texture_t lightmap; float* lmdata; unsigned num_meshes; unsigned num_triangles; unsigned num_joints; unsigned num_anims; unsigned num_frames; handle program; float curframe; mat44 pivot; int stride; void* verts; int num_verts; void* tris; int num_tris; handle vao,ibo,vbo,vao_instanced; unsigned flags; unsigned billboard; float* instanced_matrices; unsigned num_instances; int stored_flags; renderstate_t rs[NUM_RENDER_PASSES]; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum BILLBOARD_MODE; ~~~~~~C enum BILLBOARD_MODE { BILLBOARD_X = 0x1, BILLBOARD_Y = 0x2, BILLBOARD_Z = 0x4, BILLBOARD_CYLINDRICAL = BILLBOARD_X|BILLBOARD_Z, BILLBOARD_SPHERICAL = BILLBOARD_X|BILLBOARD_Y|BILLBOARD_Z }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API model_t model(const char* filename,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API model_t model_from_mem(const void* mem,int sz,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float model_animate(model_t,float curframe); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float model_animate_clip(model_t,float curframe,int minframe,int maxframe,bool loop); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float model_animate_blends(model_t m,anim_t* primary,anim_t* secondary,float delta); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API aabb model_aabb(model_t,mat44 transform); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void model_shading(model_t*, int shading); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void model_skybox(model_t*, skybox_t sky,bool load_sh); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void model_render(model_t,mat44 proj,mat44 view,mat44 model,int shader); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void model_render_skeleton(model_t,mat44 model); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void model_render_instanced(model_t,mat44 proj,mat44 view,mat44* models,int shader,unsigned count); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void model_set_texture(model_t,texture_t t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool model_get_bone_pose(model_t m,unsigned joint,mat34* out); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void model_destroy(model_t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned model_getpass(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned model_setpass(unsigned pass); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 pose(bool forward,float curframe,int minframe,int maxframe,bool loop,float* opt_retframe); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct anims_t; ~~~~~~C struct anims_t { int inuse; float speed; array(anim_t) anims; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API anims_t animations(const char* pathfile,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct lightmap_t; ~~~~~~C struct lightmap_t { struct lm_context* ctx; bool ready; int w,h; int atlas_w,atlas_h; texture_t atlas; array(model_t*) models; unsigned shader; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API lightmap_t lightmap(int hmsize,float near,float far,vec3 color,int passes,float threshold,float distmod); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void lightmap_setup(lightmap_t* lm,int w,int h); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void lightmap_bake(lightmap_t* lm,int bounces,void (*drawscene)(lightmap_t* lm,model_t* m,float* view,float* proj,void* userdata),void (*progressupdate)(float progress),void* userdata); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void lightmap_destroy(lightmap_t* lm); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void viewport_color(unsigned color); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void viewport_clear(bool color,bool depth); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void viewport_clip(vec2 from,vec2 to); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int fx_load(const char* file); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int fx_load_from_mem(const char* nameid,const char* content); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void fx_begin(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void fx_begin_res(int w,int h); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void fx_end(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void fx_enable(int pass,int enabled); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int fx_enabled(int pass); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void fx_enable_all(int enabled); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* fx_name(int pass); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int fx_find(const char* name); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void fx_setparam(int pass,const char* name,float value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void fx_order(int pass,unsigned priority); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned fx_program(int pass); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_fx(int pass); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_fxs(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* screenshot(int components); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* screenshot_async(int components); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## renderdd
🄵 API void ddraw_color(unsigned rgb); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_color_push(unsigned rgb); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_color_pop(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_ontop(int enabled); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_ontop_push(int enabled); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_ontop_pop(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_push_2d(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_pop_2d(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_aabb(vec3 minbb,vec3 maxbb); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_aabb_corners(vec3 minbb,vec3 maxbb); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_arrow(vec3 begin,vec3 end); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_axis(float units); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_boid(vec3 pos,vec3 dir); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_bone(vec3 center,vec3 end); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_bounds(const vec3 points[8]); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_box(vec3 center,vec3 extents); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_capsule(vec3 from,vec3 to,float radius); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_circle(vec3 pos,vec3 n,float radius); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_ring(vec3 pos,vec3 n,float radius); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_cone(vec3 center,vec3 top,float radius); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_cube(vec3 center,float radius); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_cube33(vec3 center,vec3 radius,mat33 M); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_diamond(vec3 from,vec3 to,float size); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_frustum(float projview[16]); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_ground(float scale); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_grid(float scale); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_hexagon(vec3 pos,float radius); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_line(vec3 from,vec3 to); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_line_dashed(vec3 from,vec3 to); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_line_thin(vec3 from,vec3 to); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_normal(vec3 pos,vec3 n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_pentagon(vec3 pos,float radius); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_plane(vec3 p,vec3 n,float scale); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_point(vec3 from); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_position(vec3 pos,float radius); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_position_dir(vec3 pos,vec3 dir,float radius); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_pyramid(vec3 center,float height,int segments); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_cylinder(vec3 center,float height,int segments); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_sphere(vec3 pos,float radius); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_square(vec3 pos,float radius); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_text(vec3 pos,float scale,const char* text); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_text2d(vec2 pos,const char* text); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_triangle(vec3 p1,vec3 p2,vec3 p3); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_prism(vec3 center,float radius,float height,vec3 normal,int segments); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_demo(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_flush(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_flush_projview(mat44 proj,mat44 view); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int gizmo(vec3* pos,vec3* rot,vec3* sca); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool gizmo_active(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool gizmo_hover(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## scene
🅂 struct camera_t; ~~~~~~C struct camera_t { mat44 view,proj; vec3 position,updir,lookdir; float yaw,pitch,roll; float speed,fov; float move_friction,move_damping; float look_friction,look_damping; vec3 last_look; vec3 last_move; bool damping; bool orthographic; ],isometric[if pitch = = 35.264]float distance; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API camera_t camera(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void camera_teleport(camera_t* cam,vec3 pos); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void camera_moveby(camera_t* cam,vec3 inc); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void camera_fov(camera_t* cam,float fov); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void camera_fps(camera_t* cam,float yaw,float pitch); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void camera_fps2(camera_t* cam,float yaw,float pitch,float roll); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void camera_orbit(camera_t* cam,float yaw,float pitch,float inc_distance); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void camera_lookat(camera_t* cam,vec3 target); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void camera_enable(camera_t* cam); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API camera_t* camera_get_active(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_camera(camera_t* cam); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ddraw_camera(camera_t* cam); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct object_t; ~~~~~~C struct object_t { uint64_t renderbucket; mat44 transform; quat rot; vec3 sca,pos,euler,pivot; array(handle) textures; model_t model; anim_t anim; float anim_speed; aabb bounds; unsigned billboard; bool light_cached; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API object_t object(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void object_rotate(object_t* obj,vec3 euler); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void object_pivot(object_t* obj,vec3 euler); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void object_teleport(object_t* obj,vec3 pos); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void object_move(object_t* obj,vec3 inc); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 object_position(object_t* obj); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void object_scale(object_t* obj,vec3 sca); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void object_model(object_t* obj,model_t model); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void object_anim(object_t* obj,anim_t anim,float speed); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void object_diffuse(object_t* obj,texture_t tex); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void object_diffuse_push(object_t* obj,texture_t tex); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void object_diffuse_pop(object_t* obj); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void object_billboard(object_t* obj,unsigned mode); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum LIGHT_TYPE; ~~~~~~C enum LIGHT_TYPE { LIGHT_DIRECTIONAL, LIGHT_POINT, LIGHT_SPOT }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum LIGHT_FLAGS; ~~~~~~C enum LIGHT_FLAGS { LIGHT_CAST_SHADOWS = 1 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct light_t; ~~~~~~C struct light_t { char type; vec3 diffuse,specular,ambient; vec3 pos,dir; struct { float constant,linear,quadratic; } falloff; float specularPower; float innerCone,outerCone; bool cached; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API light_t light(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void light_type(light_t* l,char type); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void light_diffuse(light_t* l,vec3 color); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void light_specular(light_t* l,vec3 color); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void light_ambient(light_t* l,vec3 color); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void light_teleport(light_t* l,vec3 pos); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void light_dir(light_t* l,vec3 dir); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void light_power(light_t* l,float power); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void light_falloff(light_t* l,float constant,float linear,float quadratic); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void light_cone(light_t* l,float innerCone,float outerCone); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void light_update(unsigned num_lights,light_t* lv); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum SCENE_FLAGS; ~~~~~~C enum SCENE_FLAGS { SCENE_WIREFRAME = 1, SCENE_CULLFACE = 2, SCENE_BACKGROUND = 4, SCENE_FOREGROUND = 8, SCENE_UPDATE_SH_COEF = 16 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct scene_t; ~~~~~~C struct scene_t { array(object_t) objs; array(light_t) lights; skybox_t skybox; int u_coefficients_sh; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API scene_t* scene_push(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void scene_pop(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API scene_t* scene_get_active(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int scene_merge(const char* source); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void scene_render(int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API object_t* scene_spawn(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned scene_count(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API object_t* scene_index(unsigned index); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API light_t* scene_spawn_light(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned scene_count_light(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API light_t* scene_index_light(unsigned index); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## string
🄵 API char* tempvl(const char* fmt,va_list); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* tempva(const char* fmt,...); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* strcatf(char** s,const char* buf); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 char* strtok_s(char* str,const char* delimiters,char** context); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int strmatch(const char* s,const char* wildcard); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int strmatchi(const char* s,const char* wildcard); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int strcmp_qsort(const void* a,const void* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int strcmpi_qsort(const void* a,const void* b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool strbeg(const char* src,const char* sub); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool strend(const char* src,const char* sub); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool strbegi(const char* src,const char* sub); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool strendi(const char* src,const char* sub); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* strstri(const char* src,const char* sub); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* strupper(const char* str); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* strlower(const char* str); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* strrepl(char** copy,const char* target,const char* replace); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* strswap(char* copy,const char* target,const char* replace); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* strcut(char* copy,const char* target); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* strlerp(unsigned numpairs,const char** pairs,const char* str); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API size_t strlcat(char* dst,const char* src,size_t dstcap); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API size_t strlcpy(char* dst,const char* src,size_t dstcap); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API array(char*) strsplit(const char* string,const char* delimiters); Split `string` after any of `delimiters` character is found. Returns: temporary array of split strings. ~~~~~~C linenumbers /* strsplit example */ array(char*) tokens = strsplit("hello! world!", " !"); // [0]="hello",[1]="world", ~~~~~~ See also: [strjoin](#strjoin)
🄵 API char* strjoin(array(char*) list,const char* separator); Concatenate all elements within `list`, with `separator` string in between. Returns: temporary joint string. ~~~~~~C linenumbers /* strjoin example */ array(char*) tokens = strsplit("hello! world!", " !"); // [0]="hello",[1]="world", char *joint = strjoin(tokens, "+"); // joint="hello+world" ~~~~~~ See also: [strsplit](#strsplit)
🄵 API char* string8(const wchar_t* str); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API array(uint32_t) string32(const char* utf8); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* codepoint_to_utf8(unsigned cp); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned intern(const char* string); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* quark(unsigned key); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct quarks_db; ~~~~~~C struct quarks_db { array(char) blob; array(vec2i) entries; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned quark_intern(quarks_db*, const char* string); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* quark_string(quarks_db*, unsigned key); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool kit_load(const char* filename); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool kit_merge(const char* filename); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void kit_insert(const char* id,const char* translation); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void kit_clear(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void kit_set(const char* variable,const char* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void kit_reset(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void kit_dump_state(FILE* fp); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* kit_translate2(const char* id,const char* langcode_iso639_1); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void kit_locale(const char* langcode_iso639_1); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* kit_translate(const char* id); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## sprite
🄴 enum SPRITE_FLAGS; ~~~~~~C enum SPRITE_FLAGS { SPRITE_PROJECTED = 1, SPRITE_ADDITIVE = 2, SPRITE_CENTERED = 4, SPRITE_RESOLUTION_INDEPENDANT = 128 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sprite(texture_t texture,float position[3],float rotation,unsigned color,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sprite_rect(texture_t t,vec4 rect,vec4 pos,vec4 scaleoff,float tilt_deg,unsigned tint_rgba,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sprite_sheet(texture_t texture,float sheet[3],float position[3],float rotation,float offset[2],float scale[2],unsigned rgba,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sprite_flush(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct tileset_t; ~~~~~~C struct tileset_t { texture_t tex; unsigned tile_w,tile_h; unsigned cols,rows; unsigned selected; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API tileset_t tileset(texture_t tex,unsigned tile_w,unsigned tile_h,unsigned cols,unsigned rows); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_tileset(tileset_t t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct tilemap_t; ~~~~~~C struct tilemap_t { int blank_chr; unsigned cols,rows; array(int) map; vec3 position; float zindex; float tilt; unsigned tint; bool is_additive; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API tilemap_t tilemap(const char* map,int blank_chr,int linefeed_chr); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void tilemap_render(tilemap_t m,tileset_t style); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void tilemap_render_ext(tilemap_t m,tileset_t style,float zindex,float xy_zoom[3],float tilt,unsigned tint,bool is_additive); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct tiled_t; ~~~~~~C struct tiled_t { char* map_name; unsigned first_gid,tilew,tileh,w,h; bool parallax; vec3 position; array(bool) visible; array(tilemap_t) layers; array(tileset_t) sets; array(char*) names; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API tiled_t tiled(const char* file_tmx); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void tiled_render(tiled_t tmx,vec3 pos); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ui_tiled(tiled_t* t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct spine_t spine_t; Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API spine_t* spine(const char* file_json,const char* file_atlas,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void spine_skin(spine_t* p,unsigned skin); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void spine_render(spine_t* p,vec3 offset,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void spine_animate(spine_t* p,float delta); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void ui_spine(spine_t* p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct atlas_frame_t; ~~~~~~C struct atlas_frame_t { unsigned delay; vec4 sheet; vec2 anchor; array(vec3i) indices; array(vec2) coords; array(vec2) uvs; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct atlas_anim_t; ~~~~~~C struct atlas_anim_t { unsigned name; array(unsigned) frames; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct atlas_slice_frame_t; ~~~~~~C struct atlas_slice_frame_t { vec4 bounds; bool has_9slice; vec4 core; vec2 pivot; unsigned color; char* text; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct atlas_slice_t; ~~~~~~C struct atlas_slice_t { unsigned name; array(unsigned) frames; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct atlas_t; ~~~~~~C struct atlas_t { texture_t tex; array(atlas_frame_t) frames; array(atlas_anim_t) anims; array(atlas_slice_t) slices; array(atlas_slice_frame_t) slice_frames; quarks_db db; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API atlas_t atlas_create(const char* inifile,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_atlas(atlas_t* a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_atlas_frame(atlas_frame_t* f); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void atlas_destroy(atlas_t* a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct sprite_t; ~~~~~~C struct sprite_t { OBJ vec4 gamepad; vec2 fire; vec4 pos; vec2 sca; float tilt; unsigned tint; unsigned frame; unsigned timer,timer_ms; unsigned flip_,flipped; unsigned play; bool paused; struct atlas_t* a; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 OBJTYPEDEF(sprite_t,10); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sprite_ctor(sprite_t* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sprite_dtor(sprite_t* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sprite_tick(sprite_t* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sprite_draw(sprite_t* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sprite_edit(sprite_t* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API sprite_t* sprite_new(const char* ase,int bindings[6]); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sprite_del(sprite_t* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sprite_setanim(sprite_t* s,unsigned name); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## gui
🅂 struct guiskin_t; ~~~~~~C struct guiskin_t { void (*drawrect)(void* userdata,const char* skin,const char* fallback,vec4 rect); void (*getskinsize)(void* userdata,const char* skin,const char* fallback,vec2* size); void (*getskincolor)(void* userdata,const char* skin,const char* fallback,unsigned* color); void (*getscissorrect)(void* userdata,const char* skin,const char* fallback,vec4 rect,vec4* dims); bool (*ismouseinrect)(void* userdata,const char* skin,const char* fallback,vec4 rect); void (*free)(void* userdata); void* userdata; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void gui_pushskin(guiskin_t skin); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* gui_userdata(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 gui_getskinsize(const char* skin,const char* fallback); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned gui_getskincolor(const char* skin,const char* fallback); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool gui_ismouseinrect(const char* skin,const char* fallback,vec4 rect); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 gui_getscissorrect(const char* skin,const char* fallback,vec4 rect); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void gui_panel_id(int id,vec4 rect,const char* skin); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void gui_rect_id(int id,vec4 rect,const char* skin); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void gui_label_id(int id,const char* skin,const char* text,vec4 rect); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool gui_button_id(int id,vec4 rect,const char* skin); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool gui_button_label_id(int id,const char* text,vec4 rect,const char* skin); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool gui_slider_id(int id,vec4 rect,const char* skin,float min,float max,float step,float* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool gui_slider_label_id(int id,const char* text,vec4 rect,const char* skin,float min,float max,float step,float* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void gui_panel_end(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void gui_popskin(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct skinned_t; ~~~~~~C struct skinned_t { atlas_t atlas; float scale; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API guiskin_t gui_skinned(const char* asefile,float scale); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## steam
🄵 API bool steam_init(unsigned app_id); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void steam_tick(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void steam_trophy(const char* trophy_id,bool redeem); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void steam_screenshot(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void steam_destroy(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_steam(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## system
🄵 API void* thread(int (*thread_func)(void* user_data),void* user_data); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void thread_destroy(void* thd); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int argc(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* argv(int); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void argvadd(const char* arg); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int flag(const char* commalist); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* option(const char* commalist,const char* defaults); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int optioni(const char* commalist,int defaults); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float optionf(const char* commalist,float defaults); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void tty_attach(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void tty_detach(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void tty_color(unsigned color); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void tty_reset(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* app_exec(const char* command); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int app_spawn(const char* command); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int app_cores(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int app_battery(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* app_name(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* app_path(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* app_cache(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* app_temp(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* app_cmdline(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void app_beep(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void app_hang(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void app_crash(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void app_singleton(const char* guid); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool app_open(const char* folder_file_or_url); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* app_loadfile(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* app_savefile(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* callstack(int traces); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int callstackf(FILE* fp,int traces); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void die(const char* message); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void alert(const char* message); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void hexdump(const void* ptr,unsigned len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void hexdumpf(FILE* fp,const void* ptr,unsigned len,int width); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void breakpoint(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool has_debugger(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void trap_install(void); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* trap_name(int signal); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void trap_on_ignore(int signal); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void trap_on_quit(int signal); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void trap_on_abort(int signal); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void trap_on_debug(int signal); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int PANIC(const char* error,const char* file,int line); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int PRINTF(const char* text,const char* stack,const char* file,int line,const char* function); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int test(const char* file,int line,const char* expr,bool result); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## time
🄵 API uint64_t date(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t date_epoch(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* date_string(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double time_hh(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double time_mm(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double time_ss(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t time_ms(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t time_us(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t time_ns(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sleep_ss(double ss); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sleep_ms(double ms); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sleep_us(double us); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void sleep_ns(double us); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API unsigned timer(unsigned ms,unsigned (*callback)(unsigned ms,void* arg),void* arg); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void timer_destroy(unsigned timer_handle); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅃 typedef vec3i guid; Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API guid guid_create(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_zero(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_one(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_linear(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_out_sine(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_out_quad(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_out_cubic(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_out_quart(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_out_quint(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_out_expo(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_out_circ(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_out_back(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_out_elastic(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_out_bounce(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_in_sine(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_in_quad(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_in_cubic(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_in_quart(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_in_quint(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_in_expo(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_in_circ(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_in_back(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_in_elastic(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_in_bounce(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_inout_sine(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_inout_quad(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_inout_cubic(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_inout_quart(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_inout_quint(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_inout_expo(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_inout_circ(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_inout_back(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_inout_elastic(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_inout_bounce(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_inout_perlin(float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum EASE_FLAGS; ~~~~~~C enum EASE_FLAGS { EASE_SINE, EASE_QUAD, EASE_CUBIC, EASE_QUART, EASE_QUINT, EASE_EXPO, EASE_CIRC, EASE_BACK, EASE_ELASTIC, EASE_BOUNCE, EASE_IN, EASE_OUT = 0, EASE_INOUT = EASE_IN* 2, EASE_ZERO = EASE_INOUT|(EASE_BOUNCE+1), EASE_ONE, EASE_LINEAR, EASE_INOUT_PERLIN, EASE_NUM }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease(float t01,unsigned fn); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_pong(float t01,unsigned fn); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_ping_pong(float t,unsigned fn1,unsigned fn2); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ease_pong_ping(float t,unsigned fn1,unsigned fn2); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* ease_enum(unsigned fn); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char** ease_enums(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct tween_keyframe_t; ~~~~~~C struct tween_keyframe_t { float t; vec3 v; unsigned ease; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct tween_t; ~~~~~~C struct tween_t { array(tween_keyframe_t) keyframes; vec3 result; float time; float duration; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API tween_t tween(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void tween_setkey(tween_t* tw,float t,vec3 v,unsigned easing_mode); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void tween_delkey(tween_t* tw,float t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float tween_update(tween_t* tw,float dt); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void tween_reset(tween_t* tw); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void tween_destroy(tween_t* tw); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct curve_t; ~~~~~~C struct curve_t { array(float) lengths; array(unsigned) colors; array(vec3) samples; array(vec3) points; array(int) indices; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API curve_t curve(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void curve_add(curve_t* c,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void curve_end(curve_t* c,int num_points); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 curve_eval(curve_t* c,float dt,unsigned* color); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void curve_destroy(curve_t* c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## ui
🄴 enum PANEL_FLAGS; ~~~~~~C enum PANEL_FLAGS { PANEL_OPEN = 1 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_notify(const char* title,const char* body); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_window(const char* title,int* enabled); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_panel(const char* title,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_collapse(const char* label,const char* id); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_collapseo(const char* label,const char* id); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_contextual(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_section(const char* title); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_int(const char* label,int* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_bool(const char* label,bool* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_short(const char* label,short* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_float(const char* label,float* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_float2(const char* label,float value[2]); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_float3(const char* label,float value[3]); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_float4(const char* label,float value[4]); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_mat33(const char* label,float mat33[9]); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_mat34(const char* label,float mat34[12]); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_mat44(const char* label,float mat44[16]); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_double(const char* label,double* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_buffer(const char* label,char* buffer,int buflen); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_string(const char* label,char** string); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_color3(const char* label,unsigned* color); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_color3f(const char* label,float color[3]); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_color4(const char* label,unsigned* color); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_color4f(const char* label,float color[4]); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_unsigned(const char* label,unsigned* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_unsigned2(const char* label,unsigned* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_unsigned3(const char* label,unsigned* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_button(const char* label); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_button_transparent(const char* label); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_buttons(int buttons,...); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_toolbar(const char* options); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_submenu(const char* options); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_browse(const char** outfile,bool* inlined); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_toggle(const char* label,bool* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_dialog(const char* title,const char* text,int choices,bool* show); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_list(const char* label,const char** items,int num_items,int* selector); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_radio(const char* label,const char** items,int num_items,int* selector); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_texture(const char* label,texture_t t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_subtexture(const char* label,texture_t t,unsigned x,unsigned y,unsigned w,unsigned h); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_image(const char* label,handle id,unsigned w,unsigned h); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_subimage(const char* label,handle id,unsigned iw,unsigned ih,unsigned sx,unsigned sy,unsigned sw,unsigned sh); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_colormap(const char* label,colormap_t* cm); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_separator(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_bitmask8(const char* label,uint8_t* bits); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_bitmask16(const char* label,uint16_t* bits); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_console(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_clampf(const char* label,float* value,float minf,float maxf); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_label(const char* label); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_label2(const char* label,const char* caption); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_label2_bool(const char* label,bool enabled); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_label2_float(const char* label,float value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_label2_toolbar(const char* label,const char* icons); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_slider(const char* label,float* value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_slider2(const char* label,float* value,const char* caption); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_contextual_end(int close); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_collapse_clicked(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_collapse_end(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_panel_end(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_window_end(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_show(const char* panel_or_window_title,int enabled); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_dims(const char* panel_or_window_title,float width,float height); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_visible(const char* panel_or_window_title); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 ui_get_dims(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_enable(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_enabled(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_disable(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_has_menubar(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_menu(const char* items); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_menu_editbox(char* buf,int bufcap); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_item(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_popups(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_hover(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_active(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_demo(int do_windows); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* ui_handle(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## video
🄴 enum VIDEO_FLAGS; ~~~~~~C enum VIDEO_FLAGS { VIDEO_YCBCR = 0, VIDEO_RGB = 2, VIDEO_AUDIO = 0, VIDEO_NO_AUDIO = 4, VIDEO_LOOP = 8 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct video_t video_t; Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API video_t* video(const char* filename,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API texture_t* video_decode(video_t* v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API texture_t* video_textures(video_t* v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int video_has_finished(video_t* v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double video_duration(video_t* v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int video_seek(video_t* v,double seek_to); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double video_position(video_t* v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void video_pause(video_t* v,bool paused); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool video_is_paused(video_t* v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool video_is_rgb(video_t* v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void video_destroy(video_t* v); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool record_start(const char* outfile_mp4); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool record_active(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void record_stop(void); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## window
🄴 enum WINDOW_FLAGS; ~~~~~~C enum WINDOW_FLAGS { WINDOW_MSAA2 = 0x02, WINDOW_MSAA4 = 0x04, WINDOW_MSAA8 = 0x08, WINDOW_SQUARE = 0x20, WINDOW_PORTRAIT = 0x40, WINDOW_LANDSCAPE = 0x80, WINDOW_ASPECT = 0x100, WINDOW_FIXED = 0x200, WINDOW_TRANSPARENT = 0x400, WINDOW_BORDERLESS = 0x800, WINDOW_VSYNC_DISABLED = 0, WINDOW_VSYNC_ADAPTIVE = 0x1000, WINDOW_VSYNC = 0x2000 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool window_create(float scale,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool window_create_from_handle(void* handle,float scale,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_reload(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int window_frame_begin(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_frame_end(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_frame_swap(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int window_swap(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_loop(void (*function)(void* loopArg),void* loopArg); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_loop_exit(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_title(const char* title); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_color(unsigned color); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 window_canvas(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* window_handle(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* window_stats(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API uint64_t window_frame(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int window_width(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int window_height(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double window_time(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double window_delta(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_focus(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int window_has_focus(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_fullscreen(int enabled); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int window_has_fullscreen(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_cursor(int visible); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int window_has_cursor(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_pause(int paused); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int window_has_pause(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_visible(int visible); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int window_has_visible(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_maximize(int enabled); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int window_has_maximize(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_transparent(int enabled); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int window_has_transparent(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_icon(const char* file_icon); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int window_has_icon(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_debug(int visible); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int window_has_debug(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double window_aspect(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_aspect_lock(unsigned numer,unsigned denom); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_aspect_unlock(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double window_fps(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API double window_fps_target(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_fps_lock(float fps); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_fps_unlock(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_screenshot(const char* outfile_png); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int window_record(const char* outfile_mp4); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 window_dpi(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum CURSOR_SHAPES; ~~~~~~C enum CURSOR_SHAPES { CURSOR_NONE, CURSOR_HW_ARROW, CURSOR_HW_IBEAM, CURSOR_HW_HDRAG, CURSOR_HW_VDRAG, CURSOR_HW_HAND, CURSOR_HW_CROSS, CURSOR_SW_AUTO }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_cursor_shape(unsigned shape); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* window_clipboard(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void window_setclipboard(const char* text); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## editor
🅂 struct editor_bind_t; ~~~~~~C struct editor_bind_t { const char* command; const char* bindings; void (*fn)(); }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_addbind(editor_bind_t bind); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_destroy_properties(void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_load_on_boot(void); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_save_on_quit(void); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum EDITOR_MODE; ~~~~~~C enum EDITOR_MODE { EDITOR_PANEL, EDITOR_WINDOW, EDITOR_WINDOW_NK, EDITOR_WINDOW_NK_SMALL }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int editor_begin(const char* title,int mode); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int editor_end(int mode); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int editor_filter(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_select(const char* mask); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_unselect(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_select_aabb(aabb box); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_selectgroup(obj* first,obj* last); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* editor_first_selected(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* editor_last_selected(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_addtoworld(obj* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_watch(const void* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* editor_spawn(const char* ini); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_spawn1(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_destroy_selected(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_inspect(obj* o); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 editor_pick(float mouse_x,float mouse_y); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char* editor_path(const char* path); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_setmouse(int x,int y); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 editor_glyph(int x,int y,const char* style,unsigned codepoint); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec2 editor_glyphs(int x,int y,const char* style,const char* utf8); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_gizmos(int dim); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int editor_send(const char* cmd); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API const char* editor_recv(int jobid,double timeout_ss); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_pump(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void editor_frame(void (*game)(unsigned,float,double)); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float* engine_getf(const char* key); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int* engine_geti(const char* key); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char** engine_gets(const char* key); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int engine_send(const char* cmd,const char* optional_value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ui_engine(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## 🄳 defines [ALLOCA](#ALLOCA), [ALLOCSIZE](#ALLOCSIZE), [ANYHOST_IPV4](#ANYHOST_IPV4), [ANYHOST_IPV6](#ANYHOST_IPV6), [API](#API), [AQUA](#AQUA), [ASSERT](#ASSERT), [ASSERT_ONCE](#ASSERT_ONCE), [AUTORUN](#AUTORUN), [AUTORUN_](#AUTORUN_), [AUTOTEST](#AUTOTEST), [BLACK](#BLACK), [BLUE](#BLUE), [BUILD_VERSION](#BUILD_VERSION), [C_CAST](#C_CAST), [C_EPSILON](#C_EPSILON), [C_PI](#C_PI), [CALLOC](#CALLOC), [COMPONENTS_ONLY](#COMPONENTS_ONLY), [CYAN](#CYAN), [EDITOR_BIND](#EDITOR_BIND), [EDITOR_PROPERTYDEF](#EDITOR_PROPERTYDEF), [EDITOR_VERSION](#EDITOR_VERSION), [ENABLE_AUTOTESTS](#ENABLE_AUTOTESTS), [ENABLE_COOK](#ENABLE_COOK), [ENABLE_FASTCALL_LUA](#ENABLE_FASTCALL_LUA), [ENABLE_LINUX_CALLSTACKS](#ENABLE_LINUX_CALLSTACKS), [ENABLE_MEMORY_LEAKS](#ENABLE_MEMORY_LEAKS), [ENABLE_MEMORY_POISON](#ENABLE_MEMORY_POISON), [ENABLE_PROFILER](#ENABLE_PROFILER), [ENABLE_RETAIL](#ENABLE_RETAIL), [ENABLE_RPMALLOC](#ENABLE_RPMALLOC), [ENABLE_SELFIES](#ENABLE_SELFIES), [ENTITY](#ENTITY), [ENUM](#ENUM), [EXPAND](#EXPAND), [EXPORT](#EXPORT), [EXTEND](#EXTEND), [EXTEND_T](#EXTEND_T), [FILELINE](#FILELINE), [FINITE](#FINITE), [FIXME](#FIXME), [FONT_BASELINE](#FONT_BASELINE), [FONT_BOTTOM](#FONT_BOTTOM), [FONT_CENTER](#FONT_CENTER), [FONT_COLOR1](#FONT_COLOR1), [FONT_COLOR2](#FONT_COLOR2), [FONT_COLOR3](#FONT_COLOR3), [FONT_COLOR4](#FONT_COLOR4), [FONT_COLOR5](#FONT_COLOR5), [FONT_COLOR6](#FONT_COLOR6), [FONT_FACE1](#FONT_FACE1), [FONT_FACE10](#FONT_FACE10), [FONT_FACE2](#FONT_FACE2), [FONT_FACE3](#FONT_FACE3), [FONT_FACE4](#FONT_FACE4), [FONT_FACE5](#FONT_FACE5), [FONT_FACE6](#FONT_FACE6), [FONT_FACE7](#FONT_FACE7), [FONT_FACE8](#FONT_FACE8), [FONT_FACE9](#FONT_FACE9), [FONT_H1](#FONT_H1), [FONT_H2](#FONT_H2), [FONT_H3](#FONT_H3), [FONT_H4](#FONT_H4), [FONT_H5](#FONT_H5), [FONT_H6](#FONT_H6), [FONT_JUSTIFY](#FONT_JUSTIFY), [FONT_LEFT](#FONT_LEFT), [FONT_MIDDLE](#FONT_MIDDLE), [FONT_RIGHT](#FONT_RIGHT), [FONT_TOP](#FONT_TOP), [FORCE_INLINE](#FORCE_INLINE), [FORGET](#FORGET), [FREE](#FREE), [FUNCTION](#FUNCTION), [GJK_H](#GJK_H), [GJK_MAX_ITERATIONS](#GJK_MAX_ITERATIONS), [GRAY](#GRAY), [GREEN](#GREEN), [ID_COUNT_BITS](#ID_COUNT_BITS), [ID_INDEX_BITS](#ID_INDEX_BITS), [IMPORT](#IMPORT), [INLINE](#INLINE), [IS_BIG](#IS_BIG), [IS_LITTLE](#IS_LITTLE), [LOCALHOST_IPV4](#LOCALHOST_IPV4), [LOCALHOST_IPV6](#LOCALHOST_IPV6), [MALLOC](#MALLOC), [MAP_DONT_ERASE](#MAP_DONT_ERASE), [MAP_HASHSIZE](#MAP_HASHSIZE), [OBJ](#OBJ), [OBJ_CTOR](#OBJ_CTOR), [OBJ_CTOR_HDR](#OBJ_CTOR_HDR), [OBJ_CTOR_PTR](#OBJ_CTOR_PTR), [OBJ_MIN_PRAGMAPACK_BITS](#OBJ_MIN_PRAGMAPACK_BITS), [OBJCOMPONENTS_ALL_ENABLED](#OBJCOMPONENTS_ALL_ENABLED), [OBJCOMPONENTS_ALL_FLAGGED](#OBJCOMPONENTS_ALL_FLAGGED), [OBJCOMPONENTS_MAX](#OBJCOMPONENTS_MAX), [OBJHEADER](#OBJHEADER), [OBJTYPE](#OBJTYPE), [OBJTYPEDEF](#OBJTYPEDEF), [ORANGE](#ORANGE), [PANIC](#PANIC), [PINK](#PINK), [PRINTF](#PRINTF), [PURPLE](#PURPLE), [REALLOC](#REALLOC), [RED](#RED), [RGB3](#RGB3), [RGB4](#RGB4), [RGBX](#RGBX), [SEMVER](#SEMVER), [SEMVERCMP](#SEMVERCMP), [SEMVERFMT](#SEMVERFMT), [SET_DONT_ERASE](#SET_DONT_ERASE), [SET_HASHSIZE](#SET_HASHSIZE), [SILVER](#SILVER), [STATIC](#STATIC), [STATIC_ASSERT](#STATIC_ASSERT), [STRDUP](#STRDUP), [STRINGIZE](#STRINGIZE), [STRUCT](#STRUCT), [TO_DEG](#TO_DEG), [TO_RAD](#TO_RAD), [TODO](#TODO), [TRACK_ERROR_BUFFER_FULL](#TRACK_ERROR_BUFFER_FULL), [TRACK_ERROR_INIT_FAIL](#TRACK_ERROR_INIT_FAIL), [TRACK_ERROR_INPUT_INVALID](#TRACK_ERROR_INPUT_INVALID), [TRACK_ERROR_SEND_FAIL](#TRACK_ERROR_SEND_FAIL), [TRACK_ERROR_SOCKET_FAIL](#TRACK_ERROR_SOCKET_FAIL), [TRACK_ERROR_SOCKET_INVALID](#TRACK_ERROR_SOCKET_INVALID), [TRACK_SEND_BUFSIZE](#TRACK_SEND_BUFSIZE), [TYPEDEF_ENTITY](#TYPEDEF_ENTITY), [TYPEDEF_STRUCT](#TYPEDEF_STRUCT), [VA_COUNT](#VA_COUNT), [VA_FIRST](#VA_FIRST), [VA_REST](#VA_REST), [VA_SELECT_10TH](#VA_SELECT_10TH), [VA_SPLIT](#VA_SPLIT), [WARN1NG](#WARN1NG), [WARNING](#WARNING), [WATCH](#WATCH), [WHITE](#WHITE) ## 🄴 enums [ANIM_FLAGS](#ANIM_FLAGS), [AUDIO_FLAGS](#AUDIO_FLAGS), [BILLBOARD_MODE](#BILLBOARD_MODE), [BUFFER_MODE](#BUFFER_MODE), [COMPRESS_FLAGS](#COMPRESS_FLAGS), [COOK_FLAGS](#COOK_FLAGS), [CURSOR_SHAPES](#CURSOR_SHAPES), [EASE_FLAGS](#EASE_FLAGS), [EDITOR_MODE](#EDITOR_MODE), [FONT_FLAGS](#FONT_FLAGS), [IMAGE_FLAGS](#IMAGE_FLAGS), [INPUT_ALIASES](#INPUT_ALIASES), [INPUT_ENUMS](#INPUT_ENUMS), [LIGHT_FLAGS](#LIGHT_FLAGS), [LIGHT_TYPE](#LIGHT_TYPE), [MATERIAL_ENUMS](#MATERIAL_ENUMS), [MESH_FLAGS](#MESH_FLAGS), [MODEL_FLAGS](#MODEL_FLAGS), [MODEL_UNIFORMS](#MODEL_UNIFORMS), [OBJTYPE_BUILTINS](#OBJTYPE_BUILTINS), [PANEL_FLAGS](#PANEL_FLAGS), [RENDER_PASS](#RENDER_PASS), [SCENE_FLAGS](#SCENE_FLAGS), [SHADING_MODE](#SHADING_MODE), [SKYBOX_FLAGS](#SKYBOX_FLAGS), [SPRITE_FLAGS](#SPRITE_FLAGS), [SSBO_ACCESS](#SSBO_ACCESS), [SSBO_USAGE](#SSBO_USAGE), [SWARM_DISTANCE](#SWARM_DISTANCE), [TEXTURE_FLAGS](#TEXTURE_FLAGS), [TOUCH_BUTTONS](#TOUCH_BUTTONS), [VIDEO_FLAGS](#VIDEO_FLAGS), [WINDOW_FLAGS](#WINDOW_FLAGS), [{](#{) ## 🅃 types [aabb](#aabb), [anim_t](#anim_t), [anims_t](#anims_t), [atlas_anim_t](#atlas_anim_t), [atlas_frame_t](#atlas_frame_t), [atlas_slice_frame_t](#atlas_slice_frame_t), [atlas_slice_t](#atlas_slice_t), [atlas_t](#atlas_t), [audio_handle*](#audio_handle*), [boid_t](#boid_t), [bt_func](#bt_func), [bt_t](#bt_t), [byte2](#byte2), [byte3](#byte3), [byte4](#byte4), [camera_t](#camera_t), [capsule](#capsule), [colormap_t](#colormap_t), [cubemap_t](#cubemap_t), [curve_t](#curve_t), [double2](#double2), [double3](#double3), [double4](#double4), [editor_bind_t](#editor_bind_t), [entity](#entity), [float2](#float2), [float3](#float3), [float4](#float4), [font_metrics_t](#font_metrics_t), [frustum](#frustum), [gjk_result](#gjk_result), [gjk_simplex](#gjk_simplex), [gjk_support](#gjk_support), [gjk_vertex](#gjk_vertex), [guid](#guid), [guiskin_t](#guiskin_t), [half](#half), [handle](#handle), [hit](#hit), [image_t](#image_t), [ini_t](#ini_t), [int2](#int2), [int3](#int3), [int4](#int4), [json_t](#json_t), [light_t](#light_t), [lightmap_t](#lightmap_t), [line](#line), [map](#map), [mat33](#mat33), [mat34](#mat34), [mat44](#mat44), [material_layer_t](#material_layer_t), [material_t](#material_t), [mesh_t](#mesh_t), [model_t](#model_t), [obj](#obj), [object_t](#object_t), [pair](#pair), [plane](#plane), [poly](#poly), [quarks_db](#quarks_db), [quat](#quat), [ray](#ray), [reflect_t](#reflect_t), [renderstate_t](#renderstate_t), [scene_t](#scene_t), [set](#set), [set_item](#set_item), [shadertoy_t](#shadertoy_t), [shadowmap_t](#shadowmap_t), [skinned_t](#skinned_t), [skybox_t](#skybox_t), [sphere](#sphere), [spine_t](#spine_t), [sprite_t](#sprite_t), [swarm_t](#swarm_t), [texture_t](#texture_t), [tiled_t](#tiled_t), [tilemap_t](#tilemap_t), [tileset_t](#tileset_t), [track_prop](#track_prop), [triangle](#triangle), [tween_keyframe_t](#tween_keyframe_t), [tween_t](#tween_t), [uint2](#uint2), [uint3](#uint3), [uint4](#uint4), [vec2](#vec2), [vec2i](#vec2i), [vec3](#vec3), [vec3i](#vec3i), [vec4](#vec4), [video_t](#video_t) ## 🄵 functions [aabb_closest_point](#aabb_closest_point), [aabb_contains_point](#aabb_contains_point), [aabb_distance2_point](#aabb_distance2_point), [aabb_hit_aabb](#aabb_hit_aabb), [aabb_hit_capsule](#aabb_hit_capsule), [aabb_hit_sphere](#aabb_hit_sphere), [aabb_test_aabb](#aabb_test_aabb), [aabb_test_capsule](#aabb_test_capsule), [aabb_test_poly](#aabb_test_poly), [aabb_test_sphere](#aabb_test_sphere), [abs2](#abs2), [abs3](#abs3), [abs4](#abs4), [absf](#absf), [absi](#absi), [add2](#add2), [add3](#add3), [add34](#add34), [add34x2](#add34x2), [add4](#add4), [addq](#addq), [alert](#alert), [alpha](#alpha), [animations](#animations), [animlist](#animlist), [app_battery](#app_battery), [app_beep](#app_beep), [app_cache](#app_cache), [app_cmdline](#app_cmdline), [app_cores](#app_cores), [app_crash](#app_crash), [app_exec](#app_exec), [app_hang](#app_hang), [app_loadfile](#app_loadfile), [app_name](#app_name), [app_open](#app_open), [app_path](#app_path), [app_savefile](#app_savefile), [app_singleton](#app_singleton), [app_spawn](#app_spawn), [app_temp](#app_temp), [arc4](#arc4), [argc](#argc), [argv](#argv), [argvadd](#argvadd), [atlas_create](#atlas_create), [atlas_destroy](#atlas_destroy), [atof1](#atof1), [atof2](#atof2), [atof3](#atof3), [atof4](#atof4), [atoi1](#atoi1), [atoi2](#atoi2), [atoi3](#atoi3), [atorgba](#atorgba), [audio_clip](#audio_clip), [audio_loop](#audio_loop), [audio_mute](#audio_mute), [audio_muted](#audio_muted), [audio_play](#audio_play), [audio_play_gain](#audio_play_gain), [audio_play_gain_pitch](#audio_play_gain_pitch), [audio_play_gain_pitch_pan](#audio_play_gain_pitch_pan), [audio_playing](#audio_playing), [audio_queue](#audio_queue), [audio_stop](#audio_stop), [audio_stream](#audio_stream), [audio_volume_clip](#audio_volume_clip), [audio_volume_master](#audio_volume_master), [audio_volume_stream](#audio_volume_stream), [base92_bounds](#base92_bounds), [base92_decode](#base92_decode), [base92_encode](#base92_encode), [bgra](#bgra), [bgraf](#bgraf), [big16](#big16), [big16p](#big16p), [big32](#big32), [big32f](#big32f), [big32p](#big32p), [big32pf](#big32pf), [big64](#big64), [big64f](#big64f), [big64p](#big64p), [big64pf](#big64pf), [brdf_lut](#brdf_lut), [breakpoint](#breakpoint), [bt](#bt), [bt_addfun](#bt_addfun), [bt_findfun](#bt_findfun), [bt_funcname](#bt_funcname), [bt_run](#bt_run), [cache_insert](#cache_insert), [cache_lookup](#cache_lookup), [callstack](#callstack), [callstackf](#callstackf), [camera](#camera), [camera_enable](#camera_enable), [camera_fov](#camera_fov), [camera_fps](#camera_fps), [camera_fps2](#camera_fps2), [camera_get_active](#camera_get_active), [camera_lookat](#camera_lookat), [camera_moveby](#camera_moveby), [camera_orbit](#camera_orbit), [camera_teleport](#camera_teleport), [capsule_closest_point](#capsule_closest_point), [capsule_distance2_point](#capsule_distance2_point), [capsule_hit_aabb](#capsule_hit_aabb), [capsule_hit_capsule](#capsule_hit_capsule), [capsule_hit_sphere](#capsule_hit_sphere), [capsule_test_aabb](#capsule_test_aabb), [capsule_test_capsule](#capsule_test_capsule), [capsule_test_poly](#capsule_test_poly), [capsule_test_sphere](#capsule_test_sphere), [cc4str](#cc4str), [cc8str](#cc8str), [ceil2](#ceil2), [ceil3](#ceil3), [ceil4](#ceil4), [clamp2](#clamp2), [clamp2f](#clamp2f), [clamp3](#clamp3), [clamp3f](#clamp3f), [clamp4](#clamp4), [clamp4f](#clamp4f), [clampf](#clampf), [clampi](#clampi), [client_join](#client_join), [client_poll](#client_poll), [clip](#clip), [cobs_bounds](#cobs_bounds), [cobs_decode](#cobs_decode), [cobs_encode](#cobs_encode), [codepoint_to_utf8](#codepoint_to_utf8), [collide_demo](#collide_demo), [colormap](#colormap), [compose33](#compose33), [compose34](#compose34), [compose44](#compose44), [compute](#compute), [compute_dispatch](#compute_dispatch), [conjq](#conjq), [cook_cancel](#cook_cancel), [cook_config](#cook_config), [cook_jobs](#cook_jobs), [cook_progress](#cook_progress), [cook_start](#cook_start), [cook_stop](#cook_stop), [copy33](#copy33), [copy34](#copy34), [copy44](#copy44), [crc64](#crc64), [cross2](#cross2), [cross3](#cross3), [cubemap](#cubemap), [cubemap6](#cubemap6), [cubemap_destroy](#cubemap_destroy), [cubemap_get_active](#cubemap_get_active), [curve](#curve), [curve_add](#curve_add), [curve_destroy](#curve_destroy), [curve_end](#curve_end), [curve_eval](#curve_eval), [data_tests](#data_tests), [date](#date), [date_epoch](#date_epoch), [date_string](#date_string), [ddraw_aabb](#ddraw_aabb), [ddraw_aabb_corners](#ddraw_aabb_corners), [ddraw_arrow](#ddraw_arrow), [ddraw_axis](#ddraw_axis), [ddraw_boid](#ddraw_boid), [ddraw_bone](#ddraw_bone), [ddraw_bounds](#ddraw_bounds), [ddraw_box](#ddraw_box), [ddraw_camera](#ddraw_camera), [ddraw_capsule](#ddraw_capsule), [ddraw_circle](#ddraw_circle), [ddraw_color](#ddraw_color), [ddraw_color_pop](#ddraw_color_pop), [ddraw_color_push](#ddraw_color_push), [ddraw_cone](#ddraw_cone), [ddraw_cube](#ddraw_cube), [ddraw_cube33](#ddraw_cube33), [ddraw_cylinder](#ddraw_cylinder), [ddraw_demo](#ddraw_demo), [ddraw_diamond](#ddraw_diamond), [ddraw_flush](#ddraw_flush), [ddraw_flush_projview](#ddraw_flush_projview), [ddraw_frustum](#ddraw_frustum), [ddraw_grid](#ddraw_grid), [ddraw_ground](#ddraw_ground), [ddraw_hexagon](#ddraw_hexagon), [ddraw_line](#ddraw_line), [ddraw_line_dashed](#ddraw_line_dashed), [ddraw_line_thin](#ddraw_line_thin), [ddraw_normal](#ddraw_normal), [ddraw_ontop](#ddraw_ontop), [ddraw_ontop_pop](#ddraw_ontop_pop), [ddraw_ontop_push](#ddraw_ontop_push), [ddraw_pentagon](#ddraw_pentagon), [ddraw_plane](#ddraw_plane), [ddraw_point](#ddraw_point), [ddraw_pop_2d](#ddraw_pop_2d), [ddraw_position](#ddraw_position), [ddraw_position_dir](#ddraw_position_dir), [ddraw_prism](#ddraw_prism), [ddraw_push_2d](#ddraw_push_2d), [ddraw_pyramid](#ddraw_pyramid), [ddraw_ring](#ddraw_ring), [ddraw_sphere](#ddraw_sphere), [ddraw_square](#ddraw_square), [ddraw_text](#ddraw_text), [ddraw_text2d](#ddraw_text2d), [ddraw_triangle](#ddraw_triangle), [dec2](#dec2), [dec3](#dec3), [dec4](#dec4), [deczig32i](#deczig32i), [deczig64i](#deczig64i), [deg](#deg), [delta16_decode](#delta16_decode), [delta16_encode](#delta16_encode), [delta32_decode](#delta32_decode), [delta32_encode](#delta32_encode), [delta64_decode](#delta64_decode), [delta64_encode](#delta64_encode), [delta8_decode](#delta8_decode), [delta8_encode](#delta8_encode), [det44](#det44), [diamond](#diamond), [die](#die), [div2](#div2), [div3](#div3), [div4](#div4), [dll](#dll), [dot2](#dot2), [dot3](#dot3), [dot4](#dot4), [dotq](#dotq), [download](#download), [download_file](#download_file), [ease](#ease), [ease_enum](#ease_enum), [ease_enums](#ease_enums), [ease_in_back](#ease_in_back), [ease_in_bounce](#ease_in_bounce), [ease_in_circ](#ease_in_circ), [ease_in_cubic](#ease_in_cubic), [ease_in_elastic](#ease_in_elastic), [ease_in_expo](#ease_in_expo), [ease_in_quad](#ease_in_quad), [ease_in_quart](#ease_in_quart), [ease_in_quint](#ease_in_quint), [ease_in_sine](#ease_in_sine), [ease_inout_back](#ease_inout_back), [ease_inout_bounce](#ease_inout_bounce), [ease_inout_circ](#ease_inout_circ), [ease_inout_cubic](#ease_inout_cubic), [ease_inout_elastic](#ease_inout_elastic), [ease_inout_expo](#ease_inout_expo), [ease_inout_perlin](#ease_inout_perlin), [ease_inout_quad](#ease_inout_quad), [ease_inout_quart](#ease_inout_quart), [ease_inout_quint](#ease_inout_quint), [ease_inout_sine](#ease_inout_sine), [ease_linear](#ease_linear), [ease_one](#ease_one), [ease_out_back](#ease_out_back), [ease_out_bounce](#ease_out_bounce), [ease_out_circ](#ease_out_circ), [ease_out_cubic](#ease_out_cubic), [ease_out_elastic](#ease_out_elastic), [ease_out_expo](#ease_out_expo), [ease_out_quad](#ease_out_quad), [ease_out_quart](#ease_out_quart), [ease_out_quint](#ease_out_quint), [ease_out_sine](#ease_out_sine), [ease_ping_pong](#ease_ping_pong), [ease_pong](#ease_pong), [ease_pong_ping](#ease_pong_ping), [ease_zero](#ease_zero), [editor_addbind](#editor_addbind), [editor_addtoworld](#editor_addtoworld), [editor_begin](#editor_begin), [editor_destroy_properties](#editor_destroy_properties), [editor_destroy_selected](#editor_destroy_selected), [editor_end](#editor_end), [editor_filter](#editor_filter), [editor_first_selected](#editor_first_selected), [editor_frame](#editor_frame), [editor_gizmos](#editor_gizmos), [editor_glyph](#editor_glyph), [editor_glyphs](#editor_glyphs), [editor_inspect](#editor_inspect), [editor_last_selected](#editor_last_selected), [editor_load_on_boot](#editor_load_on_boot), [editor_path](#editor_path), [editor_pick](#editor_pick), [editor_pump](#editor_pump), [editor_recv](#editor_recv), [editor_save_on_quit](#editor_save_on_quit), [editor_select](#editor_select), [editor_select_aabb](#editor_select_aabb), [editor_selectgroup](#editor_selectgroup), [editor_send](#editor_send), [editor_setmouse](#editor_setmouse), [editor_spawn](#editor_spawn), [editor_spawn1](#editor_spawn1), [editor_unselect](#editor_unselect), [editor_watch](#editor_watch), [enczig32u](#enczig32u), [enczig64u](#enczig64u), [engine_getf](#engine_getf), [engine_geti](#engine_geti), [engine_gets](#engine_gets), [engine_send](#engine_send), [entity_save](#entity_save), [entropy](#entropy), [enum_find](#enum_find), [enum_inscribe](#enum_inscribe), [euler](#euler), [eulerq](#eulerq), [extract33](#extract33), [fbo](#fbo), [fbo_bind](#fbo_bind), [fbo_destroy](#fbo_destroy), [fbo_unbind](#fbo_unbind), [file_append](#file_append), [file_base](#file_base), [file_copy](#file_copy), [file_counter](#file_counter), [file_crc32](#file_crc32), [file_delete](#file_delete), [file_directory](#file_directory), [file_exist](#file_exist), [file_ext](#file_ext), [file_id](#file_id), [file_list](#file_list), [file_load](#file_load), [file_md5](#file_md5), [file_move](#file_move), [file_name](#file_name), [file_normalize](#file_normalize), [file_path](#file_path), [file_pathabs](#file_pathabs), [file_read](#file_read), [file_sha1](#file_sha1), [file_size](#file_size), [file_stamp](#file_stamp), [file_stamp10](#file_stamp10), [file_temp](#file_temp), [file_tempname](#file_tempname), [file_write](#file_write), [file_zip_append](#file_zip_append), [file_zip_appendmem](#file_zip_appendmem), [file_zip_extract](#file_zip_extract), [file_zip_list](#file_zip_list), [finite2](#finite2), [finite3](#finite3), [finite4](#finite4), [flag](#flag), [float_to_half](#float_to_half), [floor2](#floor2), [floor3](#floor3), [floor4](#floor4), [font_clip](#font_clip), [font_color](#font_color), [font_colorize](#font_colorize), [font_face](#font_face), [font_face_from_mem](#font_face_from_mem), [font_goto](#font_goto), [font_highlight](#font_highlight), [font_metrics](#font_metrics), [font_print](#font_print), [font_rect](#font_rect), [font_scale](#font_scale), [font_scales](#font_scales), [font_wrap](#font_wrap), [font_xy](#font_xy), [forget](#forget), [fract2](#fract2), [fract3](#fract3), [fract4](#fract4), [fractf](#fractf), [frustum44](#frustum44), [frustum_build](#frustum_build), [frustum_test_aabb](#frustum_test_aabb), [frustum_test_sphere](#frustum_test_sphere), [ftoa1](#ftoa1), [ftoa2](#ftoa2), [ftoa3](#ftoa3), [ftoa4](#ftoa4), [fullscreen_quad_rgb](#fullscreen_quad_rgb), [fullscreen_quad_rgb_flipped](#fullscreen_quad_rgb_flipped), [fullscreen_quad_ycbcr](#fullscreen_quad_ycbcr), [fullscreen_quad_ycbcr_flipped](#fullscreen_quad_ycbcr_flipped), [function_find](#function_find), [function_inscribe](#function_inscribe), [fx_begin](#fx_begin), [fx_begin_res](#fx_begin_res), [fx_enable](#fx_enable), [fx_enable_all](#fx_enable_all), [fx_enabled](#fx_enabled), [fx_end](#fx_end), [fx_find](#fx_find), [fx_load](#fx_load), [fx_load_from_mem](#fx_load_from_mem), [fx_name](#fx_name), [fx_order](#fx_order), [fx_program](#fx_program), [fx_setparam](#fx_setparam), [gizmo](#gizmo), [gizmo_active](#gizmo_active), [gizmo_hover](#gizmo_hover), [gjk](#gjk), [gjk_analyze](#gjk_analyze), [gjk_quad](#gjk_quad), [gui_button_id](#gui_button_id), [gui_button_label_id](#gui_button_label_id), [gui_getscissorrect](#gui_getscissorrect), [gui_getskincolor](#gui_getskincolor), [gui_getskinsize](#gui_getskinsize), [gui_ismouseinrect](#gui_ismouseinrect), [gui_label_id](#gui_label_id), [gui_panel_end](#gui_panel_end), [gui_panel_id](#gui_panel_id), [gui_popskin](#gui_popskin), [gui_pushskin](#gui_pushskin), [gui_rect_id](#gui_rect_id), [gui_skinned](#gui_skinned), [gui_slider_id](#gui_slider_id), [gui_slider_label_id](#gui_slider_label_id), [gui_userdata](#gui_userdata), [guid_create](#guid_create), [half_to_float](#half_to_float), [has_debugger](#has_debugger), [hash_32](#hash_32), [hash_64](#hash_64), [hash_bin](#hash_bin), [hash_flt](#hash_flt), [hash_int](#hash_int), [hash_ptr](#hash_ptr), [hash_str](#hash_str), [have_tools](#have_tools), [hexdump](#hexdump), [hexdumpf](#hexdumpf), [id33](#id33), [id34](#id34), [id44](#id44), [id_dispose](#id_dispose), [id_handle](#id_handle), [id_make](#id_make), [id_valid](#id_valid), [identity44](#identity44), [idq](#idq), [image](#image), [image_destroy](#image_destroy), [image_from_mem](#image_from_mem), [inc2](#inc2), [inc3](#inc3), [inc4](#inc4), [ini](#ini), [ini_destroy](#ini_destroy), [ini_from_mem](#ini_from_mem), [ini_write](#ini_write), [input](#input), [input2](#input2), [input_anykey](#input_anykey), [input_chord2](#input_chord2), [input_chord3](#input_chord3), [input_chord4](#input_chord4), [input_click](#input_click), [input_click2](#input_click2), [input_diff](#input_diff), [input_diff2](#input_diff2), [input_down](#input_down), [input_enum](#input_enum), [input_eval](#input_eval), [input_filter_deadzone](#input_filter_deadzone), [input_filter_deadzone_4way](#input_filter_deadzone_4way), [input_filter_positive](#input_filter_positive), [input_filter_positive2](#input_filter_positive2), [input_frame](#input_frame), [input_frame2](#input_frame2), [input_held](#input_held), [input_idle](#input_idle), [input_keychar](#input_keychar), [input_mappings](#input_mappings), [input_repeat](#input_repeat), [input_send](#input_send), [input_string](#input_string), [input_touch](#input_touch), [input_touch_active](#input_touch_active), [input_touch_area](#input_touch_area), [input_touch_delta](#input_touch_delta), [input_touch_delta_from_origin](#input_touch_delta_from_origin), [input_up](#input_up), [input_use](#input_use), [interleave](#interleave), [intern](#intern), [invert34](#invert34), [invert44](#invert44), [is_big](#is_big), [is_little](#is_little), [itoa1](#itoa1), [itoa2](#itoa2), [itoa3](#itoa3), [json_count](#json_count), [json_find](#json_find), [json_get](#json_get), [json_key](#json_key), [json_pop](#json_pop), [json_push](#json_push), [kit_clear](#kit_clear), [kit_dump_state](#kit_dump_state), [kit_insert](#kit_insert), [kit_load](#kit_load), [kit_locale](#kit_locale), [kit_merge](#kit_merge), [kit_reset](#kit_reset), [kit_set](#kit_set), [kit_translate](#kit_translate), [kit_translate2](#kit_translate2), [len2](#len2), [len2sq](#len2sq), [len3](#len3), [len3sq](#len3sq), [len4](#len4), [len4sq](#len4sq), [lerp34](#lerp34), [less_64](#less_64), [less_64_ptr](#less_64_ptr), [less_int](#less_int), [less_int_ptr](#less_int_ptr), [less_ptr](#less_ptr), [less_str](#less_str), [light](#light), [light_ambient](#light_ambient), [light_cone](#light_cone), [light_diffuse](#light_diffuse), [light_dir](#light_dir), [light_falloff](#light_falloff), [light_power](#light_power), [light_specular](#light_specular), [light_teleport](#light_teleport), [light_type](#light_type), [light_update](#light_update), [lightmap](#lightmap), [lightmap_bake](#lightmap_bake), [lightmap_destroy](#lightmap_destroy), [lightmap_setup](#lightmap_setup), [lil16](#lil16), [lil16p](#lil16p), [lil32](#lil32), [lil32f](#lil32f), [lil32p](#lil32p), [lil32pf](#lil32pf), [lil64](#lil64), [lil64f](#lil64f), [lil64p](#lil64p), [lil64pf](#lil64pf), [line_closest_point](#line_closest_point), [line_distance2_point](#line_distance2_point), [load_input](#load_input), [loadb](#loadb), [loadf](#loadf), [lookat44](#lookat44), [loop](#loop), [map_clear](#map_clear), [map_count](#map_count), [map_erase](#map_erase), [map_find](#map_find), [map_free](#map_free), [map_gc](#map_gc), [map_init](#map_init), [map_insert](#map_insert), [map_isempty](#map_isempty), [map_sort](#map_sort), [mat44q](#mat44q), [max2](#max2), [max3](#max3), [max4](#max4), [maxf](#maxf), [maxi](#maxi), [member_find](#member_find), [member_findptr](#member_findptr), [member_inscribe](#member_inscribe), [members_find](#members_find), [mesh](#mesh), [mesh_bounds](#mesh_bounds), [mesh_destroy](#mesh_destroy), [mesh_render](#mesh_render), [mesh_render_prim](#mesh_render_prim), [mesh_update](#mesh_update), [midi_send](#midi_send), [min2](#min2), [min3](#min3), [min4](#min4), [minf](#minf), [mini](#mini), [mix2](#mix2), [mix3](#mix3), [mix4](#mix4), [mixf](#mixf), [mixq](#mixq), [model](#model), [model_aabb](#model_aabb), [model_animate](#model_animate), [model_animate_blends](#model_animate_blends), [model_animate_clip](#model_animate_clip), [model_destroy](#model_destroy), [model_from_mem](#model_from_mem), [model_get_bone_pose](#model_get_bone_pose), [model_getpass](#model_getpass), [model_render](#model_render), [model_render_instanced](#model_render_instanced), [model_render_skeleton](#model_render_skeleton), [model_set_texture](#model_set_texture), [model_setpass](#model_setpass), [model_shading](#model_shading), [model_skybox](#model_skybox), [msgpack](#msgpack), [msgpack_arr](#msgpack_arr), [msgpack_bin](#msgpack_bin), [msgpack_chr](#msgpack_chr), [msgpack_eof](#msgpack_eof), [msgpack_err](#msgpack_err), [msgpack_ext](#msgpack_ext), [msgpack_flt](#msgpack_flt), [msgpack_int](#msgpack_int), [msgpack_map](#msgpack_map), [msgpack_new](#msgpack_new), [msgpack_nil](#msgpack_nil), [msgpack_str](#msgpack_str), [msgpack_uns](#msgpack_uns), [msgunpack](#msgunpack), [msgunpack_arr](#msgunpack_arr), [msgunpack_bin](#msgunpack_bin), [msgunpack_chr](#msgunpack_chr), [msgunpack_dbl](#msgunpack_dbl), [msgunpack_eof](#msgunpack_eof), [msgunpack_err](#msgunpack_err), [msgunpack_ext](#msgunpack_ext), [msgunpack_flt](#msgunpack_flt), [msgunpack_int](#msgunpack_int), [msgunpack_map](#msgunpack_map), [msgunpack_new](#msgunpack_new), [msgunpack_nil](#msgunpack_nil), [msgunpack_str](#msgunpack_str), [msgunpack_uns](#msgunpack_uns), [mul2](#mul2), [mul3](#mul3), [mul4](#mul4), [muladd34](#muladd34), [mulq](#mulq), [multiply33x2](#multiply33x2), [multiply34](#multiply34), [multiply34x2](#multiply34x2), [multiply34x3](#multiply34x3), [multiply44](#multiply44), [multiply44x2](#multiply44x2), [multiply44x3](#multiply44x3), [mulv33](#mulv33), [neg2](#neg2), [neg3](#neg3), [neg4](#neg4), [negq](#negq), [netstring_bounds](#netstring_bounds), [netstring_decode](#netstring_decode), [netstring_encode](#netstring_encode), [network_buffer](#network_buffer), [network_create](#network_create), [network_event](#network_event), [network_get](#network_get), [network_put](#network_put), [network_rpc](#network_rpc), [network_rpc_send](#network_rpc_send), [network_rpc_send_to](#network_rpc_send_to), [network_sync](#network_sync), [network_tests](#network_tests), [norm2](#norm2), [norm3](#norm3), [norm3sq](#norm3sq), [norm4](#norm4), [norm4sq](#norm4sq), [normq](#normq), [obj_addcomponent](#obj_addcomponent), [obj_attach](#obj_attach), [obj_children](#obj_children), [obj_clone](#obj_clone), [obj_comp](#obj_comp), [obj_comp_fast](#obj_comp_fast), [obj_console](#obj_console), [obj_copy](#obj_copy), [obj_copy_fast](#obj_copy_fast), [obj_data](#obj_data), [obj_datac](#obj_datac), [obj_delcomponent](#obj_delcomponent), [obj_detach](#obj_detach), [obj_dumptree](#obj_dumptree), [obj_equal](#obj_equal), [obj_free](#obj_free), [obj_getcomponent](#obj_getcomponent), [obj_greater](#obj_greater), [obj_hascomponent](#obj_hascomponent), [obj_hash](#obj_hash), [obj_header](#obj_header), [obj_hexdump](#obj_hexdump), [obj_id](#obj_id), [obj_lesser](#obj_lesser), [obj_loadbin](#obj_loadbin), [obj_loadini](#obj_loadini), [obj_loadjson](#obj_loadjson), [obj_loadmpack](#obj_loadmpack), [obj_make](#obj_make), [obj_malloc](#obj_malloc), [obj_merge](#obj_merge), [obj_mergebin](#obj_mergebin), [obj_mergeini](#obj_mergeini), [obj_mergejson](#obj_mergejson), [obj_mergempack](#obj_mergempack), [obj_meta](#obj_meta), [obj_mutate](#obj_mutate), [obj_name](#obj_name), [obj_offcomponent](#obj_offcomponent), [obj_parent](#obj_parent), [obj_payload](#obj_payload), [obj_pop](#obj_pop), [obj_print](#obj_print), [obj_printf](#obj_printf), [obj_push](#obj_push), [obj_ref](#obj_ref), [obj_root](#obj_root), [obj_savebin](#obj_savebin), [obj_saveini](#obj_saveini), [obj_savejson](#obj_savejson), [obj_savempack](#obj_savempack), [obj_setmeta](#obj_setmeta), [obj_setname](#obj_setname), [obj_siblings](#obj_siblings), [obj_size](#obj_size), [obj_sizeof](#obj_sizeof), [obj_swap](#obj_swap), [obj_type](#obj_type), [obj_typeid](#obj_typeid), [obj_unref](#obj_unref), [obj_usecomponent](#obj_usecomponent), [obj_zero](#obj_zero), [object](#object), [object_anim](#object_anim), [object_billboard](#object_billboard), [object_diffuse](#object_diffuse), [object_diffuse_pop](#object_diffuse_pop), [object_diffuse_push](#object_diffuse_push), [object_model](#object_model), [object_move](#object_move), [object_pivot](#object_pivot), [object_position](#object_position), [object_rotate](#object_rotate), [object_scale](#object_scale), [object_teleport](#object_teleport), [OBJTYPEDEF](#OBJTYPEDEF), [option](#option), [optionf](#optionf), [optioni](#optioni), [ortho3](#ortho3), [ortho44](#ortho44), [pack16i](#pack16i), [pack32i](#pack32i), [pack64i](#pack64i), [pack64iv](#pack64iv), [pack64uv](#pack64uv), [pack754](#pack754), [PANIC](#PANIC), [pathfind_astar](#pathfind_astar), [perspective44](#perspective44), [plane4](#plane4), [pmod2](#pmod2), [pmod3](#pmod3), [pmod4](#pmod4), [pmodf](#pmodf), [poly_alloc](#poly_alloc), [poly_free](#poly_free), [poly_hit_aabb](#poly_hit_aabb), [poly_hit_aabb_transform](#poly_hit_aabb_transform), [poly_hit_capsule](#poly_hit_capsule), [poly_hit_capsule_transform](#poly_hit_capsule_transform), [poly_hit_poly](#poly_hit_poly), [poly_hit_poly_transform](#poly_hit_poly_transform), [poly_hit_sphere](#poly_hit_sphere), [poly_hit_sphere_transform](#poly_hit_sphere_transform), [poly_test_aabb](#poly_test_aabb), [poly_test_aabb_transform](#poly_test_aabb_transform), [poly_test_capsule](#poly_test_capsule), [poly_test_capsule_transform](#poly_test_capsule_transform), [poly_test_poly](#poly_test_poly), [poly_test_poly_transform](#poly_test_poly_transform), [poly_test_sphere](#poly_test_sphere), [poly_test_sphere_transform](#poly_test_sphere_transform), [popcnt64](#popcnt64), [portname](#portname), [pose](#pose), [print2](#print2), [print2i](#print2i), [print3](#print3), [print33](#print33), [print34](#print34), [print3i](#print3i), [print4](#print4), [print44](#print44), [PRINTF](#PRINTF), [printq](#printq), [profiler_enable](#profiler_enable), [ptr2](#ptr2), [ptr3](#ptr3), [ptr4](#ptr4), [ptrq](#ptrq), [pyramid](#pyramid), [quark](#quark), [quark_intern](#quark_intern), [quark_string](#quark_string), [rad](#rad), [rand64](#rand64), [randf](#randf), [randi](#randi), [randset](#randset), [ray_hit_aabb](#ray_hit_aabb), [ray_hit_plane](#ray_hit_plane), [ray_hit_sphere](#ray_hit_sphere), [ray_hit_triangle](#ray_hit_triangle), [ray_test_aabb](#ray_test_aabb), [ray_test_plane](#ray_test_plane), [ray_test_sphere](#ray_test_sphere), [ray_test_triangle](#ray_test_triangle), [record_active](#record_active), [record_start](#record_start), [record_stop](#record_stop), [refl2](#refl2), [refl3](#refl3), [refl4](#refl4), [relocate44](#relocate44), [renderstate](#renderstate), [renderstate_apply](#renderstate_apply), [renderstate_compare](#renderstate_compare), [rgba](#rgba), [rgbaf](#rgbaf), [rgbatoa](#rgbatoa), [rnd3](#rnd3), [rotate33](#rotate33), [rotate3q](#rotate3q), [rotate3q_2](#rotate3q_2), [rotate44](#rotate44), [rotatex3](#rotatex3), [rotatey3](#rotatey3), [rotatez3](#rotatez3), [rotation33](#rotation33), [rotation44](#rotation44), [rotationq](#rotationq), [rotationq33](#rotationq33), [rotationq44](#rotationq44), [save_input](#save_input), [saveb](#saveb), [savef](#savef), [scale2](#scale2), [scale3](#scale3), [scale33](#scale33), [scale34](#scale34), [scale4](#scale4), [scale44](#scale44), [scaleq](#scaleq), [scaling33](#scaling33), [scaling44](#scaling44), [scene_count](#scene_count), [scene_count_light](#scene_count_light), [scene_get_active](#scene_get_active), [scene_index](#scene_index), [scene_index_light](#scene_index_light), [scene_merge](#scene_merge), [scene_pop](#scene_pop), [scene_push](#scene_push), [scene_render](#scene_render), [scene_spawn](#scene_spawn), [scene_spawn_light](#scene_spawn_light), [screenshot](#screenshot), [screenshot_async](#screenshot_async), [script_bind_class](#script_bind_class), [script_bind_function](#script_bind_function), [script_call](#script_call), [script_init](#script_init), [script_init_env](#script_init_env), [script_pop](#script_pop), [script_push](#script_push), [script_run](#script_run), [script_runfile](#script_runfile), [script_tests](#script_tests), [semver](#semver), [semvercmp](#semvercmp), [server_bind](#server_bind), [server_broadcast](#server_broadcast), [server_broadcast_bin](#server_broadcast_bin), [server_broadcast_bin_flags](#server_broadcast_bin_flags), [server_broadcast_flags](#server_broadcast_flags), [server_drop](#server_drop), [server_poll](#server_poll), [server_send](#server_send), [server_send_bin](#server_send_bin), [server_terminate](#server_terminate), [set_clear](#set_clear), [set_count](#set_count), [set_erase](#set_erase), [set_find](#set_find), [set_free](#set_free), [set_gc](#set_gc), [set_init](#set_init), [set_insert](#set_insert), [set_isempty](#set_isempty), [shader](#shader), [shader_apply_param](#shader_apply_param), [shader_apply_params](#shader_apply_params), [shader_bind](#shader_bind), [shader_bool](#shader_bool), [shader_colormap](#shader_colormap), [shader_destroy](#shader_destroy), [shader_float](#shader_float), [shader_geom](#shader_geom), [shader_get_active](#shader_get_active), [shader_image](#shader_image), [shader_image_unit](#shader_image_unit), [shader_int](#shader_int), [shader_mat44](#shader_mat44), [shader_properties](#shader_properties), [shader_property](#shader_property), [shader_texture](#shader_texture), [shader_texture_unit](#shader_texture_unit), [shader_uint](#shader_uint), [shader_uniform](#shader_uniform), [shader_vec2](#shader_vec2), [shader_vec3](#shader_vec3), [shader_vec3v](#shader_vec3v), [shader_vec4](#shader_vec4), [shadertoy](#shadertoy), [shadertoy_render](#shadertoy_render), [shadowmap](#shadowmap), [shadowmap_begin](#shadowmap_begin), [shadowmap_destroy](#shadowmap_destroy), [shadowmap_end](#shadowmap_end), [shadowmap_set_shadowmatrix](#shadowmap_set_shadowmatrix), [shadowmatrix_ortho](#shadowmatrix_ortho), [shadowmatrix_proj](#shadowmatrix_proj), [signf](#signf), [simplex1](#simplex1), [simplex2](#simplex2), [simplex3](#simplex3), [simplex4](#simplex4), [skybox](#skybox), [skybox_destroy](#skybox_destroy), [skybox_mie_calc_sh](#skybox_mie_calc_sh), [skybox_pbr](#skybox_pbr), [skybox_pop_state](#skybox_pop_state), [skybox_push_state](#skybox_push_state), [skybox_render](#skybox_render), [skybox_sh_add_light](#skybox_sh_add_light), [skybox_sh_reset](#skybox_sh_reset), [sleep_ms](#sleep_ms), [sleep_ns](#sleep_ns), [sleep_ss](#sleep_ss), [sleep_us](#sleep_us), [slerpf](#slerpf), [slerpq](#slerpq), [sphere_closest_point](#sphere_closest_point), [sphere_hit_aabb](#sphere_hit_aabb), [sphere_hit_capsule](#sphere_hit_capsule), [sphere_hit_sphere](#sphere_hit_sphere), [sphere_test_aabb](#sphere_test_aabb), [sphere_test_capsule](#sphere_test_capsule), [sphere_test_poly](#sphere_test_poly), [sphere_test_sphere](#sphere_test_sphere), [spine](#spine), [spine_animate](#spine_animate), [spine_render](#spine_render), [spine_skin](#spine_skin), [sprite](#sprite), [sprite_ctor](#sprite_ctor), [sprite_del](#sprite_del), [sprite_draw](#sprite_draw), [sprite_dtor](#sprite_dtor), [sprite_edit](#sprite_edit), [sprite_flush](#sprite_flush), [sprite_new](#sprite_new), [sprite_rect](#sprite_rect), [sprite_setanim](#sprite_setanim), [sprite_sheet](#sprite_sheet), [sprite_tick](#sprite_tick), [ssbo_bind](#ssbo_bind), [ssbo_create](#ssbo_create), [ssbo_destroy](#ssbo_destroy), [ssbo_map](#ssbo_map), [ssbo_unbind](#ssbo_unbind), [ssbo_unmap](#ssbo_unmap), [ssbo_update](#ssbo_update), [stack](#stack), [steam_destroy](#steam_destroy), [steam_init](#steam_init), [steam_screenshot](#steam_screenshot), [steam_tick](#steam_tick), [steam_trophy](#steam_trophy), [storage_flush](#storage_flush), [storage_mount](#storage_mount), [storage_read](#storage_read), [strbeg](#strbeg), [strbegi](#strbegi), [strcatf](#strcatf), [strcmp_qsort](#strcmp_qsort), [strcmpi_qsort](#strcmpi_qsort), [strcut](#strcut), [strend](#strend), [strendi](#strendi), [string32](#string32), [string8](#string8), [strjoin](#strjoin), [strlcat](#strlcat), [strlcpy](#strlcpy), [strlerp](#strlerp), [strlower](#strlower), [strmatch](#strmatch), [strmatchi](#strmatchi), [strrepl](#strrepl), [strsplit](#strsplit), [strstri](#strstri), [strswap](#strswap), [strtok_s](#strtok_s), [struct_inscribe](#struct_inscribe), [strupper](#strupper), [sub2](#sub2), [sub3](#sub3), [sub4](#sub4), [subq](#subq), [swap16](#swap16), [swap32](#swap32), [swap32f](#swap32f), [swap64](#swap64), [swap64f](#swap64f), [swapf](#swapf), [swapf2](#swapf2), [swapf3](#swapf3), [swapf4](#swapf4), [swarm](#swarm), [swarm_update](#swarm_update), [swarm_update_acceleration_and_velocity_only](#swarm_update_acceleration_and_velocity_only), [swarm_update_acceleration_only](#swarm_update_acceleration_only), [symbol_naked](#symbol_naked), [tcp_bind](#tcp_bind), [tcp_close](#tcp_close), [tcp_debug](#tcp_debug), [tcp_host](#tcp_host), [tcp_open](#tcp_open), [tcp_peek](#tcp_peek), [tcp_port](#tcp_port), [tcp_recv](#tcp_recv), [tcp_send](#tcp_send), [tempva](#tempva), [tempvl](#tempvl), [test](#test), [texture](#texture), [texture_checker](#texture_checker), [texture_compressed](#texture_compressed), [texture_compressed_from_mem](#texture_compressed_from_mem), [texture_create](#texture_create), [texture_destroy](#texture_destroy), [texture_from_mem](#texture_from_mem), [texture_rec_begin](#texture_rec_begin), [texture_rec_end](#texture_rec_end), [texture_unit](#texture_unit), [texture_update](#texture_update), [thread](#thread), [thread_destroy](#thread_destroy), [tiled](#tiled), [tiled_render](#tiled_render), [tilemap](#tilemap), [tilemap_render](#tilemap_render), [tilemap_render_ext](#tilemap_render_ext), [tileset](#tileset), [time_hh](#time_hh), [time_mm](#time_mm), [time_ms](#time_ms), [time_ns](#time_ns), [time_ss](#time_ss), [time_us](#time_us), [timer](#timer), [timer_destroy](#timer_destroy), [track_destroy](#track_destroy), [track_event](#track_event), [track_event_props](#track_event_props), [track_group](#track_group), [track_ident](#track_ident), [track_init](#track_init), [transform33](#transform33), [transform344](#transform344), [transform444](#transform444), [transformq](#transformq), [translate44](#translate44), [translation44](#translation44), [transpose44](#transpose44), [trap_install](#trap_install), [trap_name](#trap_name), [trap_on_abort](#trap_on_abort), [trap_on_debug](#trap_on_debug), [trap_on_ignore](#trap_on_ignore), [trap_on_quit](#trap_on_quit), [tty_attach](#tty_attach), [tty_color](#tty_color), [tty_detach](#tty_detach), [tty_reset](#tty_reset), [tween](#tween), [tween_delkey](#tween_delkey), [tween_destroy](#tween_destroy), [tween_reset](#tween_reset), [tween_setkey](#tween_setkey), [tween_update](#tween_update), [type_inscribe](#type_inscribe), [udp_bind](#udp_bind), [udp_open](#udp_open), [udp_peek](#udp_peek), [udp_recv](#udp_recv), [udp_send](#udp_send), [udp_sendto](#udp_sendto), [ui_active](#ui_active), [ui_atlas](#ui_atlas), [ui_atlas_frame](#ui_atlas_frame), [ui_audio](#ui_audio), [ui_bitmask16](#ui_bitmask16), [ui_bitmask8](#ui_bitmask8), [ui_bool](#ui_bool), [ui_browse](#ui_browse), [ui_bt](#ui_bt), [ui_buffer](#ui_buffer), [ui_button](#ui_button), [ui_button_transparent](#ui_button_transparent), [ui_buttons](#ui_buttons), [ui_camera](#ui_camera), [ui_clampf](#ui_clampf), [ui_collapse](#ui_collapse), [ui_collapse_clicked](#ui_collapse_clicked), [ui_collapse_end](#ui_collapse_end), [ui_collapseo](#ui_collapseo), [ui_color3](#ui_color3), [ui_color3f](#ui_color3f), [ui_color4](#ui_color4), [ui_color4f](#ui_color4f), [ui_colormap](#ui_colormap), [ui_console](#ui_console), [ui_contextual](#ui_contextual), [ui_contextual_end](#ui_contextual_end), [ui_demo](#ui_demo), [ui_dialog](#ui_dialog), [ui_dims](#ui_dims), [ui_disable](#ui_disable), [ui_double](#ui_double), [ui_enable](#ui_enable), [ui_enabled](#ui_enabled), [ui_engine](#ui_engine), [ui_float](#ui_float), [ui_float2](#ui_float2), [ui_float3](#ui_float3), [ui_float4](#ui_float4), [ui_font](#ui_font), [ui_fx](#ui_fx), [ui_fxs](#ui_fxs), [ui_gamepad](#ui_gamepad), [ui_gamepads](#ui_gamepads), [ui_get_dims](#ui_get_dims), [ui_handle](#ui_handle), [ui_has_menubar](#ui_has_menubar), [ui_hover](#ui_hover), [ui_image](#ui_image), [ui_int](#ui_int), [ui_item](#ui_item), [ui_keyboard](#ui_keyboard), [ui_label](#ui_label), [ui_label2](#ui_label2), [ui_label2_bool](#ui_label2_bool), [ui_label2_float](#ui_label2_float), [ui_label2_toolbar](#ui_label2_toolbar), [ui_list](#ui_list), [ui_mat33](#ui_mat33), [ui_mat34](#ui_mat34), [ui_mat44](#ui_mat44), [ui_menu](#ui_menu), [ui_menu_editbox](#ui_menu_editbox), [ui_mouse](#ui_mouse), [ui_notify](#ui_notify), [ui_panel](#ui_panel), [ui_panel_end](#ui_panel_end), [ui_popups](#ui_popups), [ui_radio](#ui_radio), [ui_reflect](#ui_reflect), [ui_section](#ui_section), [ui_separator](#ui_separator), [ui_shader](#ui_shader), [ui_shaders](#ui_shaders), [ui_short](#ui_short), [ui_show](#ui_show), [ui_slider](#ui_slider), [ui_slider2](#ui_slider2), [ui_spine](#ui_spine), [ui_steam](#ui_steam), [ui_string](#ui_string), [ui_subimage](#ui_subimage), [ui_submenu](#ui_submenu), [ui_subtexture](#ui_subtexture), [ui_swarm](#ui_swarm), [ui_texture](#ui_texture), [ui_tiled](#ui_tiled), [ui_tileset](#ui_tileset), [ui_toggle](#ui_toggle), [ui_toolbar](#ui_toolbar), [ui_unsigned](#ui_unsigned), [ui_unsigned2](#ui_unsigned2), [ui_unsigned3](#ui_unsigned3), [ui_visible](#ui_visible), [ui_window](#ui_window), [ui_window_end](#ui_window_end), [unhash_32](#unhash_32), [unpack16i](#unpack16i), [unpack32i](#unpack32i), [unpack64i](#unpack64i), [unpack64iv](#unpack64iv), [unpack64uv](#unpack64uv), [unpack754](#unpack754), [unproject44](#unproject44), [vec23](#vec23), [vec34](#vec34), [vec3q](#vec3q), [vec4q](#vec4q), [vfs_handle](#vfs_handle), [vfs_list](#vfs_list), [vfs_load](#vfs_load), [vfs_mount](#vfs_mount), [vfs_read](#vfs_read), [vfs_reload](#vfs_reload), [vfs_resolve](#vfs_resolve), [vfs_size](#vfs_size), [video](#video), [video_decode](#video_decode), [video_destroy](#video_destroy), [video_duration](#video_duration), [video_has_finished](#video_has_finished), [video_is_paused](#video_is_paused), [video_is_rgb](#video_is_rgb), [video_pause](#video_pause), [video_position](#video_position), [video_seek](#video_seek), [video_textures](#video_textures), [viewport_clear](#viewport_clear), [viewport_clip](#viewport_clip), [viewport_color](#viewport_color), [vlen](#vlen), [vrealloc](#vrealloc), [watch](#watch), [window_aspect](#window_aspect), [window_aspect_lock](#window_aspect_lock), [window_aspect_unlock](#window_aspect_unlock), [window_canvas](#window_canvas), [window_clipboard](#window_clipboard), [window_color](#window_color), [window_create](#window_create), [window_create_from_handle](#window_create_from_handle), [window_cursor](#window_cursor), [window_cursor_shape](#window_cursor_shape), [window_debug](#window_debug), [window_delta](#window_delta), [window_dpi](#window_dpi), [window_focus](#window_focus), [window_fps](#window_fps), [window_fps_lock](#window_fps_lock), [window_fps_target](#window_fps_target), [window_fps_unlock](#window_fps_unlock), [window_frame](#window_frame), [window_frame_begin](#window_frame_begin), [window_frame_end](#window_frame_end), [window_frame_swap](#window_frame_swap), [window_fullscreen](#window_fullscreen), [window_handle](#window_handle), [window_has_cursor](#window_has_cursor), [window_has_debug](#window_has_debug), [window_has_focus](#window_has_focus), [window_has_fullscreen](#window_has_fullscreen), [window_has_icon](#window_has_icon), [window_has_maximize](#window_has_maximize), [window_has_pause](#window_has_pause), [window_has_transparent](#window_has_transparent), [window_has_visible](#window_has_visible), [window_height](#window_height), [window_icon](#window_icon), [window_loop](#window_loop), [window_loop_exit](#window_loop_exit), [window_maximize](#window_maximize), [window_pause](#window_pause), [window_record](#window_record), [window_reload](#window_reload), [window_screenshot](#window_screenshot), [window_setclipboard](#window_setclipboard), [window_stats](#window_stats), [window_swap](#window_swap), [window_time](#window_time), [window_title](#window_title), [window_transparent](#window_transparent), [window_visible](#window_visible), [window_width](#window_width), [write_barrier](#write_barrier), [write_barrier_image](#write_barrier_image), [xml_blob](#xml_blob), [xml_count](#xml_count), [xml_pop](#xml_pop), [xml_push](#xml_push), [xml_string](#xml_string), [xrealloc](#xrealloc), [xsize](#xsize), [xstats](#xstats), [zag64](#zag64), [zbounds](#zbounds), [zdecode](#zdecode), [zencode](#zencode), [zexcess](#zexcess), [zig64](#zig64) ## 🄼 macros [aabb](#aabb), [acosf](#acosf), [array](#array), [array_at](#array_at), [array_back](#array_back), [array_bytes](#array_bytes), [array_cast](#array_cast), [array_clear](#array_clear), [array_copy](#array_copy), [array_count](#array_count), [array_data](#array_data), [array_empty](#array_empty), [array_erase_fast](#array_erase_fast), [array_erase_slow](#array_erase_slow), [array_foreach](#array_foreach), [array_foreach_ptr](#array_foreach_ptr), [array_free](#array_free), [array_init](#array_init), [array_insert](#array_insert), [array_pop](#array_pop), [array_pop_front](#array_pop_front), [array_push](#array_push), [array_push_front](#array_push_front), [array_realloc_](#array_realloc_), [array_reserve](#array_reserve), [array_resize](#array_resize), [array_reverse](#array_reverse), [array_search](#array_search), [array_shuffle](#array_shuffle), [array_sort](#array_sort), [array_unique](#array_unique), [array_vlen_](#array_vlen_), [asinf](#asinf), [atan2f](#atan2f), [axis](#axis), [benchmark](#benchmark), [benchmark_ms](#benchmark_ms), [boid](#boid), [byte2](#byte2), [byte3](#byte3), [byte4](#byte4), [capsule](#capsule), [cc3](#cc3), [cc4](#cc4), [cc5](#cc5), [cc6](#cc6), [cc7](#cc7), [cc8](#cc8), [ceilf](#ceilf), [client_send](#client_send), [client_send_bin](#client_send_bin), [client_send_bin_flags](#client_send_bin_flags), [client_send_flags](#client_send_flags), [client_terminate](#client_terminate), [concat](#concat), [copysignf](#copysignf), [cosf](#cosf), [countof](#countof), [defer](#defer), [do_once](#do_once), [double2](#double2), [double3](#double3), [double4](#double4), [each_array](#each_array), [each_array_ptr](#each_array_ptr), [each_map](#each_map), [each_map_ptr](#each_map_ptr), [each_map_ptr_sorted](#each_map_ptr_sorted), [each_member](#each_member), [each_objchild](#each_objchild), [each_objmember](#each_objmember), [each_set](#each_set), [each_set_ptr](#each_set_ptr), [each_substring](#each_substring), [entity_new](#entity_new), [entity_new_ext](#entity_new_ext), [expf](#expf), [float2](#float2), [float3](#float3), [float4](#float4), [floorf](#floorf), [fmodf](#fmodf), [frustum](#frustum), [gui_button](#gui_button), [gui_button_label](#gui_button_label), [gui_label](#gui_label), [gui_panel](#gui_panel), [gui_rect](#gui_rect), [gui_slider](#gui_slider), [gui_slider_label](#gui_slider_label), [hit](#hit), [hton16](#hton16), [hton32](#hton32), [hton64](#hton64), [hypotf](#hypotf), [ifdef](#ifdef), [ifdef_32](#ifdef_32), [ifdef_64](#ifdef_64), [ifdef_bsd](#ifdef_bsd), [ifdef_c](#ifdef_c), [ifdef_cl](#ifdef_cl), [ifdef_cook](#ifdef_cook), [ifdef_cpp](#ifdef_cpp), [ifdef_debug](#ifdef_debug), [ifdef_ems](#ifdef_ems), [ifdef_false](#ifdef_false), [ifdef_gcc](#ifdef_gcc), [ifdef_linux](#ifdef_linux), [ifdef_mingw](#ifdef_mingw), [ifdef_nocook](#ifdef_nocook), [ifdef_O0](#ifdef_O0), [ifdef_O1](#ifdef_O1), [ifdef_O2](#ifdef_O2), [ifdef_O3](#ifdef_O3), [ifdef_osx](#ifdef_osx), [ifdef_release](#ifdef_release), [ifdef_retail](#ifdef_retail), [ifdef_tcc](#ifdef_tcc), [ifdef_true](#ifdef_true), [ifdef_win32](#ifdef_win32), [ifndef](#ifndef), [int2](#int2), [int3](#int3), [int4](#int4), [is](#is), [isnt](#isnt), [json_count](#json_count), [json_float](#json_float), [json_int](#json_int), [json_key](#json_key), [json_string](#json_string), [line](#line), [log10f](#log10f), [logf](#logf), [macro](#macro), [map](#map), [map_cast](#map_cast), [map_clear](#map_clear), [map_count](#map_count), [map_erase](#map_erase), [map_find](#map_find), [map_find_or_add](#map_find_or_add), [map_find_or_add_allocated_key](#map_find_or_add_allocated_key), [map_foreach](#map_foreach), [map_foreach_ptr](#map_foreach_ptr), [map_foreach_ptr_sorted](#map_foreach_ptr_sorted), [map_free](#map_free), [map_gc](#map_gc), [map_init](#map_init), [map_init_int](#map_init_int), [map_init_ptr](#map_init_ptr), [map_init_str](#map_init_str), [map_insert](#map_insert), [map_isempty](#map_isempty), [mat33](#mat33), [mat34](#mat34), [mat44](#mat44), [ntoh16](#ntoh16), [ntoh32](#ntoh32), [ntoh64](#ntoh64), [obj](#obj), [obj_aabb](#obj_aabb), [obj_ctor](#obj_ctor), [obj_draw](#obj_draw), [obj_dtor](#obj_dtor), [obj_edit](#obj_edit), [obj_extend](#obj_extend), [obj_extend_t](#obj_extend_t), [obj_hasmethod](#obj_hasmethod), [obj_icon](#obj_icon), [obj_init](#obj_init), [obj_lerp](#obj_lerp), [obj_load](#obj_load), [obj_menu](#obj_menu), [obj_method](#obj_method), [obj_new](#obj_new), [obj_new_ext](#obj_new_ext), [obj_printf](#obj_printf), [obj_quit](#obj_quit), [obj_save](#obj_save), [obj_test](#obj_test), [obj_tick](#obj_tick), [obj_vtable](#obj_vtable), [obj_vtable_null](#obj_vtable_null), [pack754_16](#pack754_16), [pack754_32](#pack754_32), [pack754_64](#pack754_64), [pack754_8](#pack754_8), [plane](#plane), [poly](#poly), [powf](#powf), [profile](#profile), [profile_incstat](#profile_incstat), [profile_setstat](#profile_setstat), [profiler_enable](#profiler_enable), [profiler_init](#profiler_init), [quat](#quat), [ray](#ray), [scope](#scope), [set](#set), [set_cast](#set_cast), [set_clear](#set_clear), [set_count](#set_count), [set_erase](#set_erase), [set_find](#set_find), [set_find_or_add](#set_find_or_add), [set_find_or_add_allocated_key](#set_find_or_add_allocated_key), [set_foreach](#set_foreach), [set_foreach_ptr](#set_foreach_ptr), [set_free](#set_free), [set_gc](#set_gc), [set_init](#set_init), [set_init_int](#set_init_int), [set_init_ptr](#set_init_ptr), [set_init_str](#set_init_str), [set_insert](#set_insert), [set_isempty](#set_isempty), [sinf](#sinf), [sphere](#sphere), [sqrtf](#sqrtf), [strcatf](#strcatf), [strcmpi](#strcmpi), [stringf](#stringf), [strtok_r](#strtok_r), [swap16](#swap16), [swap32](#swap32), [swap64](#swap64), [tanf](#tanf), [test](#test), [triangle](#triangle), [ui_profiler](#ui_profiler), [uint2](#uint2), [uint3](#uint3), [uint4](#uint4), [unique](#unique), [unpack754_16](#unpack754_16), [unpack754_32](#unpack754_32), [unpack754_64](#unpack754_64), [unpack754_8](#unpack754_8), [va](#va), [vac](#vac), [vec2](#vec2), [vec2i](#vec2i), [vec3](#vec3), [vec3i](#vec3i), [vec4](#vec4), [xml_blob](#xml_blob), [xml_count](#xml_count), [xml_float](#xml_float), [xml_int](#xml_int) ## c h a n g e l o g * [46e2769](https://dev.v4.games/v4games/v4k/commit/46e2769572242916b588e972478b33310a7163a0): fix: prefer skysphere over skyenv (**Dominik Madarász**) * [98bdd71](https://dev.v4.games/v4games/v4k/commit/98bdd7136a82deb08ed543d0d53c68bb94c4ddfa): fix: gamma correct IBL maps new: support OcclusionMetallicRoughness maps (**Dominik Madarász**) * [f726a2a](https://dev.v4.games/v4games/v4k/commit/f726a2af7b37b069ad42ad51efaf1fb300f5ebf0): new: renderstate add glColorMask fields (**Dominik Madarász**) * [50b0d07](https://dev.v4.games/v4games/v4k/commit/50b0d0766c5259c395f781d674ffd44e238bc275): new: added fx_setparam (**Dominik Madarász**) * [f7015da](https://dev.v4.games/v4games/v4k/commit/f7015da22ed7409824d82fcd42e24b7e69af66dc): new: added fx_program(int pass) (**Dominik Madarász**) * [7df5ea4](https://dev.v4.games/v4games/v4k/commit/7df5ea4ca66ce3c4b9ceccdc6eb87fb239019126): new: renderstate additions (**Dominik Madarász**) * [ba60e86](https://dev.v4.games/v4games/v4k/commit/ba60e8688233dcab9f30067080ec38d2e0d2293c): fix: fx stack fix blendFunc state (**Dominik Madarász**) * [038386e](https://dev.v4.games/v4games/v4k/commit/038386ef2da8d9714a1d079ba30071811f9dec39): new: frame_time uniform (**Dominik Madarász**) * [23c860a](https://dev.v4.games/v4games/v4k/commit/23c860ab9910d089fc3ef8fbb48f786697ec7f4b): new: MODEL_CULLFACE (**Dominik Madarász**) * [8637f7e](https://dev.v4.games/v4games/v4k/commit/8637f7ede3da174e2f559e2c2acb33ac6cfc38ae): chg: centralise --capture to tests_captureframes() (**Dominik Madarász**) * [f9dec24](https://dev.v4.games/v4games/v4k/commit/f9dec24eb5dc0c2fa49aa692bb3c9a779ab98da8): chg: --delta -> --fps (**Dominik Madarász**) * [2683a63](https://dev.v4.games/v4games/v4k/commit/2683a634de3eb38e50958ac78327d5c3f6d83375): fix: use --cook-jobs=0 option (**Dominik Madarász**) * [505ecdc](https://dev.v4.games/v4games/v4k/commit/505ecdc4c209c06de56031566ae2502513816fab): chg: reenable UI on --capture + enforce window res (**Dominik Madarász**) * [c30a738](https://dev.v4.games/v4games/v4k/commit/c30a73877a4ab3de892ba1c2102af5880f1c98ab): chg: don't render UI in --capture mode (**Dominik Madarász**) * [20f7a3c](https://dev.v4.games/v4games/v4k/commit/20f7a3cfa26db9063d214d2a1ca0ada44dbfdac5): chg: tests add --mute flag (**Dominik Madarász**) * [4ebca2e](https://dev.v4.games/v4games/v4k/commit/4ebca2e53b1b6d074b1d19d15fa9b40fa3489346): chg: add Running... remark (**Dominik Madarász**) * [0b048c9](https://dev.v4.games/v4games/v4k/commit/0b048c960c82a20c5f3629bfe57bcf3bc0cafadb): chg: fix pacing on --capture (**Dominik Madarász**) * [b5fd58d](https://dev.v4.games/v4games/v4k/commit/b5fd58d69b90ad313a8d841a55631100ea900123): chg: set fixed rnd seed for captures (**Dominik Madarász**) * [f13e6dc](https://dev.v4.games/v4games/v4k/commit/f13e6dc4acc64b4bd87474fcea7d1a5f810990fa): chg: improve capture exit (**Dominik Madarász**) * [c1673be](https://dev.v4.games/v4games/v4k/commit/c1673be3fed3da562d4e4d8ebe111cc55c082f29): new: automated tests (**Dominik Madarász**) * [8fd7a45](https://dev.v4.games/v4games/v4k/commit/8fd7a4553378e457f6ac47f53e37302e6f4919e2): chg: update gamecontrollerdb.txt (**Dominik Madarász**) * [470e455](https://dev.v4.games/v4games/v4k/commit/470e455091684ca722e61b92b088cd608eb47814): gfx: more state changes (**Dominik Madarász**) * [e59fba6](https://dev.v4.games/v4games/v4k/commit/e59fba6cf2f50c230926e03d3ee675f87a8f1e5a): gfx: use dd_ontop to determine depth test, again (**Dominik Madarász**) * [2ebaa54](https://dev.v4.games/v4games/v4k/commit/2ebaa545c0d6c5f12bb21c2fe5a58e84fe5f6c60): gfx: ddraw push rs (**Dominik Madarász**) * [4eec9cd](https://dev.v4.games/v4games/v4k/commit/4eec9cd8c4c15da4b8f825f820521060256f1ee7): gfx: fix ddraw culling (**Dominik Madarász**) * [6a7950f](https://dev.v4.games/v4games/v4k/commit/6a7950ff8224589013dd6a2230faadb9c9c4be55): gfx: respect dd_ontop (**Dominik Madarász**) * [4f0bd75](https://dev.v4.games/v4games/v4k/commit/4f0bd755d09215f04778c58529ca7230f5a5a719): gfx: ddraw disable default depth test (**Dominik Madarász**) * [881a36b](https://dev.v4.games/v4games/v4k/commit/881a36b75962d9c4578f4f258404ad669b75fce2): gfx: rename polygon mode state (**Dominik Madarász**) * [41505bc](https://dev.v4.games/v4games/v4k/commit/41505bc56f768ccbfad7f0e236869711dbfa9e6f): gfx: remove wireframe state (**Dominik Madarász**) * [9bd54e7](https://dev.v4.games/v4games/v4k/commit/9bd54e7ae1d28607f8d2ad9111f2f717d01484a1): gfx: finish up renderstate (**Dominik Madarász**) * [8346417](https://dev.v4.games/v4games/v4k/commit/83464176bf8bf6742b87dbee5b03b64d3575189f): gfx: renderstate cleanup (**Dominik Madarász**) * [57e55fd](https://dev.v4.games/v4games/v4k/commit/57e55fd8f61c222d68d2a07d385716be568868c9): gfx: revert shader caching (**Dominik Madarász**) * [e74df34](https://dev.v4.games/v4games/v4k/commit/e74df3477c59b33ff64761552693257bb0717177): gfx: unify shader locations in model api (**Dominik Madarász**) * [c34cde2](https://dev.v4.games/v4games/v4k/commit/c34cde210295c43cc90519bd024277cb469ed5d1): gfx: centralise model shading init (**Dominik Madarász**) * [8649efc](https://dev.v4.games/v4games/v4k/commit/8649efc974f6e79657aef5be5cfe9bf91249899b): gfx: disable uniform caching + perf tweaks (**Dominik Madarász**) * [115fff8](https://dev.v4.games/v4games/v4k/commit/115fff8ae08b0d6fcc4212c588dab09bd6c4bed6): gfx: shader instance caching (**Dominik Madarász**) * [14a234f](https://dev.v4.games/v4games/v4k/commit/14a234f3ed5b654b416e3fa92dbc684cf482681c): tools: luaffi (**Dominik Madarász**) * [05f23f2](https://dev.v4.games/v4games/v4k/commit/05f23f2ca64c063fe14000e5817e31666907fb65): add luaffi (**Dominik Madarász**) * [b01ac27](https://dev.v4.games/v4games/v4k/commit/b01ac27fca921fce7dc8508db2918cae31344fc3): gfx: scene_render cleanup (**Dominik Madarász**) * [fd6b9ef](https://dev.v4.games/v4games/v4k/commit/fd6b9ef6397fee2092a7ab7ee06c2e54292658e4): gfx: model render pass switch + lmap fix (**Dominik Madarász**) * [d05c92a](https://dev.v4.games/v4games/v4k/commit/d05c92a9b72e00b112ff4a2bb95df332421749e2): gfx: more cull face coverage (**Dominik Madarász**) * [2277b42](https://dev.v4.games/v4games/v4k/commit/2277b42619663d0b359428839ff0469cb5dbc629): gfx: figure out face culling defaults (**Dominik Madarász**) * [50cc35d](https://dev.v4.games/v4games/v4k/commit/50cc35db90ad68723bfdc277822d2180db9d5dbb): additional improvements (**Dominik Madarász**) * [7b67f29](https://dev.v4.games/v4games/v4k/commit/7b67f296114d8e4d3f345fe668ef30641db98c99): gfx: drop viewport and scissor_box (**Dominik Madarász**) * [90a7319](https://dev.v4.games/v4games/v4k/commit/90a7319eaf1a1192bbe59e776482477964250188): gfx: postfx_end use rs (**Dominik Madarász**) * [4078398](https://dev.v4.games/v4games/v4k/commit/40783980c04d9a6da755460928e3fdb411b3132a): drop lightmap hack (**Dominik Madarász**) * [b4d4102](https://dev.v4.games/v4games/v4k/commit/b4d410212f4a0d2ad3dd1ebd6cdc14d5af5da731): demos: fix lmap and lod demo (**Dominik Madarász**) * [9911166](https://dev.v4.games/v4games/v4k/commit/99111665ba4c8a1c39c0464254ad56f78884217e): snake_case renderstate_t (**Dominik Madarász**) * [1c19c44](https://dev.v4.games/v4games/v4k/commit/1c19c4440079eb1297761d0b520438d77d124f4e): wip: renderstate impl (**Dominik Madarász**) * [87c37ae](https://dev.v4.games/v4games/v4k/commit/87c37ae3ad050bad0de4b63a5cb767ab9a39ec15): update tools (**Dominik Madarász**) * [83a1010](https://dev.v4.games/v4games/v4k/commit/83a101097b1611e9a55b0c237f66e6de777e9730): add build_tools.bat (**Dominik Madarász**) * [c4947bf](https://dev.v4.games/v4games/v4k/commit/c4947bf868d46f39e68fd42bc7f2dd325c6bc0fb): add build_tools.bat (**Dominik Madarász**) * [5820191](https://dev.v4.games/v4games/v4k/commit/5820191ffaeff516fc20a0cdac9fd31519f314bb): add build_tools.bat (**Dominik Madarász**) * [1bf57e8](https://dev.v4.games/v4games/v4k/commit/1bf57e8e1264ff8abd576ef788c91c71ddd04f8a): add build_tools.bat (**Dominik Madarász**) * [1b6169a](https://dev.v4.games/v4games/v4k/commit/1b6169a5156416b7c4f7bad13b226aea37ef50be): shadertoy: set viewport (**Dominik Madarász**) * [594b8a0](https://dev.v4.games/v4games/v4k/commit/594b8a01362bed50053a92668a6912ce4e15a628): demos: shadertoy in material (**Dominik Madarász**) * [989a86f](https://dev.v4.games/v4games/v4k/commit/989a86fb1a7a34515ab6263e07904e8955031680): gfx: tweak sphere_to_polar (**Dominik Madarász**) * [ff72ac6](https://dev.v4.games/v4games/v4k/commit/ff72ac6bc9bc30d3e3100cbb1e096a4eff429e6c): gfx: generate brdf lut (**Dominik Madarász**) * [b94c56e](https://dev.v4.games/v4games/v4k/commit/b94c56ec58935bab3370bd14a3d50d6c4707fbea): fx: move tonemap shaders to engine art dir (**Dominik Madarász**) * [76b256a](https://dev.v4.games/v4games/v4k/commit/76b256ab02deb4bf71e0321ecb80458a910e92e2): fx: ui fixes (**Dominik Madarász**) * [f66f033](https://dev.v4.games/v4games/v4k/commit/f66f0336c242eb20d3a5ab40d4185375f41cec96): fx: set default priority (**Dominik Madarász**) * [9992c74](https://dev.v4.games/v4games/v4k/commit/9992c74e523cb85998f2eb5b4606c1ba38c67dee): fx: fx_order support (**Dominik Madarász**) * [2bc3381](https://dev.v4.games/v4games/v4k/commit/2bc338172c823e4b6b81c5627dbdcff4e3650263): improve pbr shader, introduce fxAces.fs (**Dominik Madarász**) * [7037d71](https://dev.v4.games/v4games/v4k/commit/7037d7158b22cdaf8da115e98d5d01156442cad9): revert gamma correction code (**Dominik Madarász**) * [0c5731b](https://dev.v4.games/v4games/v4k/commit/0c5731b7ebe23f96275a2a548e9f183244b580c6): add gs.bat (**Dominik Madarász**) * [59c9f8b](https://dev.v4.games/v4games/v4k/commit/59c9f8be4e53b71cdf5bc3d00f6dce42155aae7c): more gamma tweak-ups (**Dominik Madarász**) * [fabbcc4](https://dev.v4.games/v4games/v4k/commit/fabbcc4aa79af8a88485e852cb965c52192f8847): gfx: TEXTURE_NO_SRGB (**Dominik Madarász**) * [b8be40e](https://dev.v4.games/v4games/v4k/commit/b8be40e48979d1bf651aeb81a247dc6435e131e9): skinned gui srgb option (**Dominik Madarász**) * [a7e3a92](https://dev.v4.games/v4games/v4k/commit/a7e3a924aa6fd31511ba9c092272dafea7c3db70): sneaky shader (**Dominik Madarász**) * [bd19dba](https://dev.v4.games/v4games/v4k/commit/bd19dba3a3ac061ab40a7cd36f912d54b2bac327): last srgb change (**Dominik Madarász**) * [dc5bbd3](https://dev.v4.games/v4games/v4k/commit/dc5bbd32e9339a83418525f18f03819bd26e65ba): srgb (**Dominik Madarász**) * [5f31dd1](https://dev.v4.games/v4games/v4k/commit/5f31dd100cff838888b6739174992cb95fadea5b): improve srgb control (**Dominik Madarász**) * [b27b265](https://dev.v4.games/v4games/v4k/commit/b27b265a8f9406a7835260940a9675ef379a1e7f): drop this (**Dominik Madarász**) * [b841064](https://dev.v4.games/v4games/v4k/commit/b841064174b54e083870e3b49c47ae4b81063cdc): fix CRLF (**Dominik Madarász**) * [b14c31b](https://dev.v4.games/v4games/v4k/commit/b14c31b4e09e5ea51e74af3c9b285ff28800410c): gfx: gamma correction (**Dominik Madarász**) * [253b931](https://dev.v4.games/v4games/v4k/commit/253b9310936671e75f49a1987c63b5f0181ac5f7): demos: fix 99-pbr (**Dominik Madarász**) * [d258279](https://dev.v4.games/v4games/v4k/commit/d2582796a84f82536a55a9a0a518deb7d0306ad9): render: optimise pbr load (**Dominik Madarász**) * [d636c1c](https://dev.v4.games/v4games/v4k/commit/d636c1c796004905f7fad6a6f3be58c7a0646290): render: unify pbr materials (**Dominik Madarász**) * [a1e26f4](https://dev.v4.games/v4games/v4k/commit/a1e26f4842c8e6124b1936a19b0c867df3a2094b): make: improve dpush (**Dominik Madarász**) * [fc4cb0d](https://dev.v4.games/v4games/v4k/commit/fc4cb0daba7e8e6aef1b5d406ca390767b250582): add: make leak (**Dominik Madarász**) * [5836438](https://dev.v4.games/v4games/v4k/commit/583643859655b72620233a32cf252ce0f3821825): update PLUG.bat (**Dominik Madarász**) * [a347fb3](https://dev.v4.games/v4games/v4k/commit/a347fb345c1817cf04eb5792f447f14348f19055): update make.bat (**Dominik Madarász**) * [d114418](https://dev.v4.games/v4games/v4k/commit/d1144180ed557bc7013dec82329e8b8d1cc0300f): add lod wip (**Dominik Madarász**) * [418a5ad](https://dev.v4.games/v4games/v4k/commit/418a5ad5275546fcd9ddb55d0b4887aaedb708ba): fix mpeg decode for ycbcr (**Dominik Madarász**) * [b69eaee](https://dev.v4.games/v4games/v4k/commit/b69eaee2ee3dfee1d58ea6c83c711a3c83c3a12b): improve docs (**Dominik Madarász**) * [311e589](https://dev.v4.games/v4games/v4k/commit/311e5894a70f636659fb726b9df8091e39a92b6c): promote texture_unit() (**Dominik Madarász**) * [4fdc043](https://dev.v4.games/v4games/v4k/commit/4fdc043677152d370e5796d1607e09b6f1976800): shader uniform caching (**Dominik Madarász**) * [2f49239](https://dev.v4.games/v4games/v4k/commit/2f49239a9fa7b897962c3ed033afb02a87a47245): improve shader binding for PBR (**Dominik Madarász**) * [fad3653](https://dev.v4.games/v4games/v4k/commit/fad3653201edbe424a840ce068be529687bcfff7): improve tex unit allocation (**Dominik Madarász**) * [c8a6c79](https://dev.v4.games/v4games/v4k/commit/c8a6c79bf198ecb5b8950cfe67624ae4f8fa9003): cycle texture units (**Dominik Madarász**) * [bbd9b4e](https://dev.v4.games/v4games/v4k/commit/bbd9b4e950ec49247d28dc17914b435353726e20): support multiple PBR materials (**Dominik Madarász**) * [4fcfb26](https://dev.v4.games/v4games/v4k/commit/4fcfb2690a9757c02a3f7b618548e5bf9800db1d): improve pbr analytical lights (**Dominik Madarász**) * [2aee9c3](https://dev.v4.games/v4games/v4k/commit/2aee9c324042d38e973459cf201f3772e3c0e117): disable cook on demand (**Dominik Madarász**) * [64c6fb5](https://dev.v4.games/v4games/v4k/commit/64c6fb54a4be02e446e749c1ff3dcc9f22a3014e): drop flag check (**Dominik Madarász**) * [f620ed1](https://dev.v4.games/v4games/v4k/commit/f620ed1938fb9b907daabdefa7809f59354383d7): optimise skybox_pbr (**Dominik Madarász**) * [082f78d](https://dev.v4.games/v4games/v4k/commit/082f78d25ffc195620bba442057c97606c2dabea): add cmft studio + hdr maps (**Dominik Madarász**) * [7efc590](https://dev.v4.games/v4games/v4k/commit/7efc59079ae7fa3d8435ff9a4bf030b892e47986): improve material demo (**Dominik Madarász**) * [91d3f9a](https://dev.v4.games/v4games/v4k/commit/91d3f9a03aaf97ebdab59e2caef99def82e6505e): cleanup (**Dominik Madarász**) * [6f83b81](https://dev.v4.games/v4games/v4k/commit/6f83b811321575af3baa74addbaade8ce44549d7): preprocess shaders (**Dominik Madarász**) * [363ae84](https://dev.v4.games/v4games/v4k/commit/363ae843f4a7e97d6b6caf84f53f96dd2a76a67e): add MODEL_PBR flag (**Dominik Madarász**) * [920d8ec](https://dev.v4.games/v4games/v4k/commit/920d8ecad41547162466e752526380aad9e691af): wip: pbr support (**Dominik Madarász**) * [33fb241](https://dev.v4.games/v4games/v4k/commit/33fb24142d83aca2ca3da3a2adcc2e35087e7c7a): renderer: mesh_destroy (**Dominik Madarász**) * [3070fec](https://dev.v4.games/v4games/v4k/commit/3070fece7e527d5e5a08fc5e7d6eb1ce4a82078a): fix enet (**Dominik Madarász**) * [2ea8b3d](https://dev.v4.games/v4games/v4k/commit/2ea8b3da07b7f14ca8a1284763b6f6a6cc36a2f2): update enet (**Dominik Madarász**) * [5a4e56f](https://dev.v4.games/v4games/v4k/commit/5a4e56f63cbe2fd85fb8ef2d9b86911f1731e28e): win: add viewport_color (**Dominik Madarász**) * [47c8b3c](https://dev.v4.games/v4games/v4k/commit/47c8b3c68913d9523379a6be63f9e82cd0264311): scene: add camera_fps2 (**Dominik Madarász**) * [9665e41](https://dev.v4.games/v4games/v4k/commit/9665e4191e0f06e57a8f0fd606f6d2c9a82d6af7): wip: rpc v_v sig (**Dominik Madarász**) * [5381ee4](https://dev.v4.games/v4games/v4k/commit/5381ee4e68efedd0da09710c93cbccca78e38ca4): ci improvements (**Dominik Madarász**) * [b982336](https://dev.v4.games/v4games/v4k/commit/b982336d252bec70387c2c65b42a571c723cc849): support options (**Dominik Madarász**) * [2d329d2](https://dev.v4.games/v4games/v4k/commit/2d329d28c01e4e57ffb0ec6768f9250a6a46b8ce): process compiler options (**Dominik Madarász**) * [4982761](https://dev.v4.games/v4games/v4k/commit/4982761b487f366f8366bcd71f194e0acfabf791): various improvements (**Dominik Madarász**) * [7d5efa6](https://dev.v4.games/v4games/v4k/commit/7d5efa6c62bd162df060302298ecdbf32cf38700): draw: add TEXTURE_ANISOTROPY flag (**Dominik Madarász**) * [083174e](https://dev.v4.games/v4games/v4k/commit/083174e68ce66b1b60ba00ac22b1ec9af05a3ca9): model: use linear filtering by default (**Dominik Madarász**) * [4d37354](https://dev.v4.games/v4games/v4k/commit/4d3735414da808aab2ecf1a543cbcf3f66b517b9): font: move shaders to art/ folder (**Dominik Madarász**) * [d37a3fe](https://dev.v4.games/v4games/v4k/commit/d37a3fec368380bf2d5f0b6c9f7c5866bb88e8b7): plug: syncall and update (**Dominik Madarász**) * [b729271](https://dev.v4.games/v4games/v4k/commit/b729271aba92b24411798ec021e3a476cefd6b28): addon: includes (**Dominik Madarász**) * [86cbafa](https://dev.v4.games/v4games/v4k/commit/86cbafa06c373a38f48a29c9b2db86cbfe067a08): add support for fwk/v4k plugins (**Dominik Madarász**) * [f23b2b6](https://dev.v4.games/v4games/v4k/commit/f23b2b6e0863236d39430541eedaee8730e2a734): reduce code in fps__timing_thread (**Dominik Madarász**) * [78d44cf](https://dev.v4.games/v4games/v4k/commit/78d44cff611625280f93b2ffd9bac8e10aea4129): style change (**Dominik Madarász**) * [6f9fb45](https://dev.v4.games/v4games/v4k/commit/6f9fb4536486b3d929ddb823a84d0825c5981895): window: fix vsync flags (**Dominik Madarász**) * [10746e8](https://dev.v4.games/v4games/v4k/commit/10746e8b0f963dbd82429d0e6478d2f0360c5979): render: fix animations speed setup (**Dominik Madarász**) * [0a2167c](https://dev.v4.games/v4games/v4k/commit/0a2167cf684008217ddaefe22ca0cc80d04aa110): add PLUG.bat (**Dominik Madarász**) * [b685dc7](https://dev.v4.games/v4games/v4k/commit/b685dc7511bbc8d476eff35a2e71d9663b048058): update help (**Dominik Madarász**) * [fdfae76](https://dev.v4.games/v4games/v4k/commit/fdfae769f22bd996804edb6522869192a48fc619): smol cleanup (**Dominik Madarász**) * [0340463](https://dev.v4.games/v4games/v4k/commit/034046320f79df25c7dfa5def206854d1372bf68): ems fixes (**Dominik Madarász**) * [dd7003b](https://dev.v4.games/v4games/v4k/commit/dd7003b2769210cfa3e2878b3f71795e0be2a20d): steam: fix ems build (**Dominik Madarász**) * [4fd3e9c](https://dev.v4.games/v4games/v4k/commit/4fd3e9cd6744b0caf603bc41f1c5a552fb2ddc9d): editor: improve engine_tick powersave feature (**Dominik Madarász**) * [e4b736e](https://dev.v4.games/v4games/v4k/commit/e4b736e98ab74b257a3e41ce016152ef7b15d016): make: fix tcc comp (**Dominik Madarász**) * [698ed1a](https://dev.v4.games/v4games/v4k/commit/698ed1a4773e486e1a29df5fa1c648f421cf90e1): demos: fix warn (**Dominik Madarász**) * [c7c347f](https://dev.v4.games/v4games/v4k/commit/c7c347fa9065e21536677571b2ba9da2ec1cfa82): win: improve fps timing and fix glfw vsync (**Dominik Madarász**) * [6743bc1](https://dev.v4.games/v4games/v4k/commit/6743bc18fd577b6027d9cb1bdfe4bc57903ccfea): font: optimise font_wrap (**Dominik Madarász**) * [c25f4ba](https://dev.v4.games/v4games/v4k/commit/c25f4ba912c71c2f205479b8b9628dbf7890ee84): font: improve cursor advancing (**Dominik Madarász**) * [737e4ce](https://dev.v4.games/v4games/v4k/commit/737e4ce33fbcc422f4bdef42f7081134d09b5e08): font: preserve font cursor (**Dominik Madarász**) * [0ae82ac](https://dev.v4.games/v4games/v4k/commit/0ae82acfea66fbdb1acee7ccab763cfa2c1e4491): demos: 01-font pan controls (**Dominik Madarász**) * [77012ae](https://dev.v4.games/v4games/v4k/commit/77012ae90daeed58feab79a58c08c66b41ebc767): font: font_wrap support (**Dominik Madarász**) * [3a853d0](https://dev.v4.games/v4games/v4k/commit/3a853d09d7f84c06ca2de1e1370b04c9875e9e75): font: font_print_rect -> font_clip + scissor test (**Dominik Madarász**) * [65b5703](https://dev.v4.games/v4games/v4k/commit/65b57039a225b77f550971d7825e0bb0dff4b184): font: drop tags that don't fit in buf (**Dominik Madarász**) * [bea30c6](https://dev.v4.games/v4games/v4k/commit/bea30c6e12a005f89ec619c331dc4798f7c76cbc): font: improve tag collection (**Dominik Madarász**) * [64994fe](https://dev.v4.games/v4games/v4k/commit/64994fe27a0824401a77eed67d375c29e8e30b5c): font: small improvements (**Dominik Madarász**) * [0da93a6](https://dev.v4.games/v4games/v4k/commit/0da93a645bc7c6a3bfc330bbfe4df91e7c8808cf): font: add FONT_JUSTIFY support (**Dominik Madarász**) * [b79492b](https://dev.v4.games/v4games/v4k/commit/b79492b709ca05ed24e112b134e5f425dc6d2ac0): font: text alignment fixes (**Dominik Madarász**) * [295a9d9](https://dev.v4.games/v4games/v4k/commit/295a9d932d171393df4aae5873bc37e0afdc6237): font: fix linedist calc + add font_print_rect (**Dominik Madarász**) * [50d622d](https://dev.v4.games/v4games/v4k/commit/50d622da527ed0a7f7a9534f08a0a2bc2824a2d2): add window_debug() (**Dominik Madarász**) * [fc881e6](https://dev.v4.games/v4games/v4k/commit/fc881e63b0e77c9498b39537c2bba4fc1719b5a0): drop Args print (**Dominik Madarász**) * [6f462d9](https://dev.v4.games/v4games/v4k/commit/6f462d93670b238a33dbfbccea6ca3e3ec146792): build: new addon system (**Dominik Madarász**) * [e3e99d9](https://dev.v4.games/v4games/v4k/commit/e3e99d9477d945d36c0bf34189d6111651b4b93d): ignore .raddbg (**Dominik Madarász**) * [00bbc20](https://dev.v4.games/v4games/v4k/commit/00bbc208fff2c5129539ec390f7cc06001c5172c): fix shader issue + demo assets (**Dominik Madarász**) * [0f817be](https://dev.v4.games/v4games/v4k/commit/0f817be23a5e9777d7ba9d38d47e131d37761d0a): script api revamp (**Dominik Madarász**) * [0c07910](https://dev.v4.games/v4games/v4k/commit/0c07910f0f587ca560926607c1f9c793beaee9c0): small tweaks (**Dominik Madarász**) * [4e9bf5d](https://dev.v4.games/v4games/v4k/commit/4e9bf5d6e7db81b5b4ef62dcd702965075652098): update lua support (**Dominik Madarász**) * [3be5a1d](https://dev.v4.games/v4games/v4k/commit/3be5a1d9866176a4ede8d73f719649da90ecc54b): tidy *.ini (**Dominik Madarász**) * [6d2d0ac](https://dev.v4.games/v4games/v4k/commit/6d2d0ac215b347d1b1c925ecadb932f947d39b25): tidy steam_appid.txt (**Dominik Madarász**) * [6c27281](https://dev.v4.games/v4games/v4k/commit/6c272811ab925f753693194d7c1ffbd087a609fe): gui_label() now uses slice udata for text color (**Dominik Madarász**) * [4c71f98](https://dev.v4.games/v4games/v4k/commit/4c71f9899e546fcbccdb8409c08cc08cbab4fb2f): audio: add a few enhancements (**Dominik Madarász**) * [22d3929](https://dev.v4.games/v4games/v4k/commit/22d3929b19556e7abaf46cba6e53a300726d3abb): font fixup (**Dominik Madarász**) * [efad62a](https://dev.v4.games/v4games/v4k/commit/efad62af54a0ee524feb17dcf9eee13165c3aa08): font fixup (**Dominik Madarász**) * [0ddc564](https://dev.v4.games/v4games/v4k/commit/0ddc564a09bfa4d08c4358a7763563e216a5290f): small fix in gui_panel_id (**Dominik Madarász**) * [5594e4d](https://dev.v4.games/v4games/v4k/commit/5594e4d6420059839f3e72fdde6f747320f1aefc): fix glScissor coords bug (**Dominik Madarász**) * [83644f6](https://dev.v4.games/v4games/v4k/commit/83644f679a42d2de74e90dde057c89b1fc7f1ce8): fix typo in API (**Dominik Madarász**) * [2f2da30](https://dev.v4.games/v4games/v4k/commit/2f2da300ce23b12328c99aca6f9c4774099ccc9f): add fontview tool (**Dominik Madarász**) * [eebe523](https://dev.v4.games/v4games/v4k/commit/eebe5238f6772be116b09ff8cecf23528c2413aa): update demos (**Dominik Madarász**) * [3008fb5](https://dev.v4.games/v4games/v4k/commit/3008fb5b65e3da089c48859191e1a672187decdc): gitify last commit (**Dominik Madarász**) * [616ade5](https://dev.v4.games/v4games/v4k/commit/616ade56d7af7cfb3e8b76f2ca98e07357d8285d): add font_metrics() method (**Dominik Madarász**) * [02ddcb0](https://dev.v4.games/v4games/v4k/commit/02ddcb0af87542dcce62423fcbbfd555f035a49f): font system improvements (**Dominik Madarász**) * [990f58b](https://dev.v4.games/v4games/v4k/commit/990f58b282e93d93ecd60f7dd7a2afef5961f0b2): update layout viewer (**Dominik Madarász**) * [e97917d](https://dev.v4.games/v4games/v4k/commit/e97917d4c4a511bfdc06d1552dd8d439c5bb2e58): improve build script (**Dominik Madarász**) * [520270d](https://dev.v4.games/v4games/v4k/commit/520270d6ea2bd3c53244957bf3357b9b4a89aa52): update docs (**Dominik Madarász**) * [928a58e](https://dev.v4.games/v4games/v4k/commit/928a58ef50c52cbcdcdd9fae8d9bb5a1433259af): improve MAKE.bat (**Dominik Madarász**) * [fe24c0c](https://dev.v4.games/v4games/v4k/commit/fe24c0c5e7149aa528cc02448ad317b5d2f05869): improve lmap data (**Dominik Madarász**) * [36309b8](https://dev.v4.games/v4games/v4k/commit/36309b841cb13c8b897d0a1d6425007b3a462129): wip merging pipeline changes (**Dominik Madarász**) * [4af3442](https://dev.v4.games/v4games/v4k/commit/4af34422f2fc30fe70ea853db893b332b2e003b8): lmap updates (**Dominik Madarász**) * [7bcfb3e](https://dev.v4.games/v4games/v4k/commit/7bcfb3e00c992ee06880c34dad79b889626be1f2): add progress func (**Dominik Madarász**) * [17dae10](https://dev.v4.games/v4games/v4k/commit/17dae10084ed8e1933d7675c642d5987ee04de2b): lmap boundary fixes + opts (**Dominik Madarász**) * [b802036](https://dev.v4.games/v4games/v4k/commit/b802036590ec4b1148259e530a380a79e26cabcd): delete file (**Dominik Madarász**) * [985b4de](https://dev.v4.games/v4games/v4k/commit/985b4de0d2d714ebf7c1acc78f5bb61e89a1804b): lightmapping support (**Dominik Madarász**) * [084f549](https://dev.v4.games/v4games/v4k/commit/084f549ba10c0d8f4512a3bb91334186f33638dd): wip: lmap (**Dominik Madarász**) * [32d4aa8](https://dev.v4.games/v4games/v4k/commit/32d4aa8d02a67f96b2f7c26de07765ba051d526b): add 'make swap' cmd (**Dominik Madarász**) * [ab06ce0](https://dev.v4.games/v4games/v4k/commit/ab06ce0192c8106a3cbb48d76b60280aa29c485f): wip lightmapper + GUI improvements (**Dominik Madarász**) * [1e65c7c](https://dev.v4.games/v4games/v4k/commit/1e65c7cdcf016bed687b5b3d7b1404f9c7811716): fix btn press regression (**Dominik Madarász**) * [a8cbc91](https://dev.v4.games/v4games/v4k/commit/a8cbc91bf6f3d7dc52912a2b6b69c1b27ab8bf70): add gui_label and variants (**Dominik Madarász**) * [5bd1664](https://dev.v4.games/v4games/v4k/commit/5bd16646b4bcf2cbe0a9e66f3d83e0a1a5ca5f57): fix slider cursor pos (**Dominik Madarász**) * [7b6d120](https://dev.v4.games/v4games/v4k/commit/7b6d120c107965acfce64f494399f07093237d87): later docs (**Dominik Madarász**) * [c62dc88](https://dev.v4.games/v4games/v4k/commit/c62dc88bc2c1fbf528f700b92b1c83585f592d1a): docs (**Dominik Madarász**) * [3a0de7b](https://dev.v4.games/v4games/v4k/commit/3a0de7ba059b2fc45c18248ce77a5ba5f01a5b74): improve docs (**Dominik Madarász**) * [d4d6a14](https://dev.v4.games/v4games/v4k/commit/d4d6a14694360e0437bfda7416858df5162a5be5): add style guide for gui_skinned() (**Dominik Madarász**) * [3ed712c](https://dev.v4.games/v4games/v4k/commit/3ed712c8b5c5f742e1e7eacdf3356f6eebe6d16b): only trigger slider change if changed by user (**Dominik Madarász**) * [44e1bce](https://dev.v4.games/v4games/v4k/commit/44e1bce7b6e72f8f308449b88a93f3a5f5a2c77e): return if gui_slider was changed (**Dominik Madarász**) * [2b0e522](https://dev.v4.games/v4games/v4k/commit/2b0e522adf9cb34ca45769241c3532f16ded2f80): improve sliders (**Dominik Madarász**) * [31acdce](https://dev.v4.games/v4games/v4k/commit/31acdce47dad476bb956ea6e3bd9a8582441141b): implement sliders and panels (**Dominik Madarász**) * [cbe002f](https://dev.v4.games/v4games/v4k/commit/cbe002f8e80d4ece75911a15528fc5877fa991bd): add license (**Dominik Madarász**) * [2562509](https://dev.v4.games/v4games/v4k/commit/2562509584b2effa7b09c44d6f78750a235f30d3): 2023.11 release! (**Dominik Madarász**) * [ed13bab](https://dev.v4.games/v4games/v4k/commit/ed13bab0b9f9d6ef89892b0fe61d97eb5f1e9351): gui: another pass (**Dominik Madarász**) * [02ebdb7](https://dev.v4.games/v4games/v4k/commit/02ebdb77b2e19b87c734ed7978937da3f7a27b62): gui cleanup (**Dominik Madarász**) * [071d73d](https://dev.v4.games/v4games/v4k/commit/071d73dbe2b871796f95f3450994ad2687893913): add GUI_PANEL render branch (**Dominik Madarász**) * [d3f3abe](https://dev.v4.games/v4games/v4k/commit/d3f3abed023c330d549d7ef0c158e141bbeddd1e): update ase2ini (**Dominik Madarász**) * [6da10be](https://dev.v4.games/v4games/v4k/commit/6da10bec7ca045c163164d46d1d1610ea7f872b3): integrate v4k_gui (**Dominik Madarász**) * [5540ff5](https://dev.v4.games/v4games/v4k/commit/5540ff54caea14d86452ad5447a703fef38d3dbf): delete residue (**Dominik Madarász**) * [b6805c4](https://dev.v4.games/v4games/v4k/commit/b6805c4943674a915b34ffe23f0755688e81184e): gui skinning (**Dominik Madarász**) * [0a6967a](https://dev.v4.games/v4games/v4k/commit/0a6967abfacc4c9daf10ad1a56f27440ebc7f8fd): update subl (**Dominik Madarász**) * [f11e0cb](https://dev.v4.games/v4games/v4k/commit/f11e0cbe7c067d611835d3a1ee748f87ea38974d): add a new gui_vis tool (**Dominik Madarász**) * [17f41fd](https://dev.v4.games/v4games/v4k/commit/17f41fd361995d414abc3a384f88b95bc1c8bc90): bring vfs_reload() back (**Dominik Madarász**) * [eb3c67b](https://dev.v4.games/v4games/v4k/commit/eb3c67bb08c399a27804b431894a1a3045afaf7b): update steamcmd (**Dominik Madarász**) * [590d2f7](https://dev.v4.games/v4games/v4k/commit/590d2f70c8f396dc2b72c615029f3683669a9c7f): data: fix xml_string empty node return value (**Dominik Madarász**) * [d72ed0a](https://dev.v4.games/v4games/v4k/commit/d72ed0aeee774afb3dfff9a8b26521cc3253a438): v4k web improvements (**Dominik Madarász**) * [d046d47](https://dev.v4.games/v4games/v4k/commit/d046d4767fa0a05d87b56268e6da4fd7cbd5c732): small docs update (**Dominik Madarász**) * [52b250d](https://dev.v4.games/v4games/v4k/commit/52b250df831e6190535aa50cb3fee73e9d064c57): cooking fixes + docs enhancements (**Dominik Madarász**) * [5aa83a5](https://dev.v4.games/v4games/v4k/commit/5aa83a524a7b5d1d64c0b6fb009942552598d748): huge v4k update (**Dominik Madarász**) * [b7344c7](https://dev.v4.games/v4games/v4k/commit/b7344c7298fb84399303eebe9f67785c9de57577): small billboarding changes (**Dominik Madarász**) * [d5a0dac](https://dev.v4.games/v4games/v4k/commit/d5a0dac5d4d6acdd08b106630bf138241d6d33a1): fix billboarding code (**Dominik Madarász**) * [1384509](https://dev.v4.games/v4games/v4k/commit/13845097afd9217675f12e3b19417f1afa8e7265): improve demos build pipeline (**Dominik Madarász**) * [4fa1d52](https://dev.v4.games/v4games/v4k/commit/4fa1d5260981d6a1e72da2328d32ad3313987b95): editor uses monitor hz (**Dominik Madarász**) * [8feb515](https://dev.v4.games/v4games/v4k/commit/8feb515d33e1a454458b65c6286e6c33a55fdac3): editor sync (**Dominik Madarász**) * [6e39436](https://dev.v4.games/v4games/v4k/commit/6e3943679215dbe44ff5c67eaf8b4ff49136fa51): delete old code (**Dominik Madarász**) * [62390a3](https://dev.v4.games/v4games/v4k/commit/62390a3e4bdc19f7cdba84591e85345f92d7db78): billboarding fixed (**Dominik Madarász**) * [7c84c3b](https://dev.v4.games/v4games/v4k/commit/7c84c3b7a4d6cf853e91fa92346174ebb9bec548): move stuff to demos (**Dominik Madarász**) * [f63ee31](https://dev.v4.games/v4games/v4k/commit/f63ee3164852dae1ec8be7a5c250faf25b90455c): add billboard demo (**Dominik Madarász**) * [47c3add](https://dev.v4.games/v4games/v4k/commit/47c3add1349f38d3a6eb5d377e5a82f5874ff7f5): add curve module (**Dominik Madarász**) * [1e8f7c5](https://dev.v4.games/v4games/v4k/commit/1e8f7c57e9b2091b32840a2790fc36d4ec014ae2): add splines demo (**Dominik Madarász**) * [85ce116](https://dev.v4.games/v4games/v4k/commit/85ce116f94b6a1c09486dd5de0376827649937de): fix 06-controller demo (**Dominik Madarász**) * [0a009e4](https://dev.v4.games/v4games/v4k/commit/0a009e4ef9d3bb769f2d80ee38f26ce732959147): improve run cmd (**Dominik Madarász**) * [2e2da51](https://dev.v4.games/v4games/v4k/commit/2e2da516a9d455a6b55653a5787421596540b0fd): fix in engine_tick (**Dominik Madarász**) * [9c9ac19](https://dev.v4.games/v4games/v4k/commit/9c9ac19cf597a29d330901f34a2811e26390bbb5): push editor (**Dominik Madarász**) * [9b66b5f](https://dev.v4.games/v4games/v4k/commit/9b66b5fdc138441f369c030405993bbe7162de89): editor: fix div-by-zero (**Dominik Madarász**) * [5cd68a5](https://dev.v4.games/v4games/v4k/commit/5cd68a5729e4f6fae2dcf7468598c2320ec6943e): update docs tool (**Dominik Madarász**) * [79265e0](https://dev.v4.games/v4games/v4k/commit/79265e0811158191e3ba6383b5171cd9a1a1a276): improve v4web cmd (**Dominik Madarász**) * [7d00cf5](https://dev.v4.games/v4games/v4k/commit/7d00cf57612d268be4ba43c9563dba4dad7c8220): update website (**Dominik Madarász**) * [833f699](https://dev.v4.games/v4games/v4k/commit/833f699c01ecc18ff367f314f4aefc8666e1f6bf): add website submodule (**Dominik Madarász**) * [4cf144a](https://dev.v4.games/v4games/v4k/commit/4cf144a0ddd20dfecfa2ef319aa51df3c3fba663): introduce tween module (**Dominik Madarász**) * [54d6774](https://dev.v4.games/v4games/v4k/commit/54d6774f3c85284256a59526495d25814933a946): add editor_sync tool (**Dominik Madarász**) * [036f0cc](https://dev.v4.games/v4games/v4k/commit/036f0cce09b3a08448463df79701a15d6b9b5f6e): update editor (**Dominik Madarász**) * [ddf1bfd](https://dev.v4.games/v4games/v4k/commit/ddf1bfd2bd97ec353c937ced15400341edfc3ceb): improve engine_tick (**Dominik Madarász**) * [692885e](https://dev.v4.games/v4games/v4k/commit/692885e711d61dbe0b5a506eaf96de998cc1c811): add todo cmd (**Dominik Madarász**) * [31e944a](https://dev.v4.games/v4games/v4k/commit/31e944af6443a5ad75f81faae482d78c1a55a564): ensure vfs_load() properly loads .hdr map (**Dominik Madarász**) * [2aea9ca](https://dev.v4.games/v4games/v4k/commit/2aea9ca1043fc3e25c1a61cdbd22d2c5ebc267c3): small changes in MAKE.bat (**Dominik Madarász**) * [86cb8f9](https://dev.v4.games/v4games/v4k/commit/86cb8f97c2c3c02abe925f0fa353eca44febbc48): ren checkmem -> test (**Dominik Madarász**) * [1ff1a7a](https://dev.v4.games/v4games/v4k/commit/1ff1a7af04a804d84a360ec1a3d8634007ae9ca5): speed up cl builds (**Dominik Madarász**) * [67b610d](https://dev.v4.games/v4games/v4k/commit/67b610d398558a922abee4c9fe8019f281279934): speed up builds (**Dominik Madarász**) * [44d1680](https://dev.v4.games/v4games/v4k/commit/44d168088030da90b28b7dd2d90fb7e9f767b13c): fix docs (**Dominik Madarász**) * [21420bb](https://dev.v4.games/v4games/v4k/commit/21420bb86788cb173699423401463ff3bc116d1a): add track module (**Dominik Madarász**) * [6a56942](https://dev.v4.games/v4games/v4k/commit/6a569424c467d1ba3f7dc99a39a71ad36b79ed7e): editor_rename helper script (**Dominik Madarász**) * [e8bfb4b](https://dev.v4.games/v4games/v4k/commit/e8bfb4bfb52f5a1ef3c7ea0f8f163a6cda1ba343): Merge branch 'main' of dev.v4.games:v4games/v4k (**Vladyslav Hrytsenko**) * [6be54e5](https://dev.v4.games/v4games/v4k/commit/6be54e5b74398afe23946da5dfa1b38d3a22cca6): added fix for osx caching (**Vladyslav Hrytsenko**) * [74abec6](https://dev.v4.games/v4games/v4k/commit/74abec6c0fcd13e74dfa663ad6ff1b08ec3f7521): drop _mirror for real (**Dominik Madarász**) * [ad83757](https://dev.v4.games/v4games/v4k/commit/ad837572add667241f85e9b53de08e3fa5259f1e): use GH _mirror (**Dominik Madarász**) * [3167255](https://dev.v4.games/v4games/v4k/commit/31672552e99bbb31b4dd460643dfbf7f68a65961): drop old _mirror (**Dominik Madarász**) * [acd126e](https://dev.v4.games/v4games/v4k/commit/acd126e326815565dc820f8bc12ea4c38699cd96): cleanup no. 2 (**Dominik Madarász**) * [3195aae](https://dev.v4.games/v4games/v4k/commit/3195aae7770eca6d9be149efa09a3da1f22a4840): cleanup (**Dominik Madarász**) * [7465c37](https://dev.v4.games/v4games/v4k/commit/7465c37c0371586b8d1052d15539b094ea18c14d): drop old _mirror (**Dominik Madarász**) * [011fb89](https://dev.v4.games/v4games/v4k/commit/011fb89b4b045646afefdd35ea584fb9425b302b): update docs tool (**Dominik Madarász**) * [f9d23b5](https://dev.v4.games/v4games/v4k/commit/f9d23b574f0274603521cd2c800a0bbf6b0934de): Merge branch 'main' of dev.v4.games:v4games/v4k (**Dominik Madarász**) * [44a9eaf](https://dev.v4.games/v4games/v4k/commit/44a9eaff2b70eca795ed6cfb57b7931769cf7db2): updated gitignore (**Vladyslav Hrytsenko**) * [de00712](https://dev.v4.games/v4games/v4k/commit/de007125f2d304a6da9ef6b02dec41e85e3fd967): added mac make (**Vladyslav Hrytsenko**) * [8528c3e](https://dev.v4.games/v4games/v4k/commit/8528c3e38e698059129c201dad08757a152acfdf): appl compile (**Vladyslav Hrytsenko**) * [7dfc8a2](https://dev.v4.games/v4games/v4k/commit/7dfc8a2bf8791751611bbe6dcf82160d2b79f45a): Merge branch 'main' of dev.v4.games:v4games/v4k (**Vladyslav Hrytsenko**) * [9c7c0fd](https://dev.v4.games/v4games/v4k/commit/9c7c0fdb953243d163bccf53e0002cdcb2ebb102): disabled retina (**Vladyslav Hrytsenko**) * [25224c6](https://dev.v4.games/v4games/v4k/commit/25224c6db191a9011dae7bc89539d17f83e13485): update MAKE.bat (**Dominik Madarász**) * [eb331e4](https://dev.v4.games/v4games/v4k/commit/eb331e4251cb26547bc4511f5f6930e67c4a2049): fix rgba (**Dominik Madarász**) * [03b5815](https://dev.v4.games/v4games/v4k/commit/03b5815b2a425bb394eb7707b75e88be0d746d95): depot sync (**Dominik Madarász**) * [697ad55](https://dev.v4.games/v4games/v4k/commit/697ad5581c4e7936f0d034fd26c659bbddf4e92a): font alpha (**Dominik Madarász**) * [1812fe7](https://dev.v4.games/v4games/v4k/commit/1812fe72230dcb4e3faab4ab9e75a5609f757d21): updated the sublime project (**Vladyslav Hrytsenko**) * [a739ca9](https://dev.v4.games/v4games/v4k/commit/a739ca9b14a0109ee8689890bec7c601a19e44ec): macos stuff (**Vladyslav Hrytsenko**) * [1e3a34d](https://dev.v4.games/v4games/v4k/commit/1e3a34ddf33b3ce0421c818f1937b016651982f9): lock for OSX / temp / (**Dominik Madarász**) * [9708fcf](https://dev.v4.games/v4games/v4k/commit/9708fcf75668a96a6b1b1afbb4f5d67f5444b2a1): add retail profile (**Dominik Madarász**) * [49d7893](https://dev.v4.games/v4games/v4k/commit/49d7893354ce0005e050ed92b37eab189ab72832): fix ems (**Dominik Madarász**) * [759ace3](https://dev.v4.games/v4games/v4k/commit/759ace344123f38cd89584b8662299e43bc46341): update ark + fix omp parallel for deadlock (**Dominik Madarász**) * [497521a](https://dev.v4.games/v4games/v4k/commit/497521a2c29c0fa42f85c2986ba08ca71cb38e81): improve logs + docs (**Dominik Madarász**) * [82058cf](https://dev.v4.games/v4games/v4k/commit/82058cf23cfa7ebad704e6278afec5df3ffadb29): improve checkmem command (**Dominik Madarász**) * [733f1b1](https://dev.v4.games/v4games/v4k/commit/733f1b1eb14cb67b1e681eed4f34abd23c50db70): close pipes on RETAIL (**Dominik Madarász**) * [9fd068d](https://dev.v4.games/v4games/v4k/commit/9fd068d8ce576666f24b4099bd01af276e9ecd4a): disable pipe closure on retail for now (**Dominik Madarász**) * [4cf87fe](https://dev.v4.games/v4games/v4k/commit/4cf87fe890df3faf15e60c7bff2dd2187f4bb87e): close stdin and stdout on retail (**Dominik Madarász**) * [136b87a](https://dev.v4.games/v4games/v4k/commit/136b87ab1c41e0ecd4e577773ddfc54e802f035c): keep COOK_DISABLED (**Dominik Madarász**) * [53379cc](https://dev.v4.games/v4games/v4k/commit/53379cc6bad9d93e39f3dbd40d3ee47e3b04c9b5): fix ifdef (**Dominik Madarász**) * [21a058a](https://dev.v4.games/v4games/v4k/commit/21a058ac233aca7c4e93c6dc5f591177effd0c98): finalise ENABLE_RETAIL (**Dominik Madarász**) * [6616dce](https://dev.v4.games/v4games/v4k/commit/6616dce555ffbca91689e8efc3ed74570c4fc340): no prints on ENABLE_RETAIL build (**Dominik Madarász**) * [7316666](https://dev.v4.games/v4games/v4k/commit/7316666bcc33da9c78c2abce8bc3988da28e2f26): ENABLE_RETAIL productionize (**Dominik Madarász**) * [b043390](https://dev.v4.games/v4games/v4k/commit/b043390964ee4f87ceb876e89f5774c0ab602680): load icon from vfs + non-workdir (**Dominik Madarász**) * [3da7b6d](https://dev.v4.games/v4games/v4k/commit/3da7b6dc9a85b0cdcec42ce08b3605528bc83915): fwk sync (**Dominik Madarász**) * [d697d94](https://dev.v4.games/v4games/v4k/commit/d697d94f5775e7005449405ec9fee011a10dea08): add `make dstat` (**Dominik Madarász**) * [0ad540f](https://dev.v4.games/v4games/v4k/commit/0ad540f97d31899c7dd2d45dd229e6bc1969b633): small changes (**Dominik Madarász**) * [e7c753a](https://dev.v4.games/v4games/v4k/commit/e7c753aa39e566805aa63f089ac097b2c49df62a): add depot shipping tools (**Dominik Madarász**) * [48022b4](https://dev.v4.games/v4games/v4k/commit/48022b47f01a43e72810fdc9ee6fecf518c4cc13): cook: drop V4K_TITLE alias handling (**Dominik Madarász**) * [b240bfc](https://dev.v4.games/v4games/v4k/commit/b240bfc031be606e0ce81af8e927cee64a639920): Revert "revert to older miniaudio" (**Dominik Madarász**) * [8834e16](https://dev.v4.games/v4games/v4k/commit/8834e1671f4b3f0ad27e02db308c1da1d7e1f985): revert to older miniaudio (**Dominik Madarász**) * [d0c0829](https://dev.v4.games/v4games/v4k/commit/d0c0829fc0afe0b8344b127810d83eabba1bbeae): audio: enable ma_backend_coreaudio for macos (**Dominik Madarász**) * [55d397f](https://dev.v4.games/v4games/v4k/commit/55d397ff70f51f80d712427352e9dfb58bdef145): sync with FWK (**Dominik Madarász**) * [67d5cda](https://dev.v4.games/v4games/v4k/commit/67d5cdad7e86b418a75f4df5a4685901d0df6a9c): improve dpush (**Dominik Madarász**) * [0a69e75](https://dev.v4.games/v4games/v4k/commit/0a69e7510bb9f92cb4c28b004f3cc270a8bb4bf9): update docs (**Dominik Madarász**) * [afaeba4](https://dev.v4.games/v4games/v4k/commit/afaeba45da0d81645a9a34adf0dd3867ad9cab51): pull before push in dpush (**Dominik Madarász**) * [2708d4d](https://dev.v4.games/v4games/v4k/commit/2708d4dc909d8f833cc59512b24266ad69d6e46d): fixes (**Dominik Madarász**) * [a0aa0a1](https://dev.v4.games/v4games/v4k/commit/a0aa0a1d3d07b1f95bb9f8b47dba3d3dfb67b9d4): window: add window_dpi() (**Dominik Madarász**) * [a528fe9](https://dev.v4.games/v4games/v4k/commit/a528fe96949f632929767ff4fe2463508fa991b4): updated support for mac (**Vladyslav Hrytsenko**) * [1430ee7](https://dev.v4.games/v4games/v4k/commit/1430ee7b98454b577adf871f1be6b7ce64e14038): tools: update cook (**Dominik Madarász**) * [882c3a2](https://dev.v4.games/v4games/v4k/commit/882c3a2a76ee684c973eadbf3ab4764a183cdba3): vfs: fix zip enum (**Dominik Madarász**) * [e2d2a00](https://dev.v4.games/v4games/v4k/commit/e2d2a00f46eb4a5fea2b9a340c8ccb4d408686e6): improve depot push (**Dominik Madarász**) * [fbd6839](https://dev.v4.games/v4games/v4k/commit/fbd6839454e22ceea6203e6848d2593de0a699ef): cook: add cook_disable() (**Dominik Madarász**) * [94ecaa9](https://dev.v4.games/v4games/v4k/commit/94ecaa9399b19e3910f9ace429786cb74f8c02e2): cook: add cook_disable() (**Dominik Madarász**) * [ffdc294](https://dev.v4.games/v4games/v4k/commit/ffdc294d71f29dc06d93a49732bb003a076c6ddb): cook: handle V4K_TITLE path (**Dominik Madarász**) * [1868986](https://dev.v4.games/v4games/v4k/commit/1868986249c44121183908b40ea86118752ac9f4): emergency push for make run (**Dominik Madarász**) * [67a57c4](https://dev.v4.games/v4games/v4k/commit/67a57c4339de4b284cde1ecc46b1d3470d051e13): always tidy after push (**Dominik Madarász**) * [fe16479](https://dev.v4.games/v4games/v4k/commit/fe1647947adb56390b36f666a6006c434e547115): fix make dll incorrectly copying v4k.dll (**Dominik Madarász**) * [219d7b9](https://dev.v4.games/v4games/v4k/commit/219d7b9011c8bd2cecbe0d35b60963eb3c1d654f): make run hello now works (**Dominik Madarász**) * [a12f58a](https://dev.v4.games/v4games/v4k/commit/a12f58ad91b65838b1fd166b1b7bb525f8b5d76d): detect single-header use in lab (**Dominik Madarász**) * [602a4f7](https://dev.v4.games/v4games/v4k/commit/602a4f780713adde0fb66de6be92086ebce1cc0c): tooling (**Dominik Madarász**) * [36192e0](https://dev.v4.games/v4games/v4k/commit/36192e0bb0941782120c23e411a88e35dd498f7a): update editor_pick (**Dominik Madarász**) * [de4f390](https://dev.v4.games/v4games/v4k/commit/de4f390376949fdd31350581bcb392d307ef493d): revert that decision (**Dominik Madarász**) * [7e1980b](https://dev.v4.games/v4games/v4k/commit/7e1980b73afb693ee9e306b5f88272d57633f6ac): panic on shader error (**Dominik Madarász**) * [0f32838](https://dev.v4.games/v4games/v4k/commit/0f328384b2c0b86b90272109427885568950bf48): fix GL program used (**Dominik Madarász**) * [9f69116](https://dev.v4.games/v4games/v4k/commit/9f691169f45b15d4cda46d98948b8067929fb487): all around changes (**Dominik Madarász**) * [b9ceb42](https://dev.v4.games/v4games/v4k/commit/b9ceb42817a98c9086d0d2161efbc3b906c6103d): move bind out of engine folder (**Dominik Madarász**) * [d544351](https://dev.v4.games/v4games/v4k/commit/d5443512f4a3d38a8c1c5a7fec1fa12bc0550b31): bring FWK as a _mirror submodule (**Dominik Madarász**) * [559b0ae](https://dev.v4.games/v4games/v4k/commit/559b0ae2da538b033780ddfef83b553efdfc768b): new: struct packer new: vle,int,float,half packers new: crc64(), arc4(), entropy() chg: reordered endianness utils (**Dominik Madarász**) * [c984ac3](https://dev.v4.games/v4games/v4k/commit/c984ac338e2ec753d0eefaf6983d9dd17c19a39d): one extra change in tooling (**Dominik Madarász**) * [3eaef45](https://dev.v4.games/v4games/v4k/commit/3eaef450407032de23ec479fda8608d9a0cf3726): improve depot tooling (**Dominik Madarász**) * [4822df1](https://dev.v4.games/v4games/v4k/commit/4822df172e1c23c5f84f412d32a0017a5e13010d): delete old labs dir (**Dominik Madarász**) * [2157665](https://dev.v4.games/v4games/v4k/commit/2157665a6d65cfa07f4e5adbf51ba66a520f67ba): update tooling again (**Dominik Madarász**) * [f7f4525](https://dev.v4.games/v4games/v4k/commit/f7f45251c5d5207098bb157226b6b1b3556f3a09): update tooling (**Dominik Madarász**) * [6e45118](https://dev.v4.games/v4games/v4k/commit/6e451189ad7fc2cdf0260e11bb1c31ea56957a3e): add depot monorepo (**Dominik Madarász**) * [97d8500](https://dev.v4.games/v4games/v4k/commit/97d85002373ecdc5d9a3b7edd9ed2ca852fb9df8): sync with FWK (**Dominik Madarász**) * [66867de](https://dev.v4.games/v4games/v4k/commit/66867deae6c423d4625367505084bf55129a6a76): shuffle files around (**Dominik Madarász**) * [796839a](https://dev.v4.games/v4games/v4k/commit/796839ac745950eb7cf698a5a8532d55482eb1d3): html5: webaudio support WIP (**Dominik Madarász**) * [1ff5ad2](https://dev.v4.games/v4games/v4k/commit/1ff5ad2767308afb84219c1258b897408af1fc98): html5: disable buggy webaudio backend (**Dominik Madarász**) * [8003e40](https://dev.v4.games/v4games/v4k/commit/8003e408e109e2ce4b6169b4b26bfde27421266b): html5: fix canvas resize and fullscreen + HighDPI support (**Dominik Madarász**) * [07c0d77](https://dev.v4.games/v4games/v4k/commit/07c0d774fe7570b29ef48eb9faa15464fa165bc4): sync to FWK (**Dominik Madarász**) * [5edc822](https://dev.v4.games/v4games/v4k/commit/5edc8228c7ec875d98f58bbbdd8e1f407aebe0a1): sync with FWK (**Dominik Madarász**) * [4e871b7](https://dev.v4.games/v4games/v4k/commit/4e871b7612424e35c029587d548b7be1c338fbf4): sync to FWK (**Dominik Madarász**) * [daa56c3](https://dev.v4.games/v4games/v4k/commit/daa56c3807791f5237f402052d61fbcd1a895122): fix tcc (**Dominik Madarász**) * [a16adf5](https://dev.v4.games/v4games/v4k/commit/a16adf57f0ec400d95fa9f349c2790642f9cae16): add sqlite3 (**Dominik Madarász**) * [f026b9f](https://dev.v4.games/v4games/v4k/commit/f026b9ff5b3fd604be747b8b2dd46b2adb998e19): drop changelog (**Dominik Madarász**) * [51f0959](https://dev.v4.games/v4games/v4k/commit/51f0959d75a70c7236e3dc96237fe2b6dd39117d): sync to FWK 2023.9 (**Dominik Madarász**) * [d93c8fe](https://dev.v4.games/v4games/v4k/commit/d93c8febbef956207e73483a82bd813da41a3a7b): fix html5 build + add a new HTML5 demo (**Dominik Madarász**) * [2d56c30](https://dev.v4.games/v4games/v4k/commit/2d56c302b85ccf4f86ed676c90054726e69babb2): dont delete .art[00].zip (**Dominik Madarász**) * [d029777](https://dev.v4.games/v4games/v4k/commit/d029777c9db9ec29eba3aa78bd3dfdcee0b17eb4): sync with fwk (**Dominik Madarász**) * [a486908](https://dev.v4.games/v4games/v4k/commit/a4869085a4207ab0f615f736c1600426d034bfee): window: improve transparency pass (r-lyeh) (**Dominik Madarász**) * [a8c4b18](https://dev.v4.games/v4games/v4k/commit/a8c4b1816f179797b0e989c7c9f2a25a7471599a): html5: replace viewport_color3 call (**Dominik Madarász**) * [e437dca](https://dev.v4.games/v4games/v4k/commit/e437dcabe2a1c81ce725905ff37b12b01d225009): sync to FWK (**Dominik Madarász**) * [4cd8f82](https://dev.v4.games/v4games/v4k/commit/4cd8f820def83e275619082ed31caac2e2b9183e): render: optimise lighting (**Dominik Madarász**) * [9731ca6](https://dev.v4.games/v4games/v4k/commit/9731ca611cb83d40d9615ef1ab035c521754cf48): render: finalize phong shader (**Dominik Madarász**) * [fff4880](https://dev.v4.games/v4games/v4k/commit/fff4880c4f7d3dcbe1e9e1360eb2cfa4a1adba4d): render: finish up phong shading (**Dominik Madarász**) * [b44fd79](https://dev.v4.games/v4games/v4k/commit/b44fd791a6af3852d14e49239b9e81b5e3f09065): render: fx_end() no longer takes fb handle (**Dominik Madarász**) * [0beb264](https://dev.v4.games/v4games/v4k/commit/0beb264e2b9778b0fe43bdfe92359726a229cf19): scene: WIP lighting pass (**Dominik Madarász**) * [8129920](https://dev.v4.games/v4games/v4k/commit/8129920be21094342d6ae84007ab6862b709c483): window: transparent windows (r-lyeh) (**Dominik Madarász**) * [1b294f1](https://dev.v4.games/v4games/v4k/commit/1b294f1a27fb87ab77094eb074d89c7cc3ebd7c9): rimlight control (**Dominik Madarász**) * [70678e6](https://dev.v4.games/v4games/v4k/commit/70678e6ee1a9afa9f38f5c67950a2cea51a44a15): render: shader() now takes GLSL defines (**Dominik Madarász**) * [aeffb03](https://dev.v4.games/v4games/v4k/commit/aeffb03aad81693b0d967ed9b849b3375931c134): fix up docs (**Dominik Madarász**) * [9408093](https://dev.v4.games/v4games/v4k/commit/9408093b0e3627e2d15d74fec6b6ed8900f00f21): net: use InternetReadFile() on win32 tcc (r-lyeh) (**Dominik Madarász**) * [20796c3](https://dev.v4.games/v4games/v4k/commit/20796c35fa25c9492d4fe3ef2e5f14537cbe0657): dll based wb plugins (**Dominik Madarász**) * [e4269db](https://dev.v4.games/v4games/v4k/commit/e4269dbc0d98b49619d5a91cd2d10795482eb202): and again (**Dominik Madarász**) * [1dea3ea](https://dev.v4.games/v4games/v4k/commit/1dea3eac158a5bc980bae01ce6bf74158a35b445): fix readme authors (**Dominik Madarász**) * [67527c7](https://dev.v4.games/v4games/v4k/commit/67527c770d3cd3b972007737358cac62b84aa044): net: fix IPV6_V6ONLY being 0, should be 27 on win32 (**Dominik Madarász**) * [b7a6543](https://dev.v4.games/v4games/v4k/commit/b7a6543c0785e4bc0d4896dbcfb3e991f486665b): wip asset reload (**Dominik Madarász**) * [5f6fbab](https://dev.v4.games/v4games/v4k/commit/5f6fbab4dee55d0f203afab3e5984de020e3860d): system: add app_spawn (**Dominik Madarász**) * [2ec6999](https://dev.v4.games/v4games/v4k/commit/2ec699948c803575108efef175bbe85ca3a8ecf2): workbench: initial impl wip render: supporting changes ui: new methods (**Dominik Madarász**) * [5451fa6](https://dev.v4.games/v4games/v4k/commit/5451fa6e9d5a973ebb042a58d4bc4e1683121d22): art: new system fonts video: support VIDEO_LOOP html5: drop JS worker (**Dominik Madarász**) * [9724d06](https://dev.v4.games/v4games/v4k/commit/9724d064cf19126c9308e97423baa5e9392366fa): html5: add worker js back (**Dominik Madarász**) * [ad9d3e8](https://dev.v4.games/v4games/v4k/commit/ad9d3e8eee2c2510bfed4e3d2de8bb260352f2a1): bt: introduced a new behavior tree module html5: drop the use of JS worker and provide host.py to serve test build instead demo: use pathfinding in 99-pathfind (**Dominik Madarász**) * [43ca1c8](https://dev.v4.games/v4games/v4k/commit/43ca1c86bd1b799be3d42df6304a445a0c95af2c): demo: use pathfind_astar for player movement (**Dominik Madarász**) * [b437da6](https://dev.v4.games/v4games/v4k/commit/b437da684121d8029336d6b872882d74f848d780): add tiny_impdef (**Dominik Madarász**) * [7a89e8b](https://dev.v4.games/v4games/v4k/commit/7a89e8b6ca8594a2dffb93fab352317aac1c9753): delete info.obj on `make docs` (**Dominik Madarász**) * [08b9fd0](https://dev.v4.games/v4games/v4k/commit/08b9fd045746c9c4e3827eee35b6ad1cee0fc20f): update help screen (**Dominik Madarász**) * [0275294](https://dev.v4.games/v4games/v4k/commit/0275294472c682b05a2e4260a16f2d05f50120b1): add runtime args (**Dominik Madarász**) * [95cb58a](https://dev.v4.games/v4games/v4k/commit/95cb58aaff55b16470f84bb8801cf17df950d9a3): add run command (**Dominik Madarász**) * [c75cff8](https://dev.v4.games/v4games/v4k/commit/c75cff8b0f7d539b2b2509d7c78f905bb76c024d): new motto (**Dominik Madarász**) * [07b002d](https://dev.v4.games/v4games/v4k/commit/07b002d5365d76967ad1d64b11e3f438fb7cc9e7): render: fix skybox_mie_calc_sh cast (**Dominik Madarász**) * [b47c47d](https://dev.v4.games/v4games/v4k/commit/b47c47df5461f69480432c8ee856e811dbcd620b): render: improve skybox_mie_calc_sh and add sky_intensity (**Dominik Madarász**) * [5747b95](https://dev.v4.games/v4games/v4k/commit/5747b95739b89b396ee3ee736759a0dc4941959d): adjust make.bat (**Dominik Madarász**) * [1546a56](https://dev.v4.games/v4games/v4k/commit/1546a56a4aab7e3498af10575482907aee38028c): sponza demo slower cycle (**Dominik Madarász**) * [53b63df](https://dev.v4.games/v4games/v4k/commit/53b63dff586d6178bd7ed8051f704f8280766553): update sponza demo with day/night cycle (**Dominik Madarász**) * [aa66b03](https://dev.v4.games/v4games/v4k/commit/aa66b03929791687f058912d1c806b00beb28199): render: expose all params in mie sky shader (**Dominik Madarász**) * [2e643e6](https://dev.v4.games/v4games/v4k/commit/2e643e69c3715f8366073a80c0c5aeb1a004b712): improve fwk and back cmds (**Dominik Madarász**) * [5841bfb](https://dev.v4.games/v4games/v4k/commit/5841bfbff25a671316b3dd7db522674d50968aed): fwk: sync up (**Dominik Madarász**) * [afd2399](https://dev.v4.games/v4games/v4k/commit/afd2399ec0ed40b8b6198cd13816be59d64cf682): fwk: sync + window: em fix resize + support fixed resize (**Dominik Madarász**) * [a20b0b7](https://dev.v4.games/v4games/v4k/commit/a20b0b73adc6495c36a3fdff972fcd2c3043ae38): mie skybox no longer uses non-standard uniform default value (**Dominik Madarász**) * [959f988](https://dev.v4.games/v4games/v4k/commit/959f988836b8a408f5455f70e4d66db8e7fca989): render: fix skybox_mie_calc_sh sampling cubemap upside down render: skybox_mie_calc_sh match res to 1024 (**Dominik Madarász**) * [2a7b177](https://dev.v4.games/v4games/v4k/commit/2a7b177fd8ee4c2b774b4893c5b4896b2f801b48): small tweaks (**Dominik Madarász**) * [031dbe0](https://dev.v4.games/v4games/v4k/commit/031dbe05dfee2edad61f7e13ecdb321109a1f5b1): temp: revert demo url (**Dominik Madarász**) * [b31edaf](https://dev.v4.games/v4games/v4k/commit/b31edaf5c01d82bba5405a79627939f22b789c89): update docs (**Dominik Madarász**) * [495f997](https://dev.v4.games/v4games/v4k/commit/495f9972e5c5a4ab5b8150121e98c25e4b5b4da1): render: api adjustments (**Dominik Madarász**) * [b8422c6](https://dev.v4.games/v4games/v4k/commit/b8422c6eb94832f60cc7bb1258af246b91b6fa3e): render: rework engine shaders to be loaded from disk (**Dominik Madarász**) * [358522e](https://dev.v4.games/v4games/v4k/commit/358522ea22b49e45c115d487140f3f5b51f5595a): wip: shadowmap (**Dominik Madarász**) * [687993e](https://dev.v4.games/v4games/v4k/commit/687993ef40153213e41efb0c9a77da103d11db1c): code cleanup (**Dominik Madarász**) * [47e0d6c](https://dev.v4.games/v4games/v4k/commit/47e0d6c9698b61a0b924ee0141f9b22ad9beb12f): small render fixes (**Dominik Madarász**) * [2d6ed97](https://dev.v4.games/v4games/v4k/commit/2d6ed9740d38aece3fa055c9519d170b9a019f83): render: add skybox_mie_calc_sh (**Dominik Madarász**) * [d6d0294](https://dev.v4.games/v4games/v4k/commit/d6d0294ae57d1ecb133c4c8f552316250166f45a): demo: temp F8 to switch backend (**Dominik Madarász**) * [dc2555a](https://dev.v4.games/v4games/v4k/commit/dc2555af5833cf6f400ff75953c8d7739d45cb6e): demo: cook on demand (**Dominik Madarász**) * [bc5727e](https://dev.v4.games/v4games/v4k/commit/bc5727eb20786474f32fa1c0644c74ec7ced4a7f): demo: temperature sim (**Dominik Madarász**) * [27805e2](https://dev.v4.games/v4games/v4k/commit/27805e26545e6d0689e648123688f568c963d87d): improve docs about page (**Dominik Madarász**) * [bda4cbb](https://dev.v4.games/v4games/v4k/commit/bda4cbb857fb34dab6209bffffa4a6d9a8305a5c): rpc: improve msg ctor (**Dominik Madarász**) * [d848c6a](https://dev.v4.games/v4games/v4k/commit/d848c6a06a5673e1ececd1df2ae4fed81bbbcb39): rpc: fix RPC_SIGNATURE_v_s case (**Dominik Madarász**) * [3ed96fc](https://dev.v4.games/v4games/v4k/commit/3ed96fc62a741167fa449352d318a2e5e0f03bbb): netsync: improve event ctor (**Dominik Madarász**) * [9fa0c9f](https://dev.v4.games/v4games/v4k/commit/9fa0c9f1ba89ab36cd2a40be18cc1b9a575c4cf7): we go public now! (**Dominik Madarász**) * [d83377e](https://dev.v4.games/v4games/v4k/commit/d83377e86c9b808699f1427a62e05563359e1cab): docs: add commit url to commits (**Dominik Madarász**) * [1062874](https://dev.v4.games/v4games/v4k/commit/1062874d2701d9a05f22de7843e7c48670ef98f0): ignore v4k.html from now on (**Dominik Madarász**) * [5f99b67](https://dev.v4.games/v4games/v4k/commit/5f99b6777855e09c3ac553997898e4d522e21494): sync up with FWK (**Dominik Madarász**) * [208a5d8](https://dev.v4.games/v4games/v4k/commit/208a5d877291a79e7647939e0de6ccf936340c68): add changelog to docs (**Dominik Madarász**) * [fb3e0c5](https://dev.v4.games/v4games/v4k/commit/fb3e0c55e8e50243aee68b1aee215b3ed0090922): readme stuff (**Dominik Madarász**) * [0440bfd](https://dev.v4.games/v4games/v4k/commit/0440bfd3ccc5c09be70b7dca56ae4f492ed374f6): ugly but works html5 cook (**Dominik Madarász**) * [64ee470](https://dev.v4.games/v4games/v4k/commit/64ee470bc462f57f2d8bef79c473b614061df784): fix html5 build (**Dominik Madarász**) * [f77e031](https://dev.v4.games/v4games/v4k/commit/f77e03123ba4730755c98b8c63f5a352282116ca): update docs (**Dominik Madarász**) * [4bd94d7](https://dev.v4.games/v4games/v4k/commit/4bd94d78242fd2fc8bdb893d2442229b1758f5a3): add vps command to update v4k.dev site (**Dominik Madarász**) * [aea5470](https://dev.v4.games/v4games/v4k/commit/aea5470ca6a9adf471a21c8a8971fce5c3974b11): update readme (**Dominik Madarász**) * [d1204ac](https://dev.v4.games/v4games/v4k/commit/d1204acadaa0ff398dcb6c4623caeb6c7210526b): mesh_render_prim addition (**Dominik Madarász**) * [cf45869](https://dev.v4.games/v4games/v4k/commit/cf45869d14a1fbec8fc2cde288a7f6e3bebb53a5): geom shader support (**Dominik Madarász**) * [5af4968](https://dev.v4.games/v4games/v4k/commit/5af4968eed87a1cbbaa9c121422265475d8eeed5): ssbo impl (**Dominik Madarász**) * [34c58f0](https://dev.v4.games/v4games/v4k/commit/34c58f04a9d602785b18b301fbe4b9ed5ce9fef9): improve shaders (**Dominik Madarász**) * [51320bf](https://dev.v4.games/v4games/v4k/commit/51320bfab11853b3bba51da83bb350a6adb8402c): compute shaders! (**Dominik Madarász**) * [1d7e68f](https://dev.v4.games/v4games/v4k/commit/1d7e68f18c6ebc28611585ca44ec953c365d9b6d): anims_t drop M (**Dominik Madarász**) * [3a70df5](https://dev.v4.games/v4games/v4k/commit/3a70df594b5786d238cd83f8ad320a1b90d28c46): update cooker (**Dominik Madarász**) * [380732c](https://dev.v4.games/v4games/v4k/commit/380732c4ada0e0143560679930c3871c885481d7): animlist support (**Dominik Madarász**) * [99d6884](https://dev.v4.games/v4games/v4k/commit/99d688498434dc6897543af3071eadf96a9be1ce): netsync improv (**Dominik Madarász**) * [3e1e170](https://dev.v4.games/v4games/v4k/commit/3e1e170e1645d28ceadef7078198205a0be7c36b): use va() for events (**Dominik Madarász**) * [36c7a81](https://dev.v4.games/v4games/v4k/commit/36c7a8188465049c45b36dca4df18a68f91371f2): stuff (**Dominik Madarász**) * [86e129e](https://dev.v4.games/v4games/v4k/commit/86e129e210fa0fc0eae1edacde316298ca3e0ba9): add NETWORK_BUF_CLEAR_ON_JOIN option (**Dominik Madarász**) * [1928f0a](https://dev.v4.games/v4games/v4k/commit/1928f0a531888c16f36a114230f243f924f1b5d3): reuse IDs on reconnect (**Dominik Madarász**) * [917a636](https://dev.v4.games/v4games/v4k/commit/917a63625b06330b69f960ad21b0399606d88f10): improve (**Dominik Madarász**) * [849b7cf](https://dev.v4.games/v4games/v4k/commit/849b7cfef7d7ac5f7d74b0d5373c5f527bccaf39): allow for polling methods to return events (**Dominik Madarász**) * [27b580d](https://dev.v4.games/v4games/v4k/commit/27b580dbd20b42e99f03c815b7bb37e635b077d6): refactor netsync polling (**Dominik Madarász**) * [4969ab4](https://dev.v4.games/v4games/v4k/commit/4969ab42d91abf291ac43c2d4873bd970beacbf5): rpc support (**Dominik Madarász**) * [d5496d4](https://dev.v4.games/v4games/v4k/commit/d5496d4ddbd2e772f9a741af84b605f037e9036d): add network event handling (**Dominik Madarász**) * [4bc37fc](https://dev.v4.games/v4games/v4k/commit/4bc37fc6be085446d09eac2c172b47f3d406e5cf): changes (**Dominik Madarász**) * [4391fa7](https://dev.v4.games/v4games/v4k/commit/4391fa7b33179fbbceffd04581035c4d373ff596): netsync improvements (**Dominik Madarász**) * [37db0c0](https://dev.v4.games/v4games/v4k/commit/37db0c09fe525b90adb2f6b0581de2d758f6ba33): improve shaders (**Dominik Madarász**) * [178320f](https://dev.v4.games/v4games/v4k/commit/178320f636a48ff757ce7763cd5e85f103f2fcd7): rsdf (**Dominik Madarász**) * [ec6e6c0](https://dev.v4.games/v4games/v4k/commit/ec6e6c0e953507d8ab2b4054f15cb907186f8a5f): oom (**Dominik Madarász**) * [6f196a9](https://dev.v4.games/v4games/v4k/commit/6f196a9fb6f505d2b2169c93692585e7bb340d9d): make git now runs make prep (**Dominik Madarász**) * [9fa2bf5](https://dev.v4.games/v4games/v4k/commit/9fa2bf5e6fb895c183560f48737df5b2ea921942): update deps (**Dominik Madarász**) * [5264e11](https://dev.v4.games/v4games/v4k/commit/5264e113c312dae0e4b31fbd6391c5062e9f8ac5): new ver (**Dominik Madarász**) * [eea0b62](https://dev.v4.games/v4games/v4k/commit/eea0b62112fc0d450c924f460473544f79255442): rebrand (**Dominik Madarász**) * [bf8d7ae](https://dev.v4.games/v4games/v4k/commit/bf8d7aecfd53a3b913861ca7715b104c907e5b93): oompsie (**Dominik Madarász**) * [5908765](https://dev.v4.games/v4games/v4k/commit/59087657b3eff653abe3f887ca99c3ac15ae1bac): dont do tools (**Dominik Madarász**) * [6e90950](https://dev.v4.games/v4games/v4k/commit/6e9095097e319ba03391bafff03b9e9ec5028fbe): fixes (**Dominik Madarász**) * [aa850b9](https://dev.v4.games/v4games/v4k/commit/aa850b906f60f92ef7a9fd62beffa173e251ac45): improve fwk/back (**Dominik Madarász**) * [24775d1](https://dev.v4.games/v4games/v4k/commit/24775d1c825be80cfbb53f1ba0a10611275b33ba): drop rem (**Dominik Madarász**) * [a70af46](https://dev.v4.games/v4games/v4k/commit/a70af46f954a38aa8151e155072ddeece355302b): fwkren improvements (**Dominik Madarász**) * [e4b6b8b](https://dev.v4.games/v4games/v4k/commit/e4b6b8ba1f55496d14836622c25c0b80180acc66): add fwkren as a replacement for powershell exec (**Dominik Madarász**) * [8b6f07e](https://dev.v4.games/v4games/v4k/commit/8b6f07e5c5b30f74b929fe09767b8c41f74268be): ass2iqe: animlist support + sample anim file (**Dominik Madarász**) * [fb2f7ee](https://dev.v4.games/v4games/v4k/commit/fb2f7ee532bcfecc056c5d8754ca378816441f67): update demo (**Dominik Madarász**) * [1a1683a](https://dev.v4.games/v4games/v4k/commit/1a1683aa29d8a7a64ca1d4672c15038f4feeb95b): upstream files (**Dominik Madarász**) * [cb37e1e](https://dev.v4.games/v4games/v4k/commit/cb37e1e9f4abe69ae53f41b6fa0d34e4229f4dd5): upstream changes (**Dominik Madarász**) * [69b7782](https://dev.v4.games/v4games/v4k/commit/69b7782b2ed97b5bce40176e35b9acc2f3745185): 0 (**Dominik Madarász**) * [458f0e6](https://dev.v4.games/v4games/v4k/commit/458f0e6bd41270bf4e14751e201cf3575327fc22): update MAKE.bat (**Dominik Madarász**) * [b118b99](https://dev.v4.games/v4games/v4k/commit/b118b990b85f4345e45fd20082cf80b85529041b): x (**Dominik Madarász**) * [affc8a9](https://dev.v4.games/v4games/v4k/commit/affc8a9da5177346705207da0af0f9e817120a98): Merge remote-tracking branch 'fwk/main' (**Dominik Madarász**) * [7f04463](https://dev.v4.games/v4games/v4k/commit/7f04463de96f51fd62467abb6f61d2d9de8c14d2): chg: bring back project generators `MAKE proj` (premake5) chg: bring back most demos/ `MAKE demos` fix: ui: fixed crash when no cooked fonts were available (ui_notify) fix: html5: added pthreads support (@zpl-zak) fix: html5: allowed coi requests in localhost served contents (@zpl-zak) chg: html5: instantiate web server only if content is not being served chg: bring back demos/html5/ chg: bring back tools/editor/ chg: bring back some audio tunes chg: update docs (**r-lyeh**) * [355f7b5](https://dev.v4.games/v4games/v4k/commit/355f7b52cea0bda89d99a997a7ce09267cb11245): add sponza demo (**Dominik Madarász**) * [d11546a](https://dev.v4.games/v4games/v4k/commit/d11546ad726a7d9d3d0f57694e4f9c607593336c): fix FX load (**Dominik Madarász**) * [4093f97](https://dev.v4.games/v4games/v4k/commit/4093f97dec674d6fccb0bf26d6fca24001c334f9): another change (**Dominik Madarász**) * [4964c6d](https://dev.v4.games/v4games/v4k/commit/4964c6dc045c5fda145d079fbd6cb0f6d00c8fa0): all means extras too (**Dominik Madarász**) * [7f5f6e7](https://dev.v4.games/v4games/v4k/commit/7f5f6e7a5830cb78492a97a8a02dbe27a2c551ab): add more demos (**Dominik Madarász**) * [0a87150](https://dev.v4.games/v4games/v4k/commit/0a87150932821fa323223e9d125b77574dbd8725): keep comments (**Dominik Madarász**) * [82a2db5](https://dev.v4.games/v4games/v4k/commit/82a2db5301413c9436f76a4760c015f0a04e834a): keep comments (**Dominik Madarász**) * [a706369](https://dev.v4.games/v4games/v4k/commit/a70636955779db0067e7cbf35e4e3c3f7b754720): add glslcc tool (**Dominik Madarász**) * [e30c8bb](https://dev.v4.games/v4games/v4k/commit/e30c8bb1900eee8a37dba694a2bc0a305cadba39): add extras switch (**Dominik Madarász**) * [5565dcc](https://dev.v4.games/v4games/v4k/commit/5565dcc4ad48d1fa6408312c4a2e33348dcb0ba7): add some assets from FWK 2022 (**Dominik Madarász**) * [3c3c88d](https://dev.v4.games/v4games/v4k/commit/3c3c88df5fc3b8e6782f52481e08926c1b5e0c1a): update demos (**Dominik Madarász**) * [8550b12](https://dev.v4.games/v4games/v4k/commit/8550b1275731ffb3ddd3652d5ac5d53fc2113e94): Merge remote-tracking branch 'fwk/main' (**Dominik Madarász**) * [1c9f410](https://dev.v4.games/v4games/v4k/commit/1c9f410e361a2e4b5f7a93834ff041466fec91c7): add glsl join/split tools (**Dominik Madarász**) * [54aa82a](https://dev.v4.games/v4games/v4k/commit/54aa82aecfc13709cf8331e520f1712a200167cd): chg: bring back project generators `MAKE proj` (premake5) chg: bring back most demos/ `MAKE demos` fix: ui: fixed crash when no cooked fonts were available (ui_notify) fix: html5: added pthreads support (@zpl-zak) fix: html5: allowed coi requests in localhost served contents (@zpl-zak) chg: html5: instantiate web server only if content is not being served chg: bring back demos/html5/ chg: bring back tools/editor/ chg: bring back some audio tunes chg: update docs (**r-lyeh**) * [e5b5047](https://dev.v4.games/v4games/v4k/commit/e5b504773f4e81988f3ed0ea813f9e1b976d44c3): make web (**Dominik Madarász**) * [9e2d449](https://dev.v4.games/v4games/v4k/commit/9e2d449d926c6bd15d8a37942573444f376fc2ba): lua stuff (**Dominik Madarász**) * [654bf9f](https://dev.v4.games/v4games/v4k/commit/654bf9ff5bd03518a0ecada5f65a8f238bd96d5e): improve rpc (**Dominik Madarász**) * [6fe631b](https://dev.v4.games/v4games/v4k/commit/6fe631b5d5f79e030ac0262a5fe9900445088550): Merge remote-tracking branch 'fwk/main' (**Dominik Madarász**) * [3b958eb](https://dev.v4.games/v4games/v4k/commit/3b958eb73d1640a0f4bb2e526715d21c0fc57ab0): dont complain about missing dir (**Dominik Madarász**) * [d5979e1](https://dev.v4.games/v4games/v4k/commit/d5979e16dd60f8eb5ac3a5c0f964c28f0dccdea0): add fwk command to prep fwk PRs (**Dominik Madarász**) * [1fa7710](https://dev.v4.games/v4games/v4k/commit/1fa7710d349b62b007b56be792bb072f5c0bae67): fix: html5: added pthreads support (@zpl-zak) fix: html5: allowed coi requests in localhost served contents (@zpl-zak) fix: html5: instantiate web server only if content is not being served chg: bring back demos/html5/ chg: bring back tools/editor/ chg: bring back some audio tunes chg: update docs (**r-lyeh**) * [8fc280e](https://dev.v4.games/v4games/v4k/commit/8fc280e6ff13a5e3f437f99ff45c84e61e38d2ca): update docs (**Dominik Madarász**) * [5cb2c38](https://dev.v4.games/v4games/v4k/commit/5cb2c38b253ec3e2390c622ec640f2f6de1ee85b): rpc support in v4k (**Dominik Madarász**) * [ee76c55](https://dev.v4.games/v4games/v4k/commit/ee76c55b0ee7fd8f65d3a99486691e5c70a3610c): update make pull (**Dominik Madarász**) * [109a410](https://dev.v4.games/v4games/v4k/commit/109a41093a47caa43b3e7162bffdc6fcfe772fc0): rename (**Dominik Madarász**) * [9dbeb39](https://dev.v4.games/v4games/v4k/commit/9dbeb39fd3c2b955f574b4f21f369cea37a6db7c): Merge remote-tracking branch 'fwk/main' (**Dominik Madarász**) * [80effb7](https://dev.v4.games/v4games/v4k/commit/80effb7e2e4644b81b53e8e10799041637d04f0b): ensure FWK upstream is always present (**Dominik Madarász**) * [aa5f708](https://dev.v4.games/v4games/v4k/commit/aa5f7085fe26a4fc128d34f06024a40215fc5e63): add sublime-project (**Dominik Madarász**) * [01f7395](https://dev.v4.games/v4games/v4k/commit/01f7395c8215f2df936a6dab0442fe12c28af387): update ports (**Dominik Madarász**) * [5f798d0](https://dev.v4.games/v4games/v4k/commit/5f798d0d8df7d0fc2c3573fa37cfedc034c3caa4): v4k initial commit (**Dominik Madarász**) * [e2fa783](https://dev.v4.games/v4games/v4k/commit/e2fa783a689b5dcdc579bbf56c12774332ecc2c1): chg: bring back some audio tunes chg: bring back tools/editor/ chg: update docs (**r-lyeh**) * [3b67efc](https://dev.v4.games/v4games/v4k/commit/3b67efc1f56b4d7b1e35165ecc32e46adf50aa03): chg: replicate previous project tree layout fix: fixed issue when mounting empty zipfiles (likely to happen in computers with many cpu cores) (thanks @zpl-zak!) new: forked milestone in https://github.com/r-lyeh/FWK.2022 chg: update teal + gamecontrollerdb add: added tools/plugins/ stub folder brk: renamed `WITH_` > `ENABLE_` directives chg: updated docs (**r-lyeh**)