**V·4·K** |Version: | 2023.7 | |:--------------|:------------| |Branch: | main | |Commit: | 19 | # [V·4·K 2023.7 ](https://dev.v4.games/zaklaus/v4k) ## a b o u t - https://dev.v4.games/zaklaus/v4k is a 3D game framework in C, with Luajit bindings. ![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] ~~Full featured~~, ~~Fast~~, ~~Modern C++~~. Small, Naive, Simple C. - [x] ~~Rich build system~~, ~~Royaltie fee~~. Single file, Freely unlicensed.
Features ᕦ(ᐛ)ᕤ - [x] Pipeline: configurable and integrated [asset pipeline](tools/cook.ini). - [x] Embedded: [single-file header](engine/joint/fwk.h), 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/v4k2023).
Roadmap ᕕ(ᐛ)ᕗ (in order of arrival; ✱: partial support) - [ ] AI pass: actors, waypoints, pathfinding, behavior trees (h/fsm,goap), and navmesh generation. - [ ] Network/VM pass: Entity/component/systems and worlds. - [ ] Core pass: struct serialization. - [ ] 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). - [ ] Editor pass = netbased + offline rendering + virtual input. - [ ] Basic: Gizmos✱, scene tree, property editor✱, load/save✱, undo/redo✱, copy/paste, on/off (vis,tick,ddraw,log), vcs. - [ ] Scenenode: node singleton display, node console, node labels, node outlines✱. - [ ] Debug: toggles on/off (billboards✱, materials, un/lit, cast shadows, wireframe, skybox✱/mie✱, fog/atmosphere, collide✱, physics). - [ ] Level: volumes, triggers, platforms, level streaming. - [ ] Sub-editor: timeline and data tracks, node graphs. - [ ] Sub-editor: Procedural content, brushes, noise and CSG. - [ ] Sub-editor: blendshapes, additive anims, head/foot/hand IKs. - [ ] Script pass: DLL✱ (module->plugin/sys), Lua✱, Luajit✱, Teal✱ and TypeScript. - [ ] 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. - [ ] 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 - [ ] Extend math: quat2, bezier, catmull. - [ ] Discuss API and freeze it. - [ ] Document everything.
Hello V4K ```C #include "v4k.h" // Minimal C sample int main() { window_create(75.0, 0); // 75% size, no extra flags while( window_swap() && !input(KEY_ESC) ) { // game loop puts("hello V4K from C!"); } } ``` ```lua local v4k = require("v4k") -- Minimal Lua sample v4k.window_create(75.0,0) -- 75% size, no extra flags while v4k.window_swap() and v4k.input(v4k.KEY_ESC) == 0 do -- game loop print("hello V4K from Lua!") end ```
Quickstart - Double-click `MAKE.bat` (Win) or `sh MAKE.bat` (Linux/OSX) to quick start. - `MAKE.bat all` (Win) or `sh MAKE.bat all` (Linux/OSX) to build everything. - `MAKE.bat proj` (Win) or `sh MAKE.bat proj` (Linux/OSX) to generate solutions/makefiles. - `MAKE.bat help` (Win) or `sh MAKE.bat help` (Linux/OSX) for a bunch of options. - `MAKE.bat hello.c` (Win) or `sh MAKE.bat hello.c` (Linux/OSX) to build a single executable. - Alternatively, ```bat echo win/vc && cl hello.c echo win/clang-cl && clang-cl hello.c echo win/tcc && tools\tcc hello.c -m64 echo win/mingw && gcc hello.c -lws2_32 -lwinmm -ldbghelp -lole32 -luser32 -lgdi32 -lcomdlg32 echo win/clang && clang hello.c -lws2_32 -lwinmm -ldbghelp -lole32 -luser32 -lgdi32 -lcomdlg32 echo linux && cc hello.c -lm -ldl -lpthread -lX11 echo linux/tcc && tcc hello.c -lm -ldl -lpthread -lX11 -D__STDC_NO_VLA__ echo osx && cc -ObjC hello.c -framework cocoa -framework iokit -framework audiotoolbox ```
Cook - Assets need to be cooked before being consumed in your application. The [tools/](tools/) folder contains all the related binaries to perform any asset processing plus the [cookbook](tools/cook.ini) to do so. - Your game will cook all your assets as long as the [`tools/`](tools/) folder is next to your executable. Alternatively, cook them all just by invoking supplied [`tools/cook` standalone binary](tools/). - In both cases, assets will be cooked and packed into .zipfiles next to your executable, then mounted before entering game loop. These .zipfiles plus your executable are the only required files when releasing your game.
Extra tips - Any ico/png file named after the executable name will be automatically used as app icon. - Similar to the ico/png case above, the cooked .zipfiles can be named after the main executable as well. - Dropped files into game window will be imported & saved into [`import/`](engine/art/import/) folder. - Update the gamepad controller database by upgrading the [`gamecontrollerdb.txt`](engine/art/input/) file. - Depending on your IDE, you might need to browse to [`engine/split/`](engine/split/) sources when debugging FWK. - Cook assets on demand, as opposed to cook all existing assets on depot, by using `--cook-on-demand` flag. - Linux/OSX users can optionally install wine and use the Windows tools instead (by using `--cook-wine` flag). - Disable automatic cooking by using `--cook-jobs=0` flag (not recommended). - Generate a project solution by dropping `engine/v4k.h, v4k.c and v4k` files into it. - Auto-generated Luajit and Python bindings can be found in the [`engine/bind/`](engine/bind/) folder.
Credits **Artwork** [Dean Evans, Raijin](https://youtu.be/RRvYkrrpMKo?t=147 "for the Map song (c)"), [FMS_Cat](https://gist.github.com/FMS-Cat/a1ccea3ce866c34706084e3526204f4f "for nicest VHS/VCR shader around (MIT)"), [Goblin165cm](https://sketchfab.com/3d-models/halloween-little-witch-ccc023590bfb4789af9322864e42d1ab "for witch 3D model (CC BY 4.0)"), [Nuulbee](https://sketchfab.com/3d-models/kgirls01-d2f946f58a8040ae993cda70c97b302c "for kgirls01 3D model (CC BY-NC-ND 4.0)"), [Quaternius](https://www.patreon.com/quaternius "for the lovely 3D robots (CC0)"), [Rotting Pixels](https://opengameart.org/content/2d-castle-platformer-tileset-16x16 "for castle-tileset (CC0)"), [Tom Lewandowski](https://QuestStudios.com "for his MIDI recordings (c)"), [Rye Terrell](https://github.com/wwwtyro/glsl-atmosphere "for nicest rayleigh/mie scattering shader around (CC0)"), **Tools** [Aaron Barany](https://github.com/akb825/Cuttlefish "for cuttlefish (APACHE2)"), [Arseny Kapoulkine](https://github.com/zeux/pugixml/ "for pugixml (MIT)"), [Assimp authors](https://github.com/assimp/assimp "for assimp (BSD3)"), [Bernhard Schelling](https://github.com/schellingb/TinySoundFont "for tml.h (Zlib) and tsf.h (MIT)"), [Christian Collins](http://www.schristiancollins.com "for GeneralUser GS soundfont (PD)"), [FFMPEG authors](https://www.ffmpeg.org/ "for ffmpeg (LGPL21)"), [Imagination](https://developer.imaginationtech.com/pvrtextool/ "for pvrtextoolcli (ITL)"), [Krzysztof Gabis](https://github.com/kgabis/ape "for split.py/join.py (MIT)"), [Lee Salzman](https://github.com/lsalzman/iqm/tree/5882b8c32fa622eba3861a621bb715d693573420/demo "for iqm.cpp (PD)"), [Martín Lucas Golini](https://github.com/SpartanJ/eepp/commit/8552941da19380d7a629c4da80a976aec5d39e5c "for emscripten-fs.html (CC0)"), [Mattias Gustavsson](https://github.com/mattiasgustavsson/libs "for mid.h (PD)"), [Michael Schmoock](http://github.com/willsteel/lcpp "for lcpp (MIT)"), [Morgan McGuire](https://casual-effects.com/markdeep/ "for markdeep (BSD2)"), [Olivier Lapicque, Konstanty Bialkowski](https://github.com/Konstanty/libmodplug "for libmodplug (PD)"), [Polyglot Team](https://docs.google.com/spreadsheets/d/17f0dQawb-s_Fd7DHgmVvJoEGDMH_yoSd8EYigrb0zmM/edit "for polyglot gamedev (CC0)"), [Tildearrow](https://github.com/tildearrow/furnace/ "for Furnace (GPL2)"), [Tomas Pettersson](http://www.drpetter.se/ "for sfxr (PD)"), [Tor Andersson](https://github.com/ccxvii/asstools "for assiqe.c (BSD)"), **Runtime** [Andreas Mantler](https://github.com/ands "for their math library (PD)"), [Barerose](https://github.com/barerose "for swrap (CC0) and math library (CC0)"), [Camilla Löwy](https://github.com/elmindreda "for glfw3 (Zlib)"), [Dave Rand](https://tools.ietf.org/html/rfc1978 "for ppp (PD)"), [David Herberth](https://github.com/dav1dde/ "for glad generated code (PD)"), [David Reid](https://github.com/mackron "for miniaudio (PD)"), [Dominic Szablewski](https://github.com/phoboslab/pl_mpeg "for pl_mpeg (MIT)"), [Dominik Madarász](https://github.com/zaklaus "for json5 parser (PD)"), [Eduard Suica](https://github.com/eduardsui/tlse "for tlse (PD)"), [Evan Wallace](https://github.com/evanw "for their math library (CC0)"), [Gargaj+cce/Peisik](https://github.com/gargaj/foxotron "for Foxotron/PBR shaders (UNLICENSE)"), [Guilherme Lampert](https://github.com/glampert "for their math library (PD)"), [Guillaume Vareille](http://tinyfiledialogs.sourceforge.net "for tinyfiledialogs (ZLIB)"), [Haruhiko Okumura](https://oku.edu.mie-u.ac.jp/~okumura/compression/ "for lzss (PD)"), [Igor Pavlov](https://www.7-zip.org/ "for LZMA (PD)"), [Ilya Muravyov](https://github.com/encode84 "for bcm, balz, crush, ulz, lz4x (PD)"), [Jon Olick](https://www.jonolick.com/ "for jo_mp1 and jo_mpeg (PD)"), [Joonas Pihlajamaa](https://github.com/jokkebk/JUnzip "for JUnzip library (PD)"), [Juliette Focault](https://github.com/juliettef/IconFontCppHeaders/blob/main/IconsMaterialDesign.h "for the generated MD header (ZLIB)"), [Kristoffer Grönlund](https://github.com/krig "for their math library (CC0)"), [Lee Salzman](https://github.com/lsalzman/iqm/tree/5882b8c32fa622eba3861a621bb715d693573420/demo "for IQM spec & player (PD)"), [Lee Salzman, V.Hrytsenko, D.Madarász](https://github.com/zpl-c/enet/ "for enet (MIT)"), [Libtomcrypt](https://github.com/libtom/libtomcrypt "for libtomcrypt (Unlicense)"), [Lua authors](https://www.lua.org/ "for Lua language (MIT)"), [Mattias Gustavsson](https://github.com/mattiasgustavsson/libs "for thread.h and https.h (PD)"), [Micha Mettke](https://github.com/vurtun "for their math library (PD)"), [Micha Mettke, Chris Willcocks, Dmitry Hrabrov](https://github.com/vurtun/nuklear "for nuklear (PD)"), [Michael Galetzka](https://github.com/Cultrarius/Swarmz "for swarmz (UNLICENSE)"), [Morten Vassvik](https://github.com/vassvik/mv_easy_font "for mv_easy_font (Unlicense)"), [Mārtiņš Možeiko](https://gist.github.com/mmozeiko/68f0a8459ef2f98bcd879158011cc275 "for A* pathfinding (PD)"), [Omar Cornut, vaiorabbit](https://github.com/ocornut/imgui/pull/3627 "for tables of unicode ranges (MIT-0)"), [Rabia Alhaffar](https://github.com/Rabios/ice_libs "for ice_batt.h (PD)"), [Rich Geldreich](https://github.com/richgel999/miniz "for miniz (PD)"), [Ross Williams](http://ross.net/compression/lzrw3a.html "for lzrw3a (PD)"), [Samuli Raivio](https://github.com/bqqbarbhg/bq_websocket "for bq_websocket (PD)"), [Sean Barrett](https://github.com/nothings "for stb_image, stb_image_write, stb_sprintf, stb_truetype and stb_vorbis (PD)"), [Sebastian Steinhauer](https://github.com/kieselsteini "for sts_mixer (PD)"), [Stan Melax, Cloud Wu](https://web.archive.org/web/20031204035320/http://www.melax.com/polychop/gdmag.pdf "for polychop C algorithm (PD)"), [Stefan Gustavson](https://github.com/stegu/perlin-noise "for simplex noise (PD)"), [Sterling Orsten](https://github.com/sgorsten "for their math library (UNLICENSE)"), [Tor Andersson](https://github.com/ccxvii/minilibs "for xml.c (PD)"), [Wolfgang Draxinger](https://github.com/datenwolf "for their math library (WTFPL2)"),
Unlicense This software is released into the [public domain](https://unlicense.org/). Also dual-licensed as [0-BSD](https://opensource.org/licenses/0BSD) or [MIT (No Attribution)](https://github.com/aws/mit-0) for those countries where public domain is a concern (sigh). Any contribution to this repository is implicitly subjected to the same release conditions aforementioned.
## config
🄳 macro ENABLE_FASTCALL_LUA Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄳 macro ENABLE_PROFILER Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄳 macro ENABLE_SELFIES Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄳 macro ENABLE_MEMORY_POISON Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄳 macro ENABLE_MEMORY_LEAKS Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄳 macro ENABLE_LINUX_CALLSTACKS Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅃 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_32KHZ = 64, AUDIO_44KHZ = 128, AUDIO_MIXER_GAIN = 0, AUDIO_IGNORE_MIXER_GAIN = 256, AUDIO_MULTIPLE_INSTANCES = 0, AUDIO_SINGLE_INSTANCE = 512 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int audio_queue(const void* samples,int num_samples,int flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## collide
🅂 struct gjk_support; ~~~~~~C struct gjk_support { int aid,bid; vec3 a; vec3 b; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct gjk_vertex; ~~~~~~C struct gjk_vertex { vec3 a; vec3 b; vec3 p; int aid,bid; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct gjk_simplex; ~~~~~~C struct gjk_simplex { int max_iter,iter; int hit,cnt; gjk_vertex v[4]; float bc[4],D; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct gjk_result; ~~~~~~C struct gjk_result { int hit; vec3 p0; vec3 p1; float distance_squared; int iterations; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 int gjk(gjk_simplex* s,const gjk_support* sup,vec3* dv); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 gjk_result gjk_analyze(const gjk_simplex* s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 gjk_result gjk_quad(float a_radius,float b_radius); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct line; ~~~~~~C struct line { vec3 a,b; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct sphere; ~~~~~~C struct sphere { vec3 c; float r; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct aabb; ~~~~~~C struct aabb { vec3 min,max; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct plane; ~~~~~~C struct plane { vec3 p,n; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct capsule; ~~~~~~C struct capsule { vec3 a,b; float r; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct ray; ~~~~~~C struct ray { vec3 p,d; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct triangle; ~~~~~~C struct triangle { vec3 p0,p1,p2; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct poly; ~~~~~~C struct poly { vec3* verts; int cnt; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 union frustum; ~~~~~~C union frustum { struct { vec4 l,r,t,b,n,f; }; vec4 pl[6]; float v[24]; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🅂 struct hit; ~~~~~~C struct hit { union { float depth; struct { float t0,t1; }; struct { int hits; vec3 p0,p1; float distance2; int iterations; }; }; union { vec3 p; vec3 contact_point; }; union { vec3 n; vec3 normal; }; }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float line_distance2_point(line l,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 line_closest_point(line l,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ray_test_plane(ray r,vec4 p4); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float ray_test_triangle(ray r,triangle t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ray_test_sphere(float* t0,float* t1,ray r,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int ray_test_aabb(float* t0,float* t1,ray r,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* ray_hit_plane(ray r,plane p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* ray_hit_triangle(ray r,triangle t); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* ray_hit_sphere(ray r,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* ray_hit_aabb(ray r,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 sphere_closest_point(sphere s,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* sphere_hit_aabb(sphere s,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* sphere_hit_capsule(sphere s,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* sphere_hit_sphere(sphere a,sphere b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int sphere_test_aabb(sphere s,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int sphere_test_capsule(sphere s,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int sphere_test_poly(sphere s,poly p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int sphere_test_sphere(sphere a,sphere b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 aabb_closest_point(aabb a,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float aabb_distance2_point(aabb a,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int aabb_contains_point(aabb a,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* aabb_hit_aabb(aabb a,aabb b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* aabb_hit_capsule(aabb a,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* aabb_hit_sphere(aabb a,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int aabb_test_aabb(aabb a,aabb b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int aabb_test_capsule(aabb a,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int aabb_test_poly(aabb a,poly p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int aabb_test_sphere(aabb a,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API float capsule_distance2_point(capsule c,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec3 capsule_closest_point(capsule c,vec3 p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* capsule_hit_aabb(capsule c,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* capsule_hit_capsule(capsule a,capsule b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API hit* capsule_hit_sphere(capsule c,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int capsule_test_aabb(capsule c,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int capsule_test_capsule(capsule a,capsule b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int capsule_test_poly(capsule c,poly p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int capsule_test_sphere(capsule c,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_sphere(poly p,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_aabb(poly p,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_capsule(poly p,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_poly(poly a,poly b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_sphere_transform(poly p,vec3 pos3,mat33 rot33,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_aabb_transform(poly p,vec3 apos3,mat33 arot33,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_capsule_transform(poly p,vec3 pos3,mat33 rot33,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_test_poly_transform(poly a,vec3 apos3,mat33 arot33,poly b,vec3 bpos3,mat33 brot33); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_sphere(struct gjk_result* res,poly p,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_aabb(struct gjk_result* res,poly p,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_capsule(struct gjk_result* res,poly p,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_poly(struct gjk_result* res,poly a,poly b); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_sphere_transform(struct gjk_result* res,poly p,vec3 pos3,mat33 rot33,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_aabb_transform(struct gjk_result* res,poly p,vec3 pos3,mat33 rot33,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_capsule_transform(struct gjk_result* res,poly p,vec3 pos3,mat33 rot33,capsule c); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int poly_hit_poly_transform(struct gjk_result* res,poly a,vec3 at3,mat33 ar33,poly b,vec3 bt3,mat33 br33); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API vec4 plane4(vec3 p,vec3 n); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API frustum frustum_build(mat44 projview); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int frustum_test_sphere(frustum f,sphere s); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int frustum_test_aabb(frustum f,aabb a); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API poly poly_alloc(int cnt); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void poly_free(poly* p); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API poly pyramid(vec3 from,vec3 to,float size); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API poly diamond(vec3 from,vec3 to,float size); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void collide_demo(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## 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).
## netsync
🄴 enum {; ~~~~~~C enum { NETWORK_BIND = 2, NETWORK_CONNECT = 4, NETWORK_NOFAIL = 8 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { MAX_CLIENTS = 32 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void network_create(const char* ip,const char* port,unsigned flags); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { NETWORK_SEND = 2, NETWORK_RECV = 4 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void* network_buffer(void* ptr,unsigned sz,unsigned flags,int64_t rank); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API char** network_sync(unsigned timeout_ms); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { NETWORK_RANK = 0 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { NETWORK_PING = 1 }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄴 enum {; ~~~~~~C enum { NETWORK_PORT = 2, NETWORK_IP, NETWORK_LIVE }; ~~~~~~ Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int64_t network_get(uint64_t key); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int64_t network_put(uint64_t key,int64_t value); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void network_rpc(const char* signature,void* function); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void network_rpc_send_to(int64_t rank,unsigned id,const char* cmdline); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void network_rpc_send(unsigned id,const char* cmdline); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API bool server_bind(int max_clients,int port); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_poll(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_broadcast_bin(const void* ptr,int len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_broadcast(const char* msg); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_terminate(); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_send(int64_t handle,const char* msg); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_send_bin(int64_t handle,const void* ptr,int len); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API void server_drop(int64_t handle); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
🄵 API int64_t client_join(const char* ip,int port); Under construction. Yet to be documented. Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
## 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), [ANYHOST_IPV4](#ANYHOST_IPV4), [ANYHOST_IPV6](#ANYHOST_IPV6), [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), [LOCALHOST_IPV4](#LOCALHOST_IPV4), [LOCALHOST_IPV6](#LOCALHOST_IPV6), [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), [client_join](#client_join), [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_buffer](#network_buffer), [network_create](#network_create), [network_get](#network_get), [network_put](#network_put), [network_rpc](#network_rpc), [network_rpc_send](#network_rpc_send), [network_rpc_send_to](#network_rpc_send_to), [network_sync](#network_sync), [network_tests](#network_tests), [norm2](#norm2), [norm3](#norm3), [norm3sq](#norm3sq), [norm4](#norm4), [norm4sq](#norm4sq), [normq](#normq), [obj_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), [server_bind](#server_bind), [server_broadcast](#server_broadcast), [server_broadcast_bin](#server_broadcast_bin), [server_drop](#server_drop), [server_poll](#server_poll), [server_send](#server_send), [server_send_bin](#server_send_bin), [server_terminate](#server_terminate), [set_clear](#set_clear), [set_count](#set_count), [set_erase](#set_erase), [set_find](#set_find), [set_free](#set_free), [set_gc](#set_gc), [set_init](#set_init), [set_insert](#set_insert), [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), [client_send](#client_send), [client_send_bin](#client_send_bin), [client_terminate](#client_terminate), [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)