**F·W·K** |Version: | {{VERSION}} | |:--------------|:------------| |Branch: | main | |Commit: | 1 | # [F·W·K {{VERSION}}](https://github.com/r-lyeh/FWK) ## a b o u t - https://github.com/r-lyeh/FWK is a 3D game framework in C, with Luajit bindings. - Download latest release: https://github.com/r-lyeh/FWK/releases - WIP Documentation below. Need extra support? Join us. ![Image from demo.c](https://i.imgur.com/sInbRoA.gif)
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
Goals - [x] ~~C++~~. C. - [x] ~~Fast~~. Naive. - [x] ~~Modern~~. Simple. - [x] ~~Full featured~~. Small. - [x] ~~Rich build system~~. Single file. - [x] ~~Royaltie fee~~. Free and unlicensed.
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] 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] 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] [Editor (wip)](https://user-images.githubusercontent.com/35402248/174457347-f787a6a2-aac8-404c-a5da-f44310c3d432.mp4). - [x] [Documentation (wip)](https://bit.ly/-f-w-k-).
Roadmap ᕕ(ᐛ)ᕗ (in order of arrival; ✱: partial support) - [ ] AI pass: actors, waypoints, pathfinding, behavior trees (h/fsm,goap), and navmesh generation. - [ ] Render pass: reverse-Z, automatic LODs, impostors, decals. - [ ] Materials: (colors✱, textures✱, matcaps✱, videos✱, shadertoys✱). Shadertoys as post-fx✱. - [ ] Lighting: Hard/soft shadow mapping (VSM,CCSM). Baked lightmaps. Refl probes. Integrated PBR. - [ ] Network/VM pass: Entity/component/systems and worlds. - [ ] Message pipeline and replication. - [ ] Digital signals, message buffering and event polling. - [ ] World streaming and level loading. - [ ] Scenegraphs and spatial partioning. BVH, PVS, occluders, frustum culling. - [ ] Server/client architecture. Hybrid P2P. - [ ] NAT traversal. Socketless API, message API and pub/sub wrappers (enet/websocket). - [ ] Tools pass - [ ] Extend shaders + bindings. Per-platform✱, per-type✱, per-asset options. GIF, PKM. - [ ] Extend atlas (sprite/lightmaps). Fit packing (sprites). - [ ] Extend bindings and messaging: parse C headers during cooking stage. - [ ] API pass - [ ] Discuss API and freeze it. - [ ] Document everything.
Hello FWK ```C #include "fwk.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 FWK from C!"); } } ``` ```C #include "fwk.h" // Minimal HTML5 sample void render(void *arg) { if( !input(KEY_ESC) ) puts("hello FWK from HTML5!"); } int main() { window_create(75.0, 0); // 75% size, no extra flags window_loop(render, NULL); // game loop } ``` ```lua local fwk = require("fwk") -- Minimal Lua sample fwk.window_create(75.0,0) -- 75% size, no extra flags while fwk.window_swap() and fwk.input(fwk.KEY_ESC) == 0 do -- game loop print("hello FWK from Lua!") end ```
Quickstart ```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 - Most asset types need to be cooked before being used in your application. Some other assets like `.png` do not. - Cooked assets will be written into .zipfiles close to your executable, and mounted before entering game loop. - Cooked .zipfiles and your executable are the only required assets when releasing your game. - Cook manually your assets by invoking supplied [`tools/cook` standalone binary](tools/). - Cook automatically your assets by just playing your game: a runtime cook is already embedded into your binary. - In order to achieve this, ensure the [`tools/` folder](tools/) is close to your executable. - This folder contains all the related binaries to perform any asset conversion plus the [cookbook](tools/cook.ini) to do so.
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/`](art/engine/import) folder. - Update the gamepad controller database by upgrading the [`gamecontrollerdb.txt`](art/engine/input) file. - Depending on your IDE, you might need to browse to [`split/`](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 `split/fwk.h, fwk.c and fwk` files into it.
Credits (Artwork + demos) - [Nanofactory](https://sketchfab.com/3d-models/kgirls01-d2f946f58a8040ae993cda70c97b302c), for kgirls01 3D model (CC BY-NC-ND 4.0). - [RottingPixels](https://opengameart.org/content/2d-castle-platformer-tileset-16x16), for castle-tileset (CC0). - [wwwtyro](https://github.com/wwwtyro/glsl-atmosphere), for nicest rayleigh/mie scattering shader around (CC0).
Credits (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). - [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). - [Mattias Gustavsson](https://github.com/mattiasgustavsson/libs), for mid.h (PD). - [Michael Schmoock](http://github.com/willsteel/lcpp), for lcpp (MIT). - [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).
Credits (Runtime) - [Barerose](https://github.com/barerose), for swrap (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). - [Gargaj+cce/Peisik](https://github.com/gargaj/foxotron), for Foxotron/PBR shaders (UNLICENSE). - [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). - [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). - [Mārtiņš Možeiko](https://gist.github.com/mmozeiko/68f0a8459ef2f98bcd879158011cc275), for A* pathfinding (PD). - [Mattias Gustavsson](https://github.com/mattiasgustavsson/libs), for thread.h and https.h (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). - [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). - [Tor Andersson](https://github.com/ccxvii/minilibs), for xml.c (PD). - [Vassvik](https://github.com/vassvik/mv_easy_font), for mv_easy_font (Unlicense). - Special thanks to [@ands](https://github.com/ands), [@barerose](https://github.com/barerose), [@datenwolf](https://github.com/datenwolf), [@evanw](https://github.com/evanw), [@glampert](https://github.com/glampert), [@krig](https://github.com/krig), [@sgorsten](https://github.com/sgorsten) and [@vurtun](https://github.com/vurtun) for their math libraries (PD,CC0,WTFPL2,CC0,PD,CC0,Unlicense,PD).
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.
Links

Issues Discord
Still looking for alternatives? [amulet](https://github.com/ianmaclarty/amulet), [aroma](https://github.com/leafo/aroma/), [astera](https://github.com/tek256/astera), [blendelf](https://github.com/jesterKing/BlendELF), [bullordengine](https://github.com/MarilynDafa/Bulllord-Engine), [candle](https://github.com/EvilPudding/candle), [cave](https://github.com/kieselsteini/cave), [chickpea](https://github.com/ivansafrin/chickpea), [corange](https://github.com/orangeduck/Corange), [cute](https://github.com/RandyGaul/cute_framework), [dos-like](https://github.com/mattiasgustavsson/dos-like), [ejoy2d](https://github.com/ejoy/ejoy2d), [exengine](https://github.com/exezin/exengine), [gunslinger](https://github.com/MrFrenik/gunslinger), [hate](https://github.com/excessive/hate), [island](https://github.com/island-org/island), [juno](https://github.com/rxi/juno), [l](https://github.com/Lyatus/L), [lgf](https://github.com/Planimeter/lgf), [limbus](https://github.com/redien/limbus), [love](https://github.com/love2d/love/), [lovr](https://github.com/bjornbytes/lovr), [mini3d](https://github.com/mini3d/mini3d), [mintaro](https://github.com/mackron/mintaro), [mio](https://github.com/ccxvii/mio), [olive.c](https://github.com/tsoding/olive.c), [opensource](https://github.com/w23/OpenSource), [ouzel](https://github.com/elnormous/ouzel/), [pez](https://github.com/prideout/pez), [pixie](https://github.com/mattiasgustavsson/pixie), [punity](https://github.com/martincohen/Punity), [r96](https://github.com/badlogic/r96), [ricotech](https://github.com/dbechrd/RicoTech), [rizz](https://github.com/septag/rizz), [tigr](https://github.com/erkkah/tigr), [yourgamelib](https://github.com/duddel/yourgamelib)

## 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).
🅃 typedef char bool; 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 sort_64(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_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 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_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 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 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_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_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).
🄵 API unsigned cc4(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 uint64_t cc8(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 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).
## 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 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_LINEAR, EASE_SINE, EASE_QUAD, EASE_CUBIC, EASE_QUART, EASE_QUINT, EASE_EXPO, EASE_CIRC, EASE_BACK, EASE_ELASTIC, EASE_BOUNCE, EASE_IN, EASE_INOUT = EASE_IN* 2, EASE_OUT = 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).
🄵 API float ease(float t01,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).
🄵 API float ease_ping_pong(float t,float (*fn1)(float),float (*fn2)(float)); Under 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,float (*fn1)(float),float (*fn2)(float)); Under 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 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,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,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,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 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).
## ai
🄴 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 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).
🄴 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_44KHZ = 64, AUDIO_MIXER_GAIN = 0, AUDIO_IGNORE_MIXER_GAIN = 128, AUDIO_MULTIPLE_INSTANCES = 0, AUDIO_SINGLE_INSTANCE = 256 }; ~~~~~~ Under construction. 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).
## cooker
🄴 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).
## 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).
🄴 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).
## dll
🄵 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
## editor
🄵 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 char* dialog_load(); Under 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* dialog_save(); Under construction. 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).
🄵 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 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_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 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_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 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).
🄵 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_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).
## file
🄵 API const char** file_list(const char* path,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 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_stamp_epoch(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 const 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 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).
🄵 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_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_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 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).
## 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 float input_frame(int vk,int 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 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 const char* input_frames(int vk,int 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_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 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 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 void* input_save_state(int id,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 bool input_load_state(int id,void* ptr,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 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_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).
🄴 enum INPUT_ENUMS; ~~~~~~C enum INPUT_ENUMS { KEY_ESC, KEY_TICK, KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8, KEY_9, KEY_0, KEY_BS, 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).
## 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).
## obj
🄵 API void* obj_malloc(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* obj_calloc(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 obj_free(void* 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 bool obj_typeeq(const void* obj1,const void* obj2); Under 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_typeof(const void* 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 unsigned obj_typeid(const void* 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 unsigned obj_typeid_from_name(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 obj_new(const 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 obj_del(void* 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* obj_ref(void* 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* obj_unref(void* 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 obj_extend(const char* dstclass,const char* srcclass); Under construction. 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_override(const char* objclass,void (** vtable)(),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 unsigned obj_load(void* obj,const array(char) buffer); Under 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_load_file(void* obj,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 unsigned obj_load_inplace(void* obj,const void* src,unsigned srclen); Under 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) obj_save(const void* 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 unsigned obj_save_file(FILE* fp,const void* 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 unsigned obj_save_inplace(void* dst,unsigned cap,const void* 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 unsigned obj_instances(const void* 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 obj_zero(void* 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 unsigned obj_sizeof(const void* 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 obj_hexdump(const void* 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 obj_hexdumpf(FILE* out,const void* 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 obj_printf(void* obj,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 const char* obj_output(const void* 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* obj_clone(const void* 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* 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 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_initialize(void** ptr,char* type_and_info); 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 profile_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).
## 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).
🄵 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 float 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).
🄴 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_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_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,unit; unsigned flags; char* filename; bool transparent; unsigned fbo; }; ~~~~~~ Under 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 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* pbr_material_type,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).
🅂 struct pbr_material_t; ~~~~~~C struct pbr_material_t { char* name; colormap_t diffuse; colormap_t normals; colormap_t specular; colormap_t albedo; colormap_t roughness; colormap_t metallic; colormap_t ao; colormap_t ambient; colormap_t emissive; float specular_shininess; }; ~~~~~~ Under 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 pbr_material(pbr_material_t* pbr,const char* 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).
🄵 API void pbr_material_destroy(pbr_material_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 fullscreen_quad_rgb(texture_t texture_rgb,float gamma); Under construction. 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],float gamma); Under construction. 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,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 void sprite_rect(texture_t t,vec4 rect,float zindex,vec3 pos,float tilt_deg,unsigned tint_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 void sprite_sheet(texture_t texture,float sheet[3],float position[3],float rotation,float offset[2],float scale[2],int is_additive,uint32_t rgba,int resolution_independant); Under construction. 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 tileset_ui(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 tiled_ui(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 spine_ui(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 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); Under 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 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_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).
🄴 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_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 MATERIAL_ENUMS; ~~~~~~C enum MATERIAL_ENUMS { MAX_CHANNELS_PER_MATERIAL = 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 material_t; ~~~~~~C struct material_t { char* name; int count; struct material_layer_t { char texname[32]; handle texture; float value; vec4 color; } 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).
🅂 struct shadertoy_t; ~~~~~~C struct shadertoy_t { handle vao,program; int uniforms[32]; int texture_channels[4]; int frame; float clickx,clicky; uint64_t t; texture_t tx; unsigned 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 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).
🄴 enum MODEL_FLAGS; ~~~~~~C enum MODEL_FLAGS { MODEL_NO_ANIMATIONS = 1, MODEL_NO_MESHES = 2, MODEL_NO_TEXTURES = 4, MODEL_MATCAPS = 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 model_t; ~~~~~~C struct model_t { struct iqm_t* iqm; unsigned num_textures; handle* textures; char** texture_names; array(material_t) materials; 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; handle vao,ibo,vbo,vao_instanced; unsigned flags; unsigned billboard; float* instanced_matrices; unsigned num_instances; }; ~~~~~~ Under 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_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 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 skybox_t; ~~~~~~C struct skybox_t { handle program; mesh_t geometry; cubemap_t cubemap; 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(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 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 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).
🄵 API void viewport_color(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 void viewport_color3(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 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_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* 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).
## scene
🅂 struct camera_t; ~~~~~~C struct camera_t { mat44 view,proj; vec3 position,up,look; float yaw,pitch,speed; vec3 last_look,last_move; 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 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_move(camera_t* cam,float incx,float incy,float incz); Under construction. 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_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).
🅂 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; aabb bounds; unsigned billboard; }; ~~~~~~ Under 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_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 SCENE_FLAGS; ~~~~~~C enum SCENE_FLAGS { SCENE_WIREFRAME = 1, SCENE_CULLFACE = 2, SCENE_BACKGROUND = 4, SCENE_FOREGROUND = 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 scene_t; ~~~~~~C struct scene_t { handle program; array(object_t) objs; 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).
## script
🄵 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_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).
## 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).
## 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 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_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 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 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_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 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).
🄵 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(const char* optional_reason); Under 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 signal_hooks(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 signal_handler_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 signal_handler_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 signal_handler_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 signal_handler_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 const char* signal_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 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 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 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 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 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 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 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* n,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* n,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* n,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* n,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* n,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* n,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* n,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* n,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* n,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* n,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 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).
## 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_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_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,float* color3); Under construction. 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* color3); Under construction. 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,float* color4); Under construction. 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* color4); Under construction. 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_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_bits8(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_bits16(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_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_const_bool(const char* label,const 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_const_float(const char* label,const 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_const_string(const char* label,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 int ui_contextual_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_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_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 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_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).
## video
🄴 enum VIDEO_FLAGS; ~~~~~~C enum VIDEO_FLAGS { VIDEO_YCBCR = 0, VIDEO_RGB = 1, VIDEO_AUDIO = 0, VIDEO_NO_AUDIO = 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 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_VSYNC = 0, WINDOW_VSYNC_ADAPTIVE = 0x1000, WINDOW_VSYNC_DISABLED = 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_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 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 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).
🄴 enum CURSOR_SHAPES; ~~~~~~C enum CURSOR_SHAPES { CURSOR_NONE, CURSOR_HW_ARROW, CURSOR_HW_IBEAM, CURSOR_HW_CROSS, CURSOR_HW_HAND, CURSOR_HW_HDRAG, CURSOR_HW_VDRAG, 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).
🄳 macro GLAD_API_CALL 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 [_CRT_NONSTDC_NO_DEPRECATE](#_CRT_NONSTDC_NO_DEPRECATE), [_CRT_SECURE_NO_WARNINGS](#_CRT_SECURE_NO_WARNINGS), [_GNU_SOURCE](#_GNU_SOURCE), [_WIN32_WINNT](#_WIN32_WINNT), [_WINSOCK_DEPRECATED_NO_WARNINGS](#_WINSOCK_DEPRECATED_NO_WARNINGS), [ALLOCSIZE](#ALLOCSIZE), [API](#API), [AQUA](#AQUA), [ASSERT](#ASSERT), [ASSERT_ONCE](#ASSERT_ONCE), [BLACK](#BLACK), [BLUE](#BLUE), [C_CAST](#C_CAST), [C_EPSILON](#C_EPSILON), [C_PI](#C_PI), [CALLOC](#CALLOC), [CYAN](#CYAN), [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_SELFIES](#ENABLE_SELFIES), [EXPAND](#EXPAND), [EXPAND_ARGS](#EXPAND_ARGS), [EXPAND_COUNT_ARGS](#EXPAND_COUNT_ARGS), [EXPAND_J01N](#EXPAND_J01N), [EXPAND_J0IN](#EXPAND_J0IN), [EXPAND_JOIN](#EXPAND_JOIN), [EXPAND_QUOTE](#EXPAND_QUOTE), [EXPAND_RETURN_COUNT](#EXPAND_RETURN_COUNT), [EXPORT](#EXPORT), [FILELINE](#FILELINE), [FINITE](#FINITE), [FONT_BASELINE](#FONT_BASELINE), [FONT_BOTTOM](#FONT_BOTTOM), [FONT_CENTER](#FONT_CENTER), [FONT_COLOR1](#FONT_COLOR1), [FONT_COLOR10](#FONT_COLOR10), [FONT_COLOR2](#FONT_COLOR2), [FONT_COLOR3](#FONT_COLOR3), [FONT_COLOR4](#FONT_COLOR4), [FONT_COLOR5](#FONT_COLOR5), [FONT_COLOR6](#FONT_COLOR6), [FONT_COLOR7](#FONT_COLOR7), [FONT_COLOR8](#FONT_COLOR8), [FONT_COLOR9](#FONT_COLOR9), [FONT_FACE1](#FONT_FACE1), [FONT_FACE2](#FONT_FACE2), [FONT_FACE3](#FONT_FACE3), [FONT_FACE4](#FONT_FACE4), [FONT_FACE5](#FONT_FACE5), [FONT_FACE6](#FONT_FACE6), [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_LEFT](#FONT_LEFT), [FONT_MIDDLE](#FONT_MIDDLE), [FONT_RIGHT](#FONT_RIGHT), [FONT_TOP](#FONT_TOP), [FORCE_INLINE](#FORCE_INLINE), [FORGET](#FORGET), [FREE](#FREE), [GJK_H](#GJK_H), [GJK_MAX_ITERATIONS](#GJK_MAX_ITERATIONS), [GLAD_API_CALL](#GLAD_API_CALL), [GRAY](#GRAY), [GREEN](#GREEN), [IMPORT](#IMPORT), [INLINE](#INLINE), [MALLOC](#MALLOC), [MAP_DONT_ERASE](#MAP_DONT_ERASE), [MAP_HASHSIZE](#MAP_HASHSIZE), [OBJBOX](#OBJBOX), [OBJPAYLOAD16](#OBJPAYLOAD16), [OBJPAYLOAD3](#OBJPAYLOAD3), [OBJUNBOX](#OBJUNBOX), [ORANGE](#ORANGE), [PANIC](#PANIC), [PINK](#PINK), [PRINTF](#PRINTF), [PURPLE](#PURPLE), [REALLOC](#REALLOC), [RED](#RED), [RGB3](#RGB3), [RGB4](#RGB4), [RGBX](#RGBX), [SET_DONT_ERASE](#SET_DONT_ERASE), [SET_HASHSIZE](#SET_HASHSIZE), [STATIC](#STATIC), [STATIC_ASSERT](#STATIC_ASSERT), [STRDUP](#STRDUP), [STRINGIZ3](#STRINGIZ3), [STRINGIZE](#STRINGIZE), [TO_DEG](#TO_DEG), [TO_RAD](#TO_RAD), [WATCH](#WATCH), [WHITE](#WHITE), [YELLOW](#YELLOW) ## 🄴 enums [ANIM_FLAGS](#ANIM_FLAGS), [AUDIO_FLAGS](#AUDIO_FLAGS), [COMPRESS_FLAGS](#COMPRESS_FLAGS), [COOK_FLAGS](#COOK_FLAGS), [CURSOR_SHAPES](#CURSOR_SHAPES), [EASE_FLAGS](#EASE_FLAGS), [FONT_FLAGS](#FONT_FLAGS), [IMAGE_FLAGS](#IMAGE_FLAGS), [INPUT_ENUMS](#INPUT_ENUMS), [MATERIAL_ENUMS](#MATERIAL_ENUMS), [MESH_FLAGS](#MESH_FLAGS), [MODEL_FLAGS](#MODEL_FLAGS), [PANEL_FLAGS](#PANEL_FLAGS), [SCENE_FLAGS](#SCENE_FLAGS), [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), [audio_handle*](#audio_handle*), [boid_t](#boid_t), [bool](#bool), [camera_t](#camera_t), [capsule](#capsule), [colormap_t](#colormap_t), [cubemap_t](#cubemap_t), [frustum](#frustum), [gjk_result](#gjk_result), [gjk_simplex](#gjk_simplex), [gjk_support](#gjk_support), [gjk_vertex](#gjk_vertex), [handle](#handle), [hit](#hit), [image_t](#image_t), [ini_t](#ini_t), [json_t](#json_t), [line](#line), [map](#map), [mat33](#mat33), [mat34](#mat34), [mat44](#mat44), [material_t](#material_t), [mesh_t](#mesh_t), [model_t](#model_t), [object_t](#object_t), [pair](#pair), [pbr_material_t](#pbr_material_t), [plane](#plane), [poly](#poly), [quat](#quat), [ray](#ray), [scene_t](#scene_t), [set](#set), [set_item](#set_item), [shadertoy_t](#shadertoy_t), [shadowmap_t](#shadowmap_t), [skybox_t](#skybox_t), [sphere](#sphere), [spine_t](#spine_t), [swarm_t](#swarm_t), [texture_t](#texture_t), [tiled_t](#tiled_t), [tilemap_t](#tilemap_t), [tileset_t](#tileset_t), [triangle](#triangle), [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), [app_battery](#app_battery), [app_cache](#app_cache), [app_cmdline](#app_cmdline), [app_cores](#app_cores), [app_exec](#app_exec), [app_name](#app_name), [app_path](#app_path), [app_temp](#app_temp), [argc](#argc), [argv](#argv), [audio_clip](#audio_clip), [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_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), [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), [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_get_active](#camera_get_active), [camera_lookat](#camera_lookat), [camera_move](#camera_move), [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), [cc4](#cc4), [cc4str](#cc4str), [cc8](#cc8), [cc8str](#cc8str), [ceil2](#ceil2), [ceil3](#ceil3), [ceil4](#ceil4), [clamp2](#clamp2), [clamp3](#clamp3), [clamp4](#clamp4), [clampf](#clampf), [clampi](#clampi), [clip](#clip), [collide_demo](#collide_demo), [colormap](#colormap), [compose33](#compose33), [compose34](#compose34), [compose44](#compose44), [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), [cross2](#cross2), [cross3](#cross3), [cubemap](#cubemap), [cubemap6](#cubemap6), [cubemap_destroy](#cubemap_destroy), [cubemap_get_active](#cubemap_get_active), [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_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), [deg](#deg), [det44](#det44), [dialog_load](#dialog_load), [dialog_save](#dialog_save), [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_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_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_ping](#ease_pong_ping), [editor_path](#editor_path), [editor_pick](#editor_pick), [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_stamp_epoch](#file_stamp_epoch), [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), [floor2](#floor2), [floor3](#floor3), [floor4](#floor4), [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_print](#font_print), [font_rect](#font_rect), [font_scales](#font_scales), [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), [fullscreen_quad_rgb](#fullscreen_quad_rgb), [fullscreen_quad_ycbcr](#fullscreen_quad_ycbcr), [fx_begin](#fx_begin), [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), [gizmo](#gizmo), [gizmo_active](#gizmo_active), [gizmo_hover](#gizmo_hover), [gjk](#gjk), [gjk_analyze](#gjk_analyze), [gjk_quad](#gjk_quad), [has_debugger](#has_debugger), [hash_32](#hash_32), [hash_64](#hash_64), [hash_flt](#hash_flt), [hash_int](#hash_int), [hash_ptr](#hash_ptr), [hash_str](#hash_str), [hexdump](#hexdump), [hexdumpf](#hexdumpf), [id33](#id33), [id34](#id34), [id44](#id44), [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_demo](#input_demo), [input_diff](#input_diff), [input_diff2](#input_diff2), [input_down](#input_down), [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_frames](#input_frames), [input_held](#input_held), [input_idle](#input_idle), [input_keychar](#input_keychar), [input_load_state](#input_load_state), [input_mappings](#input_mappings), [input_repeat](#input_repeat), [input_save_state](#input_save_state), [input_send](#input_send), [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), [invert34](#invert34), [invert44](#invert44), [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_int](#less_int), [less_ptr](#less_ptr), [less_str](#less_str), [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), [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_sort](#map_sort), [mat44q](#mat44q), [max2](#max2), [max3](#max3), [max4](#max4), [maxf](#maxf), [maxi](#maxi), [mesh](#mesh), [mesh_bounds](#mesh_bounds), [mesh_destroy](#mesh_destroy), [mesh_render](#mesh_render), [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_render](#model_render), [model_render_instanced](#model_render_instanced), [model_render_skeleton](#model_render_skeleton), [model_set_texture](#model_set_texture), [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), [network_tests](#network_tests), [norm2](#norm2), [norm3](#norm3), [norm3sq](#norm3sq), [norm4](#norm4), [norm4sq](#norm4sq), [normq](#normq), [obj_calloc](#obj_calloc), [obj_clone](#obj_clone), [obj_copy](#obj_copy), [obj_del](#obj_del), [obj_extend](#obj_extend), [obj_free](#obj_free), [obj_hexdump](#obj_hexdump), [obj_hexdumpf](#obj_hexdumpf), [obj_initialize](#obj_initialize), [obj_instances](#obj_instances), [obj_load](#obj_load), [obj_load_file](#obj_load_file), [obj_load_inplace](#obj_load_inplace), [obj_malloc](#obj_malloc), [obj_mutate](#obj_mutate), [obj_new](#obj_new), [obj_output](#obj_output), [obj_override](#obj_override), [obj_printf](#obj_printf), [obj_ref](#obj_ref), [obj_save](#obj_save), [obj_save_file](#obj_save_file), [obj_save_inplace](#obj_save_inplace), [obj_sizeof](#obj_sizeof), [obj_typeeq](#obj_typeeq), [obj_typeid](#obj_typeid), [obj_typeid_from_name](#obj_typeid_from_name), [obj_typeof](#obj_typeof), [obj_unref](#obj_unref), [obj_zero](#obj_zero), [object](#object), [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), [option](#option), [optionf](#optionf), [optioni](#optioni), [ortho3](#ortho3), [ortho44](#ortho44), [PANIC](#PANIC), [pbr_material](#pbr_material), [pbr_material_destroy](#pbr_material_destroy), [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), [print3](#print3), [print33](#print33), [print34](#print34), [print4](#print4), [print44](#print44), [PRINTF](#PRINTF), [printq](#printq), [profile_enable](#profile_enable), [ptr2](#ptr2), [ptr3](#ptr3), [ptr4](#ptr4), [ptrq](#ptrq), [pyramid](#pyramid), [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), [rgba](#rgba), [rgbaf](#rgbaf), [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), [scale2](#scale2), [scale3](#scale3), [scale33](#scale33), [scale34](#scale34), [scale4](#scale4), [scale44](#scale44), [scaleq](#scaleq), [scaling33](#scaling33), [scaling44](#scaling44), [scene_count](#scene_count), [scene_get_active](#scene_get_active), [scene_index](#scene_index), [scene_merge](#scene_merge), [scene_pop](#scene_pop), [scene_push](#scene_push), [scene_render](#scene_render), [scene_spawn](#scene_spawn), [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_run](#script_run), [script_runfile](#script_runfile), [script_tests](#script_tests), [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), [shader](#shader), [shader_bind](#shader_bind), [shader_bool](#shader_bool), [shader_colormap](#shader_colormap), [shader_destroy](#shader_destroy), [shader_float](#shader_float), [shader_get_active](#shader_get_active), [shader_int](#shader_int), [shader_mat44](#shader_mat44), [shader_texture](#shader_texture), [shader_texture_unit](#shader_texture_unit), [shader_uint](#shader_uint), [shader_vec2](#shader_vec2), [shader_vec3](#shader_vec3), [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), [signal_handler_abort](#signal_handler_abort), [signal_handler_debug](#signal_handler_debug), [signal_handler_ignore](#signal_handler_ignore), [signal_handler_quit](#signal_handler_quit), [signal_hooks](#signal_hooks), [signal_name](#signal_name), [signf](#signf), [simplex1](#simplex1), [simplex2](#simplex2), [simplex3](#simplex3), [simplex4](#simplex4), [skybox](#skybox), [skybox_destroy](#skybox_destroy), [skybox_pop_state](#skybox_pop_state), [skybox_push_state](#skybox_push_state), [skybox_render](#skybox_render), [sleep_ms](#sleep_ms), [sleep_ns](#sleep_ns), [sleep_ss](#sleep_ss), [sleep_us](#sleep_us), [slerpq](#slerpq), [sort_64](#sort_64), [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), [spine_ui](#spine_ui), [sprite](#sprite), [sprite_flush](#sprite_flush), [sprite_rect](#sprite_rect), [sprite_sheet](#sprite_sheet), [stack](#stack), [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), [strupper](#strupper), [sub2](#sub2), [sub3](#sub3), [sub4](#sub4), [subq](#subq), [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), [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), [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_update](#texture_update), [thread](#thread), [thread_destroy](#thread_destroy), [tiled](#tiled), [tiled_render](#tiled_render), [tiled_ui](#tiled_ui), [tilemap](#tilemap), [tilemap_render](#tilemap_render), [tilemap_render_ext](#tilemap_render_ext), [tileset](#tileset), [tileset_ui](#tileset_ui), [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), [transform33](#transform33), [transform344](#transform344), [transform444](#transform444), [transformq](#transformq), [translate44](#translate44), [translation44](#translation44), [transpose44](#transpose44), [tty_attach](#tty_attach), [tty_color](#tty_color), [tty_reset](#tty_reset), [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_bits16](#ui_bits16), [ui_bits8](#ui_bits8), [ui_bool](#ui_bool), [ui_browse](#ui_browse), [ui_buffer](#ui_buffer), [ui_button](#ui_button), [ui_button_transparent](#ui_button_transparent), [ui_buttons](#ui_buttons), [ui_clampf](#ui_clampf), [ui_collapse](#ui_collapse), [ui_collapse_clicked](#ui_collapse_clicked), [ui_collapse_end](#ui_collapse_end), [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_const_bool](#ui_const_bool), [ui_const_float](#ui_const_float), [ui_const_string](#ui_const_string), [ui_contextual](#ui_contextual), [ui_contextual_end](#ui_contextual_end), [ui_demo](#ui_demo), [ui_dialog](#ui_dialog), [ui_disable](#ui_disable), [ui_double](#ui_double), [ui_enable](#ui_enable), [ui_float](#ui_float), [ui_float2](#ui_float2), [ui_float3](#ui_float3), [ui_float4](#ui_float4), [ui_has_menubar](#ui_has_menubar), [ui_hover](#ui_hover), [ui_image](#ui_image), [ui_int](#ui_int), [ui_item](#ui_item), [ui_label](#ui_label), [ui_label2](#ui_label2), [ui_label2_toolbar](#ui_label2_toolbar), [ui_list](#ui_list), [ui_menu](#ui_menu), [ui_menu_editbox](#ui_menu_editbox), [ui_notify](#ui_notify), [ui_panel](#ui_panel), [ui_panel_end](#ui_panel_end), [ui_popups](#ui_popups), [ui_radio](#ui_radio), [ui_section](#ui_section), [ui_separator](#ui_separator), [ui_short](#ui_short), [ui_show](#ui_show), [ui_slider](#ui_slider), [ui_slider2](#ui_slider2), [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_toggle](#ui_toggle), [ui_toolbar](#ui_toolbar), [ui_unsigned](#ui_unsigned), [ui_visible](#ui_visible), [ui_window](#ui_window), [ui_window_end](#ui_window_end), [unhash_32](#unhash_32), [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_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), [viewport_color3](#viewport_color3), [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_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_delta](#window_delta), [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_focus](#window_has_focus), [window_has_fullscreen](#window_has_fullscreen), [window_has_pause](#window_has_pause), [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_pause](#window_pause), [window_record](#window_record), [window_reload](#window_reload), [window_screenshot](#window_screenshot), [window_stats](#window_stats), [window_swap](#window_swap), [window_time](#window_time), [window_title](#window_title), [window_visible](#window_visible), [window_width](#window_width), [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), [zbounds](#zbounds), [zdecode](#zdecode), [zencode](#zencode), [zexcess](#zexcess) ## 🄼 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](#array_erase), [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), [boid](#boid), [capsule](#capsule), [cc4](#cc4), [cc8](#cc8), [ceilf](#ceilf), [conc4t](#conc4t), [concat](#concat), [copysignf](#copysignf), [cosf](#cosf), [countof](#countof), [ctor](#ctor), [defer](#defer), [do_once](#do_once), [dtor](#dtor), [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_set](#each_set), [each_set_ptr](#each_set_ptr), [each_substring](#each_substring), [expf](#expf), [floorf](#floorf), [fmodf](#fmodf), [frustum](#frustum), [gladLoadGL](#gladLoadGL), [hit](#hit), [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_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_osx](#ifdef_osx), [ifdef_release](#ifdef_release), [ifdef_tcc](#ifdef_tcc), [ifdef_true](#ifdef_true), [ifdef_win32](#ifdef_win32), [ifndef](#ifndef), [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), [mat33](#mat33), [mat34](#mat34), [mat44](#mat44), [obj_calloc](#obj_calloc), [obj_extend](#obj_extend), [obj_malloc](#obj_malloc), [obj_method](#obj_method), [obj_method0](#obj_method0), [obj_new](#obj_new), [obj_new0](#obj_new0), [obj_override](#obj_override), [obj_printf](#obj_printf), [plane](#plane), [poly](#poly), [powf](#powf), [profile](#profile), [profile_enable](#profile_enable), [profile_incstat](#profile_incstat), [profile_init](#profile_init), [profile_render](#profile_render), [profile_setstat](#profile_setstat), [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), [sinf](#sinf), [sphere](#sphere), [sqrtf](#sqrtf), [strcatf](#strcatf), [strcmpi](#strcmpi), [stringf](#stringf), [strtok_r](#strtok_r), [tanf](#tanf), [triangle](#triangle), [va](#va), [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)