v4k-git-backup/engine/v4k.html

11432 lines
414 KiB
HTML
Raw Normal View History

<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>
2023-08-10 14:30:56 +00:00
**V·4·K**
|Version: | 2023.7 |
|:--------------|:------------|
|Branch: | main |
|Commit: | 29 |
<!--| Documentation last modified | { {LAST_MODIFIED} } |-->
# [V·4·K 2023.7 ](https://dev.v4.games/zaklaus/v4k)
## a b o u t
2023-08-10 14:30:56 +00:00
- https://dev.v4.games/zaklaus/v4k is a 3D game framework in C, with Luajit bindings.
![Image from demo.c](https://i.imgur.com/sInbRoA.gif)
<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>
2023-08-10 14:30:56 +00:00
- [x] ~~Full featured~~, ~~Fast~~, ~~Modern C++~~. Small, Naive, Simple C.
- [x] ~~Rich build system~~, ~~Royaltie fee~~. Single file, Freely unlicensed.
</details>
<details><summary>Features ᕦ(ᐛ)ᕤ</summary>
- [x] Pipeline: configurable and integrated [asset pipeline](tools/cook.ini).
- [x] Embedded: [single-file header](engine/joint/fwk.h), all dependencies included.
- [x] Compiler: MSVC, MINGW64, TCC, GCC, clang, clang-cl and emscripten.
- [x] Linkage: Both static linkage and dynamic .dll/.so/.dylib support.
- [x] Platform: Windows, Linux and OSX. Partial HTML5/Web support.
- [x] DS: hash, sort, array/vector, map, set.
- [x] Math: rand, noise, ease, vec2/3/4, mat33/34/44, quat.
- [x] Geometry: ray, line, plane, aabb, sphere, capsule, triangle, poly and frustum.
- [x] Window: windowed, soft/hard fullscreen, msaa, icon, cursor handling.
- [x] Input: keyboard, mouse and gamepads.
- [x] Script: Lua scripting, Luajit bindings.
- [x] Network: downloads (HTTPS) and sockets (TCP/UDP). <!-- [*] 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.
2023-08-10 14:30:56 +00:00
- [x] Render: PBR (metallic-roughness) workflow. <!-- @todo: merge demo_pbr.c rendering code into v4k_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).
2023-08-10 14:30:56 +00:00
- [x] [Documentation (wip)](https://bit.ly/v4k2023).
</details>
<details><summary>Roadmap ᕕ(ᐛ)ᕗ (in order of arrival; ✱: partial support)</summary>
- [ ] AI pass: actors, waypoints, pathfinding, behavior trees (h/fsm,goap), and navmesh generation.
- [ ] Network/VM pass: Entity/component/systems and worlds. <!-- W/ECS, gameobj, serialization:load/save/merge, diff/patch ;; dead reckoning, interpolation, extrapolation, bandwidth budgets -->
2023-08-10 14:30:56 +00:00
- [ ] Core pass: struct serialization.
- [ ] 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).
2023-08-10 14:30:56 +00:00
- [ ] Editor pass = netbased + offline rendering + virtual input.
- [ ] Basic: Gizmos✱, scene tree, property editor✱, load/save✱, undo/redo✱, copy/paste, on/off (vis,tick,ddraw,log), vcs.
- [ ] Scenenode: node singleton display, node console, node labels, node outlines✱.<!-- node == gameobj ? -->
- [ ] Debug: toggles on/off (billboards✱, materials, un/lit, cast shadows, wireframe, skybox✱/mie✱, fog/atmosphere, collide✱, physics).
- [ ] Level: volumes, triggers, platforms, level streaming.
- [ ] Sub-editor: timeline and data tracks, node graphs. <!-- worthy: will be reused into materials, animgraphs and blueprints -->
- [ ] Sub-editor: Procedural content, brushes, noise and CSG.
- [ ] Sub-editor: blendshapes, additive anims, head/foot/hand IKs.
- [ ] Script pass: DLL✱ (module->plugin/sys), Lua✱, Luajit✱, Teal✱ and TypeScript.
- [ ] Render pass: reverse-Z, automatic LODs, impostors, decals.
- [ ] Materials: (colors✱, textures✱, matcaps✱, videos✱, shadertoys✱). Shadertoys as post-fx✱. <!--materials as postfx, as they have an update() method -->
- [ ] Lighting: Hard/soft shadow mapping (VSM,CCSM). Baked lightmaps. Refl probes. Integrated PBR.
- [ ] Tools pass
- [ ] Extend shaders + bindings. Per-platform✱, per-type✱, per-asset options. GIF, PKM.
- [ ] Extend atlas (sprite/lightmaps). Fit packing (sprites).
- [ ] Extend bindings and messaging: parse C headers during cooking stage. <!-- msgs,docs,refl,meta,lua -- (*.c, *.h) as .proto/.pbc maybe, free reflection+automatic bindings -->
- [ ] API pass
2023-08-10 14:30:56 +00:00
- [ ] Extend math: quat2, bezier, catmull.
- [ ] 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,
2023-08-10 14:30:56 +00:00
// v4k_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
2023-08-10 14:30:56 +00:00
- [ ] v4k_app: cpu usage, orientation
- [ ] v4k_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>
2023-08-10 14:30:56 +00:00
<details><summary>Hello V4K</summary>
```C
2023-08-10 14:30:56 +00:00
#include "v4k.h" // Minimal C sample
int main() {
window_create(75.0, 0); // 75% size, no extra flags
while( window_swap() && !input(KEY_ESC) ) { // game loop
2023-08-10 14:30:56 +00:00
puts("hello V4K from C!");
}
}
```
```lua
2023-08-10 14:30:56 +00:00
local v4k = require("v4k") -- Minimal Lua sample
v4k.window_create(75.0,0) -- 75% size, no extra flags
while v4k.window_swap() and v4k.input(v4k.KEY_ESC) == 0 do -- game loop
print("hello V4K from Lua!")
end
```
</details>
<details><summary>Quickstart</summary>
- Double-click `MAKE.bat` (Win) or `sh MAKE.bat` (Linux/OSX) to quick start.
- `MAKE.bat all` (Win) or `sh MAKE.bat all` (Linux/OSX) to build everything.
- `MAKE.bat proj` (Win) or `sh MAKE.bat proj` (Linux/OSX) to generate solutions/makefiles.
2023-08-10 14:30:56 +00:00
- `MAKE.bat help` (Win) or `sh MAKE.bat help` (Linux/OSX) for a bunch of options.
- `MAKE.bat hello.c` (Win) or `sh MAKE.bat hello.c` (Linux/OSX) to build a single executable.
- Alternatively,
```bat
echo win/vc && cl hello.c
echo win/clang-cl && clang-cl hello.c
echo win/tcc && tools\tcc hello.c -m64
echo win/mingw && gcc hello.c -lws2_32 -lwinmm -ldbghelp -lole32 -luser32 -lgdi32 -lcomdlg32
echo win/clang && clang hello.c -lws2_32 -lwinmm -ldbghelp -lole32 -luser32 -lgdi32 -lcomdlg32
echo linux && cc hello.c -lm -ldl -lpthread -lX11
echo linux/tcc && tcc hello.c -lm -ldl -lpthread -lX11 -D__STDC_NO_VLA__
echo osx && cc -ObjC hello.c -framework cocoa -framework iokit -framework audiotoolbox
```
</details>
<details><summary>Cook</summary>
2023-08-10 14:30:56 +00:00
- Assets need to be cooked before being consumed in your application. The [tools/](tools/) folder contains all the related binaries to perform any asset processing plus the [cookbook](tools/cook.ini) to do so.
- Your game will cook all your assets as long as the [`tools/`](tools/) folder is next to your executable. Alternatively, cook them all just by invoking supplied [`tools/cook` standalone binary](tools/).
- In both cases, assets will be cooked and packed into .zipfiles next to your executable, then mounted before entering game loop. These .zipfiles plus your executable are the only required files when releasing your game.
</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.
2023-08-10 14:30:56 +00:00
- Dropped files into game window will be imported & saved into [`import/`](engine/art/import/) folder.
- Update the gamepad controller database by upgrading the [`gamecontrollerdb.txt`](engine/art/input/) file.
- Depending on your IDE, you might need to browse to [`engine/split/`](engine/split/) sources when debugging FWK.
- Cook assets on demand, as opposed to cook all existing assets on depot, by using `--cook-on-demand` flag.
- Linux/OSX users can optionally install wine and use the Windows tools instead (by using `--cook-wine` flag).
- Disable automatic cooking by using `--cook-jobs=0` flag (not recommended).
2023-08-10 14:30:56 +00:00
- Generate a project solution by dropping `engine/v4k.h, v4k.c and v4k` files into it.
- Auto-generated Luajit and Python bindings can be found in the [`engine/bind/`](engine/bind/) folder.
<!-- - On windows + vc, you can use `make bindings` or `make docs` to generate everything prior to a release -->
<!-- - Note: Windows: Assimp.dll may need [this package installed](https://www.microsoft.com/en-us/download/confirmation.aspx?id=30679).-->
</details>
2023-08-10 14:30:56 +00:00
<details><summary>Credits</summary>
**Artwork**
[Dean Evans, Raijin](https://youtu.be/RRvYkrrpMKo?t=147 "for the Map song (c)"),
[FMS_Cat](https://gist.github.com/FMS-Cat/a1ccea3ce866c34706084e3526204f4f "for nicest VHS/VCR shader around (MIT)"),
[Goblin165cm](https://sketchfab.com/3d-models/halloween-little-witch-ccc023590bfb4789af9322864e42d1ab "for witch 3D model (CC BY 4.0)"),
2023-08-10 14:30:56 +00:00
[Nuulbee](https://sketchfab.com/3d-models/kgirls01-d2f946f58a8040ae993cda70c97b302c "for kgirls01 3D model (CC BY-NC-ND 4.0)"),
[Quaternius](https://www.patreon.com/quaternius "for the lovely 3D robots (CC0)"),
2023-08-10 14:30:56 +00:00
[Rotting Pixels](https://opengameart.org/content/2d-castle-platformer-tileset-16x16 "for castle-tileset (CC0)"),
[Tom Lewandowski](https://QuestStudios.com "for his MIDI recordings (c)"),
[Rye Terrell](https://github.com/wwwtyro/glsl-atmosphere "for nicest rayleigh/mie scattering shader around (CC0)"),
**Tools**
[Aaron Barany](https://github.com/akb825/Cuttlefish "for cuttlefish (APACHE2)"),
[Arseny Kapoulkine](https://github.com/zeux/pugixml/ "for pugixml (MIT)"),
[Assimp authors](https://github.com/assimp/assimp "for assimp (BSD3)"),
[Bernhard Schelling](https://github.com/schellingb/TinySoundFont "for tml.h (Zlib) and tsf.h (MIT)"),
[Christian Collins](http://www.schristiancollins.com "for GeneralUser GS soundfont (PD)"),
[FFMPEG authors](https://www.ffmpeg.org/ "for ffmpeg (LGPL21)"),
[Imagination](https://developer.imaginationtech.com/pvrtextool/ "for pvrtextoolcli (ITL)"),
[Krzysztof Gabis](https://github.com/kgabis/ape "for split.py/join.py (MIT)"),
[Lee Salzman](https://github.com/lsalzman/iqm/tree/5882b8c32fa622eba3861a621bb715d693573420/demo "for iqm.cpp (PD)"),
[Martín Lucas Golini](https://github.com/SpartanJ/eepp/commit/8552941da19380d7a629c4da80a976aec5d39e5c "for emscripten-fs.html (CC0)"),
[Mattias Gustavsson](https://github.com/mattiasgustavsson/libs "for mid.h (PD)"),
[Michael Schmoock](http://github.com/willsteel/lcpp "for lcpp (MIT)"),
[Morgan McGuire](https://casual-effects.com/markdeep/ "for markdeep (BSD2)"),
[Olivier Lapicque, Konstanty Bialkowski](https://github.com/Konstanty/libmodplug "for libmodplug (PD)"),
[Polyglot Team](https://docs.google.com/spreadsheets/d/17f0dQawb-s_Fd7DHgmVvJoEGDMH_yoSd8EYigrb0zmM/edit "for polyglot gamedev (CC0)"),
[Tildearrow](https://github.com/tildearrow/furnace/ "for Furnace (GPL2)"),
[Tomas Pettersson](http://www.drpetter.se/ "for sfxr (PD)"),
[Tor Andersson](https://github.com/ccxvii/asstools "for assiqe.c (BSD)"),
**Runtime**
[Andreas Mantler](https://github.com/ands "for their math library (PD)"),
[Barerose](https://github.com/barerose "for swrap (CC0) and math library (CC0)"),
[Camilla Löwy](https://github.com/elmindreda "for glfw3 (Zlib)"),
[Dave Rand](https://tools.ietf.org/html/rfc1978 "for ppp (PD)"),
[David Herberth](https://github.com/dav1dde/ "for glad generated code (PD)"),
[David Reid](https://github.com/mackron "for miniaudio (PD)"),
[Dominic Szablewski](https://github.com/phoboslab/pl_mpeg "for pl_mpeg (MIT)"),
[Dominik Madarász](https://github.com/zaklaus "for json5 parser (PD)"),
[Eduard Suica](https://github.com/eduardsui/tlse "for tlse (PD)"),
[Evan Wallace](https://github.com/evanw "for their math library (CC0)"),
[Gargaj+cce/Peisik](https://github.com/gargaj/foxotron "for Foxotron/PBR shaders (UNLICENSE)"),
[Guilherme Lampert](https://github.com/glampert "for their math library (PD)"),
[Guillaume Vareille](http://tinyfiledialogs.sourceforge.net "for tinyfiledialogs (ZLIB)"),
[Haruhiko Okumura](https://oku.edu.mie-u.ac.jp/~okumura/compression/ "for lzss (PD)"),
[Igor Pavlov](https://www.7-zip.org/ "for LZMA (PD)"),
[Ilya Muravyov](https://github.com/encode84 "for bcm, balz, crush, ulz, lz4x (PD)"),
[Jon Olick](https://www.jonolick.com/ "for jo_mp1 and jo_mpeg (PD)"),
[Joonas Pihlajamaa](https://github.com/jokkebk/JUnzip "for JUnzip library (PD)"),
[Juliette Focault](https://github.com/juliettef/IconFontCppHeaders/blob/main/IconsMaterialDesign.h "for the generated MD header (ZLIB)"),
[Kristoffer Grönlund](https://github.com/krig "for their math library (CC0)"),
[Lee Salzman](https://github.com/lsalzman/iqm/tree/5882b8c32fa622eba3861a621bb715d693573420/demo "for IQM spec & player (PD)"),
[Lee Salzman, V.Hrytsenko, D.Madarász](https://github.com/zpl-c/enet/ "for enet (MIT)"),
[Libtomcrypt](https://github.com/libtom/libtomcrypt "for libtomcrypt (Unlicense)"),
[Lua authors](https://www.lua.org/ "for Lua language (MIT)"),
[Mattias Gustavsson](https://github.com/mattiasgustavsson/libs "for thread.h and https.h (PD)"),
[Micha Mettke](https://github.com/vurtun "for their math library (PD)"),
[Micha Mettke, Chris Willcocks, Dmitry Hrabrov](https://github.com/vurtun/nuklear "for nuklear (PD)"),
[Michael Galetzka](https://github.com/Cultrarius/Swarmz "for swarmz (UNLICENSE)"),
[Morten Vassvik](https://github.com/vassvik/mv_easy_font "for mv_easy_font (Unlicense)"),
2023-08-10 14:30:56 +00:00
[Mārtiņš Možeiko](https://gist.github.com/mmozeiko/68f0a8459ef2f98bcd879158011cc275 "for A* pathfinding (PD)"),
[Omar Cornut, vaiorabbit](https://github.com/ocornut/imgui/pull/3627 "for tables of unicode ranges (MIT-0)"),
[Rabia Alhaffar](https://github.com/Rabios/ice_libs "for ice_batt.h (PD)"),
[Rich Geldreich](https://github.com/richgel999/miniz "for miniz (PD)"),
[Ross Williams](http://ross.net/compression/lzrw3a.html "for lzrw3a (PD)"),
[Samuli Raivio](https://github.com/bqqbarbhg/bq_websocket "for bq_websocket (PD)"),
[Sean Barrett](https://github.com/nothings "for stb_image, stb_image_write, stb_sprintf, stb_truetype and stb_vorbis (PD)"),
[Sebastian Steinhauer](https://github.com/kieselsteini "for sts_mixer (PD)"),
[Stan Melax, Cloud Wu](https://web.archive.org/web/20031204035320/http://www.melax.com/polychop/gdmag.pdf "for polychop C algorithm (PD)"),
[Stefan Gustavson](https://github.com/stegu/perlin-noise "for simplex noise (PD)"),
[Sterling Orsten](https://github.com/sgorsten "for their math library (UNLICENSE)"),
[Tor Andersson](https://github.com/ccxvii/minilibs "for xml.c (PD)"),
[Wolfgang Draxinger](https://github.com/datenwolf "for their math library (WTFPL2)"),
2023-08-10 14:30:56 +00:00
<!--
- [DavidLam](https://en.wikipedia.org/wiki/Tokamak_(software) "for tokamak physics engine (ZLIB)")
- [ID Software, David St-Louis](https://github.com/Daivuk/PureDOOM "for PureDOOM (Doom License)")
- [Miloslav Číž](https://codeberg.org/drummyfish/Anarch "for Anarch (CC0)")
- [Rxi](https://github.com/rxi/autobatch "for lovely sprites & cats demo (MIT)")
-->
</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>
## 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,
2023-08-10 14:30:56 +00:00
AUDIO_32KHZ = 64,
AUDIO_44KHZ = 128,
AUDIO_MIXER_GAIN = 0,
2023-08-10 14:30:56 +00:00
AUDIO_IGNORE_MIXER_GAIN = 256,
AUDIO_MULTIPLE_INSTANCES = 0,
2023-08-10 14:30:56 +00:00
AUDIO_SINGLE_INSTANCE = 512
};
~~~~~~
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</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>
2023-08-10 14:30:56 +00:00
## netsync
<a name="{"></a>
<details><summary><code lang=C>🄴 enum {;</code></summary>
~~~~~~C
enum {
NETWORK_BIND = 2,
NETWORK_CONNECT = 4,
NETWORK_NOFAIL = 8
};
~~~~~~
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="{"></a>
<details><summary><code lang=C>🄴 enum {;</code></summary>
~~~~~~C
enum {
MAX_CLIENTS = 32
};
~~~~~~
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="network_create"></a>
<details><summary><code lang=C>🄵 API void network_create(const char* ip,const char* port,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="{"></a>
<details><summary><code lang=C>🄴 enum {;</code></summary>
~~~~~~C
enum {
NETWORK_SEND = 2,
NETWORK_RECV = 4
};
~~~~~~
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="network_buffer"></a>
<details><summary><code lang=C>🄵 API void* network_buffer(void* ptr,unsigned sz,unsigned flags,int64_t rank);</code></summary>
Under construction. Yet 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_sync"></a>
<details><summary><code lang=C>🄵 API char** network_sync(unsigned timeout_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="{"></a>
<details><summary><code lang=C>🄴 enum {;</code></summary>
~~~~~~C
enum {
NETWORK_RANK = 0
};
~~~~~~
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="{"></a>
<details><summary><code lang=C>🄴 enum {;</code></summary>
~~~~~~C
enum {
NETWORK_PING = 1
};
~~~~~~
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="{"></a>
<details><summary><code lang=C>🄴 enum {;</code></summary>
~~~~~~C
enum {
NETWORK_PORT = 2,
NETWORK_IP,
NETWORK_LIVE
};
~~~~~~
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="network_get"></a>
<details><summary><code lang=C>🄵 API int64_t network_get(uint64_t 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="network_put"></a>
<details><summary><code lang=C>🄵 API int64_t network_put(uint64_t key,int64_t 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>
2023-08-10 17:56:28 +00:00
<a name="network_rpc"></a>
<details><summary><code lang=C>🄵 API void network_rpc(const char* signature,void* function);</code></summary>
2023-08-10 14:30:56 +00:00
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
2023-08-10 17:56:28 +00:00
<a name="network_rpc_send_to"></a>
<details><summary><code lang=C>🄵 API void network_rpc_send_to(int64_t rank,unsigned id,const char* 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="network_rpc_send"></a>
<details><summary><code lang=C>🄵 API void network_rpc_send(unsigned id,const char* cmdline);</code></summary>
2023-08-10 14:30:56 +00:00
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="server_bind"></a>
<details><summary><code lang=C>🄵 API bool server_bind(int max_clients,int 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="server_poll"></a>
<details><summary><code lang=C>🄵 API void server_poll();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="server_broadcast_bin"></a>
<details><summary><code lang=C>🄵 API void server_broadcast_bin(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="server_broadcast"></a>
<details><summary><code lang=C>🄵 API void server_broadcast(const char* 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="server_terminate"></a>
<details><summary><code lang=C>🄵 API void server_terminate();</code></summary>
Under construction. Yet to be documented.
Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#strjoin), [IMAGE_FLAGS](#IMAGE_FLAGS) or [image_t](#image_t).
</details>
<a name="server_send"></a>
<details><summary><code lang=C>🄵 API void server_send(int64_t handle,const char* 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>
2023-08-10 17:56:28 +00:00
<a name="server_send_bin"></a>
<details><summary><code lang=C>🄵 API void server_send_bin(int64_t handle,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>
2023-08-10 14:30:56 +00:00
<a name="server_drop"></a>
<details><summary><code lang=C>🄵 API void server_drop(int64_t 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="client_join"></a>
<details><summary><code lang=C>🄵 API int64_t client_join(const char* ip,int 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>
## 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
2023-08-10 14:30:56 +00:00
[_CRT_NONSTDC_NO_DEPRECATE](#_CRT_NONSTDC_NO_DEPRECATE), [_CRT_SECURE_NO_WARNINGS](#_CRT_SECURE_NO_WARNINGS), [_GNU_SOURCE](#_GNU_SOURCE), [_WIN32_WINNT](#_WIN32_WINNT), [_WINSOCK_DEPRECATED_NO_WARNINGS](#_WINSOCK_DEPRECATED_NO_WARNINGS), [ALLOCSIZE](#ALLOCSIZE), [ANYHOST_IPV4](#ANYHOST_IPV4), [ANYHOST_IPV6](#ANYHOST_IPV6), [API](#API), [AQUA](#AQUA), [ASSERT](#ASSERT), [ASSERT_ONCE](#ASSERT_ONCE), [BLACK](#BLACK), [BLUE](#BLUE), [C_CAST](#C_CAST), [C_EPSILON](#C_EPSILON), [C_PI](#C_PI), [CALLOC](#CALLOC), [CYAN](#CYAN), [ENABLE_FASTCALL_LUA](#ENABLE_FASTCALL_LUA), [ENABLE_LINUX_CALLSTACKS](#ENABLE_LINUX_CALLSTACKS), [ENABLE_MEMORY_LEAKS](#ENABLE_MEMORY_LEAKS), [ENABLE_MEMORY_POISON](#ENABLE_MEMORY_POISON), [ENABLE_PROFILER](#ENABLE_PROFILER), [ENABLE_SELFIES](#ENABLE_SELFIES), [EXPAND](#EXPAND), [EXPAND_ARGS](#EXPAND_ARGS), [EXPAND_COUNT_ARGS](#EXPAND_COUNT_ARGS), [EXPAND_J01N](#EXPAND_J01N), [EXPAND_J0IN](#EXPAND_J0IN), [EXPAND_JOIN](#EXPAND_JOIN), [EXPAND_QUOTE](#EXPAND_QUOTE), [EXPAND_RETURN_COUNT](#EXPAND_RETURN_COUNT), [EXPORT](#EXPORT), [FILELINE](#FILELINE), [FINITE](#FINITE), [FONT_BASELINE](#FONT_BASELINE), [FONT_BOTTOM](#FONT_BOTTOM), [FONT_CENTER](#FONT_CENTER), [FONT_COLOR1](#FONT_COLOR1), [FONT_COLOR10](#FONT_COLOR10), [FONT_COLOR2](#FONT_COLOR2), [FONT_COLOR3](#FONT_COLOR3), [FONT_COLOR4](#FONT_COLOR4), [FONT_COLOR5](#FONT_COLOR5), [FONT_COLOR6](#FONT_COLOR6), [FONT_COLOR7](#FONT_COLOR7), [FONT_COLOR8](#FONT_COLOR8), [FONT_COLOR9](#FONT_COLOR9), [FONT_FACE1](#FONT_FACE1), [FONT_FACE2](#FONT_FACE2), [FONT_FACE3](#FONT_FACE3), [FONT_FACE4](#FONT_FACE4), [FONT_FACE5](#FONT_FACE5), [FONT_FACE6](#FONT_FACE6), [FONT_H1](#FONT_H1), [FONT_H2](#FONT_H2), [FONT_H3](#FONT_H3), [FONT_H4](#FONT_H4), [FONT_H5](#FONT_H5), [FONT_H6](#FONT_H6), [FONT_LEFT](#FONT_LEFT), [FONT_MIDDLE](#FONT_MIDDLE), [FONT_RIGHT](#FONT_RIGHT), [FONT_TOP](#FONT_TOP), [FORCE_INLINE](#FORCE_INLINE), [FORGET](#FORGET), [FREE](#FREE), [GJK_H](#GJK_H), [GJK_MAX_ITERATIONS](#GJK_MAX_ITERATIONS), [GLAD_API_CALL](#GLAD_API_CALL), [GRAY](#GRAY), [GREEN](#GREEN), [IMPORT](#IMPORT), [INLINE](#INLINE), [LOCALHOST_IPV4](#LOCALHOST_IPV4), [LOCALHOST_IPV6](#LOCALHOST_IPV6), [MALLOC](#MALLOC), [MAP_DONT_ERASE](#MAP_DONT_ERASE), [MAP_HASHSIZE](#MAP_HASHSIZE), [OBJBOX](#OBJBOX), [OBJPAYLOAD16](#OBJPAYLOAD16), [OBJPAYLOAD3](#OBJPAYLOAD3), [OBJUNBOX](#OBJUNBOX), [ORANGE](#ORANGE), [PANIC](#PANIC), [PINK](#PINK), [PRINTF](#PRINTF), [PURPLE](#PURPLE), [REALLOC](#REALLOC), [RED](#RED), [RGB3](#RGB3), [RGB4](#RGB4), [RGBX](#RGBX), [SET_DONT_ERASE](#SET_DONT_ERASE), [SET_HASHSIZE](#SET_HASHSIZE), [STATIC](#STATIC), [STATIC_ASSERT](#STATIC_ASSERT), [STRDUP](#STRDUP), [STRINGIZ3](#STRINGIZ3), [STRINGIZE](#STRINGIZE), [TO_DEG](#TO_DEG), [TO_RAD](#TO_RAD), [WATCH](#WATCH), [WHITE](#WHITE), [YELLOW](#YELLOW)
## 🄴 enums
2023-08-10 14:30:56 +00:00
[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
2023-08-10 17:56:28 +00:00
[aabb_closest_point](#aabb_closest_point), [aabb_contains_point](#aabb_contains_point), [aabb_distance2_point](#aabb_distance2_point), [aabb_hit_aabb](#aabb_hit_aabb), [aabb_hit_capsule](#aabb_hit_capsule), [aabb_hit_sphere](#aabb_hit_sphere), [aabb_test_aabb](#aabb_test_aabb), [aabb_test_capsule](#aabb_test_capsule), [aabb_test_poly](#aabb_test_poly), [aabb_test_sphere](#aabb_test_sphere), [abs2](#abs2), [abs3](#abs3), [abs4](#abs4), [absf](#absf), [absi](#absi), [add2](#add2), [add3](#add3), [add34](#add34), [add34x2](#add34x2), [add4](#add4), [addq](#addq), [alert](#alert), [alpha](#alpha), [app_battery](#app_battery), [app_cache](#app_cache), [app_cmdline](#app_cmdline), [app_cores](#app_cores), [app_exec](#app_exec), [app_name](#app_name), [app_path](#app_path), [app_temp](#app_temp), [argc](#argc), [argv](#argv), [audio_clip](#audio_clip), [audio_play](#audio_play), [audio_play_gain](#audio_play_gain), [audio_play_gain_pitch](#audio_play_gain_pitch), [audio_play_gain_pitch_pan](#audio_play_gain_pitch_pan), [audio_queue](#audio_queue), [audio_stop](#audio_stop), [audio_stream](#audio_stream), [audio_volume_clip](#audio_volume_clip), [audio_volume_master](#audio_volume_master), [audio_volume_stream](#audio_volume_stream), [bgra](#bgra), [bgraf](#bgraf), [big16](#big16), [big16p](#big16p), [big32](#big32), [big32f](#big32f), [big32p](#big32p), [big32pf](#big32pf), [big64](#big64), [big64f](#big64f), [big64p](#big64p), [big64pf](#big64pf), [brdf_lut](#brdf_lut), [breakpoint](#breakpoint), [cache_insert](#cache_insert), [cache_lookup](#cache_lookup), [callstack](#callstack), [callstackf](#callstackf), [camera](#camera), [camera_enable](#camera_enable), [camera_fov](#camera_fov), [camera_fps](#camera_fps), [camera_get_active](#camera_get_active), [camera_lookat](#camera_lookat), [camera_move](#camera_move), [camera_orbit](#camera_orbit), [camera_teleport](#camera_teleport), [capsule_closest_point](#capsule_closest_point), [capsule_distance2_point](#capsule_distance2_point), [capsule_hit_aabb](#capsule_hit_aabb), [capsule_hit_capsule](#capsule_hit_capsule), [capsule_hit_sphere](#capsule_hit_sphere), [capsule_test_aabb](#capsule_test_aabb), [capsule_test_capsule](#capsule_test_capsule), [capsule_test_poly](#capsule_test_poly), [capsule_test_sphere](#capsule_test_sphere), [cc4](#cc4), [cc4str](#cc4str), [cc8](#cc8), [cc8str](#cc8str), [ceil2](#ceil2), [ceil3](#ceil3), [ceil4](#ceil4), [clamp2](#clamp2), [clamp3](#clamp3), [clamp4](#clamp4), [clampf](#clampf), [clampi](#clampi), [client_join](#client_join), [clip](#clip), [collide_demo](#collide_demo), [colormap](#colormap), [compose33](#compose33), [compose34](#compose34), [compose44](#compose44), [conjq](#conjq), [cook_cancel](#cook_cancel), [cook_config](#cook_config), [cook_jobs](#cook_jobs), [cook_progress](#cook_progress), [cook_start](#cook_start), [cook_stop](#cook_stop), [copy33](#copy33), [copy34](#copy34), [copy44](#copy44), [cross2](#cross2), [cross3](#cross3), [cubemap](#cubemap), [cubemap6](#cubemap6), [cubemap_destroy](#cubemap_destroy), [cubemap_get_active](#cubemap_get_active), [data_tests](#data_tests), [date](#date), [date_epoch](#date_epoch), [date_string](#date_string), [ddraw_aabb](#ddraw_aabb), [ddraw_aabb_corners](#ddraw_aabb_corners), [ddraw_arrow](#ddraw_arrow), [ddraw_axis](#ddraw_axis), [ddraw_boid](#ddraw_boid), [ddraw_bone](#ddraw_bone), [ddraw_bounds](#ddraw_bounds), [ddraw_box](#ddraw_box), [ddraw_capsule](#ddraw_capsule), [ddraw_circle](#ddraw_circle), [ddraw_color](#ddraw_color), [ddraw_color_pop](#ddraw_color_pop), [ddraw_color_push](#ddraw_color_push), [ddraw_cone](#ddraw_cone), [ddraw_cube](#ddraw_cube), [ddraw_cube33](#ddraw_cube33), [ddraw_cylinder](#ddraw_cylinder), [ddraw_demo](#ddraw_demo), [ddraw_diamond](#ddraw_diamond), [ddraw_flush](#ddraw_flush), [ddraw_flush_projview](#ddraw_flush_projview), [ddraw_frustum](#ddraw_frustum), [ddraw_grid](#ddraw_grid), [ddraw_ground](#ddraw_ground), [ddraw_hexagon](#ddraw_hexagon), [ddraw_line](#ddraw_line), [ddraw_line_dashed](#ddraw_line_dashed), [ddraw_line_thin](#ddraw_line_thin), [ddraw_nor
## 🄼 macros
2023-08-10 14:30:56 +00:00
[aabb](#aabb), [acosf](#acosf), [array](#array), [array_at](#array_at), [array_back](#array_back), [array_bytes](#array_bytes), [array_cast](#array_cast), [array_clear](#array_clear), [array_copy](#array_copy), [array_count](#array_count), [array_data](#array_data), [array_empty](#array_empty), [array_erase](#array_erase), [array_foreach](#array_foreach), [array_foreach_ptr](#array_foreach_ptr), [array_free](#array_free), [array_init](#array_init), [array_insert](#array_insert), [array_pop](#array_pop), [array_pop_front](#array_pop_front), [array_push](#array_push), [array_push_front](#array_push_front), [array_realloc_](#array_realloc_), [array_reserve](#array_reserve), [array_resize](#array_resize), [array_reverse](#array_reverse), [array_search](#array_search), [array_shuffle](#array_shuffle), [array_sort](#array_sort), [array_unique](#array_unique), [array_vlen_](#array_vlen_), [asinf](#asinf), [atan2f](#atan2f), [axis](#axis), [benchmark](#benchmark), [boid](#boid), [capsule](#capsule), [cc4](#cc4), [cc8](#cc8), [ceilf](#ceilf), [client_send](#client_send), [client_send_bin](#client_send_bin), [client_terminate](#client_terminate), [conc4t](#conc4t), [concat](#concat), [copysignf](#copysignf), [cosf](#cosf), [countof](#countof), [ctor](#ctor), [defer](#defer), [do_once](#do_once), [dtor](#dtor), [each_array](#each_array), [each_array_ptr](#each_array_ptr), [each_map](#each_map), [each_map_ptr](#each_map_ptr), [each_map_ptr_sorted](#each_map_ptr_sorted), [each_set](#each_set), [each_set_ptr](#each_set_ptr), [each_substring](#each_substring), [expf](#expf), [floorf](#floorf), [fmodf](#fmodf), [frustum](#frustum), [gladLoadGL](#gladLoadGL), [hit](#hit), [hypotf](#hypotf), [ifdef](#ifdef), [ifdef_32](#ifdef_32), [ifdef_64](#ifdef_64), [ifdef_bsd](#ifdef_bsd), [ifdef_c](#ifdef_c), [ifdef_cl](#ifdef_cl), [ifdef_cpp](#ifdef_cpp), [ifdef_debug](#ifdef_debug), [ifdef_ems](#ifdef_ems), [ifdef_false](#ifdef_false), [ifdef_gcc](#ifdef_gcc), [ifdef_linux](#ifdef_linux), [ifdef_mingw](#ifdef_mingw), [ifdef_osx](#ifdef_osx), [ifdef_release](#ifdef_release), [ifdef_tcc](#ifdef_tcc), [ifdef_true](#ifdef_true), [ifdef_win32](#ifdef_win32), [ifndef](#ifndef), [is](#is), [isnt](#isnt), [json_count](#json_count), [json_float](#json_float), [json_int](#json_int), [json_key](#json_key), [json_string](#json_string), [line](#line), [log10f](#log10f), [logf](#logf), [macro](#macro), [map](#map), [map_cast](#map_cast), [map_clear](#map_clear), [map_count](#map_count), [map_erase](#map_erase), [map_find](#map_find), [map_find_or_add](#map_find_or_add), [map_find_or_add_allocated_key](#map_find_or_add_allocated_key), [map_foreach](#map_foreach), [map_foreach_ptr](#map_foreach_ptr), [map_foreach_ptr_sorted](#map_foreach_ptr_sorted), [map_free](#map_free), [map_gc](#map_gc), [map_init](#map_init), [map_init_int](#map_init_int), [map_init_ptr](#map_init_ptr), [map_init_str](#map_init_str), [map_insert](#map_insert), [mat33](#mat33), [mat34](#mat34), [mat44](#mat44), [obj_calloc](#obj_calloc), [obj_extend](#obj_extend), [obj_malloc](#obj_malloc), [obj_method](#obj_method), [obj_method0](#obj_method0), [obj_new](#obj_new), [obj_new0](#obj_new0), [obj_override](#obj_override), [obj_printf](#obj_printf), [plane](#plane), [poly](#poly), [powf](#powf), [profile](#profile), [profile_enable](#profile_enable), [profile_incstat](#profile_incstat), [profile_init](#profile_init), [profile_render](#profile_render), [profile_setstat](#profile_setstat), [quat](#quat), [ray](#ray), [scope](#scope), [set](#set), [set_cast](#set_cast), [set_clear](#set_clear), [set_count](#set_count), [set_erase](#set_erase), [set_find](#set_find), [set_find_or_add](#set_find_or_add), [set_find_or_add_allocated_key](#set_find_or_add_allocated_key), [set_foreach](#set_foreach), [set_foreach_ptr](#set_foreach_ptr), [set_free](#set_free), [set_gc](#set_gc), [set_init](#set_init), [set_init_int](#set_init_int), [set_init_ptr](#set_init_ptr), [set_init_str](#set_init_str), [set_insert](#set_insert), [sinf](#sinf), [sphere](#sphere), [sqrtf](#sqrtf), [strcatf](#strcatf), [strcmpi](#strc
<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>