sfw/tools/doc/index_template.md.html

427 lines
8.2 KiB
HTML
Raw Normal View History

2024-01-06 17:10:13 +01:00
<meta charset="utf-8">
**SFW Docs**
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
what it is, notes
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
Compile
------------------------------------------------------------------
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
License
------------------------------------------------------------------
2024-01-06 17:10:13 +01:00
CORE
====================================================================================
2024-01-06 17:10:13 +01:00
Enums
------------------------------------------------------------------
<a name="ENUM_Error"></a>
<details><summary>Error</summary>
2024-01-06 14:08:00 +01:00
|||ENUM_Error|||
2024-01-06 17:10:13 +01:00
</details>
<a name="ENUM_KeyList"></a>
<details><summary>KeyList</summary>
2024-01-06 14:08:00 +01:00
|||ENUM_KeyList|||
2024-01-06 17:10:13 +01:00
</details>
2024-01-06 17:10:13 +01:00
Errors and Logging
------------------------------------------------------------------
2024-01-06 17:10:13 +01:00
<a name="LOGGING_MACROS"></a>
<details><summary>Logging</summary>
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
Use the provided macros:
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C
#define PRINT_TRACE(str)
#define LOG_TRACE(...)
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
#define PRINT_MSG(str)
#define LOG_MSG(...)
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
#define PRINT_WARN(str)
#define LOG_WARN(...)
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
#define PRINT_ERR(str)
#define ERR_PRINT(str)
#define LOG_ERR(...)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
</details>
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
<a name="ERROR_MACROS"></a>
<details><summary>Error</summary>
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
Uses these macros:
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
Note that the library itself does not use exceptions, it uses these macros exclusively.
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
Also note that you are not prevented you from using exceptions if you want to in your own code.
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C
#define ERR_FAIL_MSG(msg)
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
#define ERR_FAIL_V(val)
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
#define ERR_FAIL_V_MSG(val, msg)
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
#define ERR_FAIL_INDEX(index, size)
#define ERR_FAIL_INDEX_MSG(index, size, msg)
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
#define ERR_FAIL_INDEX_V(index, size, val)
#define ERR_FAIL_INDEX_V_MSG(index, size, val, msg)
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
#define ERR_FAIL_COND(cond)
#define ERR_FAIL_COND_MSG(cond, msg)
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
#define ERR_FAIL_COND_V(cond, val)
#define ERR_FAIL_COND_V_MSG(cond, val, msg)
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
#define ERR_CONTINUE(cond)
#define ERR_CONTINUE_MSG(cond, msg)
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
#define ERR_CONTINUE_ACTION(cond, action)
#define ERR_CONTINUE_ACTION_MSG(cond, action, msg)
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
#define CRASH_INDEX(index, size)
#define CRASH_BAD_INDEX(index, size)
#define CRASH_BAD_UNSIGNED_INDEX(index, size)
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
#define CRASH_COND(cond)
#define CRASH_COND_MSG(cond, msg)
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
#define CRASH_MSG(msg)
#define CRASH_NOW(msg)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
</details>
<a name="ASSERTION_MACROS"></a>
<details><summary>Asserts</summary>
Use the provided macros:
These should be 'free' checks for program flow and should not be needed in any releases, only used when the DEV_ENABLED define is set.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C
#define DEV_CHECK(m_cond)
#define DEV_CHECK_ONCE(m_cond)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
</details>
Math
2024-01-06 11:55:43 +01:00
------------------------------------------------------------------
2024-01-06 17:10:13 +01:00
<a name="CLASS_Math"></a>
<details><summary>Math</summary>
|||CLASS_Math|||
</details>
<a name="STRUCT_Vector2"></a>
<details><summary>Vector2</summary>
|||STRUCT_Vector2|||
</details>
<a name="STRUCT_Vector2i"></a>
<details><summary>Vector2i</summary>
|||STRUCT_Vector2i|||
</details>
<a name="STRUCT_Vector3"></a>
<details><summary>Vector3</summary>
|||STRUCT_Vector3|||
</details>
<a name="STRUCT_Vector3i"></a>
<details><summary>Vector3i</summary>
|||STRUCT_Vector3i|||
</details>
<a name="STRUCT_Vector4"></a>
<details><summary>Vector4</summary>
|||STRUCT_Vector4|||
</details>
<a name="STRUCT_Vector4i"></a>
<details><summary>Vector4i</summary>
|||STRUCT_Vector4i|||
</details>
<a name="STRUCT_Color"></a>
<details><summary>Color</summary>
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
|||STRUCT_Color|||
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
</details>
2024-01-06 11:55:43 +01:00
2024-01-06 17:10:13 +01:00
<a name="STRUCT_Rect2"></a>
<details><summary>Rect2</summary>
|||STRUCT_Rect2|||
</details>
<a name="STRUCT_Rect2i"></a>
<details><summary>Rect2i</summary>
|||STRUCT_Rect2i|||
</details>
<a name="STRUCT_Plane"></a>
<details><summary>Plane</summary>
|||STRUCT_Plane|||
</details>
<a name="STRUCT_AABB"></a>
<details><summary>AABB</summary>
|||STRUCT_AABB|||
</details>
<a name="STRUCT_Face3"></a>
<details><summary>Face3</summary>
|||STRUCT_Face3|||
</details>
<a name="STRUCT_Transform2D"></a>
<details><summary>Transform2D</summary>
|||STRUCT_Transform2D|||
</details>
<a name="STRUCT_Quaternion"></a>
<details><summary>Quaternion</summary>
|||STRUCT_Quaternion|||
</details>
<a name="STRUCT_Basis"></a>
<details><summary>Basis</summary>
|||STRUCT_Basis|||
</details>
<a name="STRUCT_Transform"></a>
<details><summary>Transform</summary>
|||STRUCT_Transform|||
</details>
<a name="STRUCT_Projection"></a>
<details><summary>Projection</summary>
|||STRUCT_Projection|||
</details>
<a name="CLASS_RandomPCG"></a>
<details><summary>RandomPCG</summary>
|||CLASS_RandomPCG|||
</details>
String
2024-01-06 11:55:43 +01:00
------------------------------------------------------------------
2024-01-06 17:10:13 +01:00
Helper Structs
<a name="STRUCT_CharRange"></a>
<details><summary>CharRange</summary>
|||STRUCT_CharRange|||
</details>
<a name="STRUCT_StrRange"></a>
<details><summary>StrRange</summary>
|||STRUCT_StrRange|||
</details>
<a name="STRUCT_NoCaseComparator"></a>
<details><summary>NoCaseComparator</summary>
|||STRUCT_NoCaseComparator|||
</details>
<a name="STRUCT_NaturalNoCaseComparator"></a>
<details><summary>NaturalNoCaseComparator</summary>
|||STRUCT_NaturalNoCaseComparator|||
</details>
Character Strings
<a name="STRUCT_StaticCString"></a>
<details><summary>StaticCString</summary>
You can statically stoe a C string with this.
|||STRUCT_StaticCString|||
</details>
<a name="CLASS_Char16String"></a>
<details><summary>Char16String</summary>
16 bit (wide char) char string.
|||CLASS_Char16String|||
</details>
<a name="CLASS_CharString"></a>
<details><summary>CharString</summary>
8 bit char string.
|||CLASS_CharString|||
</details>
<a name="CLASS_CharProxy"></a>
<details><summary>CharProxy</summary>
Properly stores a reference to an element in a String.
|||CLASS_CharProxy|||
</details>
Main
<a name="CLASS_String"></a>
<details><summary>String</summary>
Main String class. This is what you normally use. Stores characters as 32 bit variables. It's COW (Copy on Write).
If you want to convert this to a char* use it's utf8() method.
|||CLASS_String|||
</details>
<a name="CLASS_StringName"></a>
<details><summary>StringName</summary>
A String that is optimized for comparisons using ==.
|||CLASS_StringName|||
</details>
Containers
------------------------------------------------------------------
Files
------------------------------------------------------------------
Threading
------------------------------------------------------------------
OBJECT
====================================================================================
RENDER CORE
====================================================================================
Coordinate Systems
------------------------------------------------------------------
3D TODO doube check z
2024-01-06 11:55:43 +01:00
******************************************************************
2024-01-06 17:10:13 +01:00
*
* +x
* *--->--------. .--->--------.
* | | | |
* v +y | | |
* | | +y ^ ^ +z |
* | | |/ |
* '------------' *--->--------'
* / +x
* -z
* 2D 3D
2024-01-06 11:55:43 +01:00
******************************************************************
2024-01-06 17:10:13 +01:00
Application
------------------------------------------------------------------
Input
------------------------------------------------------------------
Rendering
------------------------------------------------------------------
Materials
------------------------------------------------------------------
RENDER IMMEDIATE
====================================================================================
RENDER OBJECTS
====================================================================================
2024-01-06 11:55:43 +01:00
<script>markdeepOptions = {tocStyle:'long', definitionStyle:'long', linkAPIDefinitions: true};</script>
<link rel="stylesheet" href="slate.css">
<!-- Markdeep: --><style class="fallback">body{visibility:hidden;white-space:pre;font-family:monospace}</style><script src="markdeep.min.js"></script><script src="https://casual-effects.com/markdeep/latest/markdeep.min.js?"></script><script>window.alreadyProcessedMarkdeep||(document.body.style.visibility="visible")</script>