v4k-git-backup/engine/fwk.html

11190 lines
406 KiB
HTML

<meta charset="utf-8" lang="en"><style class="fallback">body{visibility:hidden;}</style><!--
****
You are not browsing this file as intended!
Please visit https://bit.ly/-F-W-K- instead
****
--><style>
/* original .css from: https://autodesk.github.io/standard-surface/style/style.css */
/******************************************************************************/
/* Fonts
/******************************************************************************/
@font-face {
font-family: 'Artifakt Legend';
font-style: normal;
font-weight: 700;
src: url('https://autodesk.github.io/standard-surface/style/fonts/Artifakt/Artifakt Legend Bold.woff2') format('woff2');
}
@font-face {
font-family: 'Artifakt Element';
font-style: normal;
font-weight: 400;
src: url('https://autodesk.github.io/standard-surface/style/fonts/Artifakt/Artifakt Element Regular.woff2') format('woff2');
}
@font-face {
font-family: 'Artifakt Element';
font-style: normal;
font-weight: 500;
src: url('https://autodesk.github.io/standard-surface/style/fonts/Artifakt/Artifakt Element Medium.woff2') format('woff2');
}
@font-face {
font-family: 'Artifakt Element';
font-style: normal;
font-weight: 700;
src: url('https://autodesk.github.io/standard-surface/style/fonts/Artifakt/Artifakt Element Bold.woff2') format('woff2');
}
@font-face {
font-family: 'Roboto Mono';
font-style: normal;
font-weight: 400;
src: local('Roboto Mono'), local('RobotoMono-Regular'), url('https://autodesk.github.io/standard-surface/style/fonts/RobotoMono/RobotoMono-Regular.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; /* Latin */
}
@font-face {
font-family: 'Roboto Mono';
font-style: normal;
font-weight: 700;
src: local('Roboto Mono Bold'), local('RobotoMono-Bold'), url('https://autodesk.github.io/standard-surface/style/fonts/RobotoMono/RobotoMono-Bold.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; /* Latin */
}
@font-face {
font-family: 'PT Serif';
font-style: italic;
font-weight: 400;
src: local('PT Serif Italic'), local('PTSerif-Italic'), url('https://autodesk.github.io/standard-surface/style/fonts/PTSerif/PTSerif-Italic.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; /* Latin */
}
@font-face {
font-family: 'PT Serif';
font-style: normal;
font-weight: 400;
src: local('PT Serif'), local('PTSerif-Regular'), url('https://autodesk.github.io/standard-surface/style/fonts/PTSerif/PTSerif-Regular.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; /* Latin */
}
@font-face {
font-family: 'PT Serif';
font-style: normal;
font-weight: 700;
src: local('PT Serif Bold'), local('PTSerif-Bold'), url('https://autodesk.github.io/standard-surface/style/fonts/PTSerif/PTSerif-Bold.woff2') format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; /* Latin */
}
/******************************************************************************/
/* Document body
/******************************************************************************/
body
{
max-width: 800px;
font-family: 'Artifakt Element', sans-serif; /*'PT Serif', serif;*/ /*<@r-lyeh*/
padding: 70px 10px 0px 10px;
min-width: 260px;
font-size: 16px; /*16px;*/ /*<@r-lyeh*/
line-height: 19px; /*21px*/ /*<@r-lyeh*/
color: rgb(224,224,255); /*black;*/ /*<@r-lyeh*/
background-color: rgb(40,40,40); /*<@r-lyeh*/
text-align: left; /*<@r-lyeh*/
}
@media print
{
body
{
max-width: 100%;
padding: 0 5%;
}
}
/******************************************************************************/
/* Table of contents
/******************************************************************************/
/* For screens wide enough, put on the left side */
@media screen and (min-width: 1100px) /*<@r-lyeh*/
{
.md .longTOC, .md .mediumTOC, .md .shortTOC
{
max-width: 300px; /*<@r-lyeh*/
left: 0em; /*right: 0em;*/ /*<@r-lyeh*/
display: block;
position: fixed;
top: -30px; /*0;*/ /*<@r-lyeh*/
padding: 0em 1em 0 0; /*1em 1em 0 0;*/ /*<@r-lyeh*/
bottom: 0;
margin-top: 0;
margin-bottom: 0;
font-size: 85%;
line-height: 120%;
border: 0;
opacity: 0.66;
font-family: 'Artifakt Element', sans-serif;
}
.md .shortTOC
{
top: 0;
padding: 1em 1em 0 0;
}
.md .longTOC, .md .mediumTOC
{
overflow-y: hidden; /*< @r-lyeh*/
/* https://css-tricks.com/scrollbars-on-hover/
overflow-y: scroll;
mask-image: linear-gradient(to top, transparent, black), linear-gradient(to left, transparent 17px, black 17px);
mask-size: 100% 20000px;
mask-position: left bottom;
-webkit-mask-image: linear-gradient(to top, transparent, black), linear-gradient(to left, transparent 17px, black 17px);
-webkit-mask-size: 100% 20000px;
-webkit-mask-position: left bottom;
transition: mask-position 0.3s, -webkit-mask-position 0.3s;
*/
}
.md .longTOC a, .md .mediumTOC a, .md .shortTOC a
{
font-family: 'Artifakt Element', sans-serif;
}
.md .longTOC:hover, .md .mediumTOC:hover, .md .shortTOC:hover
{
opacity: 1;
}
}
/* For narrow screens, make inline */
@media screen and (max-width: 1099px) /*<@r-lyeh*/
{
.md .longTOC, .md .mediumTOC, .md .shortTOC
{
display: block;
margin: 20px 0 40px 3px;
padding: 0;
padding-top: 13px;
float: initial;
font-size: 98%;
line-height: 120%;
border: 0;
font-family: 'Artifakt Element', sans-serif;
border-top: 1px solid rgba(0,0,0,.1);
border-bottom: 1px solid rgba(0,0,0,.1);
}
.md .longTOC a, .md .mediumTOC a, .md .shortTOC a
{
font-family: 'Artifakt Element', sans-serif;
}
}
/* For print, hide */
@media print
{
.md .longTOC, .md .mediumTOC, .md .shortTOC
{
display: none;
}
}
.md div.title
{
font-family: 'Artifakt Legend', sans-serif;
font-weight: 700;
border: 0;
}
contents, .md .tocHeader,
.md h1, .md h2, .md h3, .md h4, .md h5, .md h6,
.md .nonumberh1, .md .nonumberh2, .md .nonumberh3, .md .nonumberh4, .md .nonumberh5, .md .nonumberh6
{
font-family: 'Artifakt Element', sans-serif;
font-weight: 500;
border: 0;
}
.md .tocHeader
{
margin: 0;
padding: 0;
border: none;
font-size: inherit;
}
.md .longTOC p, .md .mediumTOC p, .md .shortTOC p
{
overflow: hidden;
text-overflow: ellipsis;
}
.md .longTOC center, .md .mediumTOC center, .md .shortTOC center, .md .tocHeader
{
text-align: left;
}
.md .longTOC b, .md .mediumTOC b, .md .shortTOC b
{
font-weight: 500;
font-size: 120%;
}
.md .longTOC a.level1, .md .mediumTOC a.level1, .md .shortTOC a.level1
{
display: inline-block;
color: rgba(255,255,255,.95); /*rgba(0,0,0,.95);*/ /*<@r-lyeh*/
font-weight: 500;
margin-top: 7px;
margin-bottom: 4px;
}
.md .longTOC a.level2, .md .mediumTOC a.level2, .md .shortTOC a.level2
{
color: rgba(255,255,255,.9); /*rgba(0,0,0,.9);*/ /*<@r-lyeh*/
font-weight: 400;
line-height: 130%;
}
/******************************************************************************/
/* Titles and headings
/******************************************************************************/
/* Title style */
.md div.title
{
color: rgba(255,255,255,.7); /*rgba(0,0,0,.7);*/ /*<@r-lyeh*/
margin: 0.4em 0 20px 0; /*0.4em 0 20px 0;*/ /*<@r-lyeh*/
padding: 0;
font-size: 230%;
font-weight: 700;
text-align: center;
}
/* Subtitle style */
.md div.subtitle
{
text-align: center;
font-size: 95%;
}
/* Blue sections */
.md h1, .md .nonumberh1
{
font-size: 150%;
color: #029be5;
}
/* Grey sub-sections */
.md h2, .md .nonumberh2, .md h3, .md .nonumberh3
{
font-size: 130%;
color: rgba(255,255,255,.7); /*rgba(0,0,0,.7);*/ /*<@r-lyeh*/
}
.md h3, .md .nonumberh3
{
font-size: 115%;
margin-bottom: 0;
color: rgba(255,255,255,.75); /*rgba(0,0,0,.75);*/ /*<@r-lyeh*/
}
/******************************************************************************/
/* Tables
/******************************************************************************/
.md table.table
{
font-size: 90%;
width: 100%;
border: 1px solid rgb(30,30,30); /*(230,230,230)*/ /*<@r-lyeh*/
}
.md table.table td
{
border: none;
padding: 7px 7px 7px 7px;
}
/* Header row */
.md table.table th
{
border: none;
background-color: rgb(0,207,156); /*(230,230,230)*/ /*<@r-lyeh*/
color: rgb(20,20,20); /*black;*/ /*<@r-lyeh*/
font-weight: 700;
font-family: 'Artifakt Element', sans-serif;
padding: 7px 7px 7px 7px;
}
/* Even table rows: 1, 3, ... */
.md table.table tr:nth-child(odd)
{
background-color: rgb(53,53,53); /*(247,247,247);*/ /*<@r-lyeh*/
}
/* Odd table rows: 2, 4, ... */
.md table.table tr:nth-child(even)
{
background-color: rgb(47,47,47); /*(253,253,253);*/ /*<@r-lyeh*/
}
.md table.table tr:hover
{
background-color: rgb(66,66,66); /*#f9f5d7;*/ /*<@r-lyeh*/
}
/******************************************************************************/
/* Links
/******************************************************************************/
html {
scroll-behavior: smooth; /*<@r-lyeh*/
}
.md a
{
font-family: 'Artifakt Element', sans-serif; /*'PT Serif';*/ /*<@r-lyeh*/
scroll-margin-top: 20px; /*<@r-lyeh*/
}
.md a:link, .md a:visited
{
color: #00C0FF /* #0085c7; */ /*<@r-lyeh*/
}
/* For print, make links black */
@media print
{
.md a:link, .md a:visited
{
color: black;
}
}
/******************************************************************************/
/* Misc
/******************************************************************************/
/* Code */
.md code
{
padding: 0;
border: none;
font-family: 'Roboto Mono', monospace;
font-size: 88%; /*92%*/ /*<@r-lyeh*/
/*overflow-x: hidden;*/ /*<@r-lyeh*/
}
.md pre.listing
{
background-color: transparent;
font-size: 93%;
background-color: rgb(250,250,250);
border: 1px solid rgba(0,0,0,.05);
padding: 6px 10px;
text-align: left;
/*overflow-x: hidden;*/ /*<@r-lyeh*/
width: 97%; /*hack, i dont know how to align this width with every other element <@r-lyeh*/
}
/* Bibliography */
.md .bib
{
font-size: 90%;
padding-left: 20px;
text-indent: -20px;
}
.md .bib b
{
font-weight: inherit;
font-style: italic;
}
hr.pagebreak
{
visibility: hidden;
}
.afterTitles
{
height: 50px !important;
}
/* Center short image captions */
.md div.table
{
margin: 0 0 30px 0; /*0 0 30px 0;*/ /*<@r-lyeh*/
}
.md div.tablecaption
{
text-align: justify;
}
/* Center short image captions */
.md div.imagecaption
{
display: inline-block;
margin: 7px 0 0 0;
}
.md img.markdeep
{
margin-top: 25px;
}
.md .subtitle img.markdeep
{
margin-top: 7px;
}
.md .imagecaption b
{
font-weight: 700;
color: rgba(255,255,255,.85); /*rgba(0,0,0,.85);*/ /*<@r-lyeh*/
}
/* Hack to place a caption below a table of images */
.shifted-caption
{
margin-top: -30px;
text-align: center;
}
.shifted-caption .image
{
float: initial !important;
margin: 0 !important;
}
.shifted-caption img
{
display: none;
}
.markdeepFooter
{
opacity: 0.4;
}
.md code .long
{
font-size: 88%;
}
/* For print, hide Markdeep footer */
@media print
{
.markdeepFooter
{
display: none;
}
}
.md .admonition { background-color:rgba(68,138,255,0.45); } /* .15); }*/ /*<@r-lyeh*/
.md .admonition.tip { background-color:rgba(50,255,90,0.55); } /* .15); }*/ /*<@r-lyeh*/
.md .admonition.warn,.md .admonition.warning { background-color:rgba(255,125,0,0.85); } /* 255,145,0,0.15); }*/ /*<@r-lyeh*/
.md .admonition.error { background-color:rgba(255,23,68,0.65); } /* .15); }*/ /*<@r-lyeh*/
/* external link img, no unicode available */
a[target="_blank"]::after {
filter: invert(80%);
margin: 0 3px 0 5px;
content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAQElEQVR42qXKwQkAIAxDUUdxtO6/RBQkQZvSi8I/pL4BoGw/XPkh4XigPmsUgh0626AjRsgxHTkUThsG2T/sIlzdTsp52kSS1wAAAABJRU5ErkJggg==);
}
/* Stylize details/summary html tags */
/* Credits: https://dev.to/vtrpldn/show-and-hide-content-easily-with-details-and-summary-html-tags-3eif */
/* The --padding variable help us control the <details> and <summary> spacing */
:root {
--padding: 4px; /*16px;*/ /*<@r-lyeh*/
}
details {
padding: 0 var(--padding);
box-shadow: inset 0 0 0 0px; /*4px;*/ /*<@r-lyeh*/
border-radius: 1px; /*4px*/ /*<@r-lyeh*/
background-color:#333; /*<@r-lyeh*/
margin: -15px 0 0 0; /*<@r-lyeh*/ /*fits all <details> together */
}
summary {
padding-left: 16px; /*<@r-lyeh*/
text-overflow: ellipsis;
/* Both of the following are required for text-overflow */
white-space: nowrap;
overflow: hidden;
}
details[open] {
padding-bottom: var(--padding);
box-shadow: inset 0 0 0 1px; /*<@r-lyeh*/
background-color:transparent; /*<@r-lyeh*/
}
details > summary {
display: flex;
padding: var(--padding);
margin: 0 calc(var(--padding) * -1);
border-radius: 4px;
/*font-size: 24px;*/ /*<@r-lyeh*/
cursor: pointer;
justify-content: space-between;
list-style: none; /* Hides the default arrow */
}
details[open] > summary {
box-shadow: 0 0px; /*4px;*/ /*<@r-lyeh*/
}
/* Adds an (+) icon when the <details> is closed... */
details > summary::after {
content: "⇕";
}
/* ...and switches it when <details> is open (-) icon */
details[open] > summary::after {
content: "⇕";
}
/* Removes the ugly default arrow on Chrome */
details > summary::-webkit-details-marker {
display: none;
}
/*<@r-lyeh*/
/*<!--link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.2.0/styles/base16/horizon-dark.min.css" /-->*/
/* .hljs-comment,.hljs-quote{color:#969896}.hljs-variable,.hljs-template-variable,.hljs-tag,.hljs-name,.hljs-selector-id,.hljs-selector-class,.hljs-regexp,.hljs-deletion{color:#cc6666}.hljs-number,.hljs-built_in,.hljs-builtin-name,.hljs-literal,.hljs-type,.hljs-params,.hljs-meta,.hljs-link{color:#de935f}.hljs-attribute{color:#f0c674}.hljs-string,.hljs-symbol,.hljs-bullet,.hljs-addition{color:#b5bd68}.hljs-title,.hljs-section{color:#81a2be}.hljs-keyword,.hljs-selector-tag{color:#b294bb}.hljs{display:block;overflow-x:auto;background:#1d1f21;color:#c5c8c6;padding:0.5em}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:bold} */
/*.hljs{display:block;overflow-x:auto;padding:0.5em;background:#272822;color:#ddd}.hljs-tag,.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-strong,.hljs-name{color:#f92672}.hljs-code{color:#66d9ef}.hljs-class .hljs-title{color:white}.hljs-attribute,.hljs-symbol,.hljs-regexp,.hljs-link{color:#bf79db}.hljs-string,.hljs-bullet,.hljs-subst,.hljs-title,.hljs-section,.hljs-emphasis,.hljs-type,.hljs-built_in,.hljs-builtin-name,.hljs-selector-attr,.hljs-selector-pseudo,.hljs-addition,.hljs-variable,.hljs-template-tag,.hljs-template-variable{color:#a6e22e}.hljs-comment,.hljs-quote,.hljs-deletion,.hljs-meta{color:#75715e}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-doctag,.hljs-title,.hljs-section,.hljs-type,.hljs-selector-id{font-weight:bold}*/
/*.hljs{display:block;overflow-x:auto;padding:0.5em;background:#333;color:white}.hljs-name,.hljs-strong{font-weight:bold}.hljs-code,.hljs-emphasis{font-style:italic}.hljs-tag{color:#62c8f3}.hljs-variable,.hljs-template-variable,.hljs-selector-id,.hljs-selector-class{color:#ade5fc}.hljs-string,.hljs-bullet{color:#a2fca2}.hljs-type,.hljs-title,.hljs-section,.hljs-attribute,.hljs-quote,.hljs-built_in,.hljs-builtin-name{color:#ffa}.hljs-number,.hljs-symbol,.hljs-bullet{color:#d36363}.hljs-keyword,.hljs-selector-tag,.hljs-literal{color:#fcc28c}.hljs-comment,.hljs-deletion,.hljs-code{color:#888}.hljs-regexp,.hljs-link{color:#c6b4f0}.hljs-meta{color:#fc9b9b}.hljs-deletion{background-color:#fc9b9b;color:#333}.hljs-addition{background-color:#a2fca2;color:#333}.hljs a{color:inherit}.hljs a:focus,.hljs a:hover{color:inherit;text-decoration:underline}*/
.hljs{display:block;overflow-x:auto;padding:.5em;background:#011627;color:#d6deeb}.hljs-keyword{color:#c792ea;font-style:italic}.hljs-built_in{color:#addb67;font-style:italic}.hljs-type{color:#82aaff}.hljs-literal{color:#ff5874}.hljs-number{color:#f78c6c}.hljs-regexp{color:#5ca7e4}.hljs-string{color:#ecc48d}.hljs-subst{color:#d3423e}.hljs-symbol{color:#82aaff}.hljs-class{color:#ffcb8b}.hljs-function{color:#82aaff}.hljs-title{color:#dcdcaa;font-style:italic}.hljs-params{color:#7fdbca}.hljs-comment{color:#637777;font-style:italic}.hljs-doctag{color:#7fdbca}.hljs-meta{color:#82aaff}.hljs-meta-keyword{color:#82aaff}.hljs-meta-string{color:#ecc48d}.hljs-section{color:#82b1ff}.hljs-builtin-name,.hljs-name,.hljs-tag{color:#7fdbca}.hljs-attr{color:#7fdbca}.hljs-attribute{color:#80cbc4}.hljs-variable{color:#addb67}.hljs-bullet{color:#d9f5dd}.hljs-code{color:#80cbc4}.hljs-emphasis{color:#c792ea;font-style:italic}.hljs-strong{color:#addb67;font-weight:700}.hljs-formula{color:#c792ea}.hljs-link{color:#ff869a}.hljs-quote{color:#697098;font-style:italic}.hljs-selector-tag{color:#ff6363}.hljs-selector-id{color:#fad430}.hljs-selector-class{color:#addb67;font-style:italic}.hljs-selector-attr,.hljs-selector-pseudo{color:#c792ea;font-style:italic}.hljs-template-tag{color:#c792ea}.hljs-template-variable{color:#addb67}.hljs-addition{color:#addb67ff;font-style:italic}.hljs-deletion{color:#ef535090;font-style:italic}
/* Remove numbers from headers */
/* .md h1:before, .md h2:before, .md h3:before, .md h4:before, .md h5:before {content: none;} */
/* Examples background and text to match Observable Dark */
/*.md code { color:#f00; }*/
.md pre.listing.tilde, .md pre.listing.backtick {background-color:#333; color:#FFF;}
/* Change color of diagrams and darken circle around open dots */
/*.md svg.diagram {stroke: #C5C5C5; fill: #C5C5C5;}*/
/*.md svg.diagram .opendot {stroke: #858585; fill: #FFF;}*/
/* Grey shade multi-block example */
/* .md code > .output {background: #979797;} */
/* highlight.js brighten function and title names */
.hljs-function .hljs-title {color: #00C0FF;}
.hljs-class .hljs-title {color: #00FFC0;}
.md code { color: rgb(255,255,235); } /* default unclassified #text and punctuation */
</style>
**F·W·K**
|Version: | {{VERSION}} |
|:--------------|:------------|
|Branch: | main |
|Commit: | 1 |
<!--| Documentation last modified | { {LAST_MODIFIED} } |-->
# [F·W·K {{VERSION}}](https://github.com/r-lyeh/FWK)
## a b o u t
- https://github.com/r-lyeh/FWK is a 3D game framework in C, with Luajit bindings.
- Download latest release: https://github.com/r-lyeh/FWK/releases
- WIP Documentation below. Need extra support? <a href="https://discord.gg/vu6Vt9d">Join us</a>.
![Image from demo.c](https://i.imgur.com/sInbRoA.gif)
<details><summary>Code style</summary>
```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
```
</details>
<!--
!!! Note
Ready to browse documentation? This is a very common note.
!!! Tip
Then we have these informational notes. Tips mostly.
!!! WARNING
And warning notes. You should read them definitely.
!!! ERROR: Watch out
Really **important notes**. Beware of these.
-->
## r e a d m e
</details>
<details><summary>Goals</summary>
- [x] ~~C++~~. C.
- [x] ~~Fast~~. Naive.
- [x] ~~Modern~~. Simple.
- [x] ~~Full featured~~. Small.
- [x] ~~Rich build system~~. Single file.
- [x] ~~Royaltie fee~~. Free and unlicensed.
</details>
<details><summary>Features ᕦ(ᐛ)ᕤ</summary>
- [x] Pipeline: configurable and integrated [asset pipeline](tools/cook.ini).
- [x] Embedded: single-file header, all dependencies included.
- [x] Compiler: MSVC, MINGW64, TCC, GCC, clang, clang-cl and emscripten.
- [x] Linkage: Both static linkage and dynamic .dll/.so/.dylib support.
- [x] Platform: Windows, Linux and OSX. Partial HTML5/Web support.
- [x] DS: hash, sort, array/vector, map, set.
- [x] Math: rand, noise, ease, vec2/3/4, mat33/34/44, quat.
- [x] Geometry: ray, line, plane, aabb, sphere, capsule, triangle, poly and frustum.
- [x] Window: windowed, soft/hard fullscreen, msaa, icon, cursor handling.
- [x] Input: keyboard, mouse and gamepads.
- [x] Script: Lua scripting, Luajit bindings.
- [x] Network: downloads (HTTPS) and sockets (TCP/UDP). <!-- [*] Object, GameObject, W/ECS -->
- [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. <!-- @todo: merge demo_pbr.c rendering code into fwk_render.c -->
- [x] Render: Cubemaps, panoramas and spherical harmonics. Rayleigh/Mie scattering.
- [x] Render: Post-effects (SSAO,FXAA1/3,CRT,Contrast,Grain,Outline,Vignette...).
- [x] Render: 3D Anims, skeletal anims, hardware skinning and instanced rendering.
- [x] Render: 3D Debugdraw, batching and vectorial font.
- [x] Render: 2D Sprites, spritesheets, AA zooming and batching.
- [x] Render: 2D Tilemaps and tilesets: TMX, TSX.
- [x] Compression: DEFLATE, LZMA, LZ4, ULZ, BALZ, BCM, CRUSH, LZW3, LZSS and PPP.
- [x] Virtual filesystem: ZIP, PAK, TAR and DIR.
- [x] Level data: JSON, JSON5, SJSON, XML, INI.
- [x] Disk cache.
- [x] Scene handling.
- [x] Profiler, stats and leaks finder.
- [x] [Editor (wip)](https://user-images.githubusercontent.com/35402248/174457347-f787a6a2-aac8-404c-a5da-f44310c3d432.mp4).
- [x] [Documentation (wip)](https://bit.ly/-f-w-k-).
</details>
<details><summary>Roadmap ᕕ(ᐛ)ᕗ (in order of arrival; ✱: partial support)</summary>
- [ ] AI pass: actors, waypoints, pathfinding, behavior trees (h/fsm,goap), and navmesh generation.
- [ ] Render pass: reverse-Z, automatic LODs, impostors, decals.
- [ ] Materials: (colors✱, textures✱, matcaps✱, videos✱, shadertoys✱). Shadertoys as post-fx✱. <!--materials as postfx, as they have an update() method -->
- [ ] Lighting: Hard/soft shadow mapping (VSM,CCSM). Baked lightmaps. Refl probes. Integrated PBR.
- [ ] Network/VM pass: Entity/component/systems and worlds. <!-- W/ECS, gameobj, serialization:load/save/merge, diff/patch ;; dead reckoning, interpolation, extrapolation, bandwidth budgets -->
- [ ] Message pipeline and replication. <!-- manual/replication channels, node sharding/clustering. -->
- [ ] Digital signals, message buffering and event polling.
- [ ] World streaming and level loading.
- [ ] Scenegraphs and spatial partioning. BVH, PVS, occluders, frustum culling.
- [ ] Server/client architecture. Hybrid P2P.
- [ ] NAT traversal. Socketless API, message API and pub/sub wrappers (enet/websocket).
- [ ] Tools pass
- [ ] Extend shaders + bindings. Per-platform✱, per-type✱, per-asset options. GIF, PKM.
- [ ] Extend atlas (sprite/lightmaps). Fit packing (sprites).
- [ ] Extend bindings and messaging: parse C headers during cooking stage. <!-- msgs,docs,refl,meta,lua -- (*.c, *.h) as .proto/.pbc maybe, free reflection+automatic bindings -->
- [ ] API pass
- [ ] Discuss API and freeze it.
- [ ] Document everything.
<!--
Nice to have/extend (engine dependant):
- Animation pass: playlists, additive, blend/shapes, ik/bones, animgraph/controllers.
// 6) anims, I (playlist: ~~forward/backwards/loop/rewind)~~, II (~~blend~~/shapes), III (ik/bone), IV (graph/controller)
// ~~blend anims~~, animtracks+animevents, additive anims,
// fwk_data: quantization: ~~half, quant, microfloat~~.
// anim; ~~keyframes[] { frame+delay,frame+delay,... }, anim duration, anim flip,~~
// anim tracks / anim events
- Audio pass: 3D audio, HRTF, FFT, filtering and sound occlusion.
- Design pass: Dialogue, quests and inventory.
- Design pass: Input gestures and combos.
- Design pass: Integrated cinematics QTE.
- Design pass: Scripting, bindings and game modules.
- Design pass: Scripting: DLL (module->plugin/sys), Lua, Luajit, Teal and TypeScript.
- FX pass: Particles, billboards, emitters, trails and paths.
- Tools pass: Asset journaling.
// expose uniforms as ui options, also model_uniform();
// Pipeline: Extend asset pipeline (shaders, bindings, xml). Asset options.
// cook: slang: hlsl2glsl (XShaderCompiler), hlsl2spirv (dxc), spirv2many (spirv-cross), glsl2many (sokol-shdc)
// cook: tlfx22json
- Render pass: Frustum culling.
- Render pass: FX: particles and emitters (TLFX2), kawaii physics, clothes, breakables.
- Render pass: Lighting: hard/soft shadow mapping, spotlights (VSM), omnilights (VSMCube), CSM and baked lightmaps.
// lightmaps: https://blackpawn.com/texts/lightmaps/default.html
// https://github.com/jpcy/xatlas
- Render pass: Material: colors, textures, matcaps, videos, shadertoys. Shadertoys as post-fx.
- Render pass: Render: LODs, object instancing, billboards, impostors, decals, reflection probes.
// lod: https://github.com/songrun/SeamAwareDecimater
- Render pass: Skydomes.
- Render pass: Voxels
- Render pass: VR.
- Script pass: Refl/Meta binding tool (during cook stage).
- System pass: Buffer encryption.
- System pass: Mobile iOS/Android, HTML5✱, Web/WASM, RaspberryPi.
- Social pass: Achievements, Scores, Rankings, Friends, Invites, Steam/Itchio 1st-party store integrations, etc.
- UI pass: HUD, UI Widgets, touch input, touch gestures.
- UI pass: Font text layout and shaping, underlining, soft/hard shadows, outlines.
// font: M/SDF https://github.com/WilliamBundy/wiggle https://github.com/Chlumsky/msdf-atlas-gen
- UI pass: Game flow and game UI.
- UI pass: Localization, subtitles and unicode.
Engine types:
- 2DY Pong (70)
- 2DXY Platformer (80) (dizzy, rick dangerous) screens
- 2DXY+ Platformer (80) (megaman) scroll
- 2DXY Arcade (80) (snowbros, bomberman) screens
- 2DXZ Racing (outrun)
- 2DXYZ Isometric adventure (knight lore, diablo)
- AGI (maniac)
- First person shooter (80-90) (wolf3d > doom > hl1)
- First person adventure (bloodwych)
- Text adventure (z)
Nice to have:
- [ ] fix leaks and todos
- [ ] fwk_app: cpu usage, orientation
- [ ] fwk_input: mouse clip, mouse wrap,
- [ ] zip0 seek-vfs optimization. zip_append_file is suboptimal, and requires tons of contiguous memory for giant files.
Almost done:
- [x] shadertoy textures
- [*] billboards (follow sprite API? state instead? ie, billboard(true); before rendering?)
- Docs pass: API, functions, samples, examples, pipeline.
// plan:
//[ ] cam: friction, projections (dimetric, isometric, ...)
//[ ] Render: Materials (textures, matcaps, videos, shadertoys).
// material: fixed color, texture or script that returns color
// animated textures (shadertoys, videos)
// 8) vm/ecs core + engines: custom frontends & backends
// vm: ram, workqueues, threading, priorities, load/save
// service protocols: websocket bqqbarbhg/bq_websocket, https, handshake
// databases, services, quotas, black/whitelists, etc
// 7) network replication & messaging
// network: replication, dead reckoning, interpolation, extrapolation, bandwidth
// network: messaging: un/reliable, fragmentation, priority, etc
// network: topologies: bus, star, p2p, pubsub, etc
// network: filesystem
// int send_game_state(void *ptr, int len, int flags); PROTOCOL_V1|QUANTIZE|COMPRESS|RLE
// int recv_game_state(); compensate, extrapolate, intrapolate(); lerp();
// 9) render+
// 2d: billboards
// IBL/materials (from Foxotron+sgorsten) + shading models
// lightmapping/xatlas (demos), reflection probes
// renderbuckets
// tessellation
// 2d: particles (tlfx2)
// reverse-z {
// fbo attach format D16_UNORM -> D32_SFLOAT
// pipeline depth compare LEQUAL -> GEQUAL
// pipeline depth clear 1.0 -> 0.0
// proj matrix: float a = zfar / (zfar - znear); -> float a = -znear / (zfar - znear);
// proj matrix: float b = (-znear * zfar) / (zfar - znear); -> float b = (znear * zfar) / (zfar - znear);
// }
-->
</details>
<details><summary>Hello FWK</summary>
```C
#include "fwk.h" // Minimal C sample
int main() {
window_create(75.0, 0); // 75% size, no extra flags
while( window_swap() && !input(KEY_ESC) ) { // game loop
puts("hello FWK from C!");
}
}
```
```C
#include "fwk.h" // Minimal HTML5 sample
void render(void *arg) {
if( !input(KEY_ESC) ) puts("hello FWK from HTML5!");
}
int main() {
window_create(75.0, 0); // 75% size, no extra flags
window_loop(render, NULL); // game loop
}
```
```lua
local fwk = require("fwk") -- Minimal Lua sample
fwk.window_create(75.0,0) -- 75% size, no extra flags
while fwk.window_swap() and fwk.input(fwk.KEY_ESC) == 0 do -- game loop
print("hello FWK from Lua!")
end
```
</details>
<details><summary>Quickstart</summary>
```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
```
</details>
<details><summary>Cook</summary>
- Most asset types need to be cooked before being used in your application. Some other assets like `.png` do not.
- Cooked assets will be written into .zipfiles close to your executable, and mounted before entering game loop.
- Cooked .zipfiles and your executable are the only required assets when releasing your game.
- Cook manually your assets by invoking supplied [`tools/cook` standalone binary](tools/).
- Cook automatically your assets by just playing your game: a runtime cook is already embedded into your binary.
- In order to achieve this, ensure the [`tools/` folder](tools/) is close to your executable.
- This folder contains all the related binaries to perform any asset conversion plus the [cookbook](tools/cook.ini) to do so.
</details>
<details><summary>Extra tips</summary>
- Any ico/png file named after the executable name will be automatically used as app icon.
- Similar to the ico/png case above, the cooked .zipfiles can be named after the main executable as well.
- Dropped files into game window will be imported & saved into [`import/`](art/engine/import) folder.
- Update the gamepad controller database by upgrading the [`gamecontrollerdb.txt`](art/engine/input) file.
- Depending on your IDE, you might need to browse to [`split/`](split/) sources when debugging FWK.
- Cook assets on demand, as opposed to cook all existing assets on depot, by using `--cook-on-demand` flag.
- Linux/OSX users can optionally install wine and use the Windows tools instead (by using `--cook-wine` flag).
- Disable automatic cooking by using `--cook-jobs=0` flag (not recommended).
- Generate a project solution by dropping `split/fwk.h, fwk.c and fwk` files into it.
<!-- - Note: Windows: Assimp.dll may need [this package installed](https://www.microsoft.com/en-us/download/confirmation.aspx?id=30679).-->
</details>
<details><summary>Credits (Artwork + demos)</summary>
- [Nanofactory](https://sketchfab.com/3d-models/kgirls01-d2f946f58a8040ae993cda70c97b302c), for kgirls01 3D model (CC BY-NC-ND 4.0).
- [RottingPixels](https://opengameart.org/content/2d-castle-platformer-tileset-16x16), for castle-tileset (CC0).
- [wwwtyro](https://github.com/wwwtyro/glsl-atmosphere), for nicest rayleigh/mie scattering shader around (CC0).
</details>
<details><summary>Credits (Tools)</summary>
- [Aaron Barany](https://github.com/akb825/Cuttlefish), for cuttlefish (APACHE2).
- [Arseny Kapoulkine](https://github.com/zeux/pugixml/), for pugixml (MIT).
- [Assimp authors](https://github.com/assimp/assimp), for assimp (BSD3).
- [Bernhard Schelling](https://github.com/schellingb/TinySoundFont), for tml.h (Zlib) and tsf.h (MIT).
- [ffmpeg authors](https://www.ffmpeg.org/), for ffmpeg (LGPL21).
- [Imagination](https://developer.imaginationtech.com/pvrtextool/), for pvrtextoolcli (ITL).
- [Krzysztof Gabis](https://github.com/kgabis/ape), for split.py/join.py (MIT).
- [Lee Salzman](https://github.com/lsalzman/iqm/tree/5882b8c32fa622eba3861a621bb715d693573420/demo), for iqm.cpp (PD).
- [Mattias Gustavsson](https://github.com/mattiasgustavsson/libs), for mid.h (PD).
- [Michael Schmoock](http://github.com/willsteel/lcpp), for lcpp (MIT).
- [Olivier Lapicque, Konstanty Bialkowski](https://github.com/Konstanty/libmodplug), for libmodplug (PD).
- [Polyglot Team](https://docs.google.com/spreadsheets/d/17f0dQawb-s_Fd7DHgmVvJoEGDMH_yoSd8EYigrb0zmM/edit), for polyglot gamedev (CC0).
- [Tildearrow](https://github.com/tildearrow/furnace/), for Furnace (GPL2).
- [Tomas Pettersson](http://www.drpetter.se/), for sfxr (PD).
- [Tor Andersson](https://github.com/ccxvii/asstools), for assiqe.c (BSD).
</details>
<details><summary>Credits (Runtime)</summary>
- [Barerose](https://github.com/barerose), for swrap (CC0).
- [Camilla Löwy](https://github.com/elmindreda), for glfw3 (Zlib).
- [Dave Rand](https://tools.ietf.org/html/rfc1978) for ppp (PD).
- [David Herberth](https://github.com/dav1dde/), for glad generated code (PD).
- [David Reid](https://github.com/mackron), for miniaudio (PD).
- [Dominic Szablewski](https://github.com/phoboslab/pl_mpeg), for pl_mpeg (MIT).
- [Dominik Madarász](https://github.com/zaklaus), for json5 parser (PD).
- [Eduard Suica](https://github.com/eduardsui/tlse), for tlse (PD).
- [Gargaj+cce/Peisik](https://github.com/gargaj/foxotron), for Foxotron/PBR shaders (UNLICENSE).
- [Guillaume Vareille](http://tinyfiledialogs.sourceforge.net), for tinyfiledialogs (ZLIB).
- [Haruhiko Okumura](https://oku.edu.mie-u.ac.jp/~okumura/compression/) for lzss (PD).
- [Igor Pavlov](https://www.7-zip.org/) for LZMA (PD).
- [Ilya Muravyov](https://github.com/encode84) for bcm, balz, crush, ulz, lz4x (PD).
- [Jon Olick](https://www.jonolick.com/), for jo_mp1 and jo_mpeg (PD).
- [Joonas Pihlajamaa](https://github.com/jokkebk/JUnzip), for JUnzip library (PD).
- [Juliette Focault](https://github.com/juliettef/IconFontCppHeaders/blob/main/IconsMaterialDesign.h), for the generated MD header (ZLIB).
- [Lee Salzman](https://github.com/lsalzman/iqm/tree/5882b8c32fa622eba3861a621bb715d693573420/demo), for IQM spec & player (PD).
- [Lee Salzman, V.Hrytsenko, D.Madarász](https://github.com/zpl-c/enet/), for enet (MIT).
- [Libtomcrypt](https://github.com/libtom/libtomcrypt), for libtomcrypt (Unlicense).
- [Lua authors](https://www.lua.org/), for Lua language (MIT).
- [Mārtiņš Možeiko](https://gist.github.com/mmozeiko/68f0a8459ef2f98bcd879158011cc275), for A* pathfinding (PD).
- [Mattias Gustavsson](https://github.com/mattiasgustavsson/libs), for thread.h and https.h (PD).
- [Micha Mettke, Chris Willcocks, Dmitry Hrabrov](https://github.com/vurtun/nuklear), for nuklear (PD).
- [Michael Galetzka](https://github.com/Cultrarius/Swarmz), for swarmz (UNLICENSE).
- [Omar Cornut, vaiorabbit](https://github.com/ocornut/imgui/pull/3627), for tables of unicode ranges (MIT-0).
- [Rabia Alhaffar](https://github.com/Rabios/ice_libs), for ice_batt.h (PD).
- [Rich Geldreich](https://github.com/richgel999/miniz), for miniz (PD).
- [Ross Williams](http://ross.net/compression/lzrw3a.html) for lzrw3a (PD).
- [Samuli Raivio](https://github.com/bqqbarbhg/bq_websocket), for bq_websocket (PD).
- [Sean Barrett](https://github.com/nothings), for stb_image, stb_image_write, stb_sprintf, stb_truetype and stb_vorbis (PD).
- [Sebastian Steinhauer](https://github.com/kieselsteini), for sts_mixer (PD).
- [Stan Melax, Cloud Wu](https://web.archive.org/web/20031204035320/http://www.melax.com/polychop/gdmag.pdf), for polychop C algorithm (PD).
- [Stefan Gustavson](https://github.com/stegu/perlin-noise), for simplex noise (PD).
- [Tor Andersson](https://github.com/ccxvii/minilibs), for xml.c (PD).
- [Vassvik](https://github.com/vassvik/mv_easy_font), for mv_easy_font (Unlicense).
- Special thanks to [@ands](https://github.com/ands), [@barerose](https://github.com/barerose), [@datenwolf](https://github.com/datenwolf), [@evanw](https://github.com/evanw), [@glampert](https://github.com/glampert), [@krig](https://github.com/krig), [@sgorsten](https://github.com/sgorsten) and [@vurtun](https://github.com/vurtun) for their math libraries (PD,CC0,WTFPL2,CC0,PD,CC0,Unlicense,PD).
</details>
<details><summary>Unlicense</summary>
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.
</details>
<details><summary>Links</summary>
<p>
<a href="https://github.com/r-lyeh/FWK/issues"><img alt="Issues" src="https://img.shields.io/github/issues-raw/r-lyeh/FWK.svg"/></a>
<a href="https://discord.gg/vu6Vt9d"><img alt="Discord" src="https://img.shields.io/discord/270565488365535232?color=5865F2&label=chat&logo=discord&logoColor=white"/></a><br/>
Still looking for alternatives?
[amulet](https://github.com/ianmaclarty/amulet), [aroma](https://github.com/leafo/aroma/), [astera](https://github.com/tek256/astera), [blendelf](https://github.com/jesterKing/BlendELF), [bullordengine](https://github.com/MarilynDafa/Bulllord-Engine), [candle](https://github.com/EvilPudding/candle), [cave](https://github.com/kieselsteini/cave), [chickpea](https://github.com/ivansafrin/chickpea), [corange](https://github.com/orangeduck/Corange), [cute](https://github.com/RandyGaul/cute_framework), [dos-like](https://github.com/mattiasgustavsson/dos-like), [ejoy2d](https://github.com/ejoy/ejoy2d), [exengine](https://github.com/exezin/exengine), [gunslinger](https://github.com/MrFrenik/gunslinger), [hate](https://github.com/excessive/hate), [island](https://github.com/island-org/island), [juno](https://github.com/rxi/juno), [l](https://github.com/Lyatus/L), [lgf](https://github.com/Planimeter/lgf), [limbus](https://github.com/redien/limbus), [love](https://github.com/love2d/love/), [lovr](https://github.com/bjornbytes/lovr), [mini3d](https://github.com/mini3d/mini3d), [mintaro](https://github.com/mackron/mintaro), [mio](https://github.com/ccxvii/mio), [olive.c](https://github.com/tsoding/olive.c), [opensource](https://github.com/w23/OpenSource), [ouzel](https://github.com/elnormous/ouzel/), [pez](https://github.com/prideout/pez), [pixie](https://github.com/mattiasgustavsson/pixie), [punity](https://github.com/martincohen/Punity), [r96](https://github.com/badlogic/r96), [ricotech](https://github.com/dbechrd/RicoTech), [rizz](https://github.com/septag/rizz), [tigr](https://github.com/erkkah/tigr), [yourgamelib](https://github.com/duddel/yourgamelib)
</p>
</details>
## config
<a name="ENABLE_FASTCALL_LUA"></a>
<details><summary><code lang=C>🄳 macro ENABLE_FASTCALL_LUA </code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ENABLE_PROFILER"></a>
<details><summary><code lang=C>🄳 macro ENABLE_PROFILER </code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ENABLE_SELFIES"></a>
<details><summary><code lang=C>🄳 macro ENABLE_SELFIES </code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ENABLE_MEMORY_POISON"></a>
<details><summary><code lang=C>🄳 macro ENABLE_MEMORY_POISON </code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ENABLE_MEMORY_LEAKS"></a>
<details><summary><code lang=C>🄳 macro ENABLE_MEMORY_LEAKS </code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ENABLE_LINUX_CALLSTACKS"></a>
<details><summary><code lang=C>🄳 macro ENABLE_LINUX_CALLSTACKS </code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="bool"></a>
<details><summary><code lang=C>🅃 typedef char bool;</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## ds
<a name="sort_64"></a>
<details><summary><code lang=C>🄵 API int sort_64(const void* a,const void* b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="less_64"></a>
<details><summary><code lang=C>🄵 API int less_64(uint64_t a,uint64_t b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="less_int"></a>
<details><summary><code lang=C>🄵 API int less_int(int a,int b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="less_ptr"></a>
<details><summary><code lang=C>🄵 API int less_ptr(void* a,void* b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="less_str"></a>
<details><summary><code lang=C>🄵 API int less_str(char* a,char* b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="unhash_32"></a>
<details><summary><code lang=C>🄵 API uint32_t unhash_32(uint32_t x);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="hash_32"></a>
<details><summary><code lang=C>🄵 API uint32_t hash_32(uint32_t x);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="hash_64"></a>
<details><summary><code lang=C>🄵 API uint64_t hash_64(uint64_t x);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="hash_flt"></a>
<details><summary><code lang=C>🄵 API uint64_t hash_flt(double x);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="hash_str"></a>
<details><summary><code lang=C>🄵 API uint64_t hash_str(const char* str);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="hash_int"></a>
<details><summary><code lang=C>🄵 API uint64_t hash_int(int key);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="hash_ptr"></a>
<details><summary><code lang=C>🄵 API uint64_t hash_ptr(const void* ptr);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="popcnt64"></a>
<details><summary><code lang=C>🄵 API uint64_t popcnt64(uint64_t x);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="vrealloc"></a>
<details><summary><code lang=C>🄵 API void* vrealloc(void* p,size_t sz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="vlen"></a>
<details><summary><code lang=C>🄵 API size_t vlen(void* p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="set_item"></a>
<details><summary><code lang=C>🅂 struct set_item;</code></summary>
~~~~~~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).
</details>
<a name="set"></a>
<details><summary><code lang=C>🅂 struct set;</code></summary>
~~~~~~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).
</details>
<a name="set_init"></a>
<details><summary><code lang=C>🄵 API void set_init(set* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="set_free"></a>
<details><summary><code lang=C>🄵 API void set_free(set* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="set_insert"></a>
<details><summary><code lang=C>🄵 API void set_insert(set* m,set_item* p,void* key,uint64_t keyhash,void* super);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="set_erase"></a>
<details><summary><code lang=C>🄵 API void set_erase(set* m,void* key,uint64_t keyhash);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="set_find"></a>
<details><summary><code lang=C>🄵 API void* set_find(const set* m,void* key,uint64_t keyhash);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="set_count"></a>
<details><summary><code lang=C>🄵 API int set_count(const set* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="set_gc"></a>
<details><summary><code lang=C>🄵 API void set_gc(set* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="set_clear"></a>
<details><summary><code lang=C>🄵 API void set_clear(set* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="pair"></a>
<details><summary><code lang=C>🅂 struct pair;</code></summary>
~~~~~~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).
</details>
<a name="map"></a>
<details><summary><code lang=C>🅂 struct map;</code></summary>
~~~~~~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).
</details>
<a name="map_init"></a>
<details><summary><code lang=C>🄵 API void map_init(map* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="map_free"></a>
<details><summary><code lang=C>🄵 API void map_free(map* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="map_insert"></a>
<details><summary><code lang=C>🄵 API void map_insert(map* m,pair* p,void* key,void* value,uint64_t keyhash,void* super);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="map_erase"></a>
<details><summary><code lang=C>🄵 API void map_erase(map* m,void* key,uint64_t keyhash);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="map_find"></a>
<details><summary><code lang=C>🄵 API void* map_find(map* m,void* key,uint64_t keyhash);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="map_count"></a>
<details><summary><code lang=C>🄵 API int map_count(map* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="map_gc"></a>
<details><summary><code lang=C>🄵 API void map_gc(map* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="map_sort"></a>
<details><summary><code lang=C>🄵 API bool map_sort(map* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="map_clear"></a>
<details><summary><code lang=C>🄵 API void map_clear(map* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cc4"></a>
<details><summary><code lang=C>🄵 API unsigned cc4(const char* id);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cc8"></a>
<details><summary><code lang=C>🄵 API uint64_t cc8(const char* id);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cc4str"></a>
<details><summary><code lang=C>🄵 API char* cc4str(unsigned cc);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cc8str"></a>
<details><summary><code lang=C>🄵 API char* cc8str(uint64_t cc);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## math
<a name="vec2i"></a>
<details><summary><code lang=C>🅂 union vec2i;</code></summary>
~~~~~~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).
</details>
<a name="vec3i"></a>
<details><summary><code lang=C>🅂 union vec3i;</code></summary>
~~~~~~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).
</details>
<a name="vec2"></a>
<details><summary><code lang=C>🅂 union vec2;</code></summary>
~~~~~~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).
</details>
<a name="vec3"></a>
<details><summary><code lang=C>🅂 union vec3;</code></summary>
~~~~~~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).
</details>
<a name="vec4"></a>
<details><summary><code lang=C>🅂 union vec4;</code></summary>
~~~~~~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).
</details>
<a name="quat"></a>
<details><summary><code lang=C>🅂 union quat;</code></summary>
~~~~~~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).
</details>
<a name="mat33"></a>
<details><summary><code lang=C>🅃 typedef float mat33[9];</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mat34"></a>
<details><summary><code lang=C>🅃 typedef float mat34[12];</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mat44"></a>
<details><summary><code lang=C>🅃 typedef float mat44[16];</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="randset"></a>
<details><summary><code lang=C>🄵 API void randset(uint64_t state);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rand64"></a>
<details><summary><code lang=C>🄵 API uint64_t rand64(void);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="randf"></a>
<details><summary><code lang=C>🄵 API double randf(void);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="randi"></a>
<details><summary><code lang=C>🄵 API int randi(int mini,int maxi);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="simplex1"></a>
<details><summary><code lang=C>🄵 API float simplex1(float x);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="simplex2"></a>
<details><summary><code lang=C>🄵 API float simplex2(vec2 xy);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="simplex3"></a>
<details><summary><code lang=C>🄵 API float simplex3(vec3 xyz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="simplex4"></a>
<details><summary><code lang=C>🄵 API float simplex4(vec4 xyzw);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_linear"></a>
<details><summary><code lang=C>🄵 API float ease_linear(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_out_sine"></a>
<details><summary><code lang=C>🄵 API float ease_out_sine(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_out_quad"></a>
<details><summary><code lang=C>🄵 API float ease_out_quad(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_out_cubic"></a>
<details><summary><code lang=C>🄵 API float ease_out_cubic(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_out_quart"></a>
<details><summary><code lang=C>🄵 API float ease_out_quart(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_out_quint"></a>
<details><summary><code lang=C>🄵 API float ease_out_quint(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_out_expo"></a>
<details><summary><code lang=C>🄵 API float ease_out_expo(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_out_circ"></a>
<details><summary><code lang=C>🄵 API float ease_out_circ(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_out_back"></a>
<details><summary><code lang=C>🄵 API float ease_out_back(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_out_elastic"></a>
<details><summary><code lang=C>🄵 API float ease_out_elastic(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_out_bounce"></a>
<details><summary><code lang=C>🄵 API float ease_out_bounce(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_in_sine"></a>
<details><summary><code lang=C>🄵 API float ease_in_sine(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_in_quad"></a>
<details><summary><code lang=C>🄵 API float ease_in_quad(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_in_cubic"></a>
<details><summary><code lang=C>🄵 API float ease_in_cubic(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_in_quart"></a>
<details><summary><code lang=C>🄵 API float ease_in_quart(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_in_quint"></a>
<details><summary><code lang=C>🄵 API float ease_in_quint(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_in_expo"></a>
<details><summary><code lang=C>🄵 API float ease_in_expo(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_in_circ"></a>
<details><summary><code lang=C>🄵 API float ease_in_circ(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_in_back"></a>
<details><summary><code lang=C>🄵 API float ease_in_back(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_in_elastic"></a>
<details><summary><code lang=C>🄵 API float ease_in_elastic(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_in_bounce"></a>
<details><summary><code lang=C>🄵 API float ease_in_bounce(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_inout_sine"></a>
<details><summary><code lang=C>🄵 API float ease_inout_sine(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_inout_quad"></a>
<details><summary><code lang=C>🄵 API float ease_inout_quad(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_inout_cubic"></a>
<details><summary><code lang=C>🄵 API float ease_inout_cubic(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_inout_quart"></a>
<details><summary><code lang=C>🄵 API float ease_inout_quart(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_inout_quint"></a>
<details><summary><code lang=C>🄵 API float ease_inout_quint(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_inout_expo"></a>
<details><summary><code lang=C>🄵 API float ease_inout_expo(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_inout_circ"></a>
<details><summary><code lang=C>🄵 API float ease_inout_circ(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_inout_back"></a>
<details><summary><code lang=C>🄵 API float ease_inout_back(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_inout_elastic"></a>
<details><summary><code lang=C>🄵 API float ease_inout_elastic(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_inout_bounce"></a>
<details><summary><code lang=C>🄵 API float ease_inout_bounce(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_inout_perlin"></a>
<details><summary><code lang=C>🄵 API float ease_inout_perlin(float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="EASE_FLAGS"></a>
<details><summary><code lang=C>🄴 enum EASE_FLAGS;</code></summary>
~~~~~~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).
</details>
<a name="ease"></a>
<details><summary><code lang=C>🄵 API float ease(float t01,unsigned mode);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_ping_pong"></a>
<details><summary><code lang=C>🄵 API float ease_ping_pong(float t,float (*fn1)(float),float (*fn2)(float));</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ease_pong_ping"></a>
<details><summary><code lang=C>🄵 API float ease_pong_ping(float t,float (*fn1)(float),float (*fn2)(float));</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="deg"></a>
<details><summary><code lang=C>🄵 API float deg(float radians);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rad"></a>
<details><summary><code lang=C>🄵 API float rad(float degrees);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mini"></a>
<details><summary><code lang=C>🄵 API int mini(int a,int b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="maxi"></a>
<details><summary><code lang=C>🄵 API int maxi(int a,int b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="absi"></a>
<details><summary><code lang=C>🄵 API int absi(int a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="clampi"></a>
<details><summary><code lang=C>🄵 API int clampi(int v,int a,int b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="minf"></a>
<details><summary><code lang=C>🄵 API float minf(float a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="maxf"></a>
<details><summary><code lang=C>🄵 API float maxf(float a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="absf"></a>
<details><summary><code lang=C>🄵 API float absf(float a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="pmodf"></a>
<details><summary><code lang=C>🄵 API float pmodf(float a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="signf"></a>
<details><summary><code lang=C>🄵 API float signf(float a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="clampf"></a>
<details><summary><code lang=C>🄵 API float clampf(float v,float a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mixf"></a>
<details><summary><code lang=C>🄵 API float mixf(float a,float b,float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fractf"></a>
<details><summary><code lang=C>🄵 API float fractf(float a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ptr2"></a>
<details><summary><code lang=C>🄵 API vec2 ptr2(const float* a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="neg2"></a>
<details><summary><code lang=C>🄵 API vec2 neg2(vec2 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="add2"></a>
<details><summary><code lang=C>🄵 API vec2 add2(vec2 a,vec2 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sub2"></a>
<details><summary><code lang=C>🄵 API vec2 sub2(vec2 a,vec2 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mul2"></a>
<details><summary><code lang=C>🄵 API vec2 mul2(vec2 a,vec2 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="div2"></a>
<details><summary><code lang=C>🄵 API vec2 div2(vec2 a,vec2 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="inc2"></a>
<details><summary><code lang=C>🄵 API vec2 inc2(vec2 a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="dec2"></a>
<details><summary><code lang=C>🄵 API vec2 dec2(vec2 a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scale2"></a>
<details><summary><code lang=C>🄵 API vec2 scale2(vec2 a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="pmod2"></a>
<details><summary><code lang=C>🄵 API vec2 pmod2(vec2 a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="min2"></a>
<details><summary><code lang=C>🄵 API vec2 min2(vec2 a,vec2 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="max2"></a>
<details><summary><code lang=C>🄵 API vec2 max2(vec2 a,vec2 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="abs2"></a>
<details><summary><code lang=C>🄵 API vec2 abs2(vec2 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="floor2"></a>
<details><summary><code lang=C>🄵 API vec2 floor2(vec2 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fract2"></a>
<details><summary><code lang=C>🄵 API vec2 fract2(vec2 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ceil2"></a>
<details><summary><code lang=C>🄵 API vec2 ceil2(vec2 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="dot2"></a>
<details><summary><code lang=C>🄵 API float dot2(vec2 a,vec2 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="refl2"></a>
<details><summary><code lang=C>🄵 API vec2 refl2(vec2 a,vec2 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cross2"></a>
<details><summary><code lang=C>🄵 API float cross2(vec2 a,vec2 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="len2sq"></a>
<details><summary><code lang=C>🄵 API float len2sq(vec2 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="len2"></a>
<details><summary><code lang=C>🄵 API float len2(vec2 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="norm2"></a>
<details><summary><code lang=C>🄵 API vec2 norm2(vec2 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="finite2"></a>
<details><summary><code lang=C>🄵 API int finite2(vec2 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mix2"></a>
<details><summary><code lang=C>🄵 API vec2 mix2(vec2 a,vec2 b,float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="clamp2"></a>
<details><summary><code lang=C>🄵 API vec2 clamp2(vec2 v,float a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rnd3"></a>
<details><summary><code lang=C>🄵 API vec3 rnd3(void);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ptr3"></a>
<details><summary><code lang=C>🄵 API vec3 ptr3(const float* a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="vec23"></a>
<details><summary><code lang=C>🄵 API vec3 vec23(vec2 a,float z);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="neg3"></a>
<details><summary><code lang=C>🄵 API vec3 neg3(vec3 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="add3"></a>
<details><summary><code lang=C>🄵 API vec3 add3(vec3 a,vec3 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sub3"></a>
<details><summary><code lang=C>🄵 API vec3 sub3(vec3 a,vec3 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mul3"></a>
<details><summary><code lang=C>🄵 API vec3 mul3(vec3 a,vec3 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="div3"></a>
<details><summary><code lang=C>🄵 API vec3 div3(vec3 a,vec3 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="inc3"></a>
<details><summary><code lang=C>🄵 API vec3 inc3(vec3 a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="dec3"></a>
<details><summary><code lang=C>🄵 API vec3 dec3(vec3 a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scale3"></a>
<details><summary><code lang=C>🄵 API vec3 scale3(vec3 a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="pmod3"></a>
<details><summary><code lang=C>🄵 API vec3 pmod3(vec3 a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="min3"></a>
<details><summary><code lang=C>🄵 API vec3 min3(vec3 a,vec3 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="max3"></a>
<details><summary><code lang=C>🄵 API vec3 max3(vec3 a,vec3 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="abs3"></a>
<details><summary><code lang=C>🄵 API vec3 abs3(vec3 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="floor3"></a>
<details><summary><code lang=C>🄵 API vec3 floor3(vec3 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fract3"></a>
<details><summary><code lang=C>🄵 API vec3 fract3(vec3 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ceil3"></a>
<details><summary><code lang=C>🄵 API vec3 ceil3(vec3 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cross3"></a>
<details><summary><code lang=C>🄵 API vec3 cross3(vec3 a,vec3 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="dot3"></a>
<details><summary><code lang=C>🄵 API float dot3(vec3 a,vec3 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="refl3"></a>
<details><summary><code lang=C>🄵 API vec3 refl3(vec3 a,vec3 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="len3sq"></a>
<details><summary><code lang=C>🄵 API float len3sq(vec3 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="len3"></a>
<details><summary><code lang=C>🄵 API float len3(vec3 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="norm3"></a>
<details><summary><code lang=C>🄵 API vec3 norm3(vec3 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="norm3sq"></a>
<details><summary><code lang=C>🄵 API vec3 norm3sq(vec3 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="finite3"></a>
<details><summary><code lang=C>🄵 API int finite3(vec3 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mix3"></a>
<details><summary><code lang=C>🄵 API vec3 mix3(vec3 a,vec3 b,float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="clamp3"></a>
<details><summary><code lang=C>🄵 API vec3 clamp3(vec3 v,float a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ortho3"></a>
<details><summary><code lang=C>🄵 API void ortho3(vec3* left,vec3* up,vec3 v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rotatex3"></a>
<details><summary><code lang=C>🄵 API vec3 rotatex3(vec3 dir,float degrees);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rotatey3"></a>
<details><summary><code lang=C>🄵 API vec3 rotatey3(vec3 dir,float degrees);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rotatez3"></a>
<details><summary><code lang=C>🄵 API vec3 rotatez3(vec3 dir,float degrees);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ptr4"></a>
<details><summary><code lang=C>🄵 API vec4 ptr4(const float* a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="vec34"></a>
<details><summary><code lang=C>🄵 API vec4 vec34(vec3 a,float w);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="neg4"></a>
<details><summary><code lang=C>🄵 API vec4 neg4(vec4 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="add4"></a>
<details><summary><code lang=C>🄵 API vec4 add4(vec4 a,vec4 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sub4"></a>
<details><summary><code lang=C>🄵 API vec4 sub4(vec4 a,vec4 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mul4"></a>
<details><summary><code lang=C>🄵 API vec4 mul4(vec4 a,vec4 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="div4"></a>
<details><summary><code lang=C>🄵 API vec4 div4(vec4 a,vec4 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="inc4"></a>
<details><summary><code lang=C>🄵 API vec4 inc4(vec4 a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="dec4"></a>
<details><summary><code lang=C>🄵 API vec4 dec4(vec4 a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scale4"></a>
<details><summary><code lang=C>🄵 API vec4 scale4(vec4 a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="pmod4"></a>
<details><summary><code lang=C>🄵 API vec4 pmod4(vec4 a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="min4"></a>
<details><summary><code lang=C>🄵 API vec4 min4(vec4 a,vec4 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="max4"></a>
<details><summary><code lang=C>🄵 API vec4 max4(vec4 a,vec4 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="abs4"></a>
<details><summary><code lang=C>🄵 API vec4 abs4(vec4 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="floor4"></a>
<details><summary><code lang=C>🄵 API vec4 floor4(vec4 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fract4"></a>
<details><summary><code lang=C>🄵 API vec4 fract4(vec4 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ceil4"></a>
<details><summary><code lang=C>🄵 API vec4 ceil4(vec4 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="dot4"></a>
<details><summary><code lang=C>🄵 API float dot4(vec4 a,vec4 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="refl4"></a>
<details><summary><code lang=C>🄵 API vec4 refl4(vec4 a,vec4 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="len4sq"></a>
<details><summary><code lang=C>🄵 API float len4sq(vec4 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="len4"></a>
<details><summary><code lang=C>🄵 API float len4(vec4 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="norm4"></a>
<details><summary><code lang=C>🄵 API vec4 norm4(vec4 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="norm4sq"></a>
<details><summary><code lang=C>🄵 API vec4 norm4sq(vec4 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="finite4"></a>
<details><summary><code lang=C>🄵 API int finite4(vec4 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mix4"></a>
<details><summary><code lang=C>🄵 API vec4 mix4(vec4 a,vec4 b,float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="clamp4"></a>
<details><summary><code lang=C>🄵 API vec4 clamp4(vec4 v,float a,float b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="idq"></a>
<details><summary><code lang=C>🄵 API quat idq();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ptrq"></a>
<details><summary><code lang=C>🄵 API quat ptrq(const float* a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="vec3q"></a>
<details><summary><code lang=C>🄵 API quat vec3q(vec3 a,float w);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="vec4q"></a>
<details><summary><code lang=C>🄵 API quat vec4q(vec4 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="negq"></a>
<details><summary><code lang=C>🄵 API quat negq(quat a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="conjq"></a>
<details><summary><code lang=C>🄵 API quat conjq(quat a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="addq"></a>
<details><summary><code lang=C>🄵 API quat addq(quat a,quat b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="subq"></a>
<details><summary><code lang=C>🄵 API quat subq(quat a,quat b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mulq"></a>
<details><summary><code lang=C>🄵 API quat mulq(quat p,quat q);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scaleq"></a>
<details><summary><code lang=C>🄵 API quat scaleq(quat a,float s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="normq"></a>
<details><summary><code lang=C>🄵 API quat normq(quat a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="dotq"></a>
<details><summary><code lang=C>🄵 API float dotq(quat a,quat b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mixq"></a>
<details><summary><code lang=C>🄵 API quat mixq(quat a,quat b,float t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="slerpq"></a>
<details><summary><code lang=C>🄵 API quat slerpq(quat a,quat b,float s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rotationq"></a>
<details><summary><code lang=C>🄵 API quat rotationq(float deg,float x,float y,float z);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mat44q"></a>
<details><summary><code lang=C>🄵 API quat mat44q(mat44 M);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rotate3q_2"></a>
<details><summary><code lang=C>🄵 API vec3 rotate3q_2(vec3 v,quat q);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rotate3q"></a>
<details><summary><code lang=C>🄵 API vec3 rotate3q(vec3 v,quat r);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="euler"></a>
<details><summary><code lang=C>🄵 API vec3 euler(quat q);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="eulerq"></a>
<details><summary><code lang=C>🄵 API quat eulerq(vec3 pyr_degrees);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scaling33"></a>
<details><summary><code lang=C>🄵 API void scaling33(mat33 m,float x,float y,float z);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scale33"></a>
<details><summary><code lang=C>🄵 API void scale33(mat33 m,float x,float y,float z);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="id33"></a>
<details><summary><code lang=C>🄵 API void id33(mat33 m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="extract33"></a>
<details><summary><code lang=C>🄵 API void extract33(mat33 m,const mat44 m4);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="copy33"></a>
<details><summary><code lang=C>🄵 API void copy33(mat33 m,const mat33 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mulv33"></a>
<details><summary><code lang=C>🄵 API vec3 mulv33(mat33 m,vec3 v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="multiply33x2"></a>
<details><summary><code lang=C>🄵 API void multiply33x2(mat33 m,const mat33 a,const mat33 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rotation33"></a>
<details><summary><code lang=C>🄵 API void rotation33(mat33 m,float degrees,float x,float y,float z);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rotationq33"></a>
<details><summary><code lang=C>🄵 API void rotationq33(mat33 m,quat q);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rotate33"></a>
<details><summary><code lang=C>🄵 API void rotate33(mat33 r,float degrees,float x,float y,float z);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="compose33"></a>
<details><summary><code lang=C>🄵 API void compose33(mat33 m,quat r,vec3 s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="id34"></a>
<details><summary><code lang=C>🄵 API void id34(mat34 m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="copy34"></a>
<details><summary><code lang=C>🄵 API void copy34(mat34 m,const mat34 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scale34"></a>
<details><summary><code lang=C>🄵 API void scale34(mat34 m,float s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="add34"></a>
<details><summary><code lang=C>🄵 API void add34(mat34 m,mat34 n);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="muladd34"></a>
<details><summary><code lang=C>🄵 API void muladd34(mat34 m,mat34 n,float s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="add34x2"></a>
<details><summary><code lang=C>🄵 API void add34x2(mat34 m,mat34 n,mat34 o);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="lerp34"></a>
<details><summary><code lang=C>🄵 API void lerp34(mat34 m,mat34 n,mat34 o,float alpha);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="multiply34x2"></a>
<details><summary><code lang=C>🄵 API void multiply34x2(mat34 m,const mat34 m0,const mat34 m1);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="multiply34"></a>
<details><summary><code lang=C>🄵 API void multiply34(mat34 m,const mat34 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="multiply34x3"></a>
<details><summary><code lang=C>🄵 API void multiply34x3(mat34 m,const mat34 a,const mat34 b,const mat34 c);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="compose34"></a>
<details><summary><code lang=C>🄵 API void compose34(mat34 m,vec3 t,quat q,vec3 s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="invert34"></a>
<details><summary><code lang=C>🄵 API void invert34(mat34 m,const mat34 o);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="id44"></a>
<details><summary><code lang=C>🄵 API void id44(mat44 m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="identity44"></a>
<details><summary><code lang=C>🄵 API void identity44(mat44 m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="copy44"></a>
<details><summary><code lang=C>🄵 API void copy44(mat44 m,const mat44 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="multiply44x2"></a>
<details><summary><code lang=C>🄵 API void multiply44x2(mat44 m,const mat44 a,const mat44 b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="multiply44x3"></a>
<details><summary><code lang=C>🄵 API void multiply44x3(mat44 m,const mat44 a,const mat44 b,const mat44 c);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="multiply44"></a>
<details><summary><code lang=C>🄵 API void multiply44(mat44 m,const mat44 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ortho44"></a>
<details><summary><code lang=C>🄵 API void ortho44(mat44 m,float l,float r,float b,float t,float n,float f);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="frustum44"></a>
<details><summary><code lang=C>🄵 API void frustum44(mat44 m,float l,float r,float b,float t,float n,float f);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="perspective44"></a>
<details><summary><code lang=C>🄵 API void perspective44(mat44 m,float fovy_degrees,float aspect,float nearp,float farp);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="lookat44"></a>
<details><summary><code lang=C>🄵 API void lookat44(mat44 m,vec3 eye,vec3 center,vec3 up);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="translation44"></a>
<details><summary><code lang=C>🄵 API void translation44(mat44 m,float x,float y,float z);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="translate44"></a>
<details><summary><code lang=C>🄵 API void translate44(mat44 m,float x,float y,float z);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="relocate44"></a>
<details><summary><code lang=C>🄵 API void relocate44(mat44 m,float x,float y,float z);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rotationq44"></a>
<details><summary><code lang=C>🄵 API void rotationq44(mat44 m,quat q);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rotation44"></a>
<details><summary><code lang=C>🄵 API void rotation44(mat44 m,float degrees,float x,float y,float z);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rotate44"></a>
<details><summary><code lang=C>🄵 API void rotate44(mat44 m,float degrees,float x,float y,float z);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scaling44"></a>
<details><summary><code lang=C>🄵 API void scaling44(mat44 m,float x,float y,float z);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scale44"></a>
<details><summary><code lang=C>🄵 API void scale44(mat44 m,float x,float y,float z);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="transpose44"></a>
<details><summary><code lang=C>🄵 API void transpose44(mat44 m,const mat44 a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="det44"></a>
<details><summary><code lang=C>🄵 API float det44(const mat44 M);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="invert44"></a>
<details><summary><code lang=C>🄵 API bool invert44(mat44 T,const mat44 M);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="compose44"></a>
<details><summary><code lang=C>🄵 API void compose44(mat44 m,vec3 t,quat q,vec3 s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="transformq"></a>
<details><summary><code lang=C>🄵 API vec3 transformq(const quat q,const vec3 v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="transform33"></a>
<details><summary><code lang=C>🄵 API vec3 transform33(const mat33 m,vec3 p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="transform344"></a>
<details><summary><code lang=C>🄵 API vec3 transform344(const mat44 m,const vec3 p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="transform444"></a>
<details><summary><code lang=C>🄵 API vec4 transform444(const mat44 m,const vec4 p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="unproject44"></a>
<details><summary><code lang=C>🄵 API bool unproject44(vec3* out,vec3 xyd,vec4 viewport,mat44 mvp);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="print2"></a>
<details><summary><code lang=C>🄵 API void print2(vec2 v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="print3"></a>
<details><summary><code lang=C>🄵 API void print3(vec3 v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="print4"></a>
<details><summary><code lang=C>🄵 API void print4(vec4 v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="printq"></a>
<details><summary><code lang=C>🄵 API void printq(quat q);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="print33"></a>
<details><summary><code lang=C>🄵 API void print33(float* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="print34"></a>
<details><summary><code lang=C>🄵 API void print34(float* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="print44"></a>
<details><summary><code lang=C>🄵 API void print44(float* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## ai
<a name="SWARM_DISTANCE"></a>
<details><summary><code lang=C>🄴 enum SWARM_DISTANCE;</code></summary>
~~~~~~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).
</details>
<a name="boid_t"></a>
<details><summary><code lang=C>🅂 struct boid_t;</code></summary>
~~~~~~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).
</details>
<a name="swarm_t"></a>
<details><summary><code lang=C>🅂 struct swarm_t;</code></summary>
~~~~~~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).
</details>
<a name="swarm"></a>
<details><summary><code lang=C>🄵 API swarm_t swarm();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="swarm_update"></a>
<details><summary><code lang=C>🄵 API void swarm_update(swarm_t* self,float delta);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="swarm_update_acceleration_only"></a>
<details><summary><code lang=C>🄵 API void swarm_update_acceleration_only(swarm_t* self);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="swarm_update_acceleration_and_velocity_only"></a>
<details><summary><code lang=C>🄵 API void swarm_update_acceleration_and_velocity_only(swarm_t* self,float delta);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_swarm"></a>
<details><summary><code lang=C>🄵 API int ui_swarm(swarm_t* self);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## audio
<a name="midi_send"></a>
<details><summary><code lang=C>🄵 API void midi_send(unsigned midi_msg);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="audio_handle*"></a>
<details><summary><code lang=C>🅂 struct audio_handle* audio_t;</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="audio_clip"></a>
<details><summary><code lang=C>🄵 API audio_t audio_clip(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="audio_stream"></a>
<details><summary><code lang=C>🄵 API audio_t audio_stream(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="audio_play"></a>
<details><summary><code lang=C>🄵 API int audio_play(audio_t s,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="audio_play_gain"></a>
<details><summary><code lang=C>🄵 API int audio_play_gain(audio_t a,int flags,float gain);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="audio_play_gain_pitch"></a>
<details><summary><code lang=C>🄵 API int audio_play_gain_pitch(audio_t a,int flags,float gain,float pitch);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="audio_play_gain_pitch_pan"></a>
<details><summary><code lang=C>🄵 API int audio_play_gain_pitch_pan(audio_t a,int flags,float gain,float pitch,float pan);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="audio_stop"></a>
<details><summary><code lang=C>🄵 API int audio_stop(audio_t a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="audio_volume_clip"></a>
<details><summary><code lang=C>🄵 API float audio_volume_clip(float gain);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="audio_volume_stream"></a>
<details><summary><code lang=C>🄵 API float audio_volume_stream(float gain);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="audio_volume_master"></a>
<details><summary><code lang=C>🄵 API float audio_volume_master(float gain);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="AUDIO_FLAGS"></a>
<details><summary><code lang=C>🄴 enum AUDIO_FLAGS;</code></summary>
~~~~~~C
enum AUDIO_FLAGS {
AUDIO_1CH = 0,
AUDIO_2CH = 1,
AUDIO_8 = 2,
AUDIO_16 = 0,
AUDIO_32 = 4,
AUDIO_FLOAT = 8,
AUDIO_8KHZ = 16,
AUDIO_11KHZ = 32,
AUDIO_22KHZ = 0,
AUDIO_44KHZ = 64,
AUDIO_MIXER_GAIN = 0,
AUDIO_IGNORE_MIXER_GAIN = 128,
AUDIO_MULTIPLE_INSTANCES = 0,
AUDIO_SINGLE_INSTANCE = 256
};
~~~~~~
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="audio_queue"></a>
<details><summary><code lang=C>🄵 API int audio_queue(const void* samples,int num_samples,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## collide
<a name="gjk_support"></a>
<details><summary><code lang=C>🅂 struct gjk_support;</code></summary>
~~~~~~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).
</details>
<a name="gjk_vertex"></a>
<details><summary><code lang=C>🅂 struct gjk_vertex;</code></summary>
~~~~~~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).
</details>
<a name="gjk_simplex"></a>
<details><summary><code lang=C>🅂 struct gjk_simplex;</code></summary>
~~~~~~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).
</details>
<a name="gjk_result"></a>
<details><summary><code lang=C>🅂 struct gjk_result;</code></summary>
~~~~~~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).
</details>
<a name="gjk"></a>
<details><summary><code lang=C>🄵 int gjk(gjk_simplex* s,const gjk_support* sup,vec3* dv);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="gjk_analyze"></a>
<details><summary><code lang=C>🄵 gjk_result gjk_analyze(const gjk_simplex* s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="gjk_quad"></a>
<details><summary><code lang=C>🄵 gjk_result gjk_quad(float a_radius,float b_radius);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="line"></a>
<details><summary><code lang=C>🅂 struct line;</code></summary>
~~~~~~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).
</details>
<a name="sphere"></a>
<details><summary><code lang=C>🅂 struct sphere;</code></summary>
~~~~~~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).
</details>
<a name="aabb"></a>
<details><summary><code lang=C>🅂 struct aabb;</code></summary>
~~~~~~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).
</details>
<a name="plane"></a>
<details><summary><code lang=C>🅂 struct plane;</code></summary>
~~~~~~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).
</details>
<a name="capsule"></a>
<details><summary><code lang=C>🅂 struct capsule;</code></summary>
~~~~~~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).
</details>
<a name="ray"></a>
<details><summary><code lang=C>🅂 struct ray;</code></summary>
~~~~~~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).
</details>
<a name="triangle"></a>
<details><summary><code lang=C>🅂 struct triangle;</code></summary>
~~~~~~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).
</details>
<a name="poly"></a>
<details><summary><code lang=C>🅂 struct poly;</code></summary>
~~~~~~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).
</details>
<a name="frustum"></a>
<details><summary><code lang=C>🅂 union frustum;</code></summary>
~~~~~~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).
</details>
<a name="hit"></a>
<details><summary><code lang=C>🅂 struct hit;</code></summary>
~~~~~~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).
</details>
<a name="line_distance2_point"></a>
<details><summary><code lang=C>🄵 API float line_distance2_point(line l,vec3 p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="line_closest_point"></a>
<details><summary><code lang=C>🄵 API vec3 line_closest_point(line l,vec3 p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ray_test_plane"></a>
<details><summary><code lang=C>🄵 API float ray_test_plane(ray r,vec4 p4);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ray_test_triangle"></a>
<details><summary><code lang=C>🄵 API float ray_test_triangle(ray r,triangle t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ray_test_sphere"></a>
<details><summary><code lang=C>🄵 API int ray_test_sphere(float* t0,float* t1,ray r,sphere s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ray_test_aabb"></a>
<details><summary><code lang=C>🄵 API int ray_test_aabb(float* t0,float* t1,ray r,aabb a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ray_hit_plane"></a>
<details><summary><code lang=C>🄵 API hit* ray_hit_plane(ray r,plane p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ray_hit_triangle"></a>
<details><summary><code lang=C>🄵 API hit* ray_hit_triangle(ray r,triangle t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ray_hit_sphere"></a>
<details><summary><code lang=C>🄵 API hit* ray_hit_sphere(ray r,sphere s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ray_hit_aabb"></a>
<details><summary><code lang=C>🄵 API hit* ray_hit_aabb(ray r,aabb a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sphere_closest_point"></a>
<details><summary><code lang=C>🄵 API vec3 sphere_closest_point(sphere s,vec3 p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sphere_hit_aabb"></a>
<details><summary><code lang=C>🄵 API hit* sphere_hit_aabb(sphere s,aabb a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sphere_hit_capsule"></a>
<details><summary><code lang=C>🄵 API hit* sphere_hit_capsule(sphere s,capsule c);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sphere_hit_sphere"></a>
<details><summary><code lang=C>🄵 API hit* sphere_hit_sphere(sphere a,sphere b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sphere_test_aabb"></a>
<details><summary><code lang=C>🄵 API int sphere_test_aabb(sphere s,aabb a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sphere_test_capsule"></a>
<details><summary><code lang=C>🄵 API int sphere_test_capsule(sphere s,capsule c);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sphere_test_poly"></a>
<details><summary><code lang=C>🄵 API int sphere_test_poly(sphere s,poly p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sphere_test_sphere"></a>
<details><summary><code lang=C>🄵 API int sphere_test_sphere(sphere a,sphere b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="aabb_closest_point"></a>
<details><summary><code lang=C>🄵 API vec3 aabb_closest_point(aabb a,vec3 p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="aabb_distance2_point"></a>
<details><summary><code lang=C>🄵 API float aabb_distance2_point(aabb a,vec3 p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="aabb_contains_point"></a>
<details><summary><code lang=C>🄵 API int aabb_contains_point(aabb a,vec3 p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="aabb_hit_aabb"></a>
<details><summary><code lang=C>🄵 API hit* aabb_hit_aabb(aabb a,aabb b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="aabb_hit_capsule"></a>
<details><summary><code lang=C>🄵 API hit* aabb_hit_capsule(aabb a,capsule c);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="aabb_hit_sphere"></a>
<details><summary><code lang=C>🄵 API hit* aabb_hit_sphere(aabb a,sphere s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="aabb_test_aabb"></a>
<details><summary><code lang=C>🄵 API int aabb_test_aabb(aabb a,aabb b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="aabb_test_capsule"></a>
<details><summary><code lang=C>🄵 API int aabb_test_capsule(aabb a,capsule c);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="aabb_test_poly"></a>
<details><summary><code lang=C>🄵 API int aabb_test_poly(aabb a,poly p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="aabb_test_sphere"></a>
<details><summary><code lang=C>🄵 API int aabb_test_sphere(aabb a,sphere s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="capsule_distance2_point"></a>
<details><summary><code lang=C>🄵 API float capsule_distance2_point(capsule c,vec3 p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="capsule_closest_point"></a>
<details><summary><code lang=C>🄵 API vec3 capsule_closest_point(capsule c,vec3 p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="capsule_hit_aabb"></a>
<details><summary><code lang=C>🄵 API hit* capsule_hit_aabb(capsule c,aabb a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="capsule_hit_capsule"></a>
<details><summary><code lang=C>🄵 API hit* capsule_hit_capsule(capsule a,capsule b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="capsule_hit_sphere"></a>
<details><summary><code lang=C>🄵 API hit* capsule_hit_sphere(capsule c,sphere s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="capsule_test_aabb"></a>
<details><summary><code lang=C>🄵 API int capsule_test_aabb(capsule c,aabb a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="capsule_test_capsule"></a>
<details><summary><code lang=C>🄵 API int capsule_test_capsule(capsule a,capsule b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="capsule_test_poly"></a>
<details><summary><code lang=C>🄵 API int capsule_test_poly(capsule c,poly p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="capsule_test_sphere"></a>
<details><summary><code lang=C>🄵 API int capsule_test_sphere(capsule c,sphere s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_test_sphere"></a>
<details><summary><code lang=C>🄵 API int poly_test_sphere(poly p,sphere s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_test_aabb"></a>
<details><summary><code lang=C>🄵 API int poly_test_aabb(poly p,aabb a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_test_capsule"></a>
<details><summary><code lang=C>🄵 API int poly_test_capsule(poly p,capsule c);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_test_poly"></a>
<details><summary><code lang=C>🄵 API int poly_test_poly(poly a,poly b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_test_sphere_transform"></a>
<details><summary><code lang=C>🄵 API int poly_test_sphere_transform(poly p,vec3 pos3,mat33 rot33,sphere s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_test_aabb_transform"></a>
<details><summary><code lang=C>🄵 API int poly_test_aabb_transform(poly p,vec3 apos3,mat33 arot33,aabb a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_test_capsule_transform"></a>
<details><summary><code lang=C>🄵 API int poly_test_capsule_transform(poly p,vec3 pos3,mat33 rot33,capsule c);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_test_poly_transform"></a>
<details><summary><code lang=C>🄵 API int poly_test_poly_transform(poly a,vec3 apos3,mat33 arot33,poly b,vec3 bpos3,mat33 brot33);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_hit_sphere"></a>
<details><summary><code lang=C>🄵 API int poly_hit_sphere(struct gjk_result* res,poly p,sphere s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_hit_aabb"></a>
<details><summary><code lang=C>🄵 API int poly_hit_aabb(struct gjk_result* res,poly p,aabb a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_hit_capsule"></a>
<details><summary><code lang=C>🄵 API int poly_hit_capsule(struct gjk_result* res,poly p,capsule c);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_hit_poly"></a>
<details><summary><code lang=C>🄵 API int poly_hit_poly(struct gjk_result* res,poly a,poly b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_hit_sphere_transform"></a>
<details><summary><code lang=C>🄵 API int poly_hit_sphere_transform(struct gjk_result* res,poly p,vec3 pos3,mat33 rot33,sphere s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_hit_aabb_transform"></a>
<details><summary><code lang=C>🄵 API int poly_hit_aabb_transform(struct gjk_result* res,poly p,vec3 pos3,mat33 rot33,aabb a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_hit_capsule_transform"></a>
<details><summary><code lang=C>🄵 API int poly_hit_capsule_transform(struct gjk_result* res,poly p,vec3 pos3,mat33 rot33,capsule c);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_hit_poly_transform"></a>
<details><summary><code lang=C>🄵 API int poly_hit_poly_transform(struct gjk_result* res,poly a,vec3 at3,mat33 ar33,poly b,vec3 bt3,mat33 br33);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="plane4"></a>
<details><summary><code lang=C>🄵 API vec4 plane4(vec3 p,vec3 n);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="frustum_build"></a>
<details><summary><code lang=C>🄵 API frustum frustum_build(mat44 projview);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="frustum_test_sphere"></a>
<details><summary><code lang=C>🄵 API int frustum_test_sphere(frustum f,sphere s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="frustum_test_aabb"></a>
<details><summary><code lang=C>🄵 API int frustum_test_aabb(frustum f,aabb a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_alloc"></a>
<details><summary><code lang=C>🄵 API poly poly_alloc(int cnt);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="poly_free"></a>
<details><summary><code lang=C>🄵 API void poly_free(poly* p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="pyramid"></a>
<details><summary><code lang=C>🄵 API poly pyramid(vec3 from,vec3 to,float size);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="diamond"></a>
<details><summary><code lang=C>🄵 API poly diamond(vec3 from,vec3 to,float size);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="collide_demo"></a>
<details><summary><code lang=C>🄵 API void collide_demo();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## cooker
<a name="COOK_FLAGS"></a>
<details><summary><code lang=C>🄴 enum COOK_FLAGS;</code></summary>
~~~~~~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).
</details>
<a name="cook_config"></a>
<details><summary><code lang=C>🄵 API void cook_config(const char* path_to_cook_ini);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cook_start"></a>
<details><summary><code lang=C>🄵 API bool cook_start(const char* path_to_cook_ini,const char* masks,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cook_stop"></a>
<details><summary><code lang=C>🄵 API void cook_stop();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cook_cancel"></a>
<details><summary><code lang=C>🄵 API void cook_cancel();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cook_jobs"></a>
<details><summary><code lang=C>🄵 API int cook_jobs();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cook_progress"></a>
<details><summary><code lang=C>🄵 API int cook_progress();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## data
<a name="json_t"></a>
<details><summary><code lang=C>🅂 union json_t;</code></summary>
~~~~~~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).
</details>
<a name="json_push"></a>
<details><summary><code lang=C>🄵 API bool json_push(const char* json_content);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="json_key"></a>
<details><summary><code lang=C>🄵 API const char* json_key(const char* keypath);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="json_find"></a>
<details><summary><code lang=C>🄵 API json_t* json_find(const char* type_keypath);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="json_get"></a>
<details><summary><code lang=C>🄵 API json_t json_get(const char* type_keypath);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="json_count"></a>
<details><summary><code lang=C>🄵 API int json_count(const char* keypath);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="json_pop"></a>
<details><summary><code lang=C>🄵 API bool json_pop();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="xml_push"></a>
<details><summary><code lang=C>🄵 API int xml_push(const char* xml_content);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="xml_string"></a>
<details><summary><code lang=C>🄵 API const char* xml_string(char* key);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="xml_count"></a>
<details><summary><code lang=C>🄵 API unsigned xml_count(char* key);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="xml_blob"></a>
<details><summary><code lang=C>🄵 API array(char) xml_blob(char* key);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="xml_pop"></a>
<details><summary><code lang=C>🄵 API void xml_pop();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="data_tests"></a>
<details><summary><code lang=C>🄵 API bool data_tests();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="COMPRESS_FLAGS"></a>
<details><summary><code lang=C>🄴 enum COMPRESS_FLAGS;</code></summary>
~~~~~~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).
</details>
<a name="zbounds"></a>
<details><summary><code lang=C>🄵 API unsigned zbounds(unsigned inlen,unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="zencode"></a>
<details><summary><code lang=C>🄵 API unsigned zencode(void* out,unsigned outlen,const void* in,unsigned inlen,unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="zexcess"></a>
<details><summary><code lang=C>🄵 API unsigned zexcess(unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="zdecode"></a>
<details><summary><code lang=C>🄵 API unsigned zdecode(void* out,unsigned outlen,const void* in,unsigned inlen,unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## dll
<a name="dll"></a>
<details><summary><code lang=C>🄵 API void* dll(const char* filename,const char* symbol);</code></summary>
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: <a href="https://google.com/search?q=dlopen" target="_blank">dlopen</a>, <a href="https://google.com/search?q=dlclose" target="_blank">dlclose</a>
</details>
## editor
<a name="editor_pick"></a>
<details><summary><code lang=C>🄵 API vec3 editor_pick(float mouse_x,float mouse_y);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="editor_path"></a>
<details><summary><code lang=C>🄵 API char* editor_path(const char* path);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="dialog_load"></a>
<details><summary><code lang=C>🄵 API char* dialog_load();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="dialog_save"></a>
<details><summary><code lang=C>🄵 API char* dialog_save();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="gizmo"></a>
<details><summary><code lang=C>🄵 API int gizmo(vec3* pos,vec3* rot,vec3* sca);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="gizmo_active"></a>
<details><summary><code lang=C>🄵 API bool gizmo_active();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="gizmo_hover"></a>
<details><summary><code lang=C>🄵 API bool gizmo_hover();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="kit_locale"></a>
<details><summary><code lang=C>🄵 API void kit_locale(const char* langcode_iso639_1);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="kit_set"></a>
<details><summary><code lang=C>🄵 API void kit_set(const char* variable,const char* value);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="kit_reset"></a>
<details><summary><code lang=C>🄵 API void kit_reset();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="kit_insert"></a>
<details><summary><code lang=C>🄵 API void kit_insert(const char* id,const char* translation);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="kit_load"></a>
<details><summary><code lang=C>🄵 API bool kit_load(const char* filename);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="kit_merge"></a>
<details><summary><code lang=C>🄵 API bool kit_merge(const char* filename);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="kit_clear"></a>
<details><summary><code lang=C>🄵 API void kit_clear();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="kit_translate"></a>
<details><summary><code lang=C>🄵 API char* kit_translate(const char* id);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="kit_translate2"></a>
<details><summary><code lang=C>🄵 API char* kit_translate2(const char* id,const char* langcode_iso639_1);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="kit_dump_state"></a>
<details><summary><code lang=C>🄵 API void kit_dump_state(FILE* fp);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## file
<a name="file_list"></a>
<details><summary><code lang=C>🄵 API const char** file_list(const char* path,const char* masks);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_write"></a>
<details><summary><code lang=C>🄵 API bool file_write(const char* file,const void* ptr,int len);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_append"></a>
<details><summary><code lang=C>🄵 API bool file_append(const char* file,const void* ptr,int len);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_read"></a>
<details><summary><code lang=C>🄵 API char* file_read(const char* filename);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_load"></a>
<details><summary><code lang=C>🄵 API char* file_load(const char* filename,int* len);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_size"></a>
<details><summary><code lang=C>🄵 API uint64_t file_size(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_directory"></a>
<details><summary><code lang=C>🄵 API bool file_directory(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_pathabs"></a>
<details><summary><code lang=C>🄵 API char* file_pathabs(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_path"></a>
<details><summary><code lang=C>🄵 API char* file_path(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_name"></a>
<details><summary><code lang=C>🄵 API char* file_name(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_base"></a>
<details><summary><code lang=C>🄵 API char* file_base(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_ext"></a>
<details><summary><code lang=C>🄵 API char* file_ext(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_id"></a>
<details><summary><code lang=C>🄵 API char* file_id(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_normalize"></a>
<details><summary><code lang=C>🄵 API char* file_normalize(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_counter"></a>
<details><summary><code lang=C>🄵 API char* file_counter(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_stamp"></a>
<details><summary><code lang=C>🄵 API uint64_t file_stamp(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_stamp_epoch"></a>
<details><summary><code lang=C>🄵 API uint64_t file_stamp_epoch(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_exist"></a>
<details><summary><code lang=C>🄵 API bool file_exist(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_delete"></a>
<details><summary><code lang=C>🄵 API bool file_delete(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_copy"></a>
<details><summary><code lang=C>🄵 API bool file_copy(const char* src,const char* dst);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_move"></a>
<details><summary><code lang=C>🄵 API bool file_move(const char* src,const char* dst);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_temp"></a>
<details><summary><code lang=C>🄵 API FILE* file_temp();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_tempname"></a>
<details><summary><code lang=C>🄵 API char* file_tempname();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_md5"></a>
<details><summary><code lang=C>🄵 API void* file_md5(const char* file);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_sha1"></a>
<details><summary><code lang=C>🄵 API void* file_sha1(const char* file);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_crc32"></a>
<details><summary><code lang=C>🄵 API void* file_crc32(const char* file);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_zip_list"></a>
<details><summary><code lang=C>🄵 API array(char*) file_zip_list(const char* zipfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_zip_extract"></a>
<details><summary><code lang=C>🄵 API array(char) file_zip_extract(const char* zipfile,const char* filename);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_zip_append"></a>
<details><summary><code lang=C>🄵 API bool file_zip_append(const char* zipfile,const char* filename,int clevel);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="file_zip_appendmem"></a>
<details><summary><code lang=C>🄵 API bool file_zip_appendmem(const char* zipfile,const char* entryname,const void* ptr,unsigned len,int clevel);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="storage_mount"></a>
<details><summary><code lang=C>🄵 API void storage_mount(const char* folder);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="storage_read"></a>
<details><summary><code lang=C>🄵 API void storage_read();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="storage_flush"></a>
<details><summary><code lang=C>🄵 API void storage_flush();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="vfs_mount"></a>
<details><summary><code lang=C>🄵 API bool vfs_mount(const char* mount_point);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="vfs_list"></a>
<details><summary><code lang=C>🄵 API const char** vfs_list(const char* masks);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="vfs_read"></a>
<details><summary><code lang=C>🄵 API char* vfs_read(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="vfs_load"></a>
<details><summary><code lang=C>🄵 API char* vfs_load(const char* pathfile,int* size);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="vfs_size"></a>
<details><summary><code lang=C>🄵 API int vfs_size(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="vfs_resolve"></a>
<details><summary><code lang=C>🄵 API const char* vfs_resolve(const char* fuzzyname);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="vfs_handle"></a>
<details><summary><code lang=C>🄵 API FILE* vfs_handle(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cache_insert"></a>
<details><summary><code lang=C>🄵 API void* cache_insert(const char* key,void* value,int size);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cache_lookup"></a>
<details><summary><code lang=C>🄵 API void* cache_lookup(const char* key,int* size);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ini_t"></a>
<details><summary><code lang=C>🅃 typedef ini_t;</code></summary>
~~~~~~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).
</details>
<a name="ini"></a>
<details><summary><code lang=C>🄵 API ini_t ini(const char* filename);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ini_from_mem"></a>
<details><summary><code lang=C>🄵 API ini_t ini_from_mem(const char* data);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ini_destroy"></a>
<details><summary><code lang=C>🄵 API void ini_destroy(ini_t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ini_write"></a>
<details><summary><code lang=C>🄵 API bool ini_write(const char* filename,const char* section,const char* key,const char* value);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## font
<a name="FONT_FLAGS"></a>
<details><summary><code lang=C>🄴 enum FONT_FLAGS;</code></summary>
~~~~~~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).
</details>
<a name="font_face"></a>
<details><summary><code lang=C>🄵 API void font_face(const char* face_tag,const char* filename_ttf,float font_size,unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="font_face_from_mem"></a>
<details><summary><code lang=C>🄵 API void font_face_from_mem(const char* tag,const void* ttf_buffer,unsigned ttf_len,float font_size,unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="font_scales"></a>
<details><summary><code lang=C>🄵 API void font_scales(const char* face_tag,float h1,float h2,float h3,float h4,float h5,float h6);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="font_color"></a>
<details><summary><code lang=C>🄵 API void font_color(const char* color_tag,uint32_t color);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="font_xy"></a>
<details><summary><code lang=C>🄵 API vec2 font_xy();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="font_goto"></a>
<details><summary><code lang=C>🄵 API void font_goto(float x,float y);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="font_print"></a>
<details><summary><code lang=C>🄵 API vec2 font_print(const char* text);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="font_rect"></a>
<details><summary><code lang=C>🄵 API vec2 font_rect(const char* text);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="font_colorize"></a>
<details><summary><code lang=C>🄵 API void* font_colorize(const char* text,const char* comma_types,const char* comma_keywords);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="font_highlight"></a>
<details><summary><code lang=C>🄵 API vec2 font_highlight(const char* text,const void* colors);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## input
<a name="input_use"></a>
<details><summary><code lang=C>🄵 API int input_use(int controller_id);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input"></a>
<details><summary><code lang=C>🄵 API float input(int vk);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input2"></a>
<details><summary><code lang=C>🄵 API vec2 input2(int vk);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_diff"></a>
<details><summary><code lang=C>🄵 API float input_diff(int vk);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_diff2"></a>
<details><summary><code lang=C>🄵 API vec2 input_diff2(int vk);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_frame"></a>
<details><summary><code lang=C>🄵 API float input_frame(int vk,int frame);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_frame2"></a>
<details><summary><code lang=C>🄵 API vec2 input_frame2(int vk,int frame);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_frames"></a>
<details><summary><code lang=C>🄵 API const char* input_frames(int vk,int frame);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_up"></a>
<details><summary><code lang=C>🄵 API int input_up(int vk);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_down"></a>
<details><summary><code lang=C>🄵 API int input_down(int vk);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_held"></a>
<details><summary><code lang=C>🄵 API int input_held(int vk);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_idle"></a>
<details><summary><code lang=C>🄵 API int input_idle(int vk);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_click"></a>
<details><summary><code lang=C>🄵 API int input_click(int vk,int ms);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_click2"></a>
<details><summary><code lang=C>🄵 API int input_click2(int vk,int ms);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_repeat"></a>
<details><summary><code lang=C>🄵 API int input_repeat(int vk,int ms);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_chord2"></a>
<details><summary><code lang=C>🄵 API int input_chord2(int vk1,int vk2);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_chord3"></a>
<details><summary><code lang=C>🄵 API int input_chord3(int vk1,int vk2,int vk3);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_chord4"></a>
<details><summary><code lang=C>🄵 API int input_chord4(int vk1,int vk2,int vk3,int vk4);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_filter_positive"></a>
<details><summary><code lang=C>🄵 API float input_filter_positive(float v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_filter_positive2"></a>
<details><summary><code lang=C>🄵 API vec2 input_filter_positive2(vec2 v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_filter_deadzone"></a>
<details><summary><code lang=C>🄵 API vec2 input_filter_deadzone(vec2 v,float deadzone_treshold);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_filter_deadzone_4way"></a>
<details><summary><code lang=C>🄵 API vec2 input_filter_deadzone_4way(vec2 v,float deadzone_treshold);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="TOUCH_BUTTONS"></a>
<details><summary><code lang=C>🄴 enum TOUCH_BUTTONS;</code></summary>
~~~~~~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).
</details>
<a name="input_touch_area"></a>
<details><summary><code lang=C>🄵 API void input_touch_area(unsigned button,vec2 begin_coord_ndc,vec2 end_coord_ndc);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_touch"></a>
<details><summary><code lang=C>🄵 API vec2 input_touch(unsigned button,float sensitivity);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_touch_delta"></a>
<details><summary><code lang=C>🄵 API vec2 input_touch_delta(unsigned button,float sensitivity);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_touch_delta_from_origin"></a>
<details><summary><code lang=C>🄵 API vec2 input_touch_delta_from_origin(unsigned button,float sensitivity);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_touch_active"></a>
<details><summary><code lang=C>🄵 API bool input_touch_active();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_demo"></a>
<details><summary><code lang=C>🄵 API void input_demo();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_mappings"></a>
<details><summary><code lang=C>🄵 API void input_mappings(const char* filename);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_send"></a>
<details><summary><code lang=C>🄵 API void input_send(int vk);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_save_state"></a>
<details><summary><code lang=C>🄵 API void* input_save_state(int id,int* size);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_load_state"></a>
<details><summary><code lang=C>🄵 API bool input_load_state(int id,void* ptr,int size);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_keychar"></a>
<details><summary><code lang=C>🄵 API char input_keychar(unsigned code);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="input_anykey"></a>
<details><summary><code lang=C>🄵 API int input_anykey();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="INPUT_ENUMS"></a>
<details><summary><code lang=C>🄴 enum INPUT_ENUMS;</code></summary>
~~~~~~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).
</details>
## memory
<a name="xrealloc"></a>
<details><summary><code lang=C>🄵 API void* xrealloc(void* p,size_t sz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="xsize"></a>
<details><summary><code lang=C>🄵 API size_t xsize(void* p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="xstats"></a>
<details><summary><code lang=C>🄵 API char* xstats(void);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="stack"></a>
<details><summary><code lang=C>🄵 API void* stack(int bytes);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="watch"></a>
<details><summary><code lang=C>🄵 API void* watch(void* ptr,int sz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="forget"></a>
<details><summary><code lang=C>🄵 API void* forget(void* ptr);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## network
<a name="download"></a>
<details><summary><code lang=C>🄵 API array(char) download(const char* url);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="download_file"></a>
<details><summary><code lang=C>🄵 API int download_file(FILE* out,const char* url);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="portname"></a>
<details><summary><code lang=C>🄵 API int portname(const char* service_name,unsigned retries);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="network_tests"></a>
<details><summary><code lang=C>🄵 API bool network_tests();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="udp_bind"></a>
<details><summary><code lang=C>🄵 API int udp_bind(const char* address,const char* port);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="udp_open"></a>
<details><summary><code lang=C>🄵 API int udp_open(const char* address,const char* port);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="udp_send"></a>
<details><summary><code lang=C>🄵 API int udp_send(int,const void* buf,int len);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="udp_sendto"></a>
<details><summary><code lang=C>🄵 API int udp_sendto(int,const char* ip,const char* port,const void* buf,int len);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="udp_recv"></a>
<details><summary><code lang=C>🄵 API int udp_recv(int,void* buf,int len);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="udp_peek"></a>
<details><summary><code lang=C>🄵 API int udp_peek(int);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tcp_open"></a>
<details><summary><code lang=C>🄵 API int tcp_open(const char* address,const char* port);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tcp_bind"></a>
<details><summary><code lang=C>🄵 API int tcp_bind(const char* interface_,const char* port,int queue);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tcp_peek"></a>
<details><summary><code lang=C>🄵 API int tcp_peek(int,int (*callback)(int));</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tcp_send"></a>
<details><summary><code lang=C>🄵 API int tcp_send(int,const void* buf,int len);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tcp_recv"></a>
<details><summary><code lang=C>🄵 API int tcp_recv(int,void* buf,int len);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tcp_host"></a>
<details><summary><code lang=C>🄵 API char* tcp_host(int);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tcp_port"></a>
<details><summary><code lang=C>🄵 API char* tcp_port(int);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tcp_close"></a>
<details><summary><code lang=C>🄵 API int tcp_close(int);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tcp_debug"></a>
<details><summary><code lang=C>🄵 API int tcp_debug(int);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## obj
<a name="obj_malloc"></a>
<details><summary><code lang=C>🄵 API void* obj_malloc(int sz,...);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_calloc"></a>
<details><summary><code lang=C>🄵 API void* obj_calloc(int sz,...);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_free"></a>
<details><summary><code lang=C>🄵 API void obj_free(void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_typeeq"></a>
<details><summary><code lang=C>🄵 API bool obj_typeeq(const void* obj1,const void* obj2);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_typeof"></a>
<details><summary><code lang=C>🄵 API const char* obj_typeof(const void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_typeid"></a>
<details><summary><code lang=C>🄵 API unsigned obj_typeid(const void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_typeid_from_name"></a>
<details><summary><code lang=C>🄵 API unsigned obj_typeid_from_name(const char* name);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_new"></a>
<details><summary><code lang=C>🄵 API void obj_new(const char* type,...);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_del"></a>
<details><summary><code lang=C>🄵 API void obj_del(void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_ref"></a>
<details><summary><code lang=C>🄵 API void* obj_ref(void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_unref"></a>
<details><summary><code lang=C>🄵 API void* obj_unref(void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_extend"></a>
<details><summary><code lang=C>🄵 API void obj_extend(const char* dstclass,const char* srcclass);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_override"></a>
<details><summary><code lang=C>🄵 API void obj_override(const char* objclass,void (** vtable)(),void (*fn)());</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_load"></a>
<details><summary><code lang=C>🄵 API unsigned obj_load(void* obj,const array(char) buffer);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_load_file"></a>
<details><summary><code lang=C>🄵 API unsigned obj_load_file(void* obj,FILE* fp);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_load_inplace"></a>
<details><summary><code lang=C>🄵 API unsigned obj_load_inplace(void* obj,const void* src,unsigned srclen);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_save"></a>
<details><summary><code lang=C>🄵 API array(char) obj_save(const void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_save_file"></a>
<details><summary><code lang=C>🄵 API unsigned obj_save_file(FILE* fp,const void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_save_inplace"></a>
<details><summary><code lang=C>🄵 API unsigned obj_save_inplace(void* dst,unsigned cap,const void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_instances"></a>
<details><summary><code lang=C>🄵 API unsigned obj_instances(const void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_zero"></a>
<details><summary><code lang=C>🄵 API void obj_zero(void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_sizeof"></a>
<details><summary><code lang=C>🄵 API unsigned obj_sizeof(const void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_hexdump"></a>
<details><summary><code lang=C>🄵 API void obj_hexdump(const void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_hexdumpf"></a>
<details><summary><code lang=C>🄵 API void obj_hexdumpf(FILE* out,const void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_printf"></a>
<details><summary><code lang=C>🄵 API void obj_printf(void* obj,const char* text);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_output"></a>
<details><summary><code lang=C>🄵 API const char* obj_output(const void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_clone"></a>
<details><summary><code lang=C>🄵 API void* obj_clone(const void* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_copy"></a>
<details><summary><code lang=C>🄵 API void* obj_copy(void** dst,const void* src);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_mutate"></a>
<details><summary><code lang=C>🄵 API void* obj_mutate(void** dst,const void* src);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="obj_initialize"></a>
<details><summary><code lang=C>🄵 API void* obj_initialize(void** ptr,char* type_and_info);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## profile
<a name="profile"></a>
<details><summary><code lang=C>🄼 macro profile(section) </code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="profile_incstat"></a>
<details><summary><code lang=C>🄼 macro profile_incstat(name,accum) </code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="profile_setstat"></a>
<details><summary><code lang=C>🄼 macro profile_setstat(name,value) </code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="profile_enable"></a>
<details><summary><code lang=C>🄵 API int profile_enable(bool on);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## render
<a name="handle"></a>
<details><summary><code lang=C>🅃 typedef unsigned handle;</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rgba"></a>
<details><summary><code lang=C>🄵 API unsigned rgba(uint8_t r,uint8_t g,uint8_t b,uint8_t a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="bgra"></a>
<details><summary><code lang=C>🄵 API unsigned bgra(uint8_t b,uint8_t g,uint8_t r,uint8_t a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="rgbaf"></a>
<details><summary><code lang=C>🄵 API unsigned rgbaf(float r,float g,float b,float a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="bgraf"></a>
<details><summary><code lang=C>🄵 API unsigned bgraf(float b,float g,float r,float a);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="alpha"></a>
<details><summary><code lang=C>🄵 API float alpha(unsigned rgba);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="IMAGE_FLAGS"></a>
<details><summary><code lang=C>🄴 enum IMAGE_FLAGS;</code></summary>
~~~~~~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)
</details>
<a name="image_t"></a>
<details><summary><code lang=C>🅂 struct image_t;</code></summary>
~~~~~~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)
</details>
<a name="image"></a>
<details><summary><code lang=C>🄵 API image_t image(const char* pathfile,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="image_from_mem"></a>
<details><summary><code lang=C>🄵 API image_t image_from_mem(const void* ptr,int len,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="image_destroy"></a>
<details><summary><code lang=C>🄵 API void image_destroy(image_t* img);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="TEXTURE_FLAGS"></a>
<details><summary><code lang=C>🄴 enum TEXTURE_FLAGS;</code></summary>
~~~~~~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).
</details>
<a name="texture_t"></a>
<details><summary><code lang=C>🅂 struct texture_t;</code></summary>
~~~~~~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).
</details>
<a name="texture_compressed"></a>
<details><summary><code lang=C>🄵 API texture_t texture_compressed(const char* filename,unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="texture_compressed_from_mem"></a>
<details><summary><code lang=C>🄵 API texture_t texture_compressed_from_mem(const void* data,int len,unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="texture"></a>
<details><summary><code lang=C>🄵 API texture_t texture(const char* filename,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="texture_from_mem"></a>
<details><summary><code lang=C>🄵 API texture_t texture_from_mem(const void* ptr,int len,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="texture_create"></a>
<details><summary><code lang=C>🄵 API texture_t texture_create(unsigned w,unsigned h,unsigned n,const void* pixels,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="texture_checker"></a>
<details><summary><code lang=C>🄵 API texture_t texture_checker();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="texture_destroy"></a>
<details><summary><code lang=C>🄵 API void texture_destroy(texture_t* t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="texture_update"></a>
<details><summary><code lang=C>🄵 API unsigned texture_update(texture_t* t,unsigned w,unsigned h,unsigned n,const void* pixels,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="texture_rec_begin"></a>
<details><summary><code lang=C>🄵 API bool texture_rec_begin(texture_t* t,unsigned w,unsigned h);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="texture_rec_end"></a>
<details><summary><code lang=C>🄵 API void texture_rec_end(texture_t* t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="brdf_lut"></a>
<details><summary><code lang=C>🄵 API texture_t brdf_lut();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="colormap_t"></a>
<details><summary><code lang=C>🅂 struct colormap_t;</code></summary>
~~~~~~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).
</details>
<a name="colormap"></a>
<details><summary><code lang=C>🄵 API bool colormap(colormap_t* cm,const char* pbr_material_type,bool load_as_srgb);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="pbr_material_t"></a>
<details><summary><code lang=C>🅂 struct pbr_material_t;</code></summary>
~~~~~~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).
</details>
<a name="pbr_material"></a>
<details><summary><code lang=C>🄵 API bool pbr_material(pbr_material_t* pbr,const char* material);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="pbr_material_destroy"></a>
<details><summary><code lang=C>🄵 API void pbr_material_destroy(pbr_material_t* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fullscreen_quad_rgb"></a>
<details><summary><code lang=C>🄵 API void fullscreen_quad_rgb(texture_t texture_rgb,float gamma);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fullscreen_quad_ycbcr"></a>
<details><summary><code lang=C>🄵 API void fullscreen_quad_ycbcr(texture_t texture_YCbCr[3],float gamma);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sprite"></a>
<details><summary><code lang=C>🄵 API void sprite(texture_t texture,float position[3],float rotation,uint32_t color);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sprite_rect"></a>
<details><summary><code lang=C>🄵 API void sprite_rect(texture_t t,vec4 rect,float zindex,vec3 pos,float tilt_deg,unsigned tint_rgba);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sprite_sheet"></a>
<details><summary><code lang=C>🄵 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);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sprite_flush"></a>
<details><summary><code lang=C>🄵 API void sprite_flush();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tileset_t"></a>
<details><summary><code lang=C>🅂 struct tileset_t;</code></summary>
~~~~~~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).
</details>
<a name="tileset"></a>
<details><summary><code lang=C>🄵 API tileset_t tileset(texture_t tex,unsigned tile_w,unsigned tile_h,unsigned cols,unsigned rows);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tileset_ui"></a>
<details><summary><code lang=C>🄵 API int tileset_ui(tileset_t t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tilemap_t"></a>
<details><summary><code lang=C>🅂 struct tilemap_t;</code></summary>
~~~~~~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).
</details>
<a name="tilemap"></a>
<details><summary><code lang=C>🄵 API tilemap_t tilemap(const char* map,int blank_chr,int linefeed_chr);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tilemap_render"></a>
<details><summary><code lang=C>🄵 API void tilemap_render(tilemap_t m,tileset_t style);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tilemap_render_ext"></a>
<details><summary><code lang=C>🄵 API void tilemap_render_ext(tilemap_t m,tileset_t style,float zindex,float xy_zoom[3],float tilt,unsigned tint,bool is_additive);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tiled_t"></a>
<details><summary><code lang=C>🅂 struct tiled_t;</code></summary>
~~~~~~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).
</details>
<a name="tiled"></a>
<details><summary><code lang=C>🄵 API tiled_t tiled(const char* file_tmx);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tiled_render"></a>
<details><summary><code lang=C>🄵 API void tiled_render(tiled_t tmx,vec3 pos);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tiled_ui"></a>
<details><summary><code lang=C>🄵 API void tiled_ui(tiled_t* t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="spine_t"></a>
<details><summary><code lang=C>🅂 struct spine_t spine_t;</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="spine"></a>
<details><summary><code lang=C>🄵 API spine_t* spine(const char* file_json,const char* file_atlas,unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="spine_skin"></a>
<details><summary><code lang=C>🄵 API void spine_skin(spine_t* p,unsigned skin);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="spine_render"></a>
<details><summary><code lang=C>🄵 API void spine_render(spine_t* p,vec3 offset,unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="spine_animate"></a>
<details><summary><code lang=C>🄵 API void spine_animate(spine_t* p,float delta);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="spine_ui"></a>
<details><summary><code lang=C>🄵 API void spine_ui(spine_t* p);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cubemap_t"></a>
<details><summary><code lang=C>🅂 struct cubemap_t;</code></summary>
~~~~~~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).
</details>
<a name="cubemap"></a>
<details><summary><code lang=C>🄵 API cubemap_t cubemap(const image_t image,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cubemap6"></a>
<details><summary><code lang=C>🄵 API cubemap_t cubemap6(const image_t images[6],int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cubemap_destroy"></a>
<details><summary><code lang=C>🄵 API void cubemap_destroy(cubemap_t* c);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="cubemap_get_active"></a>
<details><summary><code lang=C>🄵 API cubemap_t* cubemap_get_active();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fbo"></a>
<details><summary><code lang=C>🄵 API unsigned fbo(unsigned texture_color,unsigned texture_depth,int wr_flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fbo_bind"></a>
<details><summary><code lang=C>🄵 API void fbo_bind(unsigned id);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fbo_unbind"></a>
<details><summary><code lang=C>🄵 API void fbo_unbind();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fbo_destroy"></a>
<details><summary><code lang=C>🄵 API void fbo_destroy(unsigned id);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shadowmap_t"></a>
<details><summary><code lang=C>🅂 struct shadowmap_t;</code></summary>
~~~~~~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).
</details>
<a name="shadowmap"></a>
<details><summary><code lang=C>🄵 API shadowmap_t shadowmap(int texture_width);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shadowmap_destroy"></a>
<details><summary><code lang=C>🄵 API void shadowmap_destroy(shadowmap_t* s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shadowmap_set_shadowmatrix"></a>
<details><summary><code lang=C>🄵 API void shadowmap_set_shadowmatrix(shadowmap_t* s,vec3 aLightPos,vec3 aLightAt,vec3 aLightUp,const mat44 projection);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shadowmap_begin"></a>
<details><summary><code lang=C>🄵 API void shadowmap_begin(shadowmap_t* s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shadowmap_end"></a>
<details><summary><code lang=C>🄵 API void shadowmap_end(shadowmap_t* s);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shadowmatrix_proj"></a>
<details><summary><code lang=C>🄵 API void shadowmatrix_proj(mat44 shm_proj,float aLightFov,float znear,float zfar);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shadowmatrix_ortho"></a>
<details><summary><code lang=C>🄵 API void shadowmatrix_ortho(mat44 shm_proj,float left,float right,float bottom,float top,float znear,float zfar);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader"></a>
<details><summary><code lang=C>🄵 API unsigned shader(const char* vs,const char* fs,const char* attribs,const char* fragcolor);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader_bind"></a>
<details><summary><code lang=C>🄵 API unsigned shader_bind(unsigned program);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader_bool"></a>
<details><summary><code lang=C>🄵 API void shader_bool(const char* uniform,bool i);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader_int"></a>
<details><summary><code lang=C>🄵 API void shader_int(const char* uniform,int i);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader_uint"></a>
<details><summary><code lang=C>🄵 API void shader_uint(const char* uniform,unsigned i);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader_float"></a>
<details><summary><code lang=C>🄵 API void shader_float(const char* uniform,float f);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader_vec2"></a>
<details><summary><code lang=C>🄵 API void shader_vec2(const char* uniform,vec2 v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader_vec3"></a>
<details><summary><code lang=C>🄵 API void shader_vec3(const char* uniform,vec3 v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader_vec4"></a>
<details><summary><code lang=C>🄵 API void shader_vec4(const char* uniform,vec4 v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader_mat44"></a>
<details><summary><code lang=C>🄵 API void shader_mat44(const char* uniform,mat44 m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader_texture"></a>
<details><summary><code lang=C>🄵 API void shader_texture(const char* sampler,texture_t texture);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader_texture_unit"></a>
<details><summary><code lang=C>🄵 API void shader_texture_unit(const char* sampler,unsigned texture,unsigned unit);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader_colormap"></a>
<details><summary><code lang=C>🄵 API void shader_colormap(const char* name,colormap_t cm);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader_get_active"></a>
<details><summary><code lang=C>🄵 API unsigned shader_get_active();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shader_destroy"></a>
<details><summary><code lang=C>🄵 API void shader_destroy(unsigned shader);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="MESH_FLAGS"></a>
<details><summary><code lang=C>🄴 enum MESH_FLAGS;</code></summary>
~~~~~~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).
</details>
<a name="mesh_t"></a>
<details><summary><code lang=C>🅂 struct mesh_t;</code></summary>
~~~~~~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).
</details>
<a name="mesh"></a>
<details><summary><code lang=C>🄵 API mesh_t mesh();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mesh_update"></a>
<details><summary><code lang=C>🄵 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);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mesh_render"></a>
<details><summary><code lang=C>🄵 API void mesh_render(mesh_t* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mesh_destroy"></a>
<details><summary><code lang=C>🄵 API void mesh_destroy(mesh_t* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="mesh_bounds"></a>
<details><summary><code lang=C>🄵 API aabb mesh_bounds(mesh_t* m);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="MATERIAL_ENUMS"></a>
<details><summary><code lang=C>🄴 enum MATERIAL_ENUMS;</code></summary>
~~~~~~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).
</details>
<a name="material_t"></a>
<details><summary><code lang=C>🅂 struct material_t;</code></summary>
~~~~~~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).
</details>
<a name="shadertoy_t"></a>
<details><summary><code lang=C>🅂 struct shadertoy_t;</code></summary>
~~~~~~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).
</details>
<a name="shadertoy"></a>
<details><summary><code lang=C>🄵 API shadertoy_t shadertoy(const char* shaderfile,unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="shadertoy_render"></a>
<details><summary><code lang=C>🄵 API shadertoy_t* shadertoy_render(shadertoy_t* s,float delta);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ANIM_FLAGS"></a>
<details><summary><code lang=C>🄴 enum ANIM_FLAGS;</code></summary>
~~~~~~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).
</details>
<a name="anim_t"></a>
<details><summary><code lang=C>🅂 struct anim_t;</code></summary>
~~~~~~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).
</details>
<a name="clip"></a>
<details><summary><code lang=C>🄵 API anim_t clip(float minframe,float maxframe,float blendtime,unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="loop"></a>
<details><summary><code lang=C>🄵 API anim_t loop(float minframe,float maxframe,float blendtime,unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="MODEL_FLAGS"></a>
<details><summary><code lang=C>🄴 enum MODEL_FLAGS;</code></summary>
~~~~~~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).
</details>
<a name="model_t"></a>
<details><summary><code lang=C>🅂 struct model_t;</code></summary>
~~~~~~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).
</details>
<a name="model"></a>
<details><summary><code lang=C>🄵 API model_t model(const char* filename,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="model_from_mem"></a>
<details><summary><code lang=C>🄵 API model_t model_from_mem(const void* mem,int sz,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="model_animate"></a>
<details><summary><code lang=C>🄵 API float model_animate(model_t,float curframe);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="model_animate_clip"></a>
<details><summary><code lang=C>🄵 API float model_animate_clip(model_t,float curframe,int minframe,int maxframe,bool loop);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="model_animate_blends"></a>
<details><summary><code lang=C>🄵 API float model_animate_blends(model_t m,anim_t* primary,anim_t* secondary,float delta);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="model_aabb"></a>
<details><summary><code lang=C>🄵 API aabb model_aabb(model_t,mat44 transform);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="model_render"></a>
<details><summary><code lang=C>🄵 API void model_render(model_t,mat44 proj,mat44 view,mat44 model,int shader);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="model_render_skeleton"></a>
<details><summary><code lang=C>🄵 API void model_render_skeleton(model_t,mat44 model);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="model_render_instanced"></a>
<details><summary><code lang=C>🄵 API void model_render_instanced(model_t,mat44 proj,mat44 view,mat44* models,int shader,unsigned count);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="model_set_texture"></a>
<details><summary><code lang=C>🄵 API void model_set_texture(model_t,texture_t t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="model_get_bone_pose"></a>
<details><summary><code lang=C>🄵 API bool model_get_bone_pose(model_t m,unsigned joint,mat34* out);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="model_destroy"></a>
<details><summary><code lang=C>🄵 API void model_destroy(model_t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="pose"></a>
<details><summary><code lang=C>🄵 API vec3 pose(bool forward,float curframe,int minframe,int maxframe,bool loop,float* opt_retframe);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="skybox_t"></a>
<details><summary><code lang=C>🅂 struct skybox_t;</code></summary>
~~~~~~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).
</details>
<a name="skybox"></a>
<details><summary><code lang=C>🄵 API skybox_t skybox(const char* panorama_or_cubemap_folder,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="skybox_render"></a>
<details><summary><code lang=C>🄵 API int skybox_render(skybox_t* sky,mat44 proj,mat44 view);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="skybox_destroy"></a>
<details><summary><code lang=C>🄵 API void skybox_destroy(skybox_t* sky);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="skybox_push_state"></a>
<details><summary><code lang=C>🄵 API int skybox_push_state(skybox_t* sky,mat44 proj,mat44 view);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="skybox_pop_state"></a>
<details><summary><code lang=C>🄵 API int skybox_pop_state();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="viewport_color"></a>
<details><summary><code lang=C>🄵 API void viewport_color(uint32_t color);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="viewport_color3"></a>
<details><summary><code lang=C>🄵 API void viewport_color3(vec3 color);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="viewport_clear"></a>
<details><summary><code lang=C>🄵 API void viewport_clear(bool color,bool depth);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="viewport_clip"></a>
<details><summary><code lang=C>🄵 API void viewport_clip(vec2 from,vec2 to);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fx_load"></a>
<details><summary><code lang=C>🄵 API int fx_load(const char* file);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fx_load_from_mem"></a>
<details><summary><code lang=C>🄵 API int fx_load_from_mem(const char* nameid,const char* content);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fx_begin"></a>
<details><summary><code lang=C>🄵 API void fx_begin();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fx_end"></a>
<details><summary><code lang=C>🄵 API void fx_end();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fx_enable"></a>
<details><summary><code lang=C>🄵 API void fx_enable(int pass,int enabled);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fx_enabled"></a>
<details><summary><code lang=C>🄵 API int fx_enabled(int pass);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fx_enable_all"></a>
<details><summary><code lang=C>🄵 API void fx_enable_all(int enabled);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fx_name"></a>
<details><summary><code lang=C>🄵 API char* fx_name(int pass);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="fx_find"></a>
<details><summary><code lang=C>🄵 API int fx_find(const char* name);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="screenshot"></a>
<details><summary><code lang=C>🄵 API void* screenshot(int components);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="screenshot_async"></a>
<details><summary><code lang=C>🄵 API void* screenshot_async(int components);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## renderdd
<a name="ddraw_color"></a>
<details><summary><code lang=C>🄵 API void ddraw_color(unsigned rgb);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_color_push"></a>
<details><summary><code lang=C>🄵 API void ddraw_color_push(unsigned rgb);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_color_pop"></a>
<details><summary><code lang=C>🄵 API void ddraw_color_pop();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_ontop"></a>
<details><summary><code lang=C>🄵 API void ddraw_ontop(int enabled);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_ontop_push"></a>
<details><summary><code lang=C>🄵 API void ddraw_ontop_push(int enabled);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_ontop_pop"></a>
<details><summary><code lang=C>🄵 API void ddraw_ontop_pop();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_push_2d"></a>
<details><summary><code lang=C>🄵 API void ddraw_push_2d();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_pop_2d"></a>
<details><summary><code lang=C>🄵 API void ddraw_pop_2d();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_aabb"></a>
<details><summary><code lang=C>🄵 API void ddraw_aabb(vec3 minbb,vec3 maxbb);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_aabb_corners"></a>
<details><summary><code lang=C>🄵 API void ddraw_aabb_corners(vec3 minbb,vec3 maxbb);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_arrow"></a>
<details><summary><code lang=C>🄵 API void ddraw_arrow(vec3 begin,vec3 end);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_axis"></a>
<details><summary><code lang=C>🄵 API void ddraw_axis(float units);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_boid"></a>
<details><summary><code lang=C>🄵 API void ddraw_boid(vec3 pos,vec3 dir);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_bone"></a>
<details><summary><code lang=C>🄵 API void ddraw_bone(vec3 center,vec3 end);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_bounds"></a>
<details><summary><code lang=C>🄵 API void ddraw_bounds(const vec3 points[8]);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_box"></a>
<details><summary><code lang=C>🄵 API void ddraw_box(vec3 center,vec3 extents);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_capsule"></a>
<details><summary><code lang=C>🄵 API void ddraw_capsule(vec3 from,vec3 to,float radius);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_circle"></a>
<details><summary><code lang=C>🄵 API void ddraw_circle(vec3 pos,vec3 n,float radius);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_ring"></a>
<details><summary><code lang=C>🄵 API void ddraw_ring(vec3 pos,vec3 n,float radius);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_cone"></a>
<details><summary><code lang=C>🄵 API void ddraw_cone(vec3 center,vec3 top,float radius);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_cube"></a>
<details><summary><code lang=C>🄵 API void ddraw_cube(vec3 center,float radius);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_cube33"></a>
<details><summary><code lang=C>🄵 API void ddraw_cube33(vec3 center,vec3 radius,mat33 M);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_diamond"></a>
<details><summary><code lang=C>🄵 API void ddraw_diamond(vec3 from,vec3 to,float size);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_frustum"></a>
<details><summary><code lang=C>🄵 API void ddraw_frustum(float projview[16]);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_ground"></a>
<details><summary><code lang=C>🄵 API void ddraw_ground(float scale);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_grid"></a>
<details><summary><code lang=C>🄵 API void ddraw_grid(float scale);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_hexagon"></a>
<details><summary><code lang=C>🄵 API void ddraw_hexagon(vec3 pos,float radius);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_line"></a>
<details><summary><code lang=C>🄵 API void ddraw_line(vec3 from,vec3 to);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_line_dashed"></a>
<details><summary><code lang=C>🄵 API void ddraw_line_dashed(vec3 from,vec3 to);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_line_thin"></a>
<details><summary><code lang=C>🄵 API void ddraw_line_thin(vec3 from,vec3 to);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_normal"></a>
<details><summary><code lang=C>🄵 API void ddraw_normal(vec3 pos,vec3 n);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_pentagon"></a>
<details><summary><code lang=C>🄵 API void ddraw_pentagon(vec3 pos,float radius);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_plane"></a>
<details><summary><code lang=C>🄵 API void ddraw_plane(vec3 p,vec3 n,float scale);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_point"></a>
<details><summary><code lang=C>🄵 API void ddraw_point(vec3 from);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_position"></a>
<details><summary><code lang=C>🄵 API void ddraw_position(vec3 pos,float radius);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_position_dir"></a>
<details><summary><code lang=C>🄵 API void ddraw_position_dir(vec3 pos,vec3 dir,float radius);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_pyramid"></a>
<details><summary><code lang=C>🄵 API void ddraw_pyramid(vec3 center,float height,int segments);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_cylinder"></a>
<details><summary><code lang=C>🄵 API void ddraw_cylinder(vec3 center,float height,int segments);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_sphere"></a>
<details><summary><code lang=C>🄵 API void ddraw_sphere(vec3 pos,float radius);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_square"></a>
<details><summary><code lang=C>🄵 API void ddraw_square(vec3 pos,float radius);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_text"></a>
<details><summary><code lang=C>🄵 API void ddraw_text(vec3 pos,float scale,const char* text);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_text2d"></a>
<details><summary><code lang=C>🄵 API void ddraw_text2d(vec2 pos,const char* text);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_triangle"></a>
<details><summary><code lang=C>🄵 API void ddraw_triangle(vec3 p1,vec3 p2,vec3 p3);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_prism"></a>
<details><summary><code lang=C>🄵 API void ddraw_prism(vec3 center,float radius,float height,vec3 normal,int segments);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_demo"></a>
<details><summary><code lang=C>🄵 API void ddraw_demo();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_flush"></a>
<details><summary><code lang=C>🄵 API void ddraw_flush();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ddraw_flush_projview"></a>
<details><summary><code lang=C>🄵 API void ddraw_flush_projview(mat44 proj,mat44 view);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## scene
<a name="camera_t"></a>
<details><summary><code lang=C>🅂 struct camera_t;</code></summary>
~~~~~~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).
</details>
<a name="camera"></a>
<details><summary><code lang=C>🄵 API camera_t camera();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="camera_teleport"></a>
<details><summary><code lang=C>🄵 API void camera_teleport(camera_t* cam,vec3 pos);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="camera_move"></a>
<details><summary><code lang=C>🄵 API void camera_move(camera_t* cam,float incx,float incy,float incz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="camera_fov"></a>
<details><summary><code lang=C>🄵 API void camera_fov(camera_t* cam,float fov);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="camera_fps"></a>
<details><summary><code lang=C>🄵 API void camera_fps(camera_t* cam,float yaw,float pitch);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="camera_orbit"></a>
<details><summary><code lang=C>🄵 API void camera_orbit(camera_t* cam,float yaw,float pitch,float inc_distance);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="camera_lookat"></a>
<details><summary><code lang=C>🄵 API void camera_lookat(camera_t* cam,vec3 target);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="camera_enable"></a>
<details><summary><code lang=C>🄵 API void camera_enable(camera_t* cam);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="camera_get_active"></a>
<details><summary><code lang=C>🄵 API camera_t* camera_get_active();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="object_t"></a>
<details><summary><code lang=C>🅂 struct object_t;</code></summary>
~~~~~~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).
</details>
<a name="object"></a>
<details><summary><code lang=C>🄵 API object_t object();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="object_rotate"></a>
<details><summary><code lang=C>🄵 API void object_rotate(object_t* obj,vec3 euler);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="object_pivot"></a>
<details><summary><code lang=C>🄵 API void object_pivot(object_t* obj,vec3 euler);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="object_teleport"></a>
<details><summary><code lang=C>🄵 API void object_teleport(object_t* obj,vec3 pos);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="object_move"></a>
<details><summary><code lang=C>🄵 API void object_move(object_t* obj,vec3 inc);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="object_position"></a>
<details><summary><code lang=C>🄵 API vec3 object_position(object_t* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="object_scale"></a>
<details><summary><code lang=C>🄵 API void object_scale(object_t* obj,vec3 sca);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="object_model"></a>
<details><summary><code lang=C>🄵 API void object_model(object_t* obj,model_t model);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="object_diffuse"></a>
<details><summary><code lang=C>🄵 API void object_diffuse(object_t* obj,texture_t tex);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="object_diffuse_push"></a>
<details><summary><code lang=C>🄵 API void object_diffuse_push(object_t* obj,texture_t tex);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="object_diffuse_pop"></a>
<details><summary><code lang=C>🄵 API void object_diffuse_pop(object_t* obj);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="object_billboard"></a>
<details><summary><code lang=C>🄵 API void object_billboard(object_t* obj,unsigned mode);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="SCENE_FLAGS"></a>
<details><summary><code lang=C>🄴 enum SCENE_FLAGS;</code></summary>
~~~~~~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).
</details>
<a name="scene_t"></a>
<details><summary><code lang=C>🅂 struct scene_t;</code></summary>
~~~~~~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).
</details>
<a name="scene_push"></a>
<details><summary><code lang=C>🄵 API scene_t* scene_push();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scene_pop"></a>
<details><summary><code lang=C>🄵 API void scene_pop();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scene_get_active"></a>
<details><summary><code lang=C>🄵 API scene_t* scene_get_active();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scene_merge"></a>
<details><summary><code lang=C>🄵 API int scene_merge(const char* source);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scene_render"></a>
<details><summary><code lang=C>🄵 API void scene_render(int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scene_spawn"></a>
<details><summary><code lang=C>🄵 API object_t* scene_spawn();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scene_count"></a>
<details><summary><code lang=C>🄵 API unsigned scene_count();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="scene_index"></a>
<details><summary><code lang=C>🄵 API object_t* scene_index(unsigned index);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## script
<a name="script_init"></a>
<details><summary><code lang=C>🄵 API void script_init();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="script_run"></a>
<details><summary><code lang=C>🄵 API void script_run(const char* script);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="script_runfile"></a>
<details><summary><code lang=C>🄵 API void script_runfile(const char* pathfile);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="script_bind_class"></a>
<details><summary><code lang=C>🄵 API void script_bind_class(const char* objname,int num_methods,const char** c_names,void** c_functions);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="script_bind_function"></a>
<details><summary><code lang=C>🄵 API void script_bind_function(const char* c_name,void* c_function);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="script_call"></a>
<details><summary><code lang=C>🄵 API void script_call(const char* lua_function);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="script_tests"></a>
<details><summary><code lang=C>🄵 API bool script_tests();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## string
<a name="tempvl"></a>
<details><summary><code lang=C>🄵 API char* tempvl(const char* fmt,va_list);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tempva"></a>
<details><summary><code lang=C>🄵 API char* tempva(const char* fmt,...);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strcatf"></a>
<details><summary><code lang=C>🄵 API char* strcatf(char** s,const char* buf);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strtok_s"></a>
<details><summary><code lang=C>🄵 char* strtok_s(char* str,const char* delimiters,char** context);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strmatch"></a>
<details><summary><code lang=C>🄵 API int strmatch(const char* s,const char* wildcard);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strmatchi"></a>
<details><summary><code lang=C>🄵 API int strmatchi(const char* s,const char* wildcard);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strcmp_qsort"></a>
<details><summary><code lang=C>🄵 API int strcmp_qsort(const void* a,const void* b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strcmpi_qsort"></a>
<details><summary><code lang=C>🄵 API int strcmpi_qsort(const void* a,const void* b);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strbeg"></a>
<details><summary><code lang=C>🄵 API bool strbeg(const char* src,const char* sub);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strend"></a>
<details><summary><code lang=C>🄵 API bool strend(const char* src,const char* sub);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strbegi"></a>
<details><summary><code lang=C>🄵 API bool strbegi(const char* src,const char* sub);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strendi"></a>
<details><summary><code lang=C>🄵 API bool strendi(const char* src,const char* sub);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strstri"></a>
<details><summary><code lang=C>🄵 API const char* strstri(const char* src,const char* sub);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strupper"></a>
<details><summary><code lang=C>🄵 API char* strupper(const char* str);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strlower"></a>
<details><summary><code lang=C>🄵 API char* strlower(const char* str);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strrepl"></a>
<details><summary><code lang=C>🄵 API char* strrepl(char** copy,const char* target,const char* replace);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strswap"></a>
<details><summary><code lang=C>🄵 API char* strswap(char* copy,const char* target,const char* replace);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strcut"></a>
<details><summary><code lang=C>🄵 API char* strcut(char* copy,const char* target);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strlerp"></a>
<details><summary><code lang=C>🄵 API const char* strlerp(unsigned numpairs,const char** pairs,const char* str);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strlcat"></a>
<details><summary><code lang=C>🄵 API size_t strlcat(char* dst,const char* src,size_t dstcap);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strlcpy"></a>
<details><summary><code lang=C>🄵 API size_t strlcpy(char* dst,const char* src,size_t dstcap);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="strsplit"></a>
<details><summary><code lang=C>🄵 API array(char*) strsplit(const char* string,const char* delimiters);</code></summary>
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)
</details>
<a name="strjoin"></a>
<details><summary><code lang=C>🄵 API char* strjoin(array(char*) list,const char* separator);</code></summary>
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)
</details>
<a name="string8"></a>
<details><summary><code lang=C>🄵 API char* string8(const wchar_t* str);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="string32"></a>
<details><summary><code lang=C>🄵 API array(uint32_t) string32(const char* utf8);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## system
<a name="thread"></a>
<details><summary><code lang=C>🄵 API void* thread(int (*thread_func)(void* user_data),void* user_data);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="thread_destroy"></a>
<details><summary><code lang=C>🄵 API void thread_destroy(void* thd);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="argc"></a>
<details><summary><code lang=C>🄵 API int argc();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="argv"></a>
<details><summary><code lang=C>🄵 API char* argv(int);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="flag"></a>
<details><summary><code lang=C>🄵 API int flag(const char* commalist);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="option"></a>
<details><summary><code lang=C>🄵 API const char* option(const char* commalist,const char* defaults);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="optioni"></a>
<details><summary><code lang=C>🄵 API int optioni(const char* commalist,int defaults);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="optionf"></a>
<details><summary><code lang=C>🄵 API float optionf(const char* commalist,float defaults);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tty_color"></a>
<details><summary><code lang=C>🄵 API void tty_color(unsigned color);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tty_reset"></a>
<details><summary><code lang=C>🄵 API void tty_reset();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="tty_attach"></a>
<details><summary><code lang=C>🄵 API void tty_attach();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="app_exec"></a>
<details><summary><code lang=C>🄵 API const char* app_exec(const char* command);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="app_cores"></a>
<details><summary><code lang=C>🄵 API int app_cores();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="app_battery"></a>
<details><summary><code lang=C>🄵 API int app_battery();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="app_name"></a>
<details><summary><code lang=C>🄵 API const char* app_name();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="app_path"></a>
<details><summary><code lang=C>🄵 API const char* app_path();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="app_cache"></a>
<details><summary><code lang=C>🄵 API const char* app_cache();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="app_temp"></a>
<details><summary><code lang=C>🄵 API const char* app_temp();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="app_cmdline"></a>
<details><summary><code lang=C>🄵 API const char* app_cmdline();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="date"></a>
<details><summary><code lang=C>🄵 API uint64_t date();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="date_epoch"></a>
<details><summary><code lang=C>🄵 API uint64_t date_epoch();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="date_string"></a>
<details><summary><code lang=C>🄵 API char* date_string();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="time_hh"></a>
<details><summary><code lang=C>🄵 API double time_hh();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="time_mm"></a>
<details><summary><code lang=C>🄵 API double time_mm();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="time_ss"></a>
<details><summary><code lang=C>🄵 API double time_ss();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="time_ms"></a>
<details><summary><code lang=C>🄵 API uint64_t time_ms();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="time_us"></a>
<details><summary><code lang=C>🄵 API uint64_t time_us();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="time_ns"></a>
<details><summary><code lang=C>🄵 API uint64_t time_ns();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sleep_ss"></a>
<details><summary><code lang=C>🄵 API void sleep_ss(double ss);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sleep_ms"></a>
<details><summary><code lang=C>🄵 API void sleep_ms(double ms);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sleep_us"></a>
<details><summary><code lang=C>🄵 API void sleep_us(double us);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="sleep_ns"></a>
<details><summary><code lang=C>🄵 API void sleep_ns(double us);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="timer"></a>
<details><summary><code lang=C>🄵 API unsigned timer(unsigned ms,unsigned (*callback)(unsigned ms,void* arg),void* arg);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="timer_destroy"></a>
<details><summary><code lang=C>🄵 API void timer_destroy(unsigned timer_handle);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="callstack"></a>
<details><summary><code lang=C>🄵 API char* callstack(int traces);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="callstackf"></a>
<details><summary><code lang=C>🄵 API int callstackf(FILE* fp,int traces);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="die"></a>
<details><summary><code lang=C>🄵 API void die(const char* message);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="alert"></a>
<details><summary><code lang=C>🄵 API void alert(const char* message);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="hexdump"></a>
<details><summary><code lang=C>🄵 API void hexdump(const void* ptr,unsigned len);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="hexdumpf"></a>
<details><summary><code lang=C>🄵 API void hexdumpf(FILE* fp,const void* ptr,unsigned len,int width);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="breakpoint"></a>
<details><summary><code lang=C>🄵 API void breakpoint(const char* optional_reason);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="has_debugger"></a>
<details><summary><code lang=C>🄵 API bool has_debugger();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="signal_hooks"></a>
<details><summary><code lang=C>🄵 API void signal_hooks(void);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="signal_handler_ignore"></a>
<details><summary><code lang=C>🄵 API void signal_handler_ignore(int signal);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="signal_handler_quit"></a>
<details><summary><code lang=C>🄵 API void signal_handler_quit(int signal);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="signal_handler_abort"></a>
<details><summary><code lang=C>🄵 API void signal_handler_abort(int signal);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="signal_handler_debug"></a>
<details><summary><code lang=C>🄵 API void signal_handler_debug(int signal);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="signal_name"></a>
<details><summary><code lang=C>🄵 API const char* signal_name(int signal);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="lil16"></a>
<details><summary><code lang=C>🄵 API uint16_t lil16(uint16_t n);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="lil32"></a>
<details><summary><code lang=C>🄵 API uint32_t lil32(uint32_t n);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="lil32f"></a>
<details><summary><code lang=C>🄵 API float lil32f(float n);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="lil64"></a>
<details><summary><code lang=C>🄵 API uint64_t lil64(uint64_t n);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="lil64f"></a>
<details><summary><code lang=C>🄵 API double lil64f(double n);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="big16"></a>
<details><summary><code lang=C>🄵 API uint16_t big16(uint16_t n);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="big32"></a>
<details><summary><code lang=C>🄵 API uint32_t big32(uint32_t n);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="big32f"></a>
<details><summary><code lang=C>🄵 API float big32f(float n);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="big64"></a>
<details><summary><code lang=C>🄵 API uint64_t big64(uint64_t n);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="big64f"></a>
<details><summary><code lang=C>🄵 API double big64f(double n);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="lil16p"></a>
<details><summary><code lang=C>🄵 API uint16_t* lil16p(void* n,int sz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="lil32p"></a>
<details><summary><code lang=C>🄵 API uint32_t* lil32p(void* n,int sz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="lil32pf"></a>
<details><summary><code lang=C>🄵 API float* lil32pf(void* n,int sz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="lil64p"></a>
<details><summary><code lang=C>🄵 API uint64_t* lil64p(void* n,int sz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="lil64pf"></a>
<details><summary><code lang=C>🄵 API double* lil64pf(void* n,int sz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="big16p"></a>
<details><summary><code lang=C>🄵 API uint16_t* big16p(void* n,int sz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="big32p"></a>
<details><summary><code lang=C>🄵 API uint32_t* big32p(void* n,int sz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="big32pf"></a>
<details><summary><code lang=C>🄵 API float* big32pf(void* n,int sz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="big64p"></a>
<details><summary><code lang=C>🄵 API uint64_t* big64p(void* n,int sz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="big64pf"></a>
<details><summary><code lang=C>🄵 API double* big64pf(void* n,int sz);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="PANIC"></a>
<details><summary><code lang=C>🄵 API int PANIC(const char* error,const char* file,int line);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="PRINTF"></a>
<details><summary><code lang=C>🄵 API int PRINTF(const char* text,const char* stack,const char* file,int line,const char* function);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## ui
<a name="PANEL_FLAGS"></a>
<details><summary><code lang=C>🄴 enum PANEL_FLAGS;</code></summary>
~~~~~~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).
</details>
<a name="ui_notify"></a>
<details><summary><code lang=C>🄵 API int ui_notify(const char* title,const char* body);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_window"></a>
<details><summary><code lang=C>🄵 API int ui_window(const char* title,int* enabled);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_panel"></a>
<details><summary><code lang=C>🄵 API int ui_panel(const char* title,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_collapse"></a>
<details><summary><code lang=C>🄵 API int ui_collapse(const char* label,const char* id);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_contextual"></a>
<details><summary><code lang=C>🄵 API int ui_contextual();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_section"></a>
<details><summary><code lang=C>🄵 API int ui_section(const char* title);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_int"></a>
<details><summary><code lang=C>🄵 API int ui_int(const char* label,int* value);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_bool"></a>
<details><summary><code lang=C>🄵 API int ui_bool(const char* label,bool* value);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_short"></a>
<details><summary><code lang=C>🄵 API int ui_short(const char* label,short* value);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_float"></a>
<details><summary><code lang=C>🄵 API int ui_float(const char* label,float* value);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_float2"></a>
<details><summary><code lang=C>🄵 API int ui_float2(const char* label,float value[2]);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_float3"></a>
<details><summary><code lang=C>🄵 API int ui_float3(const char* label,float value[3]);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_float4"></a>
<details><summary><code lang=C>🄵 API int ui_float4(const char* label,float value[4]);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_double"></a>
<details><summary><code lang=C>🄵 API int ui_double(const char* label,double* value);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_buffer"></a>
<details><summary><code lang=C>🄵 API int ui_buffer(const char* label,char* buffer,int buflen);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_string"></a>
<details><summary><code lang=C>🄵 API int ui_string(const char* label,char** string);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_color3"></a>
<details><summary><code lang=C>🄵 API int ui_color3(const char* label,float* color3);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_color3f"></a>
<details><summary><code lang=C>🄵 API int ui_color3f(const char* label,float* color3);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_color4"></a>
<details><summary><code lang=C>🄵 API int ui_color4(const char* label,float* color4);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_color4f"></a>
<details><summary><code lang=C>🄵 API int ui_color4f(const char* label,float* color4);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_unsigned"></a>
<details><summary><code lang=C>🄵 API int ui_unsigned(const char* label,unsigned* value);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_button"></a>
<details><summary><code lang=C>🄵 API int ui_button(const char* label);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_button_transparent"></a>
<details><summary><code lang=C>🄵 API int ui_button_transparent(const char* label);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_buttons"></a>
<details><summary><code lang=C>🄵 API int ui_buttons(int buttons,...);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_toolbar"></a>
<details><summary><code lang=C>🄵 API int ui_toolbar(const char* options);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_submenu"></a>
<details><summary><code lang=C>🄵 API int ui_submenu(const char* options);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_browse"></a>
<details><summary><code lang=C>🄵 API int ui_browse(const char** outfile,bool* inlined);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_toggle"></a>
<details><summary><code lang=C>🄵 API int ui_toggle(const char* label,bool* value);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_dialog"></a>
<details><summary><code lang=C>🄵 API int ui_dialog(const char* title,const char* text,int choices,bool* show);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_list"></a>
<details><summary><code lang=C>🄵 API int ui_list(const char* label,const char** items,int num_items,int* selector);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_radio"></a>
<details><summary><code lang=C>🄵 API int ui_radio(const char* label,const char** items,int num_items,int* selector);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_texture"></a>
<details><summary><code lang=C>🄵 API int ui_texture(const char* label,texture_t t);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_subtexture"></a>
<details><summary><code lang=C>🄵 API int ui_subtexture(const char* label,texture_t t,unsigned x,unsigned y,unsigned w,unsigned h);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_image"></a>
<details><summary><code lang=C>🄵 API int ui_image(const char* label,handle id,unsigned w,unsigned h);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_subimage"></a>
<details><summary><code lang=C>🄵 API int ui_subimage(const char* label,handle id,unsigned iw,unsigned ih,unsigned sx,unsigned sy,unsigned sw,unsigned sh);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_colormap"></a>
<details><summary><code lang=C>🄵 API int ui_colormap(const char* label,colormap_t* cm);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_separator"></a>
<details><summary><code lang=C>🄵 API int ui_separator();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_bits8"></a>
<details><summary><code lang=C>🄵 API int ui_bits8(const char* label,uint8_t* bits);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_bits16"></a>
<details><summary><code lang=C>🄵 API int ui_bits16(const char* label,uint16_t* bits);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_console"></a>
<details><summary><code lang=C>🄵 API int ui_console();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_clampf"></a>
<details><summary><code lang=C>🄵 API int ui_clampf(const char* label,float* value,float minf,float maxf);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_label"></a>
<details><summary><code lang=C>🄵 API int ui_label(const char* label);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_label2"></a>
<details><summary><code lang=C>🄵 API int ui_label2(const char* label,const char* caption);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_label2_toolbar"></a>
<details><summary><code lang=C>🄵 API int ui_label2_toolbar(const char* label,const char* icons);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_slider"></a>
<details><summary><code lang=C>🄵 API int ui_slider(const char* label,float* value);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_slider2"></a>
<details><summary><code lang=C>🄵 API int ui_slider2(const char* label,float* value,const char* caption);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_const_bool"></a>
<details><summary><code lang=C>🄵 API int ui_const_bool(const char* label,const double value);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_const_float"></a>
<details><summary><code lang=C>🄵 API int ui_const_float(const char* label,const double value);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_const_string"></a>
<details><summary><code lang=C>🄵 API int ui_const_string(const char* label,const char* value);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_contextual_end"></a>
<details><summary><code lang=C>🄵 API int ui_contextual_end();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_collapse_clicked"></a>
<details><summary><code lang=C>🄵 API int ui_collapse_clicked();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_collapse_end"></a>
<details><summary><code lang=C>🄵 API int ui_collapse_end();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_panel_end"></a>
<details><summary><code lang=C>🄵 API int ui_panel_end();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_window_end"></a>
<details><summary><code lang=C>🄵 API int ui_window_end();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_show"></a>
<details><summary><code lang=C>🄵 API int ui_show(const char* panel_or_window_title,int enabled);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_visible"></a>
<details><summary><code lang=C>🄵 API int ui_visible(const char* panel_or_window_title);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_enable"></a>
<details><summary><code lang=C>🄵 API int ui_enable();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_disable"></a>
<details><summary><code lang=C>🄵 API int ui_disable();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_has_menubar"></a>
<details><summary><code lang=C>🄵 API int ui_has_menubar();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_menu"></a>
<details><summary><code lang=C>🄵 API int ui_menu(const char* items);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_menu_editbox"></a>
<details><summary><code lang=C>🄵 API int ui_menu_editbox(char* buf,int bufcap);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_item"></a>
<details><summary><code lang=C>🄵 API int ui_item();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_popups"></a>
<details><summary><code lang=C>🄵 API int ui_popups();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_hover"></a>
<details><summary><code lang=C>🄵 API int ui_hover();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_active"></a>
<details><summary><code lang=C>🄵 API int ui_active();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="ui_demo"></a>
<details><summary><code lang=C>🄵 API int ui_demo(int do_windows);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## video
<a name="VIDEO_FLAGS"></a>
<details><summary><code lang=C>🄴 enum VIDEO_FLAGS;</code></summary>
~~~~~~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).
</details>
<a name="video_t"></a>
<details><summary><code lang=C>🅂 struct video_t video_t;</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="video"></a>
<details><summary><code lang=C>🄵 API video_t* video(const char* filename,int flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="video_decode"></a>
<details><summary><code lang=C>🄵 API texture_t* video_decode(video_t* v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="video_textures"></a>
<details><summary><code lang=C>🄵 API texture_t* video_textures(video_t* v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="video_has_finished"></a>
<details><summary><code lang=C>🄵 API int video_has_finished(video_t* v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="video_duration"></a>
<details><summary><code lang=C>🄵 API double video_duration(video_t* v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="video_seek"></a>
<details><summary><code lang=C>🄵 API int video_seek(video_t* v,double seek_to);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="video_position"></a>
<details><summary><code lang=C>🄵 API double video_position(video_t* v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="video_pause"></a>
<details><summary><code lang=C>🄵 API void video_pause(video_t* v,bool paused);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="video_is_paused"></a>
<details><summary><code lang=C>🄵 API bool video_is_paused(video_t* v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="video_is_rgb"></a>
<details><summary><code lang=C>🄵 API bool video_is_rgb(video_t* v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="video_destroy"></a>
<details><summary><code lang=C>🄵 API void video_destroy(video_t* v);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="record_start"></a>
<details><summary><code lang=C>🄵 API bool record_start(const char* outfile_mp4);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="record_active"></a>
<details><summary><code lang=C>🄵 API bool record_active();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="record_stop"></a>
<details><summary><code lang=C>🄵 API void record_stop(void);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## window
<a name="WINDOW_FLAGS"></a>
<details><summary><code lang=C>🄴 enum WINDOW_FLAGS;</code></summary>
~~~~~~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).
</details>
<a name="window_create"></a>
<details><summary><code lang=C>🄵 API bool window_create(float scale,unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_create_from_handle"></a>
<details><summary><code lang=C>🄵 API bool window_create_from_handle(void* handle,float scale,unsigned flags);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_reload"></a>
<details><summary><code lang=C>🄵 API void window_reload();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_frame_begin"></a>
<details><summary><code lang=C>🄵 API int window_frame_begin();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_frame_end"></a>
<details><summary><code lang=C>🄵 API void window_frame_end();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_frame_swap"></a>
<details><summary><code lang=C>🄵 API void window_frame_swap();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_swap"></a>
<details><summary><code lang=C>🄵 API int window_swap();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_loop"></a>
<details><summary><code lang=C>🄵 API void window_loop(void (*function)(void* loopArg),void* loopArg);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_loop_exit"></a>
<details><summary><code lang=C>🄵 API void window_loop_exit();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_title"></a>
<details><summary><code lang=C>🄵 API void window_title(const char* title);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_icon"></a>
<details><summary><code lang=C>🄵 API void window_icon(const char* file_icon);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_color"></a>
<details><summary><code lang=C>🄵 API void window_color(unsigned color);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_canvas"></a>
<details><summary><code lang=C>🄵 API vec2 window_canvas();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_handle"></a>
<details><summary><code lang=C>🄵 API void* window_handle();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_stats"></a>
<details><summary><code lang=C>🄵 API char* window_stats();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_frame"></a>
<details><summary><code lang=C>🄵 API uint64_t window_frame();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_width"></a>
<details><summary><code lang=C>🄵 API int window_width();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_height"></a>
<details><summary><code lang=C>🄵 API int window_height();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_time"></a>
<details><summary><code lang=C>🄵 API double window_time();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_delta"></a>
<details><summary><code lang=C>🄵 API double window_delta();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_focus"></a>
<details><summary><code lang=C>🄵 API void window_focus();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_has_focus"></a>
<details><summary><code lang=C>🄵 API int window_has_focus();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_fullscreen"></a>
<details><summary><code lang=C>🄵 API void window_fullscreen(int enabled);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_has_fullscreen"></a>
<details><summary><code lang=C>🄵 API int window_has_fullscreen();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_cursor"></a>
<details><summary><code lang=C>🄵 API void window_cursor(int visible);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_has_cursor"></a>
<details><summary><code lang=C>🄵 API int window_has_cursor();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_pause"></a>
<details><summary><code lang=C>🄵 API void window_pause(int paused);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_has_pause"></a>
<details><summary><code lang=C>🄵 API int window_has_pause();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_visible"></a>
<details><summary><code lang=C>🄵 API void window_visible(int visible);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_has_visible"></a>
<details><summary><code lang=C>🄵 API int window_has_visible();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_aspect"></a>
<details><summary><code lang=C>🄵 API double window_aspect();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_aspect_lock"></a>
<details><summary><code lang=C>🄵 API void window_aspect_lock(unsigned numer,unsigned denom);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_aspect_unlock"></a>
<details><summary><code lang=C>🄵 API void window_aspect_unlock();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_fps"></a>
<details><summary><code lang=C>🄵 API double window_fps();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_fps_target"></a>
<details><summary><code lang=C>🄵 API double window_fps_target();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_fps_lock"></a>
<details><summary><code lang=C>🄵 API void window_fps_lock(float fps);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_fps_unlock"></a>
<details><summary><code lang=C>🄵 API void window_fps_unlock();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_screenshot"></a>
<details><summary><code lang=C>🄵 API void window_screenshot(const char* outfile_png);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="window_record"></a>
<details><summary><code lang=C>🄵 API int window_record(const char* outfile_mp4);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="CURSOR_SHAPES"></a>
<details><summary><code lang=C>🄴 enum CURSOR_SHAPES;</code></summary>
~~~~~~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).
</details>
<a name="window_cursor_shape"></a>
<details><summary><code lang=C>🄵 API void window_cursor_shape(unsigned shape);</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="GLAD_API_CALL"></a>
<details><summary><code lang=C>🄳 macro GLAD_API_CALL </code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
## 🄳 defines
[_CRT_NONSTDC_NO_DEPRECATE](#_CRT_NONSTDC_NO_DEPRECATE), [_CRT_SECURE_NO_WARNINGS](#_CRT_SECURE_NO_WARNINGS), [_GNU_SOURCE](#_GNU_SOURCE), [_WIN32_WINNT](#_WIN32_WINNT), [_WINSOCK_DEPRECATED_NO_WARNINGS](#_WINSOCK_DEPRECATED_NO_WARNINGS), [ALLOCSIZE](#ALLOCSIZE), [API](#API), [AQUA](#AQUA), [ASSERT](#ASSERT), [ASSERT_ONCE](#ASSERT_ONCE), [BLACK](#BLACK), [BLUE](#BLUE), [C_CAST](#C_CAST), [C_EPSILON](#C_EPSILON), [C_PI](#C_PI), [CALLOC](#CALLOC), [CYAN](#CYAN), [ENABLE_FASTCALL_LUA](#ENABLE_FASTCALL_LUA), [ENABLE_LINUX_CALLSTACKS](#ENABLE_LINUX_CALLSTACKS), [ENABLE_MEMORY_LEAKS](#ENABLE_MEMORY_LEAKS), [ENABLE_MEMORY_POISON](#ENABLE_MEMORY_POISON), [ENABLE_PROFILER](#ENABLE_PROFILER), [ENABLE_SELFIES](#ENABLE_SELFIES), [EXPAND](#EXPAND), [EXPAND_ARGS](#EXPAND_ARGS), [EXPAND_COUNT_ARGS](#EXPAND_COUNT_ARGS), [EXPAND_J01N](#EXPAND_J01N), [EXPAND_J0IN](#EXPAND_J0IN), [EXPAND_JOIN](#EXPAND_JOIN), [EXPAND_QUOTE](#EXPAND_QUOTE), [EXPAND_RETURN_COUNT](#EXPAND_RETURN_COUNT), [EXPORT](#EXPORT), [FILELINE](#FILELINE), [FINITE](#FINITE), [FONT_BASELINE](#FONT_BASELINE), [FONT_BOTTOM](#FONT_BOTTOM), [FONT_CENTER](#FONT_CENTER), [FONT_COLOR1](#FONT_COLOR1), [FONT_COLOR10](#FONT_COLOR10), [FONT_COLOR2](#FONT_COLOR2), [FONT_COLOR3](#FONT_COLOR3), [FONT_COLOR4](#FONT_COLOR4), [FONT_COLOR5](#FONT_COLOR5), [FONT_COLOR6](#FONT_COLOR6), [FONT_COLOR7](#FONT_COLOR7), [FONT_COLOR8](#FONT_COLOR8), [FONT_COLOR9](#FONT_COLOR9), [FONT_FACE1](#FONT_FACE1), [FONT_FACE2](#FONT_FACE2), [FONT_FACE3](#FONT_FACE3), [FONT_FACE4](#FONT_FACE4), [FONT_FACE5](#FONT_FACE5), [FONT_FACE6](#FONT_FACE6), [FONT_H1](#FONT_H1), [FONT_H2](#FONT_H2), [FONT_H3](#FONT_H3), [FONT_H4](#FONT_H4), [FONT_H5](#FONT_H5), [FONT_H6](#FONT_H6), [FONT_LEFT](#FONT_LEFT), [FONT_MIDDLE](#FONT_MIDDLE), [FONT_RIGHT](#FONT_RIGHT), [FONT_TOP](#FONT_TOP), [FORCE_INLINE](#FORCE_INLINE), [FORGET](#FORGET), [FREE](#FREE), [GJK_H](#GJK_H), [GJK_MAX_ITERATIONS](#GJK_MAX_ITERATIONS), [GLAD_API_CALL](#GLAD_API_CALL), [GRAY](#GRAY), [GREEN](#GREEN), [IMPORT](#IMPORT), [INLINE](#INLINE), [MALLOC](#MALLOC), [MAP_DONT_ERASE](#MAP_DONT_ERASE), [MAP_HASHSIZE](#MAP_HASHSIZE), [OBJBOX](#OBJBOX), [OBJPAYLOAD16](#OBJPAYLOAD16), [OBJPAYLOAD3](#OBJPAYLOAD3), [OBJUNBOX](#OBJUNBOX), [ORANGE](#ORANGE), [PANIC](#PANIC), [PINK](#PINK), [PRINTF](#PRINTF), [PURPLE](#PURPLE), [REALLOC](#REALLOC), [RED](#RED), [RGB3](#RGB3), [RGB4](#RGB4), [RGBX](#RGBX), [SET_DONT_ERASE](#SET_DONT_ERASE), [SET_HASHSIZE](#SET_HASHSIZE), [STATIC](#STATIC), [STATIC_ASSERT](#STATIC_ASSERT), [STRDUP](#STRDUP), [STRINGIZ3](#STRINGIZ3), [STRINGIZE](#STRINGIZE), [TO_DEG](#TO_DEG), [TO_RAD](#TO_RAD), [WATCH](#WATCH), [WHITE](#WHITE), [YELLOW](#YELLOW)
## 🄴 enums
[ANIM_FLAGS](#ANIM_FLAGS), [AUDIO_FLAGS](#AUDIO_FLAGS), [COMPRESS_FLAGS](#COMPRESS_FLAGS), [COOK_FLAGS](#COOK_FLAGS), [CURSOR_SHAPES](#CURSOR_SHAPES), [EASE_FLAGS](#EASE_FLAGS), [FONT_FLAGS](#FONT_FLAGS), [IMAGE_FLAGS](#IMAGE_FLAGS), [INPUT_ENUMS](#INPUT_ENUMS), [MATERIAL_ENUMS](#MATERIAL_ENUMS), [MESH_FLAGS](#MESH_FLAGS), [MODEL_FLAGS](#MODEL_FLAGS), [PANEL_FLAGS](#PANEL_FLAGS), [SCENE_FLAGS](#SCENE_FLAGS), [SWARM_DISTANCE](#SWARM_DISTANCE), [TEXTURE_FLAGS](#TEXTURE_FLAGS), [TOUCH_BUTTONS](#TOUCH_BUTTONS), [VIDEO_FLAGS](#VIDEO_FLAGS), [WINDOW_FLAGS](#WINDOW_FLAGS)
## 🅃 types
[aabb](#aabb), [anim_t](#anim_t), [audio_handle*](#audio_handle*), [boid_t](#boid_t), [bool](#bool), [camera_t](#camera_t), [capsule](#capsule), [colormap_t](#colormap_t), [cubemap_t](#cubemap_t), [frustum](#frustum), [gjk_result](#gjk_result), [gjk_simplex](#gjk_simplex), [gjk_support](#gjk_support), [gjk_vertex](#gjk_vertex), [handle](#handle), [hit](#hit), [image_t](#image_t), [ini_t](#ini_t), [json_t](#json_t), [line](#line), [map](#map), [mat33](#mat33), [mat34](#mat34), [mat44](#mat44), [material_t](#material_t), [mesh_t](#mesh_t), [model_t](#model_t), [object_t](#object_t), [pair](#pair), [pbr_material_t](#pbr_material_t), [plane](#plane), [poly](#poly), [quat](#quat), [ray](#ray), [scene_t](#scene_t), [set](#set), [set_item](#set_item), [shadertoy_t](#shadertoy_t), [shadowmap_t](#shadowmap_t), [skybox_t](#skybox_t), [sphere](#sphere), [spine_t](#spine_t), [swarm_t](#swarm_t), [texture_t](#texture_t), [tiled_t](#tiled_t), [tilemap_t](#tilemap_t), [tileset_t](#tileset_t), [triangle](#triangle), [vec2](#vec2), [vec2i](#vec2i), [vec3](#vec3), [vec3i](#vec3i), [vec4](#vec4), [video_t](#video_t)
## 🄵 functions
[aabb_closest_point](#aabb_closest_point), [aabb_contains_point](#aabb_contains_point), [aabb_distance2_point](#aabb_distance2_point), [aabb_hit_aabb](#aabb_hit_aabb), [aabb_hit_capsule](#aabb_hit_capsule), [aabb_hit_sphere](#aabb_hit_sphere), [aabb_test_aabb](#aabb_test_aabb), [aabb_test_capsule](#aabb_test_capsule), [aabb_test_poly](#aabb_test_poly), [aabb_test_sphere](#aabb_test_sphere), [abs2](#abs2), [abs3](#abs3), [abs4](#abs4), [absf](#absf), [absi](#absi), [add2](#add2), [add3](#add3), [add34](#add34), [add34x2](#add34x2), [add4](#add4), [addq](#addq), [alert](#alert), [alpha](#alpha), [app_battery](#app_battery), [app_cache](#app_cache), [app_cmdline](#app_cmdline), [app_cores](#app_cores), [app_exec](#app_exec), [app_name](#app_name), [app_path](#app_path), [app_temp](#app_temp), [argc](#argc), [argv](#argv), [audio_clip](#audio_clip), [audio_play](#audio_play), [audio_play_gain](#audio_play_gain), [audio_play_gain_pitch](#audio_play_gain_pitch), [audio_play_gain_pitch_pan](#audio_play_gain_pitch_pan), [audio_queue](#audio_queue), [audio_stop](#audio_stop), [audio_stream](#audio_stream), [audio_volume_clip](#audio_volume_clip), [audio_volume_master](#audio_volume_master), [audio_volume_stream](#audio_volume_stream), [bgra](#bgra), [bgraf](#bgraf), [big16](#big16), [big16p](#big16p), [big32](#big32), [big32f](#big32f), [big32p](#big32p), [big32pf](#big32pf), [big64](#big64), [big64f](#big64f), [big64p](#big64p), [big64pf](#big64pf), [brdf_lut](#brdf_lut), [breakpoint](#breakpoint), [cache_insert](#cache_insert), [cache_lookup](#cache_lookup), [callstack](#callstack), [callstackf](#callstackf), [camera](#camera), [camera_enable](#camera_enable), [camera_fov](#camera_fov), [camera_fps](#camera_fps), [camera_get_active](#camera_get_active), [camera_lookat](#camera_lookat), [camera_move](#camera_move), [camera_orbit](#camera_orbit), [camera_teleport](#camera_teleport), [capsule_closest_point](#capsule_closest_point), [capsule_distance2_point](#capsule_distance2_point), [capsule_hit_aabb](#capsule_hit_aabb), [capsule_hit_capsule](#capsule_hit_capsule), [capsule_hit_sphere](#capsule_hit_sphere), [capsule_test_aabb](#capsule_test_aabb), [capsule_test_capsule](#capsule_test_capsule), [capsule_test_poly](#capsule_test_poly), [capsule_test_sphere](#capsule_test_sphere), [cc4](#cc4), [cc4str](#cc4str), [cc8](#cc8), [cc8str](#cc8str), [ceil2](#ceil2), [ceil3](#ceil3), [ceil4](#ceil4), [clamp2](#clamp2), [clamp3](#clamp3), [clamp4](#clamp4), [clampf](#clampf), [clampi](#clampi), [clip](#clip), [collide_demo](#collide_demo), [colormap](#colormap), [compose33](#compose33), [compose34](#compose34), [compose44](#compose44), [conjq](#conjq), [cook_cancel](#cook_cancel), [cook_config](#cook_config), [cook_jobs](#cook_jobs), [cook_progress](#cook_progress), [cook_start](#cook_start), [cook_stop](#cook_stop), [copy33](#copy33), [copy34](#copy34), [copy44](#copy44), [cross2](#cross2), [cross3](#cross3), [cubemap](#cubemap), [cubemap6](#cubemap6), [cubemap_destroy](#cubemap_destroy), [cubemap_get_active](#cubemap_get_active), [data_tests](#data_tests), [date](#date), [date_epoch](#date_epoch), [date_string](#date_string), [ddraw_aabb](#ddraw_aabb), [ddraw_aabb_corners](#ddraw_aabb_corners), [ddraw_arrow](#ddraw_arrow), [ddraw_axis](#ddraw_axis), [ddraw_boid](#ddraw_boid), [ddraw_bone](#ddraw_bone), [ddraw_bounds](#ddraw_bounds), [ddraw_box](#ddraw_box), [ddraw_capsule](#ddraw_capsule), [ddraw_circle](#ddraw_circle), [ddraw_color](#ddraw_color), [ddraw_color_pop](#ddraw_color_pop), [ddraw_color_push](#ddraw_color_push), [ddraw_cone](#ddraw_cone), [ddraw_cube](#ddraw_cube), [ddraw_cube33](#ddraw_cube33), [ddraw_cylinder](#ddraw_cylinder), [ddraw_demo](#ddraw_demo), [ddraw_diamond](#ddraw_diamond), [ddraw_flush](#ddraw_flush), [ddraw_flush_projview](#ddraw_flush_projview), [ddraw_frustum](#ddraw_frustum), [ddraw_grid](#ddraw_grid), [ddraw_ground](#ddraw_ground), [ddraw_hexagon](#ddraw_hexagon), [ddraw_line](#ddraw_line), [ddraw_line_dashed](#ddraw_line_dashed), [ddraw_line_thin](#ddraw_line_thin), [ddraw_normal](#ddraw_normal), [ddraw_ontop](#ddraw_ontop), [ddraw_ontop_pop](#ddraw_ontop_pop), [ddraw_ontop_push](#ddraw_ontop_push), [ddraw_pentagon](#ddraw_pentagon), [ddraw_plane](#ddraw_plane), [ddraw_point](#ddraw_point), [ddraw_pop_2d](#ddraw_pop_2d), [ddraw_position](#ddraw_position), [ddraw_position_dir](#ddraw_position_dir), [ddraw_prism](#ddraw_prism), [ddraw_push_2d](#ddraw_push_2d), [ddraw_pyramid](#ddraw_pyramid), [ddraw_ring](#ddraw_ring), [ddraw_sphere](#ddraw_sphere), [ddraw_square](#ddraw_square), [ddraw_text](#ddraw_text), [ddraw_text2d](#ddraw_text2d), [ddraw_triangle](#ddraw_triangle), [dec2](#dec2), [dec3](#dec3), [dec4](#dec4), [deg](#deg), [det44](#det44), [dialog_load](#dialog_load), [dialog_save](#dialog_save), [diamond](#diamond), [die](#die), [div2](#div2), [div3](#div3), [div4](#div4), [dll](#dll), [dot2](#dot2), [dot3](#dot3), [dot4](#dot4), [dotq](#dotq), [download](#download), [download_file](#download_file), [ease](#ease), [ease_in_back](#ease_in_back), [ease_in_bounce](#ease_in_bounce), [ease_in_circ](#ease_in_circ), [ease_in_cubic](#ease_in_cubic), [ease_in_elastic](#ease_in_elastic), [ease_in_expo](#ease_in_expo), [ease_in_quad](#ease_in_quad), [ease_in_quart](#ease_in_quart), [ease_in_quint](#ease_in_quint), [ease_in_sine](#ease_in_sine), [ease_inout_back](#ease_inout_back), [ease_inout_bounce](#ease_inout_bounce), [ease_inout_circ](#ease_inout_circ), [ease_inout_cubic](#ease_inout_cubic), [ease_inout_elastic](#ease_inout_elastic), [ease_inout_expo](#ease_inout_expo), [ease_inout_perlin](#ease_inout_perlin), [ease_inout_quad](#ease_inout_quad), [ease_inout_quart](#ease_inout_quart), [ease_inout_quint](#ease_inout_quint), [ease_inout_sine](#ease_inout_sine), [ease_linear](#ease_linear), [ease_out_back](#ease_out_back), [ease_out_bounce](#ease_out_bounce), [ease_out_circ](#ease_out_circ), [ease_out_cubic](#ease_out_cubic), [ease_out_elastic](#ease_out_elastic), [ease_out_expo](#ease_out_expo), [ease_out_quad](#ease_out_quad), [ease_out_quart](#ease_out_quart), [ease_out_quint](#ease_out_quint), [ease_out_sine](#ease_out_sine), [ease_ping_pong](#ease_ping_pong), [ease_pong_ping](#ease_pong_ping), [editor_path](#editor_path), [editor_pick](#editor_pick), [euler](#euler), [eulerq](#eulerq), [extract33](#extract33), [fbo](#fbo), [fbo_bind](#fbo_bind), [fbo_destroy](#fbo_destroy), [fbo_unbind](#fbo_unbind), [file_append](#file_append), [file_base](#file_base), [file_copy](#file_copy), [file_counter](#file_counter), [file_crc32](#file_crc32), [file_delete](#file_delete), [file_directory](#file_directory), [file_exist](#file_exist), [file_ext](#file_ext), [file_id](#file_id), [file_list](#file_list), [file_load](#file_load), [file_md5](#file_md5), [file_move](#file_move), [file_name](#file_name), [file_normalize](#file_normalize), [file_path](#file_path), [file_pathabs](#file_pathabs), [file_read](#file_read), [file_sha1](#file_sha1), [file_size](#file_size), [file_stamp](#file_stamp), [file_stamp_epoch](#file_stamp_epoch), [file_temp](#file_temp), [file_tempname](#file_tempname), [file_write](#file_write), [file_zip_append](#file_zip_append), [file_zip_appendmem](#file_zip_appendmem), [file_zip_extract](#file_zip_extract), [file_zip_list](#file_zip_list), [finite2](#finite2), [finite3](#finite3), [finite4](#finite4), [flag](#flag), [floor2](#floor2), [floor3](#floor3), [floor4](#floor4), [font_color](#font_color), [font_colorize](#font_colorize), [font_face](#font_face), [font_face_from_mem](#font_face_from_mem), [font_goto](#font_goto), [font_highlight](#font_highlight), [font_print](#font_print), [font_rect](#font_rect), [font_scales](#font_scales), [font_xy](#font_xy), [forget](#forget), [fract2](#fract2), [fract3](#fract3), [fract4](#fract4), [fractf](#fractf), [frustum44](#frustum44), [frustum_build](#frustum_build), [frustum_test_aabb](#frustum_test_aabb), [frustum_test_sphere](#frustum_test_sphere), [fullscreen_quad_rgb](#fullscreen_quad_rgb), [fullscreen_quad_ycbcr](#fullscreen_quad_ycbcr), [fx_begin](#fx_begin), [fx_enable](#fx_enable), [fx_enable_all](#fx_enable_all), [fx_enabled](#fx_enabled), [fx_end](#fx_end), [fx_find](#fx_find), [fx_load](#fx_load), [fx_load_from_mem](#fx_load_from_mem), [fx_name](#fx_name), [gizmo](#gizmo), [gizmo_active](#gizmo_active), [gizmo_hover](#gizmo_hover), [gjk](#gjk), [gjk_analyze](#gjk_analyze), [gjk_quad](#gjk_quad), [has_debugger](#has_debugger), [hash_32](#hash_32), [hash_64](#hash_64), [hash_flt](#hash_flt), [hash_int](#hash_int), [hash_ptr](#hash_ptr), [hash_str](#hash_str), [hexdump](#hexdump), [hexdumpf](#hexdumpf), [id33](#id33), [id34](#id34), [id44](#id44), [identity44](#identity44), [idq](#idq), [image](#image), [image_destroy](#image_destroy), [image_from_mem](#image_from_mem), [inc2](#inc2), [inc3](#inc3), [inc4](#inc4), [ini](#ini), [ini_destroy](#ini_destroy), [ini_from_mem](#ini_from_mem), [ini_write](#ini_write), [input](#input), [input2](#input2), [input_anykey](#input_anykey), [input_chord2](#input_chord2), [input_chord3](#input_chord3), [input_chord4](#input_chord4), [input_click](#input_click), [input_click2](#input_click2), [input_demo](#input_demo), [input_diff](#input_diff), [input_diff2](#input_diff2), [input_down](#input_down), [input_filter_deadzone](#input_filter_deadzone), [input_filter_deadzone_4way](#input_filter_deadzone_4way), [input_filter_positive](#input_filter_positive), [input_filter_positive2](#input_filter_positive2), [input_frame](#input_frame), [input_frame2](#input_frame2), [input_frames](#input_frames), [input_held](#input_held), [input_idle](#input_idle), [input_keychar](#input_keychar), [input_load_state](#input_load_state), [input_mappings](#input_mappings), [input_repeat](#input_repeat), [input_save_state](#input_save_state), [input_send](#input_send), [input_touch](#input_touch), [input_touch_active](#input_touch_active), [input_touch_area](#input_touch_area), [input_touch_delta](#input_touch_delta), [input_touch_delta_from_origin](#input_touch_delta_from_origin), [input_up](#input_up), [input_use](#input_use), [invert34](#invert34), [invert44](#invert44), [json_count](#json_count), [json_find](#json_find), [json_get](#json_get), [json_key](#json_key), [json_pop](#json_pop), [json_push](#json_push), [kit_clear](#kit_clear), [kit_dump_state](#kit_dump_state), [kit_insert](#kit_insert), [kit_load](#kit_load), [kit_locale](#kit_locale), [kit_merge](#kit_merge), [kit_reset](#kit_reset), [kit_set](#kit_set), [kit_translate](#kit_translate), [kit_translate2](#kit_translate2), [len2](#len2), [len2sq](#len2sq), [len3](#len3), [len3sq](#len3sq), [len4](#len4), [len4sq](#len4sq), [lerp34](#lerp34), [less_64](#less_64), [less_int](#less_int), [less_ptr](#less_ptr), [less_str](#less_str), [lil16](#lil16), [lil16p](#lil16p), [lil32](#lil32), [lil32f](#lil32f), [lil32p](#lil32p), [lil32pf](#lil32pf), [lil64](#lil64), [lil64f](#lil64f), [lil64p](#lil64p), [lil64pf](#lil64pf), [line_closest_point](#line_closest_point), [line_distance2_point](#line_distance2_point), [lookat44](#lookat44), [loop](#loop), [map_clear](#map_clear), [map_count](#map_count), [map_erase](#map_erase), [map_find](#map_find), [map_free](#map_free), [map_gc](#map_gc), [map_init](#map_init), [map_insert](#map_insert), [map_sort](#map_sort), [mat44q](#mat44q), [max2](#max2), [max3](#max3), [max4](#max4), [maxf](#maxf), [maxi](#maxi), [mesh](#mesh), [mesh_bounds](#mesh_bounds), [mesh_destroy](#mesh_destroy), [mesh_render](#mesh_render), [mesh_update](#mesh_update), [midi_send](#midi_send), [min2](#min2), [min3](#min3), [min4](#min4), [minf](#minf), [mini](#mini), [mix2](#mix2), [mix3](#mix3), [mix4](#mix4), [mixf](#mixf), [mixq](#mixq), [model](#model), [model_aabb](#model_aabb), [model_animate](#model_animate), [model_animate_blends](#model_animate_blends), [model_animate_clip](#model_animate_clip), [model_destroy](#model_destroy), [model_from_mem](#model_from_mem), [model_get_bone_pose](#model_get_bone_pose), [model_render](#model_render), [model_render_instanced](#model_render_instanced), [model_render_skeleton](#model_render_skeleton), [model_set_texture](#model_set_texture), [mul2](#mul2), [mul3](#mul3), [mul4](#mul4), [muladd34](#muladd34), [mulq](#mulq), [multiply33x2](#multiply33x2), [multiply34](#multiply34), [multiply34x2](#multiply34x2), [multiply34x3](#multiply34x3), [multiply44](#multiply44), [multiply44x2](#multiply44x2), [multiply44x3](#multiply44x3), [mulv33](#mulv33), [neg2](#neg2), [neg3](#neg3), [neg4](#neg4), [negq](#negq), [network_tests](#network_tests), [norm2](#norm2), [norm3](#norm3), [norm3sq](#norm3sq), [norm4](#norm4), [norm4sq](#norm4sq), [normq](#normq), [obj_calloc](#obj_calloc), [obj_clone](#obj_clone), [obj_copy](#obj_copy), [obj_del](#obj_del), [obj_extend](#obj_extend), [obj_free](#obj_free), [obj_hexdump](#obj_hexdump), [obj_hexdumpf](#obj_hexdumpf), [obj_initialize](#obj_initialize), [obj_instances](#obj_instances), [obj_load](#obj_load), [obj_load_file](#obj_load_file), [obj_load_inplace](#obj_load_inplace), [obj_malloc](#obj_malloc), [obj_mutate](#obj_mutate), [obj_new](#obj_new), [obj_output](#obj_output), [obj_override](#obj_override), [obj_printf](#obj_printf), [obj_ref](#obj_ref), [obj_save](#obj_save), [obj_save_file](#obj_save_file), [obj_save_inplace](#obj_save_inplace), [obj_sizeof](#obj_sizeof), [obj_typeeq](#obj_typeeq), [obj_typeid](#obj_typeid), [obj_typeid_from_name](#obj_typeid_from_name), [obj_typeof](#obj_typeof), [obj_unref](#obj_unref), [obj_zero](#obj_zero), [object](#object), [object_billboard](#object_billboard), [object_diffuse](#object_diffuse), [object_diffuse_pop](#object_diffuse_pop), [object_diffuse_push](#object_diffuse_push), [object_model](#object_model), [object_move](#object_move), [object_pivot](#object_pivot), [object_position](#object_position), [object_rotate](#object_rotate), [object_scale](#object_scale), [object_teleport](#object_teleport), [option](#option), [optionf](#optionf), [optioni](#optioni), [ortho3](#ortho3), [ortho44](#ortho44), [PANIC](#PANIC), [pbr_material](#pbr_material), [pbr_material_destroy](#pbr_material_destroy), [perspective44](#perspective44), [plane4](#plane4), [pmod2](#pmod2), [pmod3](#pmod3), [pmod4](#pmod4), [pmodf](#pmodf), [poly_alloc](#poly_alloc), [poly_free](#poly_free), [poly_hit_aabb](#poly_hit_aabb), [poly_hit_aabb_transform](#poly_hit_aabb_transform), [poly_hit_capsule](#poly_hit_capsule), [poly_hit_capsule_transform](#poly_hit_capsule_transform), [poly_hit_poly](#poly_hit_poly), [poly_hit_poly_transform](#poly_hit_poly_transform), [poly_hit_sphere](#poly_hit_sphere), [poly_hit_sphere_transform](#poly_hit_sphere_transform), [poly_test_aabb](#poly_test_aabb), [poly_test_aabb_transform](#poly_test_aabb_transform), [poly_test_capsule](#poly_test_capsule), [poly_test_capsule_transform](#poly_test_capsule_transform), [poly_test_poly](#poly_test_poly), [poly_test_poly_transform](#poly_test_poly_transform), [poly_test_sphere](#poly_test_sphere), [poly_test_sphere_transform](#poly_test_sphere_transform), [popcnt64](#popcnt64), [portname](#portname), [pose](#pose), [print2](#print2), [print3](#print3), [print33](#print33), [print34](#print34), [print4](#print4), [print44](#print44), [PRINTF](#PRINTF), [printq](#printq), [profile_enable](#profile_enable), [ptr2](#ptr2), [ptr3](#ptr3), [ptr4](#ptr4), [ptrq](#ptrq), [pyramid](#pyramid), [rad](#rad), [rand64](#rand64), [randf](#randf), [randi](#randi), [randset](#randset), [ray_hit_aabb](#ray_hit_aabb), [ray_hit_plane](#ray_hit_plane), [ray_hit_sphere](#ray_hit_sphere), [ray_hit_triangle](#ray_hit_triangle), [ray_test_aabb](#ray_test_aabb), [ray_test_plane](#ray_test_plane), [ray_test_sphere](#ray_test_sphere), [ray_test_triangle](#ray_test_triangle), [record_active](#record_active), [record_start](#record_start), [record_stop](#record_stop), [refl2](#refl2), [refl3](#refl3), [refl4](#refl4), [relocate44](#relocate44), [rgba](#rgba), [rgbaf](#rgbaf), [rnd3](#rnd3), [rotate33](#rotate33), [rotate3q](#rotate3q), [rotate3q_2](#rotate3q_2), [rotate44](#rotate44), [rotatex3](#rotatex3), [rotatey3](#rotatey3), [rotatez3](#rotatez3), [rotation33](#rotation33), [rotation44](#rotation44), [rotationq](#rotationq), [rotationq33](#rotationq33), [rotationq44](#rotationq44), [scale2](#scale2), [scale3](#scale3), [scale33](#scale33), [scale34](#scale34), [scale4](#scale4), [scale44](#scale44), [scaleq](#scaleq), [scaling33](#scaling33), [scaling44](#scaling44), [scene_count](#scene_count), [scene_get_active](#scene_get_active), [scene_index](#scene_index), [scene_merge](#scene_merge), [scene_pop](#scene_pop), [scene_push](#scene_push), [scene_render](#scene_render), [scene_spawn](#scene_spawn), [screenshot](#screenshot), [screenshot_async](#screenshot_async), [script_bind_class](#script_bind_class), [script_bind_function](#script_bind_function), [script_call](#script_call), [script_init](#script_init), [script_run](#script_run), [script_runfile](#script_runfile), [script_tests](#script_tests), [set_clear](#set_clear), [set_count](#set_count), [set_erase](#set_erase), [set_find](#set_find), [set_free](#set_free), [set_gc](#set_gc), [set_init](#set_init), [set_insert](#set_insert), [shader](#shader), [shader_bind](#shader_bind), [shader_bool](#shader_bool), [shader_colormap](#shader_colormap), [shader_destroy](#shader_destroy), [shader_float](#shader_float), [shader_get_active](#shader_get_active), [shader_int](#shader_int), [shader_mat44](#shader_mat44), [shader_texture](#shader_texture), [shader_texture_unit](#shader_texture_unit), [shader_uint](#shader_uint), [shader_vec2](#shader_vec2), [shader_vec3](#shader_vec3), [shader_vec4](#shader_vec4), [shadertoy](#shadertoy), [shadertoy_render](#shadertoy_render), [shadowmap](#shadowmap), [shadowmap_begin](#shadowmap_begin), [shadowmap_destroy](#shadowmap_destroy), [shadowmap_end](#shadowmap_end), [shadowmap_set_shadowmatrix](#shadowmap_set_shadowmatrix), [shadowmatrix_ortho](#shadowmatrix_ortho), [shadowmatrix_proj](#shadowmatrix_proj), [signal_handler_abort](#signal_handler_abort), [signal_handler_debug](#signal_handler_debug), [signal_handler_ignore](#signal_handler_ignore), [signal_handler_quit](#signal_handler_quit), [signal_hooks](#signal_hooks), [signal_name](#signal_name), [signf](#signf), [simplex1](#simplex1), [simplex2](#simplex2), [simplex3](#simplex3), [simplex4](#simplex4), [skybox](#skybox), [skybox_destroy](#skybox_destroy), [skybox_pop_state](#skybox_pop_state), [skybox_push_state](#skybox_push_state), [skybox_render](#skybox_render), [sleep_ms](#sleep_ms), [sleep_ns](#sleep_ns), [sleep_ss](#sleep_ss), [sleep_us](#sleep_us), [slerpq](#slerpq), [sort_64](#sort_64), [sphere_closest_point](#sphere_closest_point), [sphere_hit_aabb](#sphere_hit_aabb), [sphere_hit_capsule](#sphere_hit_capsule), [sphere_hit_sphere](#sphere_hit_sphere), [sphere_test_aabb](#sphere_test_aabb), [sphere_test_capsule](#sphere_test_capsule), [sphere_test_poly](#sphere_test_poly), [sphere_test_sphere](#sphere_test_sphere), [spine](#spine), [spine_animate](#spine_animate), [spine_render](#spine_render), [spine_skin](#spine_skin), [spine_ui](#spine_ui), [sprite](#sprite), [sprite_flush](#sprite_flush), [sprite_rect](#sprite_rect), [sprite_sheet](#sprite_sheet), [stack](#stack), [storage_flush](#storage_flush), [storage_mount](#storage_mount), [storage_read](#storage_read), [strbeg](#strbeg), [strbegi](#strbegi), [strcatf](#strcatf), [strcmp_qsort](#strcmp_qsort), [strcmpi_qsort](#strcmpi_qsort), [strcut](#strcut), [strend](#strend), [strendi](#strendi), [string32](#string32), [string8](#string8), [strjoin](#strjoin), [strlcat](#strlcat), [strlcpy](#strlcpy), [strlerp](#strlerp), [strlower](#strlower), [strmatch](#strmatch), [strmatchi](#strmatchi), [strrepl](#strrepl), [strsplit](#strsplit), [strstri](#strstri), [strswap](#strswap), [strtok_s](#strtok_s), [strupper](#strupper), [sub2](#sub2), [sub3](#sub3), [sub4](#sub4), [subq](#subq), [swarm](#swarm), [swarm_update](#swarm_update), [swarm_update_acceleration_and_velocity_only](#swarm_update_acceleration_and_velocity_only), [swarm_update_acceleration_only](#swarm_update_acceleration_only), [tcp_bind](#tcp_bind), [tcp_close](#tcp_close), [tcp_debug](#tcp_debug), [tcp_host](#tcp_host), [tcp_open](#tcp_open), [tcp_peek](#tcp_peek), [tcp_port](#tcp_port), [tcp_recv](#tcp_recv), [tcp_send](#tcp_send), [tempva](#tempva), [tempvl](#tempvl), [texture](#texture), [texture_checker](#texture_checker), [texture_compressed](#texture_compressed), [texture_compressed_from_mem](#texture_compressed_from_mem), [texture_create](#texture_create), [texture_destroy](#texture_destroy), [texture_from_mem](#texture_from_mem), [texture_rec_begin](#texture_rec_begin), [texture_rec_end](#texture_rec_end), [texture_update](#texture_update), [thread](#thread), [thread_destroy](#thread_destroy), [tiled](#tiled), [tiled_render](#tiled_render), [tiled_ui](#tiled_ui), [tilemap](#tilemap), [tilemap_render](#tilemap_render), [tilemap_render_ext](#tilemap_render_ext), [tileset](#tileset), [tileset_ui](#tileset_ui), [time_hh](#time_hh), [time_mm](#time_mm), [time_ms](#time_ms), [time_ns](#time_ns), [time_ss](#time_ss), [time_us](#time_us), [timer](#timer), [timer_destroy](#timer_destroy), [transform33](#transform33), [transform344](#transform344), [transform444](#transform444), [transformq](#transformq), [translate44](#translate44), [translation44](#translation44), [transpose44](#transpose44), [tty_attach](#tty_attach), [tty_color](#tty_color), [tty_reset](#tty_reset), [udp_bind](#udp_bind), [udp_open](#udp_open), [udp_peek](#udp_peek), [udp_recv](#udp_recv), [udp_send](#udp_send), [udp_sendto](#udp_sendto), [ui_active](#ui_active), [ui_bits16](#ui_bits16), [ui_bits8](#ui_bits8), [ui_bool](#ui_bool), [ui_browse](#ui_browse), [ui_buffer](#ui_buffer), [ui_button](#ui_button), [ui_button_transparent](#ui_button_transparent), [ui_buttons](#ui_buttons), [ui_clampf](#ui_clampf), [ui_collapse](#ui_collapse), [ui_collapse_clicked](#ui_collapse_clicked), [ui_collapse_end](#ui_collapse_end), [ui_color3](#ui_color3), [ui_color3f](#ui_color3f), [ui_color4](#ui_color4), [ui_color4f](#ui_color4f), [ui_colormap](#ui_colormap), [ui_console](#ui_console), [ui_const_bool](#ui_const_bool), [ui_const_float](#ui_const_float), [ui_const_string](#ui_const_string), [ui_contextual](#ui_contextual), [ui_contextual_end](#ui_contextual_end), [ui_demo](#ui_demo), [ui_dialog](#ui_dialog), [ui_disable](#ui_disable), [ui_double](#ui_double), [ui_enable](#ui_enable), [ui_float](#ui_float), [ui_float2](#ui_float2), [ui_float3](#ui_float3), [ui_float4](#ui_float4), [ui_has_menubar](#ui_has_menubar), [ui_hover](#ui_hover), [ui_image](#ui_image), [ui_int](#ui_int), [ui_item](#ui_item), [ui_label](#ui_label), [ui_label2](#ui_label2), [ui_label2_toolbar](#ui_label2_toolbar), [ui_list](#ui_list), [ui_menu](#ui_menu), [ui_menu_editbox](#ui_menu_editbox), [ui_notify](#ui_notify), [ui_panel](#ui_panel), [ui_panel_end](#ui_panel_end), [ui_popups](#ui_popups), [ui_radio](#ui_radio), [ui_section](#ui_section), [ui_separator](#ui_separator), [ui_short](#ui_short), [ui_show](#ui_show), [ui_slider](#ui_slider), [ui_slider2](#ui_slider2), [ui_string](#ui_string), [ui_subimage](#ui_subimage), [ui_submenu](#ui_submenu), [ui_subtexture](#ui_subtexture), [ui_swarm](#ui_swarm), [ui_texture](#ui_texture), [ui_toggle](#ui_toggle), [ui_toolbar](#ui_toolbar), [ui_unsigned](#ui_unsigned), [ui_visible](#ui_visible), [ui_window](#ui_window), [ui_window_end](#ui_window_end), [unhash_32](#unhash_32), [unproject44](#unproject44), [vec23](#vec23), [vec34](#vec34), [vec3q](#vec3q), [vec4q](#vec4q), [vfs_handle](#vfs_handle), [vfs_list](#vfs_list), [vfs_load](#vfs_load), [vfs_mount](#vfs_mount), [vfs_read](#vfs_read), [vfs_resolve](#vfs_resolve), [vfs_size](#vfs_size), [video](#video), [video_decode](#video_decode), [video_destroy](#video_destroy), [video_duration](#video_duration), [video_has_finished](#video_has_finished), [video_is_paused](#video_is_paused), [video_is_rgb](#video_is_rgb), [video_pause](#video_pause), [video_position](#video_position), [video_seek](#video_seek), [video_textures](#video_textures), [viewport_clear](#viewport_clear), [viewport_clip](#viewport_clip), [viewport_color](#viewport_color), [viewport_color3](#viewport_color3), [vlen](#vlen), [vrealloc](#vrealloc), [watch](#watch), [window_aspect](#window_aspect), [window_aspect_lock](#window_aspect_lock), [window_aspect_unlock](#window_aspect_unlock), [window_canvas](#window_canvas), [window_color](#window_color), [window_create](#window_create), [window_create_from_handle](#window_create_from_handle), [window_cursor](#window_cursor), [window_cursor_shape](#window_cursor_shape), [window_delta](#window_delta), [window_focus](#window_focus), [window_fps](#window_fps), [window_fps_lock](#window_fps_lock), [window_fps_target](#window_fps_target), [window_fps_unlock](#window_fps_unlock), [window_frame](#window_frame), [window_frame_begin](#window_frame_begin), [window_frame_end](#window_frame_end), [window_frame_swap](#window_frame_swap), [window_fullscreen](#window_fullscreen), [window_handle](#window_handle), [window_has_cursor](#window_has_cursor), [window_has_focus](#window_has_focus), [window_has_fullscreen](#window_has_fullscreen), [window_has_pause](#window_has_pause), [window_has_visible](#window_has_visible), [window_height](#window_height), [window_icon](#window_icon), [window_loop](#window_loop), [window_loop_exit](#window_loop_exit), [window_pause](#window_pause), [window_record](#window_record), [window_reload](#window_reload), [window_screenshot](#window_screenshot), [window_stats](#window_stats), [window_swap](#window_swap), [window_time](#window_time), [window_title](#window_title), [window_visible](#window_visible), [window_width](#window_width), [xml_blob](#xml_blob), [xml_count](#xml_count), [xml_pop](#xml_pop), [xml_push](#xml_push), [xml_string](#xml_string), [xrealloc](#xrealloc), [xsize](#xsize), [xstats](#xstats), [zbounds](#zbounds), [zdecode](#zdecode), [zencode](#zencode), [zexcess](#zexcess)
## 🄼 macros
[aabb](#aabb), [acosf](#acosf), [array](#array), [array_at](#array_at), [array_back](#array_back), [array_bytes](#array_bytes), [array_cast](#array_cast), [array_clear](#array_clear), [array_copy](#array_copy), [array_count](#array_count), [array_data](#array_data), [array_empty](#array_empty), [array_erase](#array_erase), [array_foreach](#array_foreach), [array_foreach_ptr](#array_foreach_ptr), [array_free](#array_free), [array_init](#array_init), [array_insert](#array_insert), [array_pop](#array_pop), [array_pop_front](#array_pop_front), [array_push](#array_push), [array_push_front](#array_push_front), [array_realloc_](#array_realloc_), [array_reserve](#array_reserve), [array_resize](#array_resize), [array_reverse](#array_reverse), [array_search](#array_search), [array_shuffle](#array_shuffle), [array_sort](#array_sort), [array_unique](#array_unique), [array_vlen_](#array_vlen_), [asinf](#asinf), [atan2f](#atan2f), [axis](#axis), [benchmark](#benchmark), [boid](#boid), [capsule](#capsule), [cc4](#cc4), [cc8](#cc8), [ceilf](#ceilf), [conc4t](#conc4t), [concat](#concat), [copysignf](#copysignf), [cosf](#cosf), [countof](#countof), [ctor](#ctor), [defer](#defer), [do_once](#do_once), [dtor](#dtor), [each_array](#each_array), [each_array_ptr](#each_array_ptr), [each_map](#each_map), [each_map_ptr](#each_map_ptr), [each_map_ptr_sorted](#each_map_ptr_sorted), [each_set](#each_set), [each_set_ptr](#each_set_ptr), [each_substring](#each_substring), [expf](#expf), [floorf](#floorf), [fmodf](#fmodf), [frustum](#frustum), [gladLoadGL](#gladLoadGL), [hit](#hit), [hypotf](#hypotf), [ifdef](#ifdef), [ifdef_32](#ifdef_32), [ifdef_64](#ifdef_64), [ifdef_bsd](#ifdef_bsd), [ifdef_c](#ifdef_c), [ifdef_cl](#ifdef_cl), [ifdef_cpp](#ifdef_cpp), [ifdef_debug](#ifdef_debug), [ifdef_ems](#ifdef_ems), [ifdef_false](#ifdef_false), [ifdef_gcc](#ifdef_gcc), [ifdef_linux](#ifdef_linux), [ifdef_mingw](#ifdef_mingw), [ifdef_osx](#ifdef_osx), [ifdef_release](#ifdef_release), [ifdef_tcc](#ifdef_tcc), [ifdef_true](#ifdef_true), [ifdef_win32](#ifdef_win32), [ifndef](#ifndef), [is](#is), [isnt](#isnt), [json_count](#json_count), [json_float](#json_float), [json_int](#json_int), [json_key](#json_key), [json_string](#json_string), [line](#line), [log10f](#log10f), [logf](#logf), [macro](#macro), [map](#map), [map_cast](#map_cast), [map_clear](#map_clear), [map_count](#map_count), [map_erase](#map_erase), [map_find](#map_find), [map_find_or_add](#map_find_or_add), [map_find_or_add_allocated_key](#map_find_or_add_allocated_key), [map_foreach](#map_foreach), [map_foreach_ptr](#map_foreach_ptr), [map_foreach_ptr_sorted](#map_foreach_ptr_sorted), [map_free](#map_free), [map_gc](#map_gc), [map_init](#map_init), [map_init_int](#map_init_int), [map_init_ptr](#map_init_ptr), [map_init_str](#map_init_str), [map_insert](#map_insert), [mat33](#mat33), [mat34](#mat34), [mat44](#mat44), [obj_calloc](#obj_calloc), [obj_extend](#obj_extend), [obj_malloc](#obj_malloc), [obj_method](#obj_method), [obj_method0](#obj_method0), [obj_new](#obj_new), [obj_new0](#obj_new0), [obj_override](#obj_override), [obj_printf](#obj_printf), [plane](#plane), [poly](#poly), [powf](#powf), [profile](#profile), [profile_enable](#profile_enable), [profile_incstat](#profile_incstat), [profile_init](#profile_init), [profile_render](#profile_render), [profile_setstat](#profile_setstat), [quat](#quat), [ray](#ray), [scope](#scope), [set](#set), [set_cast](#set_cast), [set_clear](#set_clear), [set_count](#set_count), [set_erase](#set_erase), [set_find](#set_find), [set_find_or_add](#set_find_or_add), [set_find_or_add_allocated_key](#set_find_or_add_allocated_key), [set_foreach](#set_foreach), [set_foreach_ptr](#set_foreach_ptr), [set_free](#set_free), [set_gc](#set_gc), [set_init](#set_init), [set_init_int](#set_init_int), [set_init_ptr](#set_init_ptr), [set_init_str](#set_init_str), [set_insert](#set_insert), [sinf](#sinf), [sphere](#sphere), [sqrtf](#sqrtf), [strcatf](#strcatf), [strcmpi](#strcmpi), [stringf](#stringf), [strtok_r](#strtok_r), [tanf](#tanf), [triangle](#triangle), [va](#va), [vec2](#vec2), [vec2i](#vec2i), [vec3](#vec3), [vec3i](#vec3i), [vec4](#vec4), [xml_blob](#xml_blob), [xml_count](#xml_count), [xml_float](#xml_float), [xml_int](#xml_int)
<script>
markdeepOptions = {
tocStyle:'medium', /* auto,none,short,medium,long */
definitionStyle:'auto', /* auto,short,long */
linkAPIDefinitions: true, /* true */
};
</script>
<!-- Markdeep: --><script src="https://morgan3d.github.io/markdeep/1.13/markdeep.min.js?" charset="utf-8"></script>