Skip to content

Instantly share code, notes, and snippets.

@genotrance
Created June 24, 2020 13:30
Show Gist options
  • Save genotrance/7c7a6fcba38ab2d968ea27f2c9d709a4 to your computer and use it in GitHub Desktop.
Save genotrance/7c7a6fcba38ab2d968ea27f2c9d709a4 to your computer and use it in GitHub Desktop.
Nim wrapper for orx using nimerop
import nimterop/[build, cimport]
import os, strformat
const
baseDir = currentSourcePath.parentDir() / "orx"
headerDir = baseDir / "code" / "include"
static:
cDebug()
gitPull("https://github.com/orx/orx", baseDir)
if not fileExists(headerDir / "base" / "orxBuild.h"):
let (outp, errC) =
when defined(windows):
execAction(&"cmd /c cd {baseDir.quoteShell} && setup.bat")
else:
execAction(&"bash -c 'cd {baseDir.quoteShell} && ./setup.sh'")
doAssert errC == 0, "Failed setup\n" & outp
cPlugin:
import strutils
proc onSymbol*(sym: var Symbol) {.exportc, dynlib.} =
sym.name = sym.name.strip(chars = {'_'})
if sym.name.startsWith("orxJOYSTICK_BUTTON"):
sym.name = sym.name.replace("_", "x")
elif sym.name == "orxVERSION" and sym.kind == nskConst:
sym.name = "CorxVERSION"
elif sym.name == "orxKEYBOARD_KEY_t":
sym.name &= "x"
cIncludeDir(headerDir)
cOverride:
type
orxCLOCK_t = object
orxANIM_t = object
orxANIMSET_t = object
orxANIMSET_LINK_TABLE_t = object
orxANIMPOINTER_t = object
orxBANK_t = object
orxHASHTABLE_t = object
orxBITMAP_t = object
orxTEXTURE_t = object
orxFONT_t = object
orxTHREAD_SEMAPHORE_t = object
orxGRAPHIC_t = object
orxTEXT_t = object
orxFILE_t = object
orxFRAME_t = object
orxSOUNDSYSTEM_SOUND_t = object
orxSOUNDSYSTEM_SAMPLE_t = object
orxSOUND_t = object
orxOBJECT_t = object
orxFX_t = object
orxFXPOINTER_t = object
orxSPAWNER_t = object
orxTIMELINE_t = object
orxPHYSICS_BODY_t = object
orxPHYSICS_BODY_PART_t = object
orxPHYSICS_BODY_JOINT_t = object
orxBODY_t = object
orxBODY_PART_t = object
orxBODY_JOINT_t = object
orxCAMERA_t = object
orxSHADER_t = object
orxSHADERPOINTER_t = object
orxVIEWPORT_t = object
orxSOUNDPOINTER_t = object
cImport(headerDir / "orx.h", recurse = true, flags = "-f:ast2")
This file has been truncated, but you can view the full file.
# Resetting /home/gt/orx/orx
{.passC: "-I/home/gt/orx/orx/code/include".}
# Overriding orxCLOCK_t orxANIM_t orxANIMSET_t orxANIMSET_LINK_TABLE_t orxANIMPOINTER_t orxBANK_t orxHASHTABLE_t orxBITMAP_t orxTEXTURE_t orxFONT_t orxTHREAD_SEMAPHORE_t orxGRAPHIC_t orxTEXT_t orxFILE_t orxFRAME_t orxSOUNDSYSTEM_SOUND_t orxSOUNDSYSTEM_SAMPLE_t orxSOUND_t orxOBJECT_t orxFX_t orxFXPOINTER_t orxSPAWNER_t orxTIMELINE_t orxPHYSICS_BODY_t orxPHYSICS_BODY_PART_t orxPHYSICS_BODY_JOINT_t orxBODY_t orxBODY_PART_t orxBODY_JOINT_t orxCAMERA_t orxSHADER_t orxSHADERPOINTER_t orxVIEWPORT_t orxSOUNDPOINTER_t
# Importing /home/gt/orx/orx/code/include/orx.h
# Generated @ 2020-06-24T08:27:28-05:00
# Command line:
# /home/gt/nimterop/nimterop/toast --preprocess -m:c --recurse -f:ast2 --includeDirs+=/home/gt/orx/orx/code/include --pnim --symOverride=orxCLOCK_t,orxANIM_t,orxANIMSET_t,orxANIMSET_LINK_TABLE_t,orxANIMPOINTER_t,orxBANK_t,orxHASHTABLE_t,orxBITMAP_t,orxTEXTURE_t,orxFONT_t,orxTHREAD_SEMAPHORE_t,orxGRAPHIC_t,orxTEXT_t,orxFILE_t,orxFRAME_t,orxSOUNDSYSTEM_SOUND_t,orxSOUNDSYSTEM_SAMPLE_t,orxSOUND_t,orxOBJECT_t,orxFX_t,orxFXPOINTER_t,orxSPAWNER_t,orxTIMELINE_t,orxPHYSICS_BODY_t,orxPHYSICS_BODY_PART_t,orxPHYSICS_BODY_JOINT_t,orxBODY_t,orxBODY_PART_t,orxBODY_JOINT_t,orxCAMERA_t,orxSHADER_t,orxSHADERPOINTER_t,orxVIEWPORT_t,orxSOUNDPOINTER_t --nim:/home/gt/.choosenim/toolchains/nim-1.0.6/bin/nim --pluginSourcePath=/home/gt/.cache/nim/nimterop/cPlugins/nimterop_1202412489.nim /home/gt/orx/orx/code/include/orx.h
import nimterop/types
{.push hint[ConvFromXtoItselfNotNeeded]: off.}
# const 'orxDLLEXPORT' has unsupported value '__attribute__ ((visibility("default")))'
# const 'orxINLINE' has unsupported value 'inline'
# const 'orxDLLAPI' has unsupported value 'orxIMPORT orxDLLIMPORT /* Linking executable against orx dynamic library */'
# const 'orxSTRING' has unsupported value 'orxCHAR *'
# const 'orxFALSE' has unsupported value '((orxBOOL)(1 != 1))'
# const 'orxTRUE' has unsupported value '((orxBOOL)(1 == 1))'
# const '__orxVERSION_RELEASE__' has unsupported value 'dev'
# const '__orxVERSION_STRING__' has unsupported value 'orxSTRINGIFY(__orxVERSION_MAJOR__) "." orxSTRINGIFY(__orxVERSION_MINOR__) "-" orxSTRINGIFY(__orxVERSION_RELEASE__)'
# const '__orxVERSION_FULL_STRING__' has unsupported value 'orxSTRINGIFY(__orxVERSION_MAJOR__) "." orxSTRINGIFY(__orxVERSION_MINOR__) "." orxSTRINGIFY(__orxVERSION_BUILD__) "-" orxSTRINGIFY(__orxVERSION_RELEASE__)'
# const 'orxDEBUG_KZ_DATE_FORMAT' has unsupported value 'orxANSI_KZ_COLOR_FG_CYAN "[%H:%M:%S]" orxANSI_KZ_COLOR_RESET'
# const 'orxDEBUG_KZ_DATE_FULL_FORMAT' has unsupported value 'orxANSI_KZ_COLOR_FG_CYAN "[%Y-%m-%d %H:%M:%S]" orxANSI_KZ_COLOR_RESET'
# const 'orxDEBUG_KZ_TYPE_LOG_FORMAT' has unsupported value 'orxANSI_KZ_COLOR_FG_GREEN "[%s]" orxANSI_KZ_COLOR_RESET'
# const 'orxDEBUG_KZ_TYPE_WARNING_FORMAT' has unsupported value 'orxANSI_KZ_COLOR_FG_YELLOW "[%s]" orxANSI_KZ_COLOR_RESET'
# const 'orxDEBUG_KZ_TYPE_ERROR_FORMAT' has unsupported value 'orxANSI_KZ_COLOR_FG_RED "[%s]" orxANSI_KZ_COLOR_RESET'
# const 'orxDEBUG_KZ_FILE_FORMAT' has unsupported value 'orxANSI_KZ_COLOR_FG_MAGENTA "[%s:%s(%u)]" orxANSI_KZ_COLOR_RESET'
# const 'orxMATH_KF_SQRT_2' has unsupported value 'orx2F(1.414213562f) /**< Sqrt(2) constant */'
# const 'orxMATH_KF_EPSILON' has unsupported value 'orx2F(0.0001f) /**< Epsilon constant */'
# const 'orxMATH_KF_TINY_EPSILON' has unsupported value 'orx2F(1.0e-037f) /**< Tiny epsilon */'
# const 'orxMATH_KF_2_PI' has unsupported value 'orx2F(6.283185307f) /**< 2 PI constant */'
# const 'orxMATH_KF_PI' has unsupported value 'orx2F(3.141592654f) /**< PI constant */'
# const 'orxMATH_KF_PI_BY_2' has unsupported value 'orx2F(1.570796327f) /**< PI / 2 constant */'
# const 'orxMATH_KF_PI_BY_4' has unsupported value 'orx2F(0.785398163f) /**< PI / 4 constant */'
# const 'orxMATH_KF_DEG_TO_RAD' has unsupported value 'orx2F(3.141592654f / 180.0f) /**< Degree to radian conversion constant */'
# const 'orxMATH_KF_RAD_TO_DEG' has unsupported value 'orx2F(180.0f / 3.141592654f) /**< Radian to degree conversion constant */'
# const 'STRTO_CAST' has unsupported value '(int)'
# tree-sitter parse error: 'static inline orxU32 orxString_GetCharacterCount(const orxCHAR * _zString)', skipped
# tree-sitter parse error: 'static inline orxSTRINGID orxString_NContinueCRC(const orxCHAR * _zString, orxSTRINGID _stCRC, orxU32 _u32CharNumber)', skipped
# tree-sitter parse error: 'static inline orxS32 orxString_SearchCharIndex(const orxCHAR * _zString, orxCHAR _cChar, orxS32 _s32Position)', skipped
# const 'orxPLUGIN_K_INIT_FUNCTION_NAME' has unsupported value 'orxPlugin_MainInit /**< Plugin init function name */'
# tree-sitter parse error: 'static inline orxBOOL orxOBox_ZAlignedTestIntersection(const orxOBOX *_pstBox1, const orxOBOX *_pstBox2)', skipped
# const 'orxCOLOR_NORMALIZER' has unsupported value '(orx2F(1.0f / 255.0f))'
# const 'orxCOLOR_DENORMALIZER' has unsupported value '(orx2F(255.0f))'
# tree-sitter parse error: 'static inline void orx_Execute(orxU32 _u32NbParams, orxCHAR * _azParams[], const orxMODULE_INIT_FUNCTION _pfnInit, const orxMODULE_RUN_FUNCTION _pfnRun, const orxMODULE_EXIT_FUNCTION _pfnExit)', skipped
{.pragma: imporxHdr,
header: "/home/gt/orx/orx/code/include/orx.h".}
{.experimental: "codeReordering".}
defineEnum(orxSEEK_OFFSET_WHENCE_t) ## ```
## ** Misc constants**
## ** Seek offset constants**
## ```
defineEnum(orxSTATUS_t) ## ```
## ** Status defines**
## ```
defineEnum(orxMODULE_ID_t) ## ```
## @}
## Module enum
## ```
defineEnum(orxDEBUG_LEVEL_t) ## ```
## Debug levels
## ```
defineEnum(orxMEMORY_TYPE_t) ## ```
## Memory type
## ```
defineEnum(orxSYSTEM_EVENT_t) ## ```
## @}
## Event enum
## ```
defineEnum(orxCLOCK_TYPE_t) ## ```
## Clock type enum
## ```
defineEnum(orxCLOCK_MOD_TYPE_t) ## ```
## Clock mod type enum
## ```
defineEnum(orxCLOCK_PRIORITY_t) ## ```
## Clock priority
## ```
defineEnum(orxCLOCK_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxSTRUCTURE_ID_t) ## ```
## Structure IDs
## ```
defineEnum(orxSTRUCTURE_STORAGE_TYPE_t) ## ```
## Structure storage types
## ```
defineEnum(orxANIM_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxCOMMAND_VAR_TYPE_t) ## ```
## Variable type enum
## ```
defineEnum(orxCONFIG_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxPLUGIN_FUNCTION_ID_t) ## ```
## ******************************************
##
## Structures
##
## ******************************************
## ```
defineEnum(orxPLUGIN_CORE_ID_t) ## ```
## ** Core plugin id enum**
## ```
defineEnum(orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t)
defineEnum(orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_t)
defineEnum(orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_t)
defineEnum(orxPLUGIN_FUNCTION_BASE_ID_MOUSE_t)
defineEnum(orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t)
defineEnum(orxPLUGIN_FUNCTION_BASE_ID_RENDER_t)
defineEnum(orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t)
defineEnum(orxDISPLAY_PRIMITIVE_t) ## ```
## Primitive enum
## ```
defineEnum(orxDISPLAY_SMOOTHING_t) ## ```
## Bitmap smoothing enum
## ```
defineEnum(orxDISPLAY_BLEND_MODE_t) ## ```
## Bitmap blend enum
## ```
defineEnum(orxDISPLAY_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxTEXTURE_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxJOYSTICKxBUTTONxt) ## ```
## Button enum
## ```
defineEnum(orxJOYSTICK_AXIS_t) ## ```
## Axis enum
## ```
defineEnum(orxKEYBOARD_KEY_tx) ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxPluginCore.h
##
## @date 24/04/2003
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxPlugin
##
##
##
## Plugin core header
##
## This header is used to define structures & functions for core plugins info.
##
##
##
## @{
##
##
## @}
## Key enum
## ```
defineEnum(orxMOUSE_BUTTON_t) ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxPluginCore.h
##
## @date 24/04/2003
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxPlugin
##
##
##
## Plugin core header
##
## This header is used to define structures & functions for core plugins info.
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxVector.h
##
## @date 30/03/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxVector
##
##
##
## Vector module
##
## Module that handles vectors and basic structures based on them
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxString.h
##
## @date 21/04/2005
##
## @author bestel@arcallians.org
##
##
##
## @todo
##
## - Add autoindexing for ID generation
##
##
##
##
## @addtogroup orxString
##
##
##
## String module
##
## Module that handles strings
##
##
##
## @{
##
##
## @}
## Button enum
## ```
defineEnum(orxMOUSE_AXIS_t)
defineEnum(orxINPUT_TYPE_t) ## ```
## Input type enum
## ```
defineEnum(orxINPUT_MODE_t) ## ```
## Input mode enum
## ```
defineEnum(orxINPUT_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxEVENT_TYPE_t) ## ```
## Event type enum
## ```
defineEnum(orxLOCALE_EVENT_t) ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Event enum
## ```
defineEnum(orxRESOURCE_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxFRAME_SPACE_t) ## ```
## Frame space enum
## ```
defineEnum(orxSOUNDSYSTEM_STATUS_t) ## ```
## Sound system status enum
## ```
defineEnum(orxSOUND_STATUS_t) ## ```
## Sound status enum
## ```
defineEnum(orxSOUND_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxOBJECT_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxFX_CURVE_t) ## ```
## FX curve enum
## ```
defineEnum(orxFX_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxSPAWNER_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxTIMELINE_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxPHYSICS_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxSHADER_PARAM_TYPE_t) ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxVector.h
##
## @date 30/03/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxVector
##
##
##
## Vector module
##
## Module that handles vectors and basic structures based on them
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxTexture.h
##
## @date 07/12/2003
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxTexture
##
##
##
## Texture module
##
## Module that handles textures
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxObject.h
##
## @date 01/12/2003
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxObject
##
##
##
## Object module
##
## Allows to creates and handle objects
##
## Objects are structures containers that can refer to many other structures such as frames, graphics, etc...
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxLinkList.h
##
## @date 06/04/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxLinkList
##
##
##
## Linklist module
##
## Module that handles linklists
##
##
##
## @{
##
##
##
## @section linklist Link List - How to
##
## This module provides an easy and powerful interface for manipulating linked lists.
##
##
##
## @subsection linklist_datadefine Data definition
##
## Using this data structure as an example:
##
## @code
##
## typedef struct __orxFOO_t
##
## {
##
## orxU32 u32Data; Data
##
## } orxFOO;
##
## @endcode
##
##
##
## @subsection linklist_dataalloc Data without link
##
## Creating a bank to allocate memory storage:
##
## @code
##
## orxBANKpstBank = orxBank_Create(10, sizeof(orxFOO), orxBANK_KU32_FLAG_NONE, orxMEMORY_TYPE_MAIN);
##
## @endcode
##
## You can then instantiate it this way:
##
## @code
##
## orxFOOpstNode = (orxFOO)orxBank_Allocate(pstBank);
##
## pstNode->u32Data = 205;
##
## @endcode
##
## Having this basic behavior, you can add list linking to it.
##
## @subsection linklist_realalloc Linked list item definition
##
## To do so, you need to include in your structure an orxLINKLIST_NODE member asFIRST MEMBER*:
##
## @code
##
## typedef struct __orxFOO_t
##
## {
##
## orxLINKLIST_NODE stNode;
##
## orxU32 u32Data;
##
## } orxFOO;
##
## @endcode
##
## @subsection linklist_realuse Use of link list
##
## Your data structure can now be linked in lists:
##
## @code
##
## orxLINKLIST stList;
##
## orxLinkList_AddEnd(&stList, (orxLINKLIST_NODE)pstNode);
##
## @endcode
##
## @note As the first member of your data structure is a linked list node, you can cast your structure to orxLINKLIST_NODE and reciprocally.
##
##
## @}
## Shader parameter type
## ```
defineEnum(orxSHADER_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxVIEWPORT_EVENT_t) ## ```
## Event enum
## ```
defineEnum(orxRENDER_EVENT_t) ## ```
## Event enum
## ```
const
orxNULL* = (0)
orxANSI_KC_MARKER* = '\e'
orxANSI_KZ_COLOR_RESET* = "\e[0m"
orxANSI_KZ_COLOR_BOLD_ON* = "\e[1m"
orxANSI_KZ_COLOR_ITALICS_ON* = "\e[3m"
orxANSI_KZ_COLOR_UNDERLINE_ON* = "\e[4m"
orxANSI_KZ_COLOR_BLINK_ON* = "\e[5m"
orxANSI_KZ_COLOR_INVERSE_ON* = "\e[7m"
orxANSI_KZ_COLOR_STRIKETHROUGH_ON* = "\e[9m"
orxANSI_KZ_COLOR_BOLD_OFF* = "\e[22m"
orxANSI_KZ_COLOR_ITALICS_OFF* = "\e[23m"
orxANSI_KZ_COLOR_UNDERLINE_OFF* = "\e[24m"
orxANSI_KZ_COLOR_BLINK_OFF* = "\e[25m"
orxANSI_KZ_COLOR_INVERSE_OFF* = "\e[27m"
orxANSI_KZ_COLOR_STRIKETHROUGH_OFF* = "\e[29m"
orxANSI_KZ_COLOR_FG_BLACK* = "\e[30m"
orxANSI_KZ_COLOR_FG_RED* = "\e[31m"
orxANSI_KZ_COLOR_FG_GREEN* = "\e[32m"
orxANSI_KZ_COLOR_FG_YELLOW* = "\e[33m"
orxANSI_KZ_COLOR_FG_BLUE* = "\e[34m"
orxANSI_KZ_COLOR_FG_MAGENTA* = "\e[35m"
orxANSI_KZ_COLOR_FG_CYAN* = "\e[36m"
orxANSI_KZ_COLOR_FG_WHITE* = "\e[37m"
orxANSI_KZ_COLOR_FG_DEFAULT* = "\e[39m"
orxANSI_KZ_COLOR_BG_BLACK* = "\e[40m"
orxANSI_KZ_COLOR_BG_RED* = "\e[41m"
orxANSI_KZ_COLOR_BG_GREEN* = "\e[42m"
orxANSI_KZ_COLOR_BG_YELLOW* = "\e[43m"
orxANSI_KZ_COLOR_BG_BLUE* = "\e[44m"
orxANSI_KZ_COLOR_BG_MAGENTA* = "\e[45m"
orxANSI_KZ_COLOR_BG_CYAN* = "\e[46m"
orxANSI_KZ_COLOR_BG_WHITE* = "\e[47m"
orxANSI_KZ_COLOR_BG_DEFAULT* = "\e[49m"
orxENUM_NONE* = 0xFFFFFFFF
orxSEEK_OFFSET_WHENCE_START* = (0).orxSEEK_OFFSET_WHENCE_t
orxSEEK_OFFSET_WHENCE_CURRENT* = (orxSEEK_OFFSET_WHENCE_START + 1).orxSEEK_OFFSET_WHENCE_t
orxSEEK_OFFSET_WHENCE_END* = (orxSEEK_OFFSET_WHENCE_CURRENT + 1).orxSEEK_OFFSET_WHENCE_t
orxSEEK_OFFSET_WHENCE_NUMBER* = (orxSEEK_OFFSET_WHENCE_END + 1).orxSEEK_OFFSET_WHENCE_t
orxSEEK_OFFSET_WHENCE_NONE* = (0x0000000000000000'i64).orxSEEK_OFFSET_WHENCE_t
orxCHAR_NULL* = '\x00'
orxCHAR_CR* = '\c'
orxCHAR_LF* = '\n'
orxCHAR_EOL* = '\n'
orxCHAR_ASCII_NUMBER* = 128
orxCHAR_DIRECTORY_SEPARATOR_WINDOWS* = '\\'
orxCHAR_DIRECTORY_SEPARATOR_LINUX* = '/'
orxCHAR_DIRECTORY_SEPARATOR* = '/'
orxSTATUS_FAILURE* = (0).orxSTATUS_t ## ```
## < Failure status, the operation has failed
## ```
orxSTATUS_SUCCESS* = (orxSTATUS_FAILURE + 1).orxSTATUS_t ## ```
## < Success status, the operation has worked has expected
## ```
orxSTATUS_NUMBER* = (orxSTATUS_SUCCESS + 1).orxSTATUS_t ## ```
## < Sentinel : Number of status
## ```
orxSTATUS_NONE* = (0x0000000000000000'i64).orxSTATUS_t ## ```
## < Invalid status
## ```
orxVERSION_MAJOR* = 1
orxVERSION_MINOR* = 12
orxVERSION_BUILD* = 0
orxVERSION_MASK_MAJOR* = 0xFF000000
orxVERSION_SHIFT_MAJOR* = 24
orxVERSION_MASK_MINOR* = 0x00FF0000
orxVERSION_SHIFT_MINOR* = 16
orxVERSION_MASK_BUILD* = 0x0000FFFF
orxVERSION_SHIFT_BUILD* = 0
CorxVERSION* = (((orxVERSION_MAJOR shl
typeof(orxVERSION_MAJOR)(orxVERSION_SHIFT_MAJOR)) and
typeof(orxVERSION_MAJOR)(orxVERSION_MASK_MAJOR)) or
typeof(orxVERSION_MAJOR)(((orxVERSION_MINOR shl
typeof(orxVERSION_MAJOR)(orxVERSION_SHIFT_MINOR)) and
typeof(orxVERSION_MAJOR)(orxVERSION_MASK_MINOR))) or
typeof(orxVERSION_MAJOR)(((orxVERSION_BUILD shl
typeof(orxVERSION_MAJOR)(orxVERSION_SHIFT_BUILD)) and
typeof(orxVERSION_MAJOR)(orxVERSION_MASK_BUILD))))
orxMODULE_ID_ANIM* = (0).orxMODULE_ID_t
orxMODULE_ID_ANIMPOINTER* = (orxMODULE_ID_ANIM + 1).orxMODULE_ID_t
orxMODULE_ID_ANIMSET* = (orxMODULE_ID_ANIMPOINTER + 1).orxMODULE_ID_t
orxMODULE_ID_BANK* = (orxMODULE_ID_ANIMSET + 1).orxMODULE_ID_t
orxMODULE_ID_BODY* = (orxMODULE_ID_BANK + 1).orxMODULE_ID_t
orxMODULE_ID_CAMERA* = (orxMODULE_ID_BODY + 1).orxMODULE_ID_t
orxMODULE_ID_CLOCK* = (orxMODULE_ID_CAMERA + 1).orxMODULE_ID_t
orxMODULE_ID_COMMAND* = (orxMODULE_ID_CLOCK + 1).orxMODULE_ID_t
orxMODULE_ID_CONFIG* = (orxMODULE_ID_COMMAND + 1).orxMODULE_ID_t
orxMODULE_ID_CONSOLE* = (orxMODULE_ID_CONFIG + 1).orxMODULE_ID_t
orxMODULE_ID_DISPLAY* = (orxMODULE_ID_CONSOLE + 1).orxMODULE_ID_t
orxMODULE_ID_EVENT* = (orxMODULE_ID_DISPLAY + 1).orxMODULE_ID_t
orxMODULE_ID_FILE* = (orxMODULE_ID_EVENT + 1).orxMODULE_ID_t
orxMODULE_ID_FONT* = (orxMODULE_ID_FILE + 1).orxMODULE_ID_t
orxMODULE_ID_FPS* = (orxMODULE_ID_FONT + 1).orxMODULE_ID_t
orxMODULE_ID_FRAME* = (orxMODULE_ID_FPS + 1).orxMODULE_ID_t
orxMODULE_ID_FX* = (orxMODULE_ID_FRAME + 1).orxMODULE_ID_t
orxMODULE_ID_FXPOINTER* = (orxMODULE_ID_FX + 1).orxMODULE_ID_t
orxMODULE_ID_GRAPHIC* = (orxMODULE_ID_FXPOINTER + 1).orxMODULE_ID_t
orxMODULE_ID_INPUT* = (orxMODULE_ID_GRAPHIC + 1).orxMODULE_ID_t
orxMODULE_ID_JOYSTICK* = (orxMODULE_ID_INPUT + 1).orxMODULE_ID_t
orxMODULE_ID_KEYBOARD* = (orxMODULE_ID_JOYSTICK + 1).orxMODULE_ID_t
orxMODULE_ID_LOCALE* = (orxMODULE_ID_KEYBOARD + 1).orxMODULE_ID_t
orxMODULE_ID_MAIN* = (orxMODULE_ID_LOCALE + 1).orxMODULE_ID_t
orxMODULE_ID_MEMORY* = (orxMODULE_ID_MAIN + 1).orxMODULE_ID_t
orxMODULE_ID_MOUSE* = (orxMODULE_ID_MEMORY + 1).orxMODULE_ID_t
orxMODULE_ID_OBJECT* = (orxMODULE_ID_MOUSE + 1).orxMODULE_ID_t
orxMODULE_ID_PARAM* = (orxMODULE_ID_OBJECT + 1).orxMODULE_ID_t
orxMODULE_ID_PHYSICS* = (orxMODULE_ID_PARAM + 1).orxMODULE_ID_t
orxMODULE_ID_PLUGIN* = (orxMODULE_ID_PHYSICS + 1).orxMODULE_ID_t
orxMODULE_ID_PROFILER* = (orxMODULE_ID_PLUGIN + 1).orxMODULE_ID_t
orxMODULE_ID_RENDER* = (orxMODULE_ID_PROFILER + 1).orxMODULE_ID_t
orxMODULE_ID_RESOURCE* = (orxMODULE_ID_RENDER + 1).orxMODULE_ID_t
orxMODULE_ID_SCREENSHOT* = (orxMODULE_ID_RESOURCE + 1).orxMODULE_ID_t
orxMODULE_ID_SHADER* = (orxMODULE_ID_SCREENSHOT + 1).orxMODULE_ID_t
orxMODULE_ID_SHADERPOINTER* = (orxMODULE_ID_SHADER + 1).orxMODULE_ID_t
orxMODULE_ID_SOUND* = (orxMODULE_ID_SHADERPOINTER + 1).orxMODULE_ID_t
orxMODULE_ID_SOUNDPOINTER* = (orxMODULE_ID_SOUND + 1).orxMODULE_ID_t
orxMODULE_ID_SOUNDSYSTEM* = (orxMODULE_ID_SOUNDPOINTER + 1).orxMODULE_ID_t
orxMODULE_ID_SPAWNER* = (orxMODULE_ID_SOUNDSYSTEM + 1).orxMODULE_ID_t
orxMODULE_ID_STRING* = (orxMODULE_ID_SPAWNER + 1).orxMODULE_ID_t
orxMODULE_ID_STRUCTURE* = (orxMODULE_ID_STRING + 1).orxMODULE_ID_t
orxMODULE_ID_SYSTEM* = (orxMODULE_ID_STRUCTURE + 1).orxMODULE_ID_t
orxMODULE_ID_TEXT* = (orxMODULE_ID_SYSTEM + 1).orxMODULE_ID_t
orxMODULE_ID_TEXTURE* = (orxMODULE_ID_TEXT + 1).orxMODULE_ID_t
orxMODULE_ID_THREAD* = (orxMODULE_ID_TEXTURE + 1).orxMODULE_ID_t
orxMODULE_ID_TIMELINE* = (orxMODULE_ID_THREAD + 1).orxMODULE_ID_t
orxMODULE_ID_VIEWPORT* = (orxMODULE_ID_TIMELINE + 1).orxMODULE_ID_t
orxMODULE_ID_CORE_NUMBER* = (orxMODULE_ID_VIEWPORT + 1).orxMODULE_ID_t
orxMODULE_ID_USER_DEFINED* = (orxMODULE_ID_CORE_NUMBER.orxMODULE_ID_t).orxMODULE_ID_t
orxMODULE_ID_TOTAL_NUMBER* = (64).orxMODULE_ID_t
orxMODULE_ID_NONE* = (0x0000000000000000'i64).orxMODULE_ID_t
orxDEBUG_KU32_STATIC_FLAG_NONE* = 0x00000000
orxDEBUG_KU32_STATIC_FLAG_TIMESTAMP* = 0x00000001
orxDEBUG_KU32_STATIC_FLAG_FULL_TIMESTAMP* = 0x00000002
orxDEBUG_KU32_STATIC_FLAG_TYPE* = 0x00000004
orxDEBUG_KU32_STATIC_FLAG_TAGGED* = 0x00000008
orxDEBUG_KU32_STATIC_FLAG_FILE* = 0x00000010
orxDEBUG_KU32_STATIC_FLAG_TERMINAL* = 0x00000020
orxDEBUG_KU32_STATIC_FLAG_CONSOLE* = 0x00000040
orxDEBUG_KU32_STATIC_FLAG_CALLBACK* = 0x00000080
orxDEBUG_KU32_STATIC_MASK_DEFAULT* = 0x000000F5
orxDEBUG_KU32_STATIC_MASK_DEBUG* = 0x000000BD
orxDEBUG_KU32_STATIC_MASK_USER_ALL* = 0x0FFFFFFF
orxDEBUG_KZ_DEFAULT_DEBUG_FILE* = "orx-debug.log"
orxDEBUG_KZ_DEFAULT_LOG_FILE* = "orx.log"
orxDEBUG_KZ_DEFAULT_LOG_SUFFIX* = ".log"
orxDEBUG_KZ_DEFAULT_DEBUG_SUFFIX* = "-debug.log"
orxDEBUG_LEVEL_ANIM* = (0).orxDEBUG_LEVEL_t ## ```
## < Anim Debug
## ```
orxDEBUG_LEVEL_CONFIG* = (orxDEBUG_LEVEL_ANIM + 1).orxDEBUG_LEVEL_t ## ```
## < Config Debug
## ```
orxDEBUG_LEVEL_CLOCK* = (orxDEBUG_LEVEL_CONFIG + 1).orxDEBUG_LEVEL_t ## ```
## < Clock Debug
## ```
orxDEBUG_LEVEL_DISPLAY* = (orxDEBUG_LEVEL_CLOCK + 1).orxDEBUG_LEVEL_t ## ```
## < Display Debug
## ```
orxDEBUG_LEVEL_FILE* = (orxDEBUG_LEVEL_DISPLAY + 1).orxDEBUG_LEVEL_t ## ```
## < File Debug
## ```
orxDEBUG_LEVEL_INPUT* = (orxDEBUG_LEVEL_FILE + 1).orxDEBUG_LEVEL_t ## ```
## < Input Debug
## ```
orxDEBUG_LEVEL_JOYSTICK* = (orxDEBUG_LEVEL_INPUT + 1).orxDEBUG_LEVEL_t ## ```
## < Joystick Debug
## ```
orxDEBUG_LEVEL_KEYBOARD* = (orxDEBUG_LEVEL_JOYSTICK + 1).orxDEBUG_LEVEL_t ## ```
## < Keyboard Debug
## ```
orxDEBUG_LEVEL_MEMORY* = (orxDEBUG_LEVEL_KEYBOARD + 1).orxDEBUG_LEVEL_t ## ```
## < Memory Debug
## ```
orxDEBUG_LEVEL_MOUSE* = (orxDEBUG_LEVEL_MEMORY + 1).orxDEBUG_LEVEL_t ## ```
## < Mouse Debug
## ```
orxDEBUG_LEVEL_OBJECT* = (orxDEBUG_LEVEL_MOUSE + 1).orxDEBUG_LEVEL_t ## ```
## < Object Debug
## ```
orxDEBUG_LEVEL_PARAM* = (orxDEBUG_LEVEL_OBJECT + 1).orxDEBUG_LEVEL_t ## ```
## < Param Debug
## ```
orxDEBUG_LEVEL_PHYSICS* = (orxDEBUG_LEVEL_PARAM + 1).orxDEBUG_LEVEL_t ## ```
## < Physics Debug
## ```
orxDEBUG_LEVEL_PLUGIN* = (orxDEBUG_LEVEL_PHYSICS + 1).orxDEBUG_LEVEL_t ## ```
## < Plug-in Debug
## ```
orxDEBUG_LEVEL_PROFILER* = (orxDEBUG_LEVEL_PLUGIN + 1).orxDEBUG_LEVEL_t ## ```
## < Profiler Debug
## ```
orxDEBUG_LEVEL_RENDER* = (orxDEBUG_LEVEL_PROFILER + 1).orxDEBUG_LEVEL_t ## ```
## < Render Debug
## ```
orxDEBUG_LEVEL_SCREENSHOT* = (orxDEBUG_LEVEL_RENDER + 1).orxDEBUG_LEVEL_t ## ```
## < Screenshot Debug
## ```
orxDEBUG_LEVEL_SOUND* = (orxDEBUG_LEVEL_SCREENSHOT + 1).orxDEBUG_LEVEL_t ## ```
## < Sound Debug
## ```
orxDEBUG_LEVEL_SYSTEM* = (orxDEBUG_LEVEL_SOUND + 1).orxDEBUG_LEVEL_t ## ```
## < System Debug
## ```
orxDEBUG_LEVEL_TIMER* = (orxDEBUG_LEVEL_SYSTEM + 1).orxDEBUG_LEVEL_t ## ```
## < Timer Debug
## ```
orxDEBUG_LEVEL_LOG* = (orxDEBUG_LEVEL_TIMER + 1).orxDEBUG_LEVEL_t ## ```
## < Log Debug
## ```
orxDEBUG_LEVEL_ASSERT* = (orxDEBUG_LEVEL_LOG + 1).orxDEBUG_LEVEL_t ## ```
## < Assert Debug
## ```
orxDEBUG_LEVEL_USER* = (orxDEBUG_LEVEL_ASSERT + 1).orxDEBUG_LEVEL_t ## ```
## < User Debug
## ```
orxDEBUG_LEVEL_NUMBER* = (orxDEBUG_LEVEL_USER + 1).orxDEBUG_LEVEL_t
orxDEBUG_LEVEL_MAX_NUMBER* = (32).orxDEBUG_LEVEL_t
orxDEBUG_LEVEL_ALL* = (0x0000000000000000'i64).orxDEBUG_LEVEL_t ## ```
## < All Debugs
## ```
orxDEBUG_LEVEL_NONE* = (0x0000000000000000'i64).orxDEBUG_LEVEL_t
orxDEBUG_KS32_BUFFER_OUTPUT_SIZE* = 2048
orxMEMORY_TYPE_MAIN* = (0).orxMEMORY_TYPE_t ## ```
## < Main memory type
## ```
orxMEMORY_TYPE_AUDIO* = (orxMEMORY_TYPE_MAIN + 1).orxMEMORY_TYPE_t ## ```
## < Audio memory type
## ```
orxMEMORY_TYPE_CONFIG* = (orxMEMORY_TYPE_AUDIO + 1).orxMEMORY_TYPE_t ## ```
## < Config memory
## ```
orxMEMORY_TYPE_DEBUG* = (orxMEMORY_TYPE_CONFIG + 1).orxMEMORY_TYPE_t ## ```
## < Debug memory
## ```
orxMEMORY_TYPE_PHYSICS* = (orxMEMORY_TYPE_DEBUG + 1).orxMEMORY_TYPE_t ## ```
## < Physics memory type
## ```
orxMEMORY_TYPE_SYSTEM* = (orxMEMORY_TYPE_PHYSICS + 1).orxMEMORY_TYPE_t ## ```
## < System memory type
## ```
orxMEMORY_TYPE_TEMP* = (orxMEMORY_TYPE_SYSTEM + 1).orxMEMORY_TYPE_t ## ```
## < Temporary / scratch memory
## ```
orxMEMORY_TYPE_TEXT* = (orxMEMORY_TYPE_TEMP + 1).orxMEMORY_TYPE_t ## ```
## < Text memory
## ```
orxMEMORY_TYPE_VIDEO* = (orxMEMORY_TYPE_TEXT + 1).orxMEMORY_TYPE_t ## ```
## < Video memory type
## ```
orxMEMORY_TYPE_NUMBER* = (orxMEMORY_TYPE_VIDEO + 1).orxMEMORY_TYPE_t ## ```
## < Number of memory type
## ```
orxMEMORY_TYPE_NONE* = (0x0000000000000000'i64).orxMEMORY_TYPE_t ## ```
## < Invalid memory type
## ```
orxSYSTEM_EVENT_CLOSE* = (0).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_FOCUS_GAINED* = (orxSYSTEM_EVENT_CLOSE + 1).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_FOCUS_LOST* = (orxSYSTEM_EVENT_FOCUS_GAINED + 1).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_BACKGROUND* = (orxSYSTEM_EVENT_FOCUS_LOST + 1).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_FOREGROUND* = (orxSYSTEM_EVENT_BACKGROUND + 1).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_GAME_LOOP_START* = (orxSYSTEM_EVENT_FOREGROUND + 1).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_GAME_LOOP_STOP* = (orxSYSTEM_EVENT_GAME_LOOP_START + 1).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_TOUCH_BEGIN* = (orxSYSTEM_EVENT_GAME_LOOP_STOP + 1).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_TOUCH_MOVE* = (orxSYSTEM_EVENT_TOUCH_BEGIN + 1).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_TOUCH_END* = (orxSYSTEM_EVENT_TOUCH_MOVE + 1).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_ACCELERATE* = (orxSYSTEM_EVENT_TOUCH_END + 1).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_MOTION_SHAKE* = (orxSYSTEM_EVENT_ACCELERATE + 1).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_DROP* = (orxSYSTEM_EVENT_MOTION_SHAKE + 1).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_CLIPBOARD* = (orxSYSTEM_EVENT_DROP + 1).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_NUMBER* = (orxSYSTEM_EVENT_CLIPBOARD + 1).orxSYSTEM_EVENT_t
orxSYSTEM_EVENT_NONE* = (0x0000000000000000'i64).orxSYSTEM_EVENT_t
orxSTRING_KC_VECTOR_START* = '('
orxSTRING_KC_VECTOR_START_ALT* = '{'
orxSTRING_KC_VECTOR_SEPARATOR* = ','
orxSTRING_KC_VECTOR_END* = ')'
orxSTRING_KC_VECTOR_END_ALT* = '}'
orxSTRING_KU32_CRC_POLYNOMIAL* = 0xEDB88320'u
orxCLOCK_KU32_CLOCK_BANK_SIZE* = 16
orxCLOCK_KU32_TIMER_BANK_SIZE* = 32
orxCLOCK_KU32_FUNCTION_BANK_SIZE* = 16
orxCLOCK_KZ_CORE* = "core"
orxCLOCK_TYPE_CORE* = (0).orxCLOCK_TYPE_t
orxCLOCK_TYPE_USER* = (orxCLOCK_TYPE_CORE + 1).orxCLOCK_TYPE_t
orxCLOCK_TYPE_SECOND* = (orxCLOCK_TYPE_USER + 1).orxCLOCK_TYPE_t
orxCLOCK_TYPE_NUMBER* = (orxCLOCK_TYPE_SECOND + 1).orxCLOCK_TYPE_t
orxCLOCK_TYPE_NONE* = (0x0000000000000000'i64).orxCLOCK_TYPE_t
orxCLOCK_MOD_TYPE_FIXED* = (0).orxCLOCK_MOD_TYPE_t ## ```
## < The given DT will always be constant (= modifier value)
## ```
orxCLOCK_MOD_TYPE_MULTIPLY* = (orxCLOCK_MOD_TYPE_FIXED + 1).orxCLOCK_MOD_TYPE_t ## ```
## < The given DT will be the real one modifier
## ```
orxCLOCK_MOD_TYPE_MAXED* = (orxCLOCK_MOD_TYPE_MULTIPLY + 1).orxCLOCK_MOD_TYPE_t ## ```
## < The given DT will be the real one maxed by the modifier value
## ```
orxCLOCK_MOD_TYPE_NUMBER* = (orxCLOCK_MOD_TYPE_MAXED + 1).orxCLOCK_MOD_TYPE_t
orxCLOCK_MOD_TYPE_NONE* = (0x0000000000000000'i64).orxCLOCK_MOD_TYPE_t
orxCLOCK_PRIORITY_LOWEST* = (0).orxCLOCK_PRIORITY_t
orxCLOCK_PRIORITY_LOWER* = (orxCLOCK_PRIORITY_LOWEST + 1).orxCLOCK_PRIORITY_t
orxCLOCK_PRIORITY_LOW* = (orxCLOCK_PRIORITY_LOWER + 1).orxCLOCK_PRIORITY_t
orxCLOCK_PRIORITY_NORMAL* = (orxCLOCK_PRIORITY_LOW + 1).orxCLOCK_PRIORITY_t
orxCLOCK_PRIORITY_HIGH* = (orxCLOCK_PRIORITY_NORMAL + 1).orxCLOCK_PRIORITY_t
orxCLOCK_PRIORITY_HIGHER* = (orxCLOCK_PRIORITY_HIGH + 1).orxCLOCK_PRIORITY_t
orxCLOCK_PRIORITY_HIGHEST* = (orxCLOCK_PRIORITY_HIGHER + 1).orxCLOCK_PRIORITY_t
orxCLOCK_PRIORITY_NUMBER* = (orxCLOCK_PRIORITY_HIGHEST + 1).orxCLOCK_PRIORITY_t
orxCLOCK_PRIORITY_NONE* = (0x0000000000000000'i64).orxCLOCK_PRIORITY_t
orxCLOCK_EVENT_RESTART* = (0).orxCLOCK_EVENT_t ## ```
## < Event sent when a clock restarts
## ```
orxCLOCK_EVENT_RESYNC* = (orxCLOCK_EVENT_RESTART + 1).orxCLOCK_EVENT_t ## ```
## < Event sent when a clock resyncs
## ```
orxCLOCK_EVENT_PAUSE* = (orxCLOCK_EVENT_RESYNC + 1).orxCLOCK_EVENT_t ## ```
## < Event sent when a clock is paused
## ```
orxCLOCK_EVENT_UNPAUSE* = (orxCLOCK_EVENT_PAUSE + 1).orxCLOCK_EVENT_t ## ```
## < Event sent when a clock is unpaused
## ```
orxCLOCK_EVENT_NUMBER* = (orxCLOCK_EVENT_UNPAUSE + 1).orxCLOCK_EVENT_t
orxCLOCK_EVENT_NONE* = (0x0000000000000000'i64).orxCLOCK_EVENT_t
orxSTRUCTURE_GUID_MAGIC_TAG_DELETED* = 0xDEFACED0DEADC0DE'u64
orxSTRUCTURE_GUID_MASK_STRUCTURE_ID* = 0x000000000000001F'u64
orxSTRUCTURE_GUID_SHIFT_STRUCTURE_ID* = 0
orxSTRUCTURE_GUID_MASK_ITEM_ID* = 0x0000FFFF00000000'u64
orxSTRUCTURE_GUID_SHIFT_ITEM_ID* = 32
orxSTRUCTURE_GUID_MASK_REF_COUNT* = 0xFFFF000000000000'u64
orxSTRUCTURE_GUID_SHIFT_REF_COUNT* = 48
orxSTRUCTURE_GUID_MASK_INSTANCE_ID* = 0x00000000FFFFFFE0'u64
orxSTRUCTURE_GUID_SHIFT_INSTANCE_ID* = 5
orxSTRUCTURE_ID_ANIMPOINTER* = (0).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_BODY* = (orxSTRUCTURE_ID_ANIMPOINTER + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_CLOCK* = (orxSTRUCTURE_ID_BODY + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_FRAME* = (orxSTRUCTURE_ID_CLOCK + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_FXPOINTER* = (orxSTRUCTURE_ID_FRAME + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_GRAPHIC* = (orxSTRUCTURE_ID_FXPOINTER + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_SHADERPOINTER* = (orxSTRUCTURE_ID_GRAPHIC + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_SOUNDPOINTER* = (orxSTRUCTURE_ID_SHADERPOINTER + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_SPAWNER* = (orxSTRUCTURE_ID_SOUNDPOINTER + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_TIMELINE* = (orxSTRUCTURE_ID_SPAWNER + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_LINKABLE_NUMBER* = (orxSTRUCTURE_ID_TIMELINE + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_ANIM* = (orxSTRUCTURE_ID_LINKABLE_NUMBER.orxSTRUCTURE_ID_t).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_ANIMSET* = (orxSTRUCTURE_ID_ANIM + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_CAMERA* = (orxSTRUCTURE_ID_ANIMSET + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_FONT* = (orxSTRUCTURE_ID_CAMERA + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_FX* = (orxSTRUCTURE_ID_FONT + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_OBJECT* = (orxSTRUCTURE_ID_FX + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_SHADER* = (orxSTRUCTURE_ID_OBJECT + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_SOUND* = (orxSTRUCTURE_ID_SHADER + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_TEXT* = (orxSTRUCTURE_ID_SOUND + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_TEXTURE* = (orxSTRUCTURE_ID_TEXT + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_VIEWPORT* = (orxSTRUCTURE_ID_TEXTURE + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_NUMBER* = (orxSTRUCTURE_ID_VIEWPORT + 1).orxSTRUCTURE_ID_t
orxSTRUCTURE_ID_NONE* = (0x0000000000000000'i64).orxSTRUCTURE_ID_t
orxSTRUCTURE_STORAGE_TYPE_LINKLIST* = (0).orxSTRUCTURE_STORAGE_TYPE_t
orxSTRUCTURE_STORAGE_TYPE_TREE* = (orxSTRUCTURE_STORAGE_TYPE_LINKLIST + 1).orxSTRUCTURE_STORAGE_TYPE_t
orxSTRUCTURE_STORAGE_TYPE_NUMBER* = (orxSTRUCTURE_STORAGE_TYPE_TREE + 1).orxSTRUCTURE_STORAGE_TYPE_t
orxSTRUCTURE_STORAGE_TYPE_NONE* = (0x0000000000000000'i64).orxSTRUCTURE_STORAGE_TYPE_t
orxANIM_KU32_FLAG_NONE* = 0x00000000
orxANIM_KU32_FLAG_2D* = 0x00000001
orxANIM_KU32_MASK_USER_ALL* = 0x0000000F
orxANIM_KU32_MASK_ALL* = 0xFFFFFFFF
orxANIM_KU32_KEY_MAX_NUMBER* = 65535
orxANIM_KU32_EVENT_MAX_NUMBER* = 65535
orxANIM_EVENT_START* = (0).orxANIM_EVENT_t ## ```
## < Event sent when an animation starts
## ```
orxANIM_EVENT_STOP* = (orxANIM_EVENT_START + 1).orxANIM_EVENT_t ## ```
## < Event sent when an animation stops
## ```
orxANIM_EVENT_CUT* = (orxANIM_EVENT_STOP + 1).orxANIM_EVENT_t ## ```
## < Event sent when an animation is cut
## ```
orxANIM_EVENT_LOOP* = (orxANIM_EVENT_CUT + 1).orxANIM_EVENT_t ## ```
## < Event sent when an animation has looped
## ```
orxANIM_EVENT_UPDATE* = (orxANIM_EVENT_LOOP + 1).orxANIM_EVENT_t ## ```
## < Event sent when an animation has been updated (current key)
## ```
orxANIM_EVENT_CUSTOM_EVENT* = (orxANIM_EVENT_UPDATE + 1).orxANIM_EVENT_t ## ```
## < Event sent when a custom event is reached
## ```
orxANIM_EVENT_NUMBER* = (orxANIM_EVENT_CUSTOM_EVENT + 1).orxANIM_EVENT_t
orxANIM_EVENT_NONE* = (0x0000000000000000'i64).orxANIM_EVENT_t
orxANIMSET_KU32_FLAG_NONE* = 0x00000000
orxANIMSET_KU32_FLAG_REFERENCE_LOCK* = 0x00100000
orxANIMSET_KU32_FLAG_LINK_STATIC* = 0x00200000
orxANIMSET_KU32_LINK_FLAG_NONE* = 0x00000000
orxANIMSET_KU32_LINK_FLAG_LOOP_COUNT* = 0x10000000
orxANIMSET_KU32_LINK_FLAG_PRIORITY* = 0x20000000
orxANIMSET_KU32_LINK_FLAG_IMMEDIATE_CUT* = 0x40000000
orxANIMSET_KU32_LINK_FLAG_CLEAR_TARGET* = 0x80000000
orxANIMSET_KU32_MAX_ANIM_NUMBER* = 128
orxCOMMAND_KC_BLOCK_MARKER* = '\"'
orxCOMMAND_KC_PUSH_MARKER* = '>'
orxCOMMAND_KC_POP_MARKER* = '<'
orxCOMMAND_KC_GUID_MARKER* = '^'
orxCOMMAND_KC_SEPARATOR* = ','
orxCOMMAND_VAR_TYPE_STRING* = (0).orxCOMMAND_VAR_TYPE_t
orxCOMMAND_VAR_TYPE_FLOAT* = (orxCOMMAND_VAR_TYPE_STRING + 1).orxCOMMAND_VAR_TYPE_t
orxCOMMAND_VAR_TYPE_S32* = (orxCOMMAND_VAR_TYPE_FLOAT + 1).orxCOMMAND_VAR_TYPE_t
orxCOMMAND_VAR_TYPE_U32* = (orxCOMMAND_VAR_TYPE_S32 + 1).orxCOMMAND_VAR_TYPE_t
orxCOMMAND_VAR_TYPE_S64* = (orxCOMMAND_VAR_TYPE_U32 + 1).orxCOMMAND_VAR_TYPE_t
orxCOMMAND_VAR_TYPE_U64* = (orxCOMMAND_VAR_TYPE_S64 + 1).orxCOMMAND_VAR_TYPE_t
orxCOMMAND_VAR_TYPE_BOOL* = (orxCOMMAND_VAR_TYPE_U64 + 1).orxCOMMAND_VAR_TYPE_t
orxCOMMAND_VAR_TYPE_VECTOR* = (orxCOMMAND_VAR_TYPE_BOOL + 1).orxCOMMAND_VAR_TYPE_t
orxCOMMAND_VAR_TYPE_NUMERIC* = (orxCOMMAND_VAR_TYPE_VECTOR + 1).orxCOMMAND_VAR_TYPE_t
orxCOMMAND_VAR_TYPE_NUMBER* = (orxCOMMAND_VAR_TYPE_NUMERIC + 1).orxCOMMAND_VAR_TYPE_t
orxCOMMAND_VAR_TYPE_NONE* = (0x0000000000000000'i64).orxCOMMAND_VAR_TYPE_t
orxCONFIG_KZ_RESOURCE_GROUP* = "Config"
orxCONFIG_EVENT_RELOAD_START* = (0).orxCONFIG_EVENT_t ## ```
## < Event sent when reloading config starts
## ```
orxCONFIG_EVENT_RELOAD_STOP* = (orxCONFIG_EVENT_RELOAD_START + 1).orxCONFIG_EVENT_t ## ```
## < Event sent when reloading config stops
## ```
orxCONFIG_EVENT_NUMBER* = (orxCONFIG_EVENT_RELOAD_STOP + 1).orxCONFIG_EVENT_t
orxCONFIG_EVENT_NONE* = (0x0000000000000000'i64).orxCONFIG_EVENT_t
orxPLUGIN_KU32_FLAG_CORE_ID* = 0x10000000
orxPLUGIN_KU32_MASK_PLUGIN_ID* = 0x0000FF00
orxPLUGIN_KU32_SHIFT_PLUGIN_ID* = 8
orxPLUGIN_KU32_MASK_FUNCTION_ID* = 0x000000FF
orxPLUGIN_KU32_FUNCTION_ARG_SIZE* = 128
orxPLUGIN_FUNCTION_ID_NONE* = (0x0000000000000000'i64).orxPLUGIN_FUNCTION_ID_t
orxPLUGIN_CORE_ID_DISPLAY* = (0).orxPLUGIN_CORE_ID_t
orxPLUGIN_CORE_ID_JOYSTICK* = (orxPLUGIN_CORE_ID_DISPLAY + 1).orxPLUGIN_CORE_ID_t
orxPLUGIN_CORE_ID_KEYBOARD* = (orxPLUGIN_CORE_ID_JOYSTICK + 1).orxPLUGIN_CORE_ID_t
orxPLUGIN_CORE_ID_MOUSE* = (orxPLUGIN_CORE_ID_KEYBOARD + 1).orxPLUGIN_CORE_ID_t
orxPLUGIN_CORE_ID_PHYSICS* = (orxPLUGIN_CORE_ID_MOUSE + 1).orxPLUGIN_CORE_ID_t
orxPLUGIN_CORE_ID_RENDER* = (orxPLUGIN_CORE_ID_PHYSICS + 1).orxPLUGIN_CORE_ID_t
orxPLUGIN_CORE_ID_SOUNDSYSTEM* = (orxPLUGIN_CORE_ID_RENDER + 1).orxPLUGIN_CORE_ID_t
orxPLUGIN_CORE_ID_NUMBER* = (orxPLUGIN_CORE_ID_SOUNDSYSTEM + 1).orxPLUGIN_CORE_ID_t
orxPLUGIN_CORE_ID_NONE* = (0x0000000000000000'i64).orxPLUGIN_CORE_ID_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_INIT* = (0).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_EXIT* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_INIT + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SWAP* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_EXIT + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_SCREEN_BITMAP* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SWAP + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_SCREEN_SIZE* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_SCREEN_BITMAP + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_CREATE_BITMAP* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_SCREEN_SIZE + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DELETE_BITMAP* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_CREATE_BITMAP + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_LOAD_BITMAP* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DELETE_BITMAP + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SAVE_BITMAP* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_LOAD_BITMAP + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_TEMP_BITMAP* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SAVE_BITMAP + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_TEMP_BITMAP* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_TEMP_BITMAP + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_DESTINATION_BITMAPS* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_TEMP_BITMAP + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_CLEAR_BITMAP* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_DESTINATION_BITMAPS + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_BLEND_MODE* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_CLEAR_BITMAP + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_BITMAP_CLIPPING* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_BLEND_MODE + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_BITMAP_DATA* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_BITMAP_CLIPPING + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_BITMAP_DATA* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_BITMAP_DATA + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_PARTIAL_BITMAP_DATA* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_BITMAP_DATA + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_BITMAP_SIZE* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_PARTIAL_BITMAP_DATA + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_BITMAP_ID* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_BITMAP_SIZE + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_TRANSFORM_BITMAP* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_BITMAP_ID + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_TRANSFORM_TEXT* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_TRANSFORM_BITMAP + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DRAW_LINE* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_TRANSFORM_TEXT + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DRAW_POLYLINE* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DRAW_LINE + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DRAW_POLYGON* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DRAW_POLYLINE + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DRAW_CIRCLE* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DRAW_POLYGON + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DRAW_OBOX* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DRAW_CIRCLE + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DRAW_MESH* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DRAW_OBOX + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_HAS_SHADER_SUPPORT* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DRAW_MESH + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_CREATE_SHADER* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_HAS_SHADER_SUPPORT + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DELETE_SHADER* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_CREATE_SHADER + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_START_SHADER* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_DELETE_SHADER + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_STOP_SHADER* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_START_SHADER + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_PARAMETER_ID* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_STOP_SHADER + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_SHADER_BITMAP* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_PARAMETER_ID + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_SHADER_FLOAT* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_SHADER_BITMAP + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_SHADER_VECTOR* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_SHADER_FLOAT + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_ENABLE_VSYNC* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_SHADER_VECTOR + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_IS_VSYNC_ENABLED* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_ENABLE_VSYNC + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_FULL_SCREEN* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_IS_VSYNC_ENABLED + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_IS_FULL_SCREEN* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_FULL_SCREEN + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_VIDEO_MODE_COUNT* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_IS_FULL_SCREEN + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_VIDEO_MODE* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_VIDEO_MODE_COUNT + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_VIDEO_MODE* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_GET_VIDEO_MODE + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_IS_VIDEO_MODE_AVAILABLE* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_SET_VIDEO_MODE + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_NUMBER* = (
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_IS_VIDEO_MODE_AVAILABLE + 1).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_NONE* = (0x0000000000000000'i64).orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_INIT* = (0).orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_t
orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_EXIT* = (
orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_INIT + 1).orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_t
orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_GET_AXIS_VALUE* = (
orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_EXIT + 1).orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_t
orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_IS_BUTTON_PRESSED* = (
orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_GET_AXIS_VALUE + 1).orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_t
orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_IS_CONNECTED* = (
orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_IS_BUTTON_PRESSED + 1).orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_t
orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_NUMBER* = (
orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_IS_CONNECTED + 1).orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_t
orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_NONE* = (0x0000000000000000'i64).orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_t
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_INIT* = (0).orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_t
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_EXIT* = (
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_INIT + 1).orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_t
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_IS_KEY_PRESSED* = (
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_EXIT + 1).orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_t
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_GET_KEY_DISPLAY_NAME* = (
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_IS_KEY_PRESSED + 1).orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_t
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_READ_KEY* = (
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_GET_KEY_DISPLAY_NAME + 1).orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_t
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_READ_STRING* = (
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_READ_KEY + 1).orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_t
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_CLEAR_BUFFER* = (
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_READ_STRING + 1).orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_t
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_SHOW* = (
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_CLEAR_BUFFER + 1).orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_t
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_NUMBER* = (
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_SHOW + 1).orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_t
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_NONE* = (0x0000000000000000'i64).orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_t
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_INIT* = (0).orxPLUGIN_FUNCTION_BASE_ID_MOUSE_t
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_EXIT* = (
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_INIT + 1).orxPLUGIN_FUNCTION_BASE_ID_MOUSE_t
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_SET_POSITION* = (
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_EXIT + 1).orxPLUGIN_FUNCTION_BASE_ID_MOUSE_t
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_GET_POSITION* = (
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_SET_POSITION + 1).orxPLUGIN_FUNCTION_BASE_ID_MOUSE_t
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_IS_BUTTON_PRESSED* = (
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_GET_POSITION + 1).orxPLUGIN_FUNCTION_BASE_ID_MOUSE_t
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_GET_MOVE_DELTA* = (
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_IS_BUTTON_PRESSED + 1).orxPLUGIN_FUNCTION_BASE_ID_MOUSE_t
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_GET_WHEEL_DELTA* = (
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_GET_MOVE_DELTA + 1).orxPLUGIN_FUNCTION_BASE_ID_MOUSE_t
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_SHOW_CURSOR* = (
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_GET_WHEEL_DELTA + 1).orxPLUGIN_FUNCTION_BASE_ID_MOUSE_t
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_NUMBER* = (
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_SHOW_CURSOR + 1).orxPLUGIN_FUNCTION_BASE_ID_MOUSE_t
orxPLUGIN_FUNCTION_BASE_ID_MOUSE_NONE* = (0x0000000000000000'i64).orxPLUGIN_FUNCTION_BASE_ID_MOUSE_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_INIT* = (0).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_EXIT* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_INIT + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_GRAVITY* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_EXIT + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_GRAVITY* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_GRAVITY + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_CREATE_BODY* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_GRAVITY + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_DELETE_BODY* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_CREATE_BODY + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_CREATE_PART* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_DELETE_BODY + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_DELETE_PART* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_CREATE_PART + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_CREATE_JOINT* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_DELETE_PART + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_DELETE_JOINT* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_CREATE_JOINT + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_POSITION* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_DELETE_JOINT + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_ROTATION* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_POSITION + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_SPEED* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_ROTATION + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_ANGULAR_VELOCITY* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_SPEED + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_CUSTOM_GRAVITY* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_ANGULAR_VELOCITY + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_FIXED_ROTATION* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_CUSTOM_GRAVITY + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_DYNAMIC* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_FIXED_ROTATION + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_ALLOW_MOVING* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_DYNAMIC + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_POSITION* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_ALLOW_MOVING + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_ROTATION* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_POSITION + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_SPEED* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_ROTATION + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_SPEED_AT_WORLD_POSITION* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_SPEED + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_ANGULAR_VELOCITY* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_SPEED_AT_WORLD_POSITION + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_CUSTOM_GRAVITY* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_ANGULAR_VELOCITY + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_IS_FIXED_ROTATION* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_CUSTOM_GRAVITY + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_MASS* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_IS_FIXED_ROTATION + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_MASS_CENTER* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_MASS + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_LINEAR_DAMPING* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_MASS_CENTER + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_ANGULAR_DAMPING* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_LINEAR_DAMPING + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_LINEAR_DAMPING* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_ANGULAR_DAMPING + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_ANGULAR_DAMPING* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_LINEAR_DAMPING + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_APPLY_TORQUE* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_ANGULAR_DAMPING + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_APPLY_FORCE* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_APPLY_TORQUE + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_APPLY_IMPULSE* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_APPLY_FORCE + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_PART_SELF_FLAGS* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_APPLY_IMPULSE + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_PART_CHECK_MASK* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_PART_SELF_FLAGS + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_PART_SELF_FLAGS* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_PART_CHECK_MASK + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_PART_CHECK_MASK* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_PART_SELF_FLAGS + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_PART_SOLID* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_PART_CHECK_MASK + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_IS_PART_SOLID* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_PART_SOLID + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_PART_FRICTION* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_IS_PART_SOLID + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_PART_FRICTION* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_PART_FRICTION + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_PART_RESTITUTION* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_PART_FRICTION + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_PART_RESTITUTION* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_PART_RESTITUTION + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_PART_DENSITY* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_PART_RESTITUTION + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_PART_DENSITY* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_PART_DENSITY + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_IS_INSIDE_PART* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_PART_DENSITY + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_ENABLE_MOTOR* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_IS_INSIDE_PART + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_JOINT_MOTOR_SPEED* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_ENABLE_MOTOR + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_JOINT_MAX_MOTOR_TORQUE* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_JOINT_MOTOR_SPEED + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_JOINT_REACTION_FORCE* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_SET_JOINT_MAX_MOTOR_TORQUE + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_JOINT_REACTION_TORQUE* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_JOINT_REACTION_FORCE + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_RAYCAST* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_GET_JOINT_REACTION_TORQUE + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_BOX_PICK* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_RAYCAST + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_ENABLE_SIMULATION* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_BOX_PICK + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_NUMBER* = (
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_ENABLE_SIMULATION + 1).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_NONE* = (0x0000000000000000'i64).orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_RENDER_INIT* = (0).orxPLUGIN_FUNCTION_BASE_ID_RENDER_t
orxPLUGIN_FUNCTION_BASE_ID_RENDER_EXIT* = (
orxPLUGIN_FUNCTION_BASE_ID_RENDER_INIT + 1).orxPLUGIN_FUNCTION_BASE_ID_RENDER_t
orxPLUGIN_FUNCTION_BASE_ID_RENDER_GET_WORLD_POSITION* = (
orxPLUGIN_FUNCTION_BASE_ID_RENDER_EXIT + 1).orxPLUGIN_FUNCTION_BASE_ID_RENDER_t
orxPLUGIN_FUNCTION_BASE_ID_RENDER_GET_SCREEN_POSITION* = (
orxPLUGIN_FUNCTION_BASE_ID_RENDER_GET_WORLD_POSITION + 1).orxPLUGIN_FUNCTION_BASE_ID_RENDER_t
orxPLUGIN_FUNCTION_BASE_ID_RENDER_NUMBER* = (
orxPLUGIN_FUNCTION_BASE_ID_RENDER_GET_SCREEN_POSITION + 1).orxPLUGIN_FUNCTION_BASE_ID_RENDER_t
orxPLUGIN_FUNCTION_BASE_ID_RENDER_NONE* = (0x0000000000000000'i64).orxPLUGIN_FUNCTION_BASE_ID_RENDER_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_INIT* = (0).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_EXIT* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_INIT + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_CREATE_SAMPLE* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_EXIT + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_LOAD_SAMPLE* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_CREATE_SAMPLE + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_DELETE_SAMPLE* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_LOAD_SAMPLE + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_SAMPLE_INFO* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_DELETE_SAMPLE + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_SAMPLE_DATA* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_SAMPLE_INFO + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_CREATE_FROM_SAMPLE* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_SAMPLE_DATA + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_CREATE_STREAM* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_CREATE_FROM_SAMPLE + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_CREATE_STREAM_FROM_FILE* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_CREATE_STREAM + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_DELETE* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_CREATE_STREAM_FROM_FILE + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_PLAY* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_DELETE + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_PAUSE* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_PLAY + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_STOP* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_PAUSE + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_START_RECORDING* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_STOP + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_STOP_RECORDING* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_START_RECORDING + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_HAS_RECORDING_SUPPORT* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_STOP_RECORDING + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_VOLUME* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_HAS_RECORDING_SUPPORT + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_PITCH* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_VOLUME + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_TIME* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_PITCH + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_POSITION* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_TIME + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_ATTENUATION* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_POSITION + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_REFERENCE_DISTANCE* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_ATTENUATION + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_LOOP* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_REFERENCE_DISTANCE + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_VOLUME* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_LOOP + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_PITCH* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_VOLUME + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_TIME* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_PITCH + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_POSITION* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_TIME + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_ATTENUATION* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_POSITION + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_REFERENCE_DISTANCE* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_ATTENUATION + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_IS_LOOPING* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_REFERENCE_DISTANCE + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_DURATION* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_IS_LOOPING + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_STATUS* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_DURATION + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_GLOBAL_VOLUME* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_STATUS + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_GLOBAL_VOLUME* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_GLOBAL_VOLUME + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_LISTENER_POSITION* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_GLOBAL_VOLUME + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_LISTENER_POSITION* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_SET_LISTENER_POSITION + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_NUMBER* = (
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_GET_LISTENER_POSITION + 1).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_NONE* = (0x0000000000000000'i64).orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxBANK_KU32_FLAG_NONE* = 0x00000000
orxBANK_KU32_FLAG_NOT_EXPANDABLE* = 0x00000001
orxHASHTABLE_KU32_FLAG_NONE* = 0x00000000
orxHASHTABLE_KU32_FLAG_NOT_EXPANDABLE* = 0x00000001
orxDISPLAY_PRIMITIVE_POINTS* = (0).orxDISPLAY_PRIMITIVE_t
orxDISPLAY_PRIMITIVE_LINES* = (orxDISPLAY_PRIMITIVE_POINTS + 1).orxDISPLAY_PRIMITIVE_t
orxDISPLAY_PRIMITIVE_LINE_LOOP* = (orxDISPLAY_PRIMITIVE_LINES + 1).orxDISPLAY_PRIMITIVE_t
orxDISPLAY_PRIMITIVE_LINE_STRIP* = (orxDISPLAY_PRIMITIVE_LINE_LOOP + 1).orxDISPLAY_PRIMITIVE_t
orxDISPLAY_PRIMITIVE_TRIANGLES* = (orxDISPLAY_PRIMITIVE_LINE_STRIP + 1).orxDISPLAY_PRIMITIVE_t
orxDISPLAY_PRIMITIVE_TRIANGLE_STRIP* = (orxDISPLAY_PRIMITIVE_TRIANGLES + 1).orxDISPLAY_PRIMITIVE_t
orxDISPLAY_PRIMITIVE_TRIANGLE_FAN* = (orxDISPLAY_PRIMITIVE_TRIANGLE_STRIP + 1).orxDISPLAY_PRIMITIVE_t
orxDISPLAY_PRIMITIVE_NUMBER* = (orxDISPLAY_PRIMITIVE_TRIANGLE_FAN + 1).orxDISPLAY_PRIMITIVE_t
orxDISPLAY_PRIMITIVE_NONE* = (0x0000000000000000'i64).orxDISPLAY_PRIMITIVE_t
orxDISPLAY_SMOOTHING_DEFAULT* = (0).orxDISPLAY_SMOOTHING_t
orxDISPLAY_SMOOTHING_ON* = (orxDISPLAY_SMOOTHING_DEFAULT + 1).orxDISPLAY_SMOOTHING_t
orxDISPLAY_SMOOTHING_OFF* = (orxDISPLAY_SMOOTHING_ON + 1).orxDISPLAY_SMOOTHING_t
orxDISPLAY_SMOOTHING_NUMBER* = (orxDISPLAY_SMOOTHING_OFF + 1).orxDISPLAY_SMOOTHING_t
orxDISPLAY_SMOOTHING_NONE* = (0x0000000000000000'i64).orxDISPLAY_SMOOTHING_t
orxDISPLAY_BLEND_MODE_ALPHA* = (0).orxDISPLAY_BLEND_MODE_t
orxDISPLAY_BLEND_MODE_MULTIPLY* = (orxDISPLAY_BLEND_MODE_ALPHA + 1).orxDISPLAY_BLEND_MODE_t
orxDISPLAY_BLEND_MODE_ADD* = (orxDISPLAY_BLEND_MODE_MULTIPLY + 1).orxDISPLAY_BLEND_MODE_t
orxDISPLAY_BLEND_MODE_PREMUL* = (orxDISPLAY_BLEND_MODE_ADD + 1).orxDISPLAY_BLEND_MODE_t
orxDISPLAY_BLEND_MODE_NUMBER* = (orxDISPLAY_BLEND_MODE_PREMUL + 1).orxDISPLAY_BLEND_MODE_t
orxDISPLAY_BLEND_MODE_NONE* = (0x0000000000000000'i64).orxDISPLAY_BLEND_MODE_t
orxDISPLAY_KZ_CONFIG_SECTION* = "Display"
orxDISPLAY_KZ_CONFIG_WIDTH* = "ScreenWidth"
orxDISPLAY_KZ_CONFIG_HEIGHT* = "ScreenHeight"
orxDISPLAY_KZ_CONFIG_DEPTH* = "ScreenDepth"
orxDISPLAY_KZ_CONFIG_POSITION* = "ScreenPosition"
orxDISPLAY_KZ_CONFIG_REFRESH_RATE* = "RefreshRate"
orxDISPLAY_KZ_CONFIG_FULLSCREEN* = "FullScreen"
orxDISPLAY_KZ_CONFIG_ALLOW_RESIZE* = "AllowResize"
orxDISPLAY_KZ_CONFIG_DECORATION* = "Decoration"
orxDISPLAY_KZ_CONFIG_TITLE* = "Title"
orxDISPLAY_KZ_CONFIG_SMOOTH* = "Smoothing"
orxDISPLAY_KZ_CONFIG_VSYNC* = "VSync"
orxDISPLAY_KZ_CONFIG_DEPTHBUFFER* = "DepthBuffer"
orxDISPLAY_KZ_CONFIG_SHADER_VERSION* = "ShaderVersion"
orxDISPLAY_KZ_CONFIG_SHADER_EXTENSION_LIST* = "ShaderExtensionList"
orxDISPLAY_KZ_CONFIG_MONITOR* = "Monitor"
orxDISPLAY_KZ_CONFIG_CURSOR* = "Cursor"
orxDISPLAY_KZ_CONFIG_ICON_LIST* = "IconList"
orxDISPLAY_KZ_CONFIG_FRAMEBUFFER_SIZE* = "FramebufferSize"
orxDISPLAY_KZ_CONFIG_TEXTURE_UNIT_NUMBER* = "TextureUnitNumber"
orxDISPLAY_KZ_CONFIG_DRAW_BUFFER_NUMBER* = "DrawBufferNumber"
orxDISPLAY_KZ_SHADER_SUFFIX_TOP* = "_top"
orxDISPLAY_KZ_SHADER_SUFFIX_LEFT* = "_left"
orxDISPLAY_KZ_SHADER_SUFFIX_BOTTOM* = "_bottom"
orxDISPLAY_KZ_SHADER_SUFFIX_RIGHT* = "_right"
orxDISPLAY_KC_SHADER_EXTENSION_ADD* = '+'
orxDISPLAY_KC_SHADER_EXTENSION_REMOVE* = '-'
orxDISPLAY_EVENT_SET_VIDEO_MODE* = (0).orxDISPLAY_EVENT_t
orxDISPLAY_EVENT_LOAD_BITMAP* = (orxDISPLAY_EVENT_SET_VIDEO_MODE + 1).orxDISPLAY_EVENT_t
orxDISPLAY_EVENT_NUMBER* = (orxDISPLAY_EVENT_LOAD_BITMAP + 1).orxDISPLAY_EVENT_t
orxDISPLAY_EVENT_NONE* = (0x0000000000000000'i64).orxDISPLAY_EVENT_t
orxTEXTURE_KZ_RESOURCE_GROUP* = "Texture"
orxTEXTURE_KZ_SCREEN* = "screen"
orxTEXTURE_KZ_PIXEL* = "pixel"
orxTEXTURE_EVENT_CREATE* = (0).orxTEXTURE_EVENT_t
orxTEXTURE_EVENT_DELETE* = (orxTEXTURE_EVENT_CREATE + 1).orxTEXTURE_EVENT_t
orxTEXTURE_EVENT_LOAD* = (orxTEXTURE_EVENT_DELETE + 1).orxTEXTURE_EVENT_t
orxTEXTURE_EVENT_NUMBER* = (orxTEXTURE_EVENT_LOAD + 1).orxTEXTURE_EVENT_t
orxTEXTURE_EVENT_NONE* = (0x0000000000000000'i64).orxTEXTURE_EVENT_t
orxFONT_KZ_DEFAULT_FONT_NAME* = "default"
orxJOYSTICKxBUTTONxAx1* = (0).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx1* = (orxJOYSTICKxBUTTONxAx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx1* = (orxJOYSTICKxBUTTONxBx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx1* = (orxJOYSTICKxBUTTONxXx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx1* = (orxJOYSTICKxBUTTONxYx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx1* = (orxJOYSTICKxBUTTONxLBUMPERx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx1* = (orxJOYSTICKxBUTTONxRBUMPERx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx1* = (orxJOYSTICKxBUTTONxBACKx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx1* = (orxJOYSTICKxBUTTONxSTARTx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx1* = (orxJOYSTICKxBUTTONxGUIDEx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx1* = (orxJOYSTICKxBUTTONxLTHUMBx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx1* = (orxJOYSTICKxBUTTONxRTHUMBx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx1* = (orxJOYSTICKxBUTTONxUPx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx1* = (orxJOYSTICKxBUTTONxRIGHTx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx1* = (orxJOYSTICKxBUTTONxDOWNx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x1* = (orxJOYSTICKxBUTTONxLEFTx1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x1* = (orxJOYSTICKxBUTTONx1x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x1* = (orxJOYSTICKxBUTTONx2x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x1* = (orxJOYSTICKxBUTTONx3x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x1* = (orxJOYSTICKxBUTTONx4x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x1* = (orxJOYSTICKxBUTTONx5x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x1* = (orxJOYSTICKxBUTTONx6x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x1* = (orxJOYSTICKxBUTTONx7x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x1* = (orxJOYSTICKxBUTTONx8x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x1* = (orxJOYSTICKxBUTTONx9x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x1* = (orxJOYSTICKxBUTTONx10x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x1* = (orxJOYSTICKxBUTTONx11x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x1* = (orxJOYSTICKxBUTTONx12x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x1* = (orxJOYSTICKxBUTTONx13x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x1* = (orxJOYSTICKxBUTTONx14x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x1* = (orxJOYSTICKxBUTTONx15x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSINGLExNUMBER* = (orxJOYSTICKxBUTTONx16x1 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx2* = (orxJOYSTICKxBUTTONxSINGLExNUMBER.orxJOYSTICKxBUTTONxt).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx2* = (orxJOYSTICKxBUTTONxAx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx2* = (orxJOYSTICKxBUTTONxBx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx2* = (orxJOYSTICKxBUTTONxXx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx2* = (orxJOYSTICKxBUTTONxYx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx2* = (orxJOYSTICKxBUTTONxLBUMPERx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx2* = (orxJOYSTICKxBUTTONxRBUMPERx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx2* = (orxJOYSTICKxBUTTONxBACKx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx2* = (orxJOYSTICKxBUTTONxSTARTx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx2* = (orxJOYSTICKxBUTTONxGUIDEx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx2* = (orxJOYSTICKxBUTTONxLTHUMBx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx2* = (orxJOYSTICKxBUTTONxRTHUMBx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx2* = (orxJOYSTICKxBUTTONxUPx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx2* = (orxJOYSTICKxBUTTONxRIGHTx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx2* = (orxJOYSTICKxBUTTONxDOWNx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x2* = (orxJOYSTICKxBUTTONxLEFTx2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x2* = (orxJOYSTICKxBUTTONx1x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x2* = (orxJOYSTICKxBUTTONx2x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x2* = (orxJOYSTICKxBUTTONx3x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x2* = (orxJOYSTICKxBUTTONx4x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x2* = (orxJOYSTICKxBUTTONx5x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x2* = (orxJOYSTICKxBUTTONx6x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x2* = (orxJOYSTICKxBUTTONx7x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x2* = (orxJOYSTICKxBUTTONx8x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x2* = (orxJOYSTICKxBUTTONx9x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x2* = (orxJOYSTICKxBUTTONx10x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x2* = (orxJOYSTICKxBUTTONx11x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x2* = (orxJOYSTICKxBUTTONx12x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x2* = (orxJOYSTICKxBUTTONx13x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x2* = (orxJOYSTICKxBUTTONx14x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x2* = (orxJOYSTICKxBUTTONx15x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx3* = (orxJOYSTICKxBUTTONx16x2 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx3* = (orxJOYSTICKxBUTTONxAx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx3* = (orxJOYSTICKxBUTTONxBx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx3* = (orxJOYSTICKxBUTTONxXx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx3* = (orxJOYSTICKxBUTTONxYx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx3* = (orxJOYSTICKxBUTTONxLBUMPERx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx3* = (orxJOYSTICKxBUTTONxRBUMPERx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx3* = (orxJOYSTICKxBUTTONxBACKx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx3* = (orxJOYSTICKxBUTTONxSTARTx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx3* = (orxJOYSTICKxBUTTONxGUIDEx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx3* = (orxJOYSTICKxBUTTONxLTHUMBx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx3* = (orxJOYSTICKxBUTTONxRTHUMBx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx3* = (orxJOYSTICKxBUTTONxUPx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx3* = (orxJOYSTICKxBUTTONxRIGHTx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx3* = (orxJOYSTICKxBUTTONxDOWNx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x3* = (orxJOYSTICKxBUTTONxLEFTx3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x3* = (orxJOYSTICKxBUTTONx1x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x3* = (orxJOYSTICKxBUTTONx2x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x3* = (orxJOYSTICKxBUTTONx3x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x3* = (orxJOYSTICKxBUTTONx4x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x3* = (orxJOYSTICKxBUTTONx5x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x3* = (orxJOYSTICKxBUTTONx6x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x3* = (orxJOYSTICKxBUTTONx7x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x3* = (orxJOYSTICKxBUTTONx8x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x3* = (orxJOYSTICKxBUTTONx9x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x3* = (orxJOYSTICKxBUTTONx10x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x3* = (orxJOYSTICKxBUTTONx11x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x3* = (orxJOYSTICKxBUTTONx12x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x3* = (orxJOYSTICKxBUTTONx13x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x3* = (orxJOYSTICKxBUTTONx14x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x3* = (orxJOYSTICKxBUTTONx15x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx4* = (orxJOYSTICKxBUTTONx16x3 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx4* = (orxJOYSTICKxBUTTONxAx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx4* = (orxJOYSTICKxBUTTONxBx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx4* = (orxJOYSTICKxBUTTONxXx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx4* = (orxJOYSTICKxBUTTONxYx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx4* = (orxJOYSTICKxBUTTONxLBUMPERx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx4* = (orxJOYSTICKxBUTTONxRBUMPERx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx4* = (orxJOYSTICKxBUTTONxBACKx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx4* = (orxJOYSTICKxBUTTONxSTARTx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx4* = (orxJOYSTICKxBUTTONxGUIDEx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx4* = (orxJOYSTICKxBUTTONxLTHUMBx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx4* = (orxJOYSTICKxBUTTONxRTHUMBx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx4* = (orxJOYSTICKxBUTTONxUPx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx4* = (orxJOYSTICKxBUTTONxRIGHTx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx4* = (orxJOYSTICKxBUTTONxDOWNx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x4* = (orxJOYSTICKxBUTTONxLEFTx4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x4* = (orxJOYSTICKxBUTTONx1x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x4* = (orxJOYSTICKxBUTTONx2x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x4* = (orxJOYSTICKxBUTTONx3x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x4* = (orxJOYSTICKxBUTTONx4x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x4* = (orxJOYSTICKxBUTTONx5x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x4* = (orxJOYSTICKxBUTTONx6x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x4* = (orxJOYSTICKxBUTTONx7x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x4* = (orxJOYSTICKxBUTTONx8x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x4* = (orxJOYSTICKxBUTTONx9x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x4* = (orxJOYSTICKxBUTTONx10x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x4* = (orxJOYSTICKxBUTTONx11x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x4* = (orxJOYSTICKxBUTTONx12x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x4* = (orxJOYSTICKxBUTTONx13x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x4* = (orxJOYSTICKxBUTTONx14x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x4* = (orxJOYSTICKxBUTTONx15x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx5* = (orxJOYSTICKxBUTTONx16x4 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx5* = (orxJOYSTICKxBUTTONxAx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx5* = (orxJOYSTICKxBUTTONxBx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx5* = (orxJOYSTICKxBUTTONxXx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx5* = (orxJOYSTICKxBUTTONxYx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx5* = (orxJOYSTICKxBUTTONxLBUMPERx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx5* = (orxJOYSTICKxBUTTONxRBUMPERx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx5* = (orxJOYSTICKxBUTTONxBACKx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx5* = (orxJOYSTICKxBUTTONxSTARTx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx5* = (orxJOYSTICKxBUTTONxGUIDEx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx5* = (orxJOYSTICKxBUTTONxLTHUMBx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx5* = (orxJOYSTICKxBUTTONxRTHUMBx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx5* = (orxJOYSTICKxBUTTONxUPx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx5* = (orxJOYSTICKxBUTTONxRIGHTx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx5* = (orxJOYSTICKxBUTTONxDOWNx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x5* = (orxJOYSTICKxBUTTONxLEFTx5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x5* = (orxJOYSTICKxBUTTONx1x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x5* = (orxJOYSTICKxBUTTONx2x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x5* = (orxJOYSTICKxBUTTONx3x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x5* = (orxJOYSTICKxBUTTONx4x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x5* = (orxJOYSTICKxBUTTONx5x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x5* = (orxJOYSTICKxBUTTONx6x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x5* = (orxJOYSTICKxBUTTONx7x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x5* = (orxJOYSTICKxBUTTONx8x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x5* = (orxJOYSTICKxBUTTONx9x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x5* = (orxJOYSTICKxBUTTONx10x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x5* = (orxJOYSTICKxBUTTONx11x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x5* = (orxJOYSTICKxBUTTONx12x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x5* = (orxJOYSTICKxBUTTONx13x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x5* = (orxJOYSTICKxBUTTONx14x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x5* = (orxJOYSTICKxBUTTONx15x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx6* = (orxJOYSTICKxBUTTONx16x5 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx6* = (orxJOYSTICKxBUTTONxAx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx6* = (orxJOYSTICKxBUTTONxBx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx6* = (orxJOYSTICKxBUTTONxXx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx6* = (orxJOYSTICKxBUTTONxYx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx6* = (orxJOYSTICKxBUTTONxLBUMPERx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx6* = (orxJOYSTICKxBUTTONxRBUMPERx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx6* = (orxJOYSTICKxBUTTONxBACKx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx6* = (orxJOYSTICKxBUTTONxSTARTx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx6* = (orxJOYSTICKxBUTTONxGUIDEx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx6* = (orxJOYSTICKxBUTTONxLTHUMBx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx6* = (orxJOYSTICKxBUTTONxRTHUMBx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx6* = (orxJOYSTICKxBUTTONxUPx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx6* = (orxJOYSTICKxBUTTONxRIGHTx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx6* = (orxJOYSTICKxBUTTONxDOWNx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x6* = (orxJOYSTICKxBUTTONxLEFTx6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x6* = (orxJOYSTICKxBUTTONx1x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x6* = (orxJOYSTICKxBUTTONx2x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x6* = (orxJOYSTICKxBUTTONx3x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x6* = (orxJOYSTICKxBUTTONx4x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x6* = (orxJOYSTICKxBUTTONx5x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x6* = (orxJOYSTICKxBUTTONx6x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x6* = (orxJOYSTICKxBUTTONx7x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x6* = (orxJOYSTICKxBUTTONx8x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x6* = (orxJOYSTICKxBUTTONx9x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x6* = (orxJOYSTICKxBUTTONx10x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x6* = (orxJOYSTICKxBUTTONx11x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x6* = (orxJOYSTICKxBUTTONx12x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x6* = (orxJOYSTICKxBUTTONx13x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x6* = (orxJOYSTICKxBUTTONx14x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x6* = (orxJOYSTICKxBUTTONx15x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx7* = (orxJOYSTICKxBUTTONx16x6 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx7* = (orxJOYSTICKxBUTTONxAx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx7* = (orxJOYSTICKxBUTTONxBx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx7* = (orxJOYSTICKxBUTTONxXx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx7* = (orxJOYSTICKxBUTTONxYx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx7* = (orxJOYSTICKxBUTTONxLBUMPERx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx7* = (orxJOYSTICKxBUTTONxRBUMPERx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx7* = (orxJOYSTICKxBUTTONxBACKx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx7* = (orxJOYSTICKxBUTTONxSTARTx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx7* = (orxJOYSTICKxBUTTONxGUIDEx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx7* = (orxJOYSTICKxBUTTONxLTHUMBx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx7* = (orxJOYSTICKxBUTTONxRTHUMBx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx7* = (orxJOYSTICKxBUTTONxUPx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx7* = (orxJOYSTICKxBUTTONxRIGHTx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx7* = (orxJOYSTICKxBUTTONxDOWNx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x7* = (orxJOYSTICKxBUTTONxLEFTx7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x7* = (orxJOYSTICKxBUTTONx1x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x7* = (orxJOYSTICKxBUTTONx2x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x7* = (orxJOYSTICKxBUTTONx3x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x7* = (orxJOYSTICKxBUTTONx4x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x7* = (orxJOYSTICKxBUTTONx5x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x7* = (orxJOYSTICKxBUTTONx6x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x7* = (orxJOYSTICKxBUTTONx7x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x7* = (orxJOYSTICKxBUTTONx8x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x7* = (orxJOYSTICKxBUTTONx9x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x7* = (orxJOYSTICKxBUTTONx10x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x7* = (orxJOYSTICKxBUTTONx11x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x7* = (orxJOYSTICKxBUTTONx12x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x7* = (orxJOYSTICKxBUTTONx13x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x7* = (orxJOYSTICKxBUTTONx14x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x7* = (orxJOYSTICKxBUTTONx15x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx8* = (orxJOYSTICKxBUTTONx16x7 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx8* = (orxJOYSTICKxBUTTONxAx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx8* = (orxJOYSTICKxBUTTONxBx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx8* = (orxJOYSTICKxBUTTONxXx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx8* = (orxJOYSTICKxBUTTONxYx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx8* = (orxJOYSTICKxBUTTONxLBUMPERx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx8* = (orxJOYSTICKxBUTTONxRBUMPERx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx8* = (orxJOYSTICKxBUTTONxBACKx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx8* = (orxJOYSTICKxBUTTONxSTARTx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx8* = (orxJOYSTICKxBUTTONxGUIDEx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx8* = (orxJOYSTICKxBUTTONxLTHUMBx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx8* = (orxJOYSTICKxBUTTONxRTHUMBx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx8* = (orxJOYSTICKxBUTTONxUPx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx8* = (orxJOYSTICKxBUTTONxRIGHTx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx8* = (orxJOYSTICKxBUTTONxDOWNx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x8* = (orxJOYSTICKxBUTTONxLEFTx8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x8* = (orxJOYSTICKxBUTTONx1x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x8* = (orxJOYSTICKxBUTTONx2x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x8* = (orxJOYSTICKxBUTTONx3x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x8* = (orxJOYSTICKxBUTTONx4x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x8* = (orxJOYSTICKxBUTTONx5x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x8* = (orxJOYSTICKxBUTTONx6x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x8* = (orxJOYSTICKxBUTTONx7x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x8* = (orxJOYSTICKxBUTTONx8x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x8* = (orxJOYSTICKxBUTTONx9x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x8* = (orxJOYSTICKxBUTTONx10x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x8* = (orxJOYSTICKxBUTTONx11x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x8* = (orxJOYSTICKxBUTTONx12x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x8* = (orxJOYSTICKxBUTTONx13x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x8* = (orxJOYSTICKxBUTTONx14x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x8* = (orxJOYSTICKxBUTTONx15x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx9* = (orxJOYSTICKxBUTTONx16x8 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx9* = (orxJOYSTICKxBUTTONxAx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx9* = (orxJOYSTICKxBUTTONxBx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx9* = (orxJOYSTICKxBUTTONxXx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx9* = (orxJOYSTICKxBUTTONxYx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx9* = (orxJOYSTICKxBUTTONxLBUMPERx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx9* = (orxJOYSTICKxBUTTONxRBUMPERx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx9* = (orxJOYSTICKxBUTTONxBACKx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx9* = (orxJOYSTICKxBUTTONxSTARTx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx9* = (orxJOYSTICKxBUTTONxGUIDEx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx9* = (orxJOYSTICKxBUTTONxLTHUMBx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx9* = (orxJOYSTICKxBUTTONxRTHUMBx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx9* = (orxJOYSTICKxBUTTONxUPx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx9* = (orxJOYSTICKxBUTTONxRIGHTx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx9* = (orxJOYSTICKxBUTTONxDOWNx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x9* = (orxJOYSTICKxBUTTONxLEFTx9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x9* = (orxJOYSTICKxBUTTONx1x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x9* = (orxJOYSTICKxBUTTONx2x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x9* = (orxJOYSTICKxBUTTONx3x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x9* = (orxJOYSTICKxBUTTONx4x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x9* = (orxJOYSTICKxBUTTONx5x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x9* = (orxJOYSTICKxBUTTONx6x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x9* = (orxJOYSTICKxBUTTONx7x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x9* = (orxJOYSTICKxBUTTONx8x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x9* = (orxJOYSTICKxBUTTONx9x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x9* = (orxJOYSTICKxBUTTONx10x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x9* = (orxJOYSTICKxBUTTONx11x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x9* = (orxJOYSTICKxBUTTONx12x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x9* = (orxJOYSTICKxBUTTONx13x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x9* = (orxJOYSTICKxBUTTONx14x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x9* = (orxJOYSTICKxBUTTONx15x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx10* = (orxJOYSTICKxBUTTONx16x9 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx10* = (orxJOYSTICKxBUTTONxAx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx10* = (orxJOYSTICKxBUTTONxBx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx10* = (orxJOYSTICKxBUTTONxXx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx10* = (orxJOYSTICKxBUTTONxYx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx10* = (orxJOYSTICKxBUTTONxLBUMPERx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx10* = (orxJOYSTICKxBUTTONxRBUMPERx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx10* = (orxJOYSTICKxBUTTONxBACKx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx10* = (orxJOYSTICKxBUTTONxSTARTx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx10* = (orxJOYSTICKxBUTTONxGUIDEx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx10* = (orxJOYSTICKxBUTTONxLTHUMBx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx10* = (orxJOYSTICKxBUTTONxRTHUMBx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx10* = (orxJOYSTICKxBUTTONxUPx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx10* = (orxJOYSTICKxBUTTONxRIGHTx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx10* = (orxJOYSTICKxBUTTONxDOWNx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x10* = (orxJOYSTICKxBUTTONxLEFTx10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x10* = (orxJOYSTICKxBUTTONx1x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x10* = (orxJOYSTICKxBUTTONx2x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x10* = (orxJOYSTICKxBUTTONx3x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x10* = (orxJOYSTICKxBUTTONx4x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x10* = (orxJOYSTICKxBUTTONx5x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x10* = (orxJOYSTICKxBUTTONx6x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x10* = (orxJOYSTICKxBUTTONx7x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x10* = (orxJOYSTICKxBUTTONx8x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x10* = (orxJOYSTICKxBUTTONx9x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x10* = (orxJOYSTICKxBUTTONx10x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x10* = (orxJOYSTICKxBUTTONx11x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x10* = (orxJOYSTICKxBUTTONx12x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x10* = (orxJOYSTICKxBUTTONx13x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x10* = (orxJOYSTICKxBUTTONx14x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x10* = (orxJOYSTICKxBUTTONx15x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx11* = (orxJOYSTICKxBUTTONx16x10 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx11* = (orxJOYSTICKxBUTTONxAx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx11* = (orxJOYSTICKxBUTTONxBx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx11* = (orxJOYSTICKxBUTTONxXx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx11* = (orxJOYSTICKxBUTTONxYx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx11* = (orxJOYSTICKxBUTTONxLBUMPERx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx11* = (orxJOYSTICKxBUTTONxRBUMPERx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx11* = (orxJOYSTICKxBUTTONxBACKx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx11* = (orxJOYSTICKxBUTTONxSTARTx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx11* = (orxJOYSTICKxBUTTONxGUIDEx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx11* = (orxJOYSTICKxBUTTONxLTHUMBx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx11* = (orxJOYSTICKxBUTTONxRTHUMBx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx11* = (orxJOYSTICKxBUTTONxUPx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx11* = (orxJOYSTICKxBUTTONxRIGHTx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx11* = (orxJOYSTICKxBUTTONxDOWNx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x11* = (orxJOYSTICKxBUTTONxLEFTx11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x11* = (orxJOYSTICKxBUTTONx1x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x11* = (orxJOYSTICKxBUTTONx2x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x11* = (orxJOYSTICKxBUTTONx3x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x11* = (orxJOYSTICKxBUTTONx4x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x11* = (orxJOYSTICKxBUTTONx5x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x11* = (orxJOYSTICKxBUTTONx6x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x11* = (orxJOYSTICKxBUTTONx7x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x11* = (orxJOYSTICKxBUTTONx8x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x11* = (orxJOYSTICKxBUTTONx9x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x11* = (orxJOYSTICKxBUTTONx10x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x11* = (orxJOYSTICKxBUTTONx11x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x11* = (orxJOYSTICKxBUTTONx12x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x11* = (orxJOYSTICKxBUTTONx13x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x11* = (orxJOYSTICKxBUTTONx14x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x11* = (orxJOYSTICKxBUTTONx15x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx12* = (orxJOYSTICKxBUTTONx16x11 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx12* = (orxJOYSTICKxBUTTONxAx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx12* = (orxJOYSTICKxBUTTONxBx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx12* = (orxJOYSTICKxBUTTONxXx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx12* = (orxJOYSTICKxBUTTONxYx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx12* = (orxJOYSTICKxBUTTONxLBUMPERx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx12* = (orxJOYSTICKxBUTTONxRBUMPERx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx12* = (orxJOYSTICKxBUTTONxBACKx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx12* = (orxJOYSTICKxBUTTONxSTARTx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx12* = (orxJOYSTICKxBUTTONxGUIDEx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx12* = (orxJOYSTICKxBUTTONxLTHUMBx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx12* = (orxJOYSTICKxBUTTONxRTHUMBx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx12* = (orxJOYSTICKxBUTTONxUPx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx12* = (orxJOYSTICKxBUTTONxRIGHTx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx12* = (orxJOYSTICKxBUTTONxDOWNx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x12* = (orxJOYSTICKxBUTTONxLEFTx12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x12* = (orxJOYSTICKxBUTTONx1x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x12* = (orxJOYSTICKxBUTTONx2x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x12* = (orxJOYSTICKxBUTTONx3x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x12* = (orxJOYSTICKxBUTTONx4x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x12* = (orxJOYSTICKxBUTTONx5x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x12* = (orxJOYSTICKxBUTTONx6x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x12* = (orxJOYSTICKxBUTTONx7x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x12* = (orxJOYSTICKxBUTTONx8x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x12* = (orxJOYSTICKxBUTTONx9x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x12* = (orxJOYSTICKxBUTTONx10x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x12* = (orxJOYSTICKxBUTTONx11x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x12* = (orxJOYSTICKxBUTTONx12x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x12* = (orxJOYSTICKxBUTTONx13x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x12* = (orxJOYSTICKxBUTTONx14x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x12* = (orxJOYSTICKxBUTTONx15x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx13* = (orxJOYSTICKxBUTTONx16x12 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx13* = (orxJOYSTICKxBUTTONxAx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx13* = (orxJOYSTICKxBUTTONxBx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx13* = (orxJOYSTICKxBUTTONxXx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx13* = (orxJOYSTICKxBUTTONxYx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx13* = (orxJOYSTICKxBUTTONxLBUMPERx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx13* = (orxJOYSTICKxBUTTONxRBUMPERx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx13* = (orxJOYSTICKxBUTTONxBACKx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx13* = (orxJOYSTICKxBUTTONxSTARTx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx13* = (orxJOYSTICKxBUTTONxGUIDEx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx13* = (orxJOYSTICKxBUTTONxLTHUMBx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx13* = (orxJOYSTICKxBUTTONxRTHUMBx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx13* = (orxJOYSTICKxBUTTONxUPx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx13* = (orxJOYSTICKxBUTTONxRIGHTx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx13* = (orxJOYSTICKxBUTTONxDOWNx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x13* = (orxJOYSTICKxBUTTONxLEFTx13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x13* = (orxJOYSTICKxBUTTONx1x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x13* = (orxJOYSTICKxBUTTONx2x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x13* = (orxJOYSTICKxBUTTONx3x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x13* = (orxJOYSTICKxBUTTONx4x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x13* = (orxJOYSTICKxBUTTONx5x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x13* = (orxJOYSTICKxBUTTONx6x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x13* = (orxJOYSTICKxBUTTONx7x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x13* = (orxJOYSTICKxBUTTONx8x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x13* = (orxJOYSTICKxBUTTONx9x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x13* = (orxJOYSTICKxBUTTONx10x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x13* = (orxJOYSTICKxBUTTONx11x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x13* = (orxJOYSTICKxBUTTONx12x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x13* = (orxJOYSTICKxBUTTONx13x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x13* = (orxJOYSTICKxBUTTONx14x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x13* = (orxJOYSTICKxBUTTONx15x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx14* = (orxJOYSTICKxBUTTONx16x13 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx14* = (orxJOYSTICKxBUTTONxAx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx14* = (orxJOYSTICKxBUTTONxBx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx14* = (orxJOYSTICKxBUTTONxXx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx14* = (orxJOYSTICKxBUTTONxYx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx14* = (orxJOYSTICKxBUTTONxLBUMPERx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx14* = (orxJOYSTICKxBUTTONxRBUMPERx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx14* = (orxJOYSTICKxBUTTONxBACKx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx14* = (orxJOYSTICKxBUTTONxSTARTx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx14* = (orxJOYSTICKxBUTTONxGUIDEx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx14* = (orxJOYSTICKxBUTTONxLTHUMBx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx14* = (orxJOYSTICKxBUTTONxRTHUMBx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx14* = (orxJOYSTICKxBUTTONxUPx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx14* = (orxJOYSTICKxBUTTONxRIGHTx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx14* = (orxJOYSTICKxBUTTONxDOWNx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x14* = (orxJOYSTICKxBUTTONxLEFTx14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x14* = (orxJOYSTICKxBUTTONx1x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x14* = (orxJOYSTICKxBUTTONx2x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x14* = (orxJOYSTICKxBUTTONx3x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x14* = (orxJOYSTICKxBUTTONx4x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x14* = (orxJOYSTICKxBUTTONx5x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x14* = (orxJOYSTICKxBUTTONx6x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x14* = (orxJOYSTICKxBUTTONx7x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x14* = (orxJOYSTICKxBUTTONx8x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x14* = (orxJOYSTICKxBUTTONx9x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x14* = (orxJOYSTICKxBUTTONx10x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x14* = (orxJOYSTICKxBUTTONx11x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x14* = (orxJOYSTICKxBUTTONx12x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x14* = (orxJOYSTICKxBUTTONx13x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x14* = (orxJOYSTICKxBUTTONx14x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x14* = (orxJOYSTICKxBUTTONx15x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx15* = (orxJOYSTICKxBUTTONx16x14 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx15* = (orxJOYSTICKxBUTTONxAx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx15* = (orxJOYSTICKxBUTTONxBx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx15* = (orxJOYSTICKxBUTTONxXx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx15* = (orxJOYSTICKxBUTTONxYx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx15* = (orxJOYSTICKxBUTTONxLBUMPERx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx15* = (orxJOYSTICKxBUTTONxRBUMPERx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx15* = (orxJOYSTICKxBUTTONxBACKx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx15* = (orxJOYSTICKxBUTTONxSTARTx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx15* = (orxJOYSTICKxBUTTONxGUIDEx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx15* = (orxJOYSTICKxBUTTONxLTHUMBx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx15* = (orxJOYSTICKxBUTTONxRTHUMBx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx15* = (orxJOYSTICKxBUTTONxUPx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx15* = (orxJOYSTICKxBUTTONxRIGHTx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx15* = (orxJOYSTICKxBUTTONxDOWNx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x15* = (orxJOYSTICKxBUTTONxLEFTx15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x15* = (orxJOYSTICKxBUTTONx1x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x15* = (orxJOYSTICKxBUTTONx2x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x15* = (orxJOYSTICKxBUTTONx3x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x15* = (orxJOYSTICKxBUTTONx4x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x15* = (orxJOYSTICKxBUTTONx5x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x15* = (orxJOYSTICKxBUTTONx6x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x15* = (orxJOYSTICKxBUTTONx7x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x15* = (orxJOYSTICKxBUTTONx8x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x15* = (orxJOYSTICKxBUTTONx9x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x15* = (orxJOYSTICKxBUTTONx10x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x15* = (orxJOYSTICKxBUTTONx11x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x15* = (orxJOYSTICKxBUTTONx12x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x15* = (orxJOYSTICKxBUTTONx13x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x15* = (orxJOYSTICKxBUTTONx14x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x15* = (orxJOYSTICKxBUTTONx15x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxAx16* = (orxJOYSTICKxBUTTONx16x15 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBx16* = (orxJOYSTICKxBUTTONxAx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxXx16* = (orxJOYSTICKxBUTTONxBx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxYx16* = (orxJOYSTICKxBUTTONxXx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLBUMPERx16* = (orxJOYSTICKxBUTTONxYx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRBUMPERx16* = (orxJOYSTICKxBUTTONxLBUMPERx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxBACKx16* = (orxJOYSTICKxBUTTONxRBUMPERx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxSTARTx16* = (orxJOYSTICKxBUTTONxBACKx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxGUIDEx16* = (orxJOYSTICKxBUTTONxSTARTx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLTHUMBx16* = (orxJOYSTICKxBUTTONxGUIDEx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRTHUMBx16* = (orxJOYSTICKxBUTTONxLTHUMBx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxUPx16* = (orxJOYSTICKxBUTTONxRTHUMBx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxRIGHTx16* = (orxJOYSTICKxBUTTONxUPx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxDOWNx16* = (orxJOYSTICKxBUTTONxRIGHTx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxLEFTx16* = (orxJOYSTICKxBUTTONxDOWNx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx1x16* = (orxJOYSTICKxBUTTONxLEFTx16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx2x16* = (orxJOYSTICKxBUTTONx1x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx3x16* = (orxJOYSTICKxBUTTONx2x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx4x16* = (orxJOYSTICKxBUTTONx3x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx5x16* = (orxJOYSTICKxBUTTONx4x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx6x16* = (orxJOYSTICKxBUTTONx5x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx7x16* = (orxJOYSTICKxBUTTONx6x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx8x16* = (orxJOYSTICKxBUTTONx7x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx9x16* = (orxJOYSTICKxBUTTONx8x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx10x16* = (orxJOYSTICKxBUTTONx9x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx11x16* = (orxJOYSTICKxBUTTONx10x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx12x16* = (orxJOYSTICKxBUTTONx11x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx13x16* = (orxJOYSTICKxBUTTONx12x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx14x16* = (orxJOYSTICKxBUTTONx13x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx15x16* = (orxJOYSTICKxBUTTONx14x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONx16x16* = (orxJOYSTICKxBUTTONx15x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxNUMBER* = (orxJOYSTICKxBUTTONx16x16 + 1).orxJOYSTICKxBUTTONxt
orxJOYSTICKxBUTTONxNONE* = (0x0000000000000000'i64).orxJOYSTICKxBUTTONxt
orxJOYSTICK_AXIS_LX_1* = (0).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_1* = (orxJOYSTICK_AXIS_LX_1 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_1* = (orxJOYSTICK_AXIS_LY_1 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_1* = (orxJOYSTICK_AXIS_RX_1 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_1* = (orxJOYSTICK_AXIS_RY_1 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_1* = (orxJOYSTICK_AXIS_LTRIGGER_1 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_SINGLE_NUMBER* = (orxJOYSTICK_AXIS_RTRIGGER_1 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_2* = (orxJOYSTICK_AXIS_SINGLE_NUMBER.orxJOYSTICK_AXIS_t).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_2* = (orxJOYSTICK_AXIS_LX_2 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_2* = (orxJOYSTICK_AXIS_LY_2 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_2* = (orxJOYSTICK_AXIS_RX_2 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_2* = (orxJOYSTICK_AXIS_RY_2 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_2* = (orxJOYSTICK_AXIS_LTRIGGER_2 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_3* = (orxJOYSTICK_AXIS_RTRIGGER_2 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_3* = (orxJOYSTICK_AXIS_LX_3 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_3* = (orxJOYSTICK_AXIS_LY_3 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_3* = (orxJOYSTICK_AXIS_RX_3 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_3* = (orxJOYSTICK_AXIS_RY_3 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_3* = (orxJOYSTICK_AXIS_LTRIGGER_3 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_4* = (orxJOYSTICK_AXIS_RTRIGGER_3 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_4* = (orxJOYSTICK_AXIS_LX_4 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_4* = (orxJOYSTICK_AXIS_LY_4 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_4* = (orxJOYSTICK_AXIS_RX_4 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_4* = (orxJOYSTICK_AXIS_RY_4 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_4* = (orxJOYSTICK_AXIS_LTRIGGER_4 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_5* = (orxJOYSTICK_AXIS_RTRIGGER_4 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_5* = (orxJOYSTICK_AXIS_LX_5 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_5* = (orxJOYSTICK_AXIS_LY_5 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_5* = (orxJOYSTICK_AXIS_RX_5 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_5* = (orxJOYSTICK_AXIS_RY_5 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_5* = (orxJOYSTICK_AXIS_LTRIGGER_5 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_6* = (orxJOYSTICK_AXIS_RTRIGGER_5 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_6* = (orxJOYSTICK_AXIS_LX_6 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_6* = (orxJOYSTICK_AXIS_LY_6 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_6* = (orxJOYSTICK_AXIS_RX_6 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_6* = (orxJOYSTICK_AXIS_RY_6 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_6* = (orxJOYSTICK_AXIS_LTRIGGER_6 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_7* = (orxJOYSTICK_AXIS_RTRIGGER_6 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_7* = (orxJOYSTICK_AXIS_LX_7 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_7* = (orxJOYSTICK_AXIS_LY_7 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_7* = (orxJOYSTICK_AXIS_RX_7 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_7* = (orxJOYSTICK_AXIS_RY_7 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_7* = (orxJOYSTICK_AXIS_LTRIGGER_7 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_8* = (orxJOYSTICK_AXIS_RTRIGGER_7 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_8* = (orxJOYSTICK_AXIS_LX_8 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_8* = (orxJOYSTICK_AXIS_LY_8 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_8* = (orxJOYSTICK_AXIS_RX_8 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_8* = (orxJOYSTICK_AXIS_RY_8 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_8* = (orxJOYSTICK_AXIS_LTRIGGER_8 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_9* = (orxJOYSTICK_AXIS_RTRIGGER_8 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_9* = (orxJOYSTICK_AXIS_LX_9 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_9* = (orxJOYSTICK_AXIS_LY_9 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_9* = (orxJOYSTICK_AXIS_RX_9 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_9* = (orxJOYSTICK_AXIS_RY_9 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_9* = (orxJOYSTICK_AXIS_LTRIGGER_9 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_10* = (orxJOYSTICK_AXIS_RTRIGGER_9 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_10* = (orxJOYSTICK_AXIS_LX_10 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_10* = (orxJOYSTICK_AXIS_LY_10 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_10* = (orxJOYSTICK_AXIS_RX_10 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_10* = (orxJOYSTICK_AXIS_RY_10 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_10* = (orxJOYSTICK_AXIS_LTRIGGER_10 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_11* = (orxJOYSTICK_AXIS_RTRIGGER_10 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_11* = (orxJOYSTICK_AXIS_LX_11 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_11* = (orxJOYSTICK_AXIS_LY_11 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_11* = (orxJOYSTICK_AXIS_RX_11 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_11* = (orxJOYSTICK_AXIS_RY_11 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_11* = (orxJOYSTICK_AXIS_LTRIGGER_11 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_12* = (orxJOYSTICK_AXIS_RTRIGGER_11 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_12* = (orxJOYSTICK_AXIS_LX_12 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_12* = (orxJOYSTICK_AXIS_LY_12 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_12* = (orxJOYSTICK_AXIS_RX_12 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_12* = (orxJOYSTICK_AXIS_RY_12 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_12* = (orxJOYSTICK_AXIS_LTRIGGER_12 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_13* = (orxJOYSTICK_AXIS_RTRIGGER_12 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_13* = (orxJOYSTICK_AXIS_LX_13 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_13* = (orxJOYSTICK_AXIS_LY_13 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_13* = (orxJOYSTICK_AXIS_RX_13 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_13* = (orxJOYSTICK_AXIS_RY_13 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_13* = (orxJOYSTICK_AXIS_LTRIGGER_13 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_14* = (orxJOYSTICK_AXIS_RTRIGGER_13 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_14* = (orxJOYSTICK_AXIS_LX_14 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_14* = (orxJOYSTICK_AXIS_LY_14 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_14* = (orxJOYSTICK_AXIS_RX_14 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_14* = (orxJOYSTICK_AXIS_RY_14 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_14* = (orxJOYSTICK_AXIS_LTRIGGER_14 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_15* = (orxJOYSTICK_AXIS_RTRIGGER_14 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_15* = (orxJOYSTICK_AXIS_LX_15 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_15* = (orxJOYSTICK_AXIS_LY_15 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_15* = (orxJOYSTICK_AXIS_RX_15 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_15* = (orxJOYSTICK_AXIS_RY_15 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_15* = (orxJOYSTICK_AXIS_LTRIGGER_15 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LX_16* = (orxJOYSTICK_AXIS_RTRIGGER_15 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LY_16* = (orxJOYSTICK_AXIS_LX_16 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RX_16* = (orxJOYSTICK_AXIS_LY_16 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RY_16* = (orxJOYSTICK_AXIS_RX_16 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_LTRIGGER_16* = (orxJOYSTICK_AXIS_RY_16 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_RTRIGGER_16* = (orxJOYSTICK_AXIS_LTRIGGER_16 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_NUMBER* = (orxJOYSTICK_AXIS_RTRIGGER_16 + 1).orxJOYSTICK_AXIS_t
orxJOYSTICK_AXIS_NONE* = (0x0000000000000000'i64).orxJOYSTICK_AXIS_t
orxJOYSTICK_KU32_MIN_ID* = 1
orxJOYSTICK_KU32_MAX_ID* = (typeof(orxJOYSTICKxBUTTONxNUMBER)(orxJOYSTICKxBUTTONxNUMBER /
typeof(orxJOYSTICKxBUTTONxNUMBER)(orxJOYSTICKxBUTTONxSINGLExNUMBER)))
orxKEYBOARD_KEY_0* = (0).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_1* = (orxKEYBOARD_KEY_0 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_2* = (orxKEYBOARD_KEY_1 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_3* = (orxKEYBOARD_KEY_2 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_4* = (orxKEYBOARD_KEY_3 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_5* = (orxKEYBOARD_KEY_4 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_6* = (orxKEYBOARD_KEY_5 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_7* = (orxKEYBOARD_KEY_6 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_8* = (orxKEYBOARD_KEY_7 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_9* = (orxKEYBOARD_KEY_8 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_A* = (orxKEYBOARD_KEY_9 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_B* = (orxKEYBOARD_KEY_A + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_C* = (orxKEYBOARD_KEY_B + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_D* = (orxKEYBOARD_KEY_C + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_E* = (orxKEYBOARD_KEY_D + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F* = (orxKEYBOARD_KEY_E + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_G* = (orxKEYBOARD_KEY_F + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_H* = (orxKEYBOARD_KEY_G + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_I* = (orxKEYBOARD_KEY_H + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_J* = (orxKEYBOARD_KEY_I + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_K* = (orxKEYBOARD_KEY_J + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_L* = (orxKEYBOARD_KEY_K + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_M* = (orxKEYBOARD_KEY_L + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_N* = (orxKEYBOARD_KEY_M + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_O* = (orxKEYBOARD_KEY_N + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_P* = (orxKEYBOARD_KEY_O + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_Q* = (orxKEYBOARD_KEY_P + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_R* = (orxKEYBOARD_KEY_Q + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_S* = (orxKEYBOARD_KEY_R + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_T* = (orxKEYBOARD_KEY_S + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_U* = (orxKEYBOARD_KEY_T + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_V* = (orxKEYBOARD_KEY_U + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_W* = (orxKEYBOARD_KEY_V + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_X* = (orxKEYBOARD_KEY_W + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_Y* = (orxKEYBOARD_KEY_X + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_Z* = (orxKEYBOARD_KEY_Y + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_SPACE* = (orxKEYBOARD_KEY_Z + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_QUOTE* = (orxKEYBOARD_KEY_SPACE + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_COMMA* = (orxKEYBOARD_KEY_QUOTE + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_DASH* = (orxKEYBOARD_KEY_COMMA + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_PERIOD* = (orxKEYBOARD_KEY_DASH + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_SLASH* = (orxKEYBOARD_KEY_PERIOD + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_SEMICOLON* = (orxKEYBOARD_KEY_SLASH + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_EQUAL* = (orxKEYBOARD_KEY_SEMICOLON + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_LBRACKET* = (orxKEYBOARD_KEY_EQUAL + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_BACKSLASH* = (orxKEYBOARD_KEY_LBRACKET + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_RBRACKET* = (orxKEYBOARD_KEY_BACKSLASH + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_BACKQUOTE* = (orxKEYBOARD_KEY_RBRACKET + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_WORLD_1* = (orxKEYBOARD_KEY_BACKQUOTE + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_WORLD_2* = (orxKEYBOARD_KEY_WORLD_1 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_ESCAPE* = (orxKEYBOARD_KEY_WORLD_2 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_ENTER* = (orxKEYBOARD_KEY_ESCAPE + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_TAB* = (orxKEYBOARD_KEY_ENTER + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_BACKSPACE* = (orxKEYBOARD_KEY_TAB + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_INSERT* = (orxKEYBOARD_KEY_BACKSPACE + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_DELETE* = (orxKEYBOARD_KEY_INSERT + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_RIGHT* = (orxKEYBOARD_KEY_DELETE + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_LEFT* = (orxKEYBOARD_KEY_RIGHT + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_DOWN* = (orxKEYBOARD_KEY_LEFT + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_UP* = (orxKEYBOARD_KEY_DOWN + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_PAGE_UP* = (orxKEYBOARD_KEY_UP + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_PAGE_DOWN* = (orxKEYBOARD_KEY_PAGE_UP + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_HOME* = (orxKEYBOARD_KEY_PAGE_DOWN + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_END* = (orxKEYBOARD_KEY_HOME + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_CAPS_LOCK* = (orxKEYBOARD_KEY_END + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_SCROLL_LOCK* = (orxKEYBOARD_KEY_CAPS_LOCK + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUM_LOCK* = (orxKEYBOARD_KEY_SCROLL_LOCK + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_PRINT_SCREEN* = (orxKEYBOARD_KEY_NUM_LOCK + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_PAUSE* = (orxKEYBOARD_KEY_PRINT_SCREEN + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F1* = (orxKEYBOARD_KEY_PAUSE + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F2* = (orxKEYBOARD_KEY_F1 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F3* = (orxKEYBOARD_KEY_F2 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F4* = (orxKEYBOARD_KEY_F3 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F5* = (orxKEYBOARD_KEY_F4 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F6* = (orxKEYBOARD_KEY_F5 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F7* = (orxKEYBOARD_KEY_F6 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F8* = (orxKEYBOARD_KEY_F7 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F9* = (orxKEYBOARD_KEY_F8 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F10* = (orxKEYBOARD_KEY_F9 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F11* = (orxKEYBOARD_KEY_F10 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F12* = (orxKEYBOARD_KEY_F11 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F13* = (orxKEYBOARD_KEY_F12 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F14* = (orxKEYBOARD_KEY_F13 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F15* = (orxKEYBOARD_KEY_F14 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F16* = (orxKEYBOARD_KEY_F15 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F17* = (orxKEYBOARD_KEY_F16 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F18* = (orxKEYBOARD_KEY_F17 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F19* = (orxKEYBOARD_KEY_F18 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F20* = (orxKEYBOARD_KEY_F19 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F21* = (orxKEYBOARD_KEY_F20 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F22* = (orxKEYBOARD_KEY_F21 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F23* = (orxKEYBOARD_KEY_F22 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F24* = (orxKEYBOARD_KEY_F23 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_F25* = (orxKEYBOARD_KEY_F24 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_0* = (orxKEYBOARD_KEY_F25 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_1* = (orxKEYBOARD_KEY_NUMPAD_0 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_2* = (orxKEYBOARD_KEY_NUMPAD_1 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_3* = (orxKEYBOARD_KEY_NUMPAD_2 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_4* = (orxKEYBOARD_KEY_NUMPAD_3 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_5* = (orxKEYBOARD_KEY_NUMPAD_4 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_6* = (orxKEYBOARD_KEY_NUMPAD_5 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_7* = (orxKEYBOARD_KEY_NUMPAD_6 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_8* = (orxKEYBOARD_KEY_NUMPAD_7 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_9* = (orxKEYBOARD_KEY_NUMPAD_8 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_DECIMAL* = (orxKEYBOARD_KEY_NUMPAD_9 + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_DIVIDE* = (orxKEYBOARD_KEY_NUMPAD_DECIMAL + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_MULTIPLY* = (orxKEYBOARD_KEY_NUMPAD_DIVIDE + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_SUBTRACT* = (orxKEYBOARD_KEY_NUMPAD_MULTIPLY + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_ADD* = (orxKEYBOARD_KEY_NUMPAD_SUBTRACT + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_ENTER* = (orxKEYBOARD_KEY_NUMPAD_ADD + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMPAD_EQUAL* = (orxKEYBOARD_KEY_NUMPAD_ENTER + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_LSHIFT* = (orxKEYBOARD_KEY_NUMPAD_EQUAL + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_LCTRL* = (orxKEYBOARD_KEY_LSHIFT + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_LALT* = (orxKEYBOARD_KEY_LCTRL + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_LSYSTEM* = (orxKEYBOARD_KEY_LALT + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_RSHIFT* = (orxKEYBOARD_KEY_LSYSTEM + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_RCTRL* = (orxKEYBOARD_KEY_RSHIFT + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_RALT* = (orxKEYBOARD_KEY_RCTRL + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_RSYSTEM* = (orxKEYBOARD_KEY_RALT + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_MENU* = (orxKEYBOARD_KEY_RSYSTEM + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NUMBER* = (orxKEYBOARD_KEY_MENU + 1).orxKEYBOARD_KEY_tx
orxKEYBOARD_KEY_NONE* = (0x0000000000000000'i64).orxKEYBOARD_KEY_tx
orxMOUSE_BUTTON_LEFT* = (0).orxMOUSE_BUTTON_t
orxMOUSE_BUTTON_RIGHT* = (orxMOUSE_BUTTON_LEFT + 1).orxMOUSE_BUTTON_t
orxMOUSE_BUTTON_MIDDLE* = (orxMOUSE_BUTTON_RIGHT + 1).orxMOUSE_BUTTON_t
orxMOUSE_BUTTON_EXTRA_1* = (orxMOUSE_BUTTON_MIDDLE + 1).orxMOUSE_BUTTON_t
orxMOUSE_BUTTON_EXTRA_2* = (orxMOUSE_BUTTON_EXTRA_1 + 1).orxMOUSE_BUTTON_t
orxMOUSE_BUTTON_EXTRA_3* = (orxMOUSE_BUTTON_EXTRA_2 + 1).orxMOUSE_BUTTON_t
orxMOUSE_BUTTON_EXTRA_4* = (orxMOUSE_BUTTON_EXTRA_3 + 1).orxMOUSE_BUTTON_t
orxMOUSE_BUTTON_EXTRA_5* = (orxMOUSE_BUTTON_EXTRA_4 + 1).orxMOUSE_BUTTON_t
orxMOUSE_BUTTON_WHEEL_UP* = (orxMOUSE_BUTTON_EXTRA_5 + 1).orxMOUSE_BUTTON_t
orxMOUSE_BUTTON_WHEEL_DOWN* = (orxMOUSE_BUTTON_WHEEL_UP + 1).orxMOUSE_BUTTON_t
orxMOUSE_BUTTON_NUMBER* = (orxMOUSE_BUTTON_WHEEL_DOWN + 1).orxMOUSE_BUTTON_t
orxMOUSE_BUTTON_NONE* = (0x0000000000000000'i64).orxMOUSE_BUTTON_t
orxMOUSE_AXIS_X* = (0).orxMOUSE_AXIS_t
orxMOUSE_AXIS_Y* = (orxMOUSE_AXIS_X + 1).orxMOUSE_AXIS_t
orxMOUSE_AXIS_NUMBER* = (orxMOUSE_AXIS_Y + 1).orxMOUSE_AXIS_t
orxMOUSE_AXIS_NONE* = (0x0000000000000000'i64).orxMOUSE_AXIS_t
orxMOUSE_KZ_CONFIG_SECTION* = "Mouse"
orxMOUSE_KZ_CONFIG_SHOW_CURSOR* = "ShowCursor"
orxINPUT_KZ_CONFIG_SECTION* = "Input"
orxINPUT_KZ_CONFIG_SET_LIST* = "SetList"
orxINPUT_KZ_CONFIG_DEFAULT_THRESHOLD* = "DefaultThreshold"
orxINPUT_KZ_CONFIG_DEFAULT_MULTIPLIER* = "DefaultMultiplier"
orxINPUT_KZ_CONFIG_COMBINE_LIST* = "CombineList"
orxINPUT_KU32_BINDING_NUMBER* = 8
orxINPUT_KZ_INTERNAL_SET_PREFIX* = "-="
orxINPUT_KC_MODE_PREFIX_POSITIVE* = '+'
orxINPUT_KC_MODE_PREFIX_NEGATIVE* = '-'
orxINPUT_KU32_FLAG_TYPE_NONE* = 0x00000000
orxINPUT_KU32_MASK_TYPE_ALL* = 0x0000FFFF
orxINPUT_TYPE_KEYBOARD_KEY* = (0).orxINPUT_TYPE_t
orxINPUT_TYPE_MOUSE_BUTTON* = (orxINPUT_TYPE_KEYBOARD_KEY + 1).orxINPUT_TYPE_t
orxINPUT_TYPE_MOUSE_AXIS* = (orxINPUT_TYPE_MOUSE_BUTTON + 1).orxINPUT_TYPE_t
orxINPUT_TYPE_JOYSTICK_BUTTON* = (orxINPUT_TYPE_MOUSE_AXIS + 1).orxINPUT_TYPE_t
orxINPUT_TYPE_JOYSTICK_AXIS* = (orxINPUT_TYPE_JOYSTICK_BUTTON + 1).orxINPUT_TYPE_t
orxINPUT_TYPE_EXTERNAL* = (orxINPUT_TYPE_JOYSTICK_AXIS + 1).orxINPUT_TYPE_t
orxINPUT_TYPE_NUMBER* = (orxINPUT_TYPE_EXTERNAL + 1).orxINPUT_TYPE_t
orxINPUT_TYPE_NONE* = (0x0000000000000000'i64).orxINPUT_TYPE_t
orxINPUT_MODE_FULL* = (0).orxINPUT_MODE_t
orxINPUT_MODE_POSITIVE* = (orxINPUT_MODE_FULL + 1).orxINPUT_MODE_t
orxINPUT_MODE_NEGATIVE* = (orxINPUT_MODE_POSITIVE + 1).orxINPUT_MODE_t
orxINPUT_MODE_NUMBER* = (orxINPUT_MODE_NEGATIVE + 1).orxINPUT_MODE_t
orxINPUT_MODE_NONE* = (0x0000000000000000'i64).orxINPUT_MODE_t
orxINPUT_EVENT_ON* = (0).orxINPUT_EVENT_t
orxINPUT_EVENT_OFF* = (orxINPUT_EVENT_ON + 1).orxINPUT_EVENT_t
orxINPUT_EVENT_SELECT_SET* = (orxINPUT_EVENT_OFF + 1).orxINPUT_EVENT_t
orxINPUT_EVENT_NUMBER* = (orxINPUT_EVENT_SELECT_SET + 1).orxINPUT_EVENT_t
orxINPUT_EVENT_NONE* = (0x0000000000000000'i64).orxINPUT_EVENT_t
orxCONSOLE_KZ_INPUT_SET* = "-=ConsoleSet=-"
orxCONSOLE_KZ_INPUT_TOGGLE* = "Toggle"
orxCONSOLE_KZ_INPUT_AUTOCOMPLETE* = "AutoComplete"
orxCONSOLE_KZ_INPUT_DELETE* = "Delete"
orxCONSOLE_KZ_INPUT_DELETE_AFTER* = "DeleteAfter"
orxCONSOLE_KZ_INPUT_TOGGLE_MODE* = "ToggleMode"
orxCONSOLE_KZ_INPUT_ENTER* = "Enter"
orxCONSOLE_KZ_INPUT_PREVIOUS* = "Previous"
orxCONSOLE_KZ_INPUT_NEXT* = "Next"
orxCONSOLE_KZ_INPUT_LEFT* = "Left"
orxCONSOLE_KZ_INPUT_RIGHT* = "Right"
orxCONSOLE_KZ_INPUT_START* = "Start"
orxCONSOLE_KZ_INPUT_END* = "End"
orxCONSOLE_KZ_INPUT_PASTE* = "Paste"
orxCONSOLE_KZ_INPUT_SCROLL_DOWN* = "ScrollDown"
orxCONSOLE_KZ_INPUT_SCROLL_UP* = "ScrollUp"
orxEVENT_KU32_FLAG_ID_NONE* = 0x00000000
orxEVENT_KU32_MASK_ID_ALL* = 0xFFFFFFFF
orxEVENT_TYPE_ANIM* = (0).orxEVENT_TYPE_t
orxEVENT_TYPE_CLOCK* = (orxEVENT_TYPE_ANIM + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_CONFIG* = (orxEVENT_TYPE_CLOCK + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_DISPLAY* = (orxEVENT_TYPE_CONFIG + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_FX* = (orxEVENT_TYPE_DISPLAY + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_INPUT* = (orxEVENT_TYPE_FX + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_LOCALE* = (orxEVENT_TYPE_INPUT + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_OBJECT* = (orxEVENT_TYPE_LOCALE + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_RENDER* = (orxEVENT_TYPE_OBJECT + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_PHYSICS* = (orxEVENT_TYPE_RENDER + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_RESOURCE* = (orxEVENT_TYPE_PHYSICS + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_SHADER* = (orxEVENT_TYPE_RESOURCE + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_SOUND* = (orxEVENT_TYPE_SHADER + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_SPAWNER* = (orxEVENT_TYPE_SOUND + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_SYSTEM* = (orxEVENT_TYPE_SPAWNER + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_TEXTURE* = (orxEVENT_TYPE_SYSTEM + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_TIMELINE* = (orxEVENT_TYPE_TEXTURE + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_VIEWPORT* = (orxEVENT_TYPE_TIMELINE + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_CORE_NUMBER* = (orxEVENT_TYPE_VIEWPORT + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_FIRST_RESERVED* = (orxEVENT_TYPE_CORE_NUMBER.orxEVENT_TYPE_t).orxEVENT_TYPE_t
orxEVENT_TYPE_LAST_RESERVED* = (255).orxEVENT_TYPE_t
orxEVENT_TYPE_USER_DEFINED* = (orxEVENT_TYPE_LAST_RESERVED + 1).orxEVENT_TYPE_t
orxEVENT_TYPE_NONE* = (0x0000000000000000'i64).orxEVENT_TYPE_t
orxLOCALE_EVENT_SELECT_LANGUAGE* = (0).orxLOCALE_EVENT_t ## ```
## < Event sent when selecting a language
## ```
orxLOCALE_EVENT_SET_STRING* = (orxLOCALE_EVENT_SELECT_LANGUAGE + 1).orxLOCALE_EVENT_t ## ```
## < Event sent when setting a string
## ```
orxLOCALE_EVENT_NUMBER* = (orxLOCALE_EVENT_SET_STRING + 1).orxLOCALE_EVENT_t
orxLOCALE_EVENT_NONE* = (0x0000000000000000'i64).orxLOCALE_EVENT_t
orxRESOURCE_KC_LOCATION_SEPARATOR* = ':'
orxRESOURCE_KZ_DEFAULT_STORAGE* = "."
orxRESOURCE_KZ_TYPE_TAG_FILE* = "file"
orxRESOURCE_EVENT_UPDATE* = (0).orxRESOURCE_EVENT_t
orxRESOURCE_EVENT_ADD* = (orxRESOURCE_EVENT_UPDATE + 1).orxRESOURCE_EVENT_t
orxRESOURCE_EVENT_REMOVE* = (orxRESOURCE_EVENT_ADD + 1).orxRESOURCE_EVENT_t
orxRESOURCE_EVENT_NUMBER* = (orxRESOURCE_EVENT_REMOVE + 1).orxRESOURCE_EVENT_t
orxRESOURCE_EVENT_NONE* = (0x0000000000000000'i64).orxRESOURCE_EVENT_t
orxTHREAD_KU32_MAIN_THREAD_ID* = 0
orxTHREAD_KU32_MAX_THREAD_NUMBER* = 16
orxTHREAD_KU32_FLAG_NONE* = 0
orxTHREAD_KU32_MASK_ALL* = (((1 shl
typeof(1)(orxTHREAD_KU32_MAX_THREAD_NUMBER)) - typeof(1)(1)) and
typeof(1)((not (1 shl typeof(1)(orxTHREAD_KU32_MAIN_THREAD_ID)))))
orxPROFILER_KU32_HISTORY_LENGTH* = 2
orxPROFILER_KS32_MARKER_ID_NONE* = -1
orxGRAPHIC_KU32_FLAG_NONE* = 0x00000000
orxGRAPHIC_KU32_FLAG_2D* = 0x00000001
orxGRAPHIC_KU32_FLAG_TEXT* = 0x00000002
orxGRAPHIC_KU32_MASK_TYPE* = 0x00000003
orxGRAPHIC_KU32_FLAG_FLIP_X* = 0x00000004
orxGRAPHIC_KU32_FLAG_FLIP_Y* = 0x00000008
orxGRAPHIC_KU32_MASK_FLIP_BOTH* = 0x0000000C
orxGRAPHIC_KU32_FLAG_ALIGN_CENTER* = 0x00000000
orxGRAPHIC_KU32_FLAG_ALIGN_LEFT* = 0x00000010
orxGRAPHIC_KU32_FLAG_ALIGN_RIGHT* = 0x00000020
orxGRAPHIC_KU32_FLAG_ALIGN_TOP* = 0x00000040
orxGRAPHIC_KU32_FLAG_ALIGN_BOTTOM* = 0x00000080
orxGRAPHIC_KU32_FLAG_ALIGN_TRUNCATE* = 0x00000100
orxGRAPHIC_KU32_FLAG_ALIGN_ROUND* = 0x00000200
orxGRAPHIC_KU32_MASK_USER_ALL* = 0x00000FFF
orxGRAPHIC_KZ_CONFIG_TEXTURE_NAME* = "Texture"
orxGRAPHIC_KZ_CONFIG_TEXTURE_ORIGIN* = "TextureOrigin"
orxGRAPHIC_KZ_CONFIG_TEXTURE_SIZE* = "TextureSize"
orxGRAPHIC_KZ_CONFIG_TEXT_NAME* = "Text"
orxGRAPHIC_KZ_CONFIG_PIVOT* = "Pivot"
orxGRAPHIC_KZ_CONFIG_COLOR* = "Color"
orxGRAPHIC_KZ_CONFIG_ALPHA* = "Alpha"
orxGRAPHIC_KZ_CONFIG_RGB* = "RGB"
orxGRAPHIC_KZ_CONFIG_HSL* = "HSL"
orxGRAPHIC_KZ_CONFIG_HSV* = "HSV"
orxGRAPHIC_KZ_CONFIG_FLIP* = "Flip"
orxGRAPHIC_KZ_CONFIG_REPEAT* = "Repeat"
orxGRAPHIC_KZ_CONFIG_SMOOTHING* = "Smoothing"
orxGRAPHIC_KZ_CONFIG_BLEND_MODE* = "BlendMode"
orxGRAPHIC_KZ_CONFIG_KEEP_IN_CACHE* = "KeepInCache"
orxSCREENSHOT_KZ_DEFAULT_DIRECTORY_NAME* = "."
orxSCREENSHOT_KZ_DEFAULT_BASE_NAME* = "screenshot-"
orxSCREENSHOT_KZ_DEFAULT_EXTENSION* = "tga"
orxSCREENSHOT_KU32_DEFAULT_DIGITS* = 4
orxFILE_KU32_FLAG_INFO_NORMAL* = 0x00000001
orxFILE_KU32_FLAG_INFO_READONLY* = 0x00000002
orxFILE_KU32_FLAG_INFO_HIDDEN* = 0x00000004
orxFILE_KU32_FLAG_INFO_DIRECTORY* = 0x00000008
orxFILE_KU32_FLAG_OPEN_READ* = 0x10000000
orxFILE_KU32_FLAG_OPEN_WRITE* = 0x20000000
orxFILE_KU32_FLAG_OPEN_APPEND* = 0x40000000
orxFILE_KU32_FLAG_OPEN_BINARY* = 0x80000000
orxPARAM_KU32_FLAG_NONE* = 0x00000000
orxPARAM_KU32_FLAG_MULTIPLE_ALLOWED* = 0x00000001
orxPARAM_KU32_FLAG_STOP_ON_ERROR* = 0x00000002
orxFRAME_KU32_FLAG_NONE* = 0x00000000
orxFRAME_KU32_FLAG_SCROLL_X* = 0x00000001
orxFRAME_KU32_FLAG_SCROLL_Y* = 0x00000002
orxFRAME_KU32_MASK_SCROLL_BOTH* = 0x00000003
orxFRAME_KU32_FLAG_DEPTH_SCALE* = 0x00000004
orxFRAME_KU32_FLAG_FLIP_X* = 0x00000010
orxFRAME_KU32_FLAG_FLIP_Y* = 0x00000020
orxFRAME_KU32_MASK_FLIP_BOTH* = 0x00000030
orxFRAME_KU32_FLAG_IGNORE_NONE* = 0x00000000
orxFRAME_KU32_FLAG_IGNORE_ROTATION* = 0x00000100
orxFRAME_KU32_FLAG_IGNORE_SCALE_X* = 0x00000200
orxFRAME_KU32_FLAG_IGNORE_SCALE_Y* = 0x00000400
orxFRAME_KU32_FLAG_IGNORE_SCALE_Z* = 0x00000800
orxFRAME_KU32_MASK_IGNORE_SCALE* = 0x00000E00
orxFRAME_KU32_FLAG_IGNORE_POSITION_ROTATION* = 0x00001000
orxFRAME_KU32_FLAG_IGNORE_POSITION_SCALE_X* = 0x00002000
orxFRAME_KU32_FLAG_IGNORE_POSITION_SCALE_Y* = 0x00004000
orxFRAME_KU32_FLAG_IGNORE_POSITION_SCALE_Z* = 0x00008000
orxFRAME_KU32_MASK_IGNORE_POSITION_SCALE* = 0x0000E000
orxFRAME_KU32_FLAG_IGNORE_POSITION_POSITION_X* = 0x00010000
orxFRAME_KU32_FLAG_IGNORE_POSITION_POSITION_Y* = 0x00020000
orxFRAME_KU32_FLAG_IGNORE_POSITION_POSITION_Z* = 0x00040000
orxFRAME_KU32_MASK_IGNORE_POSITION_POSITION* = 0x00070000
orxFRAME_KU32_MASK_IGNORE_POSITION* = 0x0007F000
orxFRAME_KU32_MASK_IGNORE_ALL* = 0x0007FF00
orxFRAME_KU32_MASK_USER_ALL* = 0x0007FFFF
orxFRAME_SPACE_GLOBAL* = (0).orxFRAME_SPACE_t
orxFRAME_SPACE_LOCAL* = (orxFRAME_SPACE_GLOBAL + 1).orxFRAME_SPACE_t
orxFRAME_SPACE_NUMBER* = (orxFRAME_SPACE_LOCAL + 1).orxFRAME_SPACE_t
orxFRAME_SPACE_NONE* = (0x0000000000000000'i64).orxFRAME_SPACE_t
orxSOUNDSYSTEM_STATUS_PLAY* = (0).orxSOUNDSYSTEM_STATUS_t
orxSOUNDSYSTEM_STATUS_PAUSE* = (orxSOUNDSYSTEM_STATUS_PLAY + 1).orxSOUNDSYSTEM_STATUS_t
orxSOUNDSYSTEM_STATUS_STOP* = (orxSOUNDSYSTEM_STATUS_PAUSE + 1).orxSOUNDSYSTEM_STATUS_t
orxSOUNDSYSTEM_STATUS_NUMBER* = (orxSOUNDSYSTEM_STATUS_STOP + 1).orxSOUNDSYSTEM_STATUS_t
orxSOUNDSYSTEM_STATUS_NONE* = (0x0000000000000000'i64).orxSOUNDSYSTEM_STATUS_t
orxSOUNDSYSTEM_KZ_CONFIG_SECTION* = "SoundSystem"
orxSOUNDSYSTEM_KZ_CONFIG_RATIO* = "DimensionRatio"
orxSOUNDSYSTEM_KZ_CONFIG_STREAM_BUFFER_SIZE* = "StreamBufferSize"
orxSOUNDSYSTEM_KZ_CONFIG_STREAM_BUFFER_NUMBER* = "StreamBufferNumber"
orxSOUND_KZ_RESOURCE_GROUP* = "Sound"
orxSOUND_KZ_MASTER_BUS* = "master"
orxSOUND_STATUS_PLAY* = (0).orxSOUND_STATUS_t
orxSOUND_STATUS_PAUSE* = (orxSOUND_STATUS_PLAY + 1).orxSOUND_STATUS_t
orxSOUND_STATUS_STOP* = (orxSOUND_STATUS_PAUSE + 1).orxSOUND_STATUS_t
orxSOUND_STATUS_NUMBER* = (orxSOUND_STATUS_STOP + 1).orxSOUND_STATUS_t
orxSOUND_STATUS_NONE* = (0x0000000000000000'i64).orxSOUND_STATUS_t
orxSOUND_EVENT_START* = (0).orxSOUND_EVENT_t ## ```
## < Event sent when a sound starts
## ```
orxSOUND_EVENT_STOP* = (orxSOUND_EVENT_START + 1).orxSOUND_EVENT_t ## ```
## < Event sent when a sound stops
## ```
orxSOUND_EVENT_ADD* = (orxSOUND_EVENT_STOP + 1).orxSOUND_EVENT_t ## ```
## < Event sent when a sound is added
## ```
orxSOUND_EVENT_REMOVE* = (orxSOUND_EVENT_ADD + 1).orxSOUND_EVENT_t ## ```
## < Event sent when a sound is removed
## ```
orxSOUND_EVENT_PACKET* = (orxSOUND_EVENT_REMOVE + 1).orxSOUND_EVENT_t ## ```
## < Event sent when a sound packet is streamed. IMPORTANT: this event can be sent from a worker thread, do not call any orx API when handling it
## ```
orxSOUND_EVENT_RECORDING_START* = (orxSOUND_EVENT_PACKET + 1).orxSOUND_EVENT_t ## ```
## < Event sent when recording starts
## ```
orxSOUND_EVENT_RECORDING_STOP* = (orxSOUND_EVENT_RECORDING_START + 1).orxSOUND_EVENT_t ## ```
## < Event sent when recording stops
## ```
orxSOUND_EVENT_RECORDING_PACKET* = (orxSOUND_EVENT_RECORDING_STOP + 1).orxSOUND_EVENT_t ## ```
## < Event sent when a packet has been recorded
## ```
orxSOUND_EVENT_NUMBER* = (orxSOUND_EVENT_RECORDING_PACKET + 1).orxSOUND_EVENT_t
orxSOUND_EVENT_NONE* = (0x0000000000000000'i64).orxSOUND_EVENT_t
orxOBJECT_KZ_DEFAULT_GROUP* = "default"
orxOBJECT_EVENT_CREATE* = (0).orxOBJECT_EVENT_t
orxOBJECT_EVENT_DELETE* = (orxOBJECT_EVENT_CREATE + 1).orxOBJECT_EVENT_t
orxOBJECT_EVENT_PREPARE* = (orxOBJECT_EVENT_DELETE + 1).orxOBJECT_EVENT_t
orxOBJECT_EVENT_ENABLE* = (orxOBJECT_EVENT_PREPARE + 1).orxOBJECT_EVENT_t
orxOBJECT_EVENT_DISABLE* = (orxOBJECT_EVENT_ENABLE + 1).orxOBJECT_EVENT_t
orxOBJECT_EVENT_PAUSE* = (orxOBJECT_EVENT_DISABLE + 1).orxOBJECT_EVENT_t
orxOBJECT_EVENT_UNPAUSE* = (orxOBJECT_EVENT_PAUSE + 1).orxOBJECT_EVENT_t
orxOBJECT_EVENT_NUMBER* = (orxOBJECT_EVENT_UNPAUSE + 1).orxOBJECT_EVENT_t
orxOBJECT_EVENT_NONE* = (0x0000000000000000'i64).orxOBJECT_EVENT_t
orxFX_SLOT_KU32_FLAG_ABSOLUTE* = 0x00000100
orxFX_SLOT_KU32_FLAG_USE_ROTATION* = 0x00000200
orxFX_SLOT_KU32_FLAG_USE_SCALE* = 0x00000400
orxFX_CURVE_LINEAR* = (0).orxFX_CURVE_t
orxFX_CURVE_SMOOTH* = (orxFX_CURVE_LINEAR + 1).orxFX_CURVE_t
orxFX_CURVE_SMOOTHER* = (orxFX_CURVE_SMOOTH + 1).orxFX_CURVE_t
orxFX_CURVE_TRIANGLE* = (orxFX_CURVE_SMOOTHER + 1).orxFX_CURVE_t
orxFX_CURVE_SINE* = (orxFX_CURVE_TRIANGLE + 1).orxFX_CURVE_t
orxFX_CURVE_SQUARE* = (orxFX_CURVE_SINE + 1).orxFX_CURVE_t
orxFX_CURVE_NUMBER* = (orxFX_CURVE_SQUARE + 1).orxFX_CURVE_t
orxFX_CURVE_NONE* = (0x0000000000000000'i64).orxFX_CURVE_t
orxFX_EVENT_START* = (0).orxFX_EVENT_t ## ```
## < Event sent when a FX starts
## ```
orxFX_EVENT_STOP* = (orxFX_EVENT_START + 1).orxFX_EVENT_t ## ```
## < Event sent when a FX stops
## ```
orxFX_EVENT_ADD* = (orxFX_EVENT_STOP + 1).orxFX_EVENT_t ## ```
## < Event sent when a FX is added
## ```
orxFX_EVENT_REMOVE* = (orxFX_EVENT_ADD + 1).orxFX_EVENT_t ## ```
## < Event sent when a FX is removed
## ```
orxFX_EVENT_LOOP* = (orxFX_EVENT_REMOVE + 1).orxFX_EVENT_t ## ```
## < Event sent when a FX is looping
## ```
orxFX_EVENT_NUMBER* = (orxFX_EVENT_LOOP + 1).orxFX_EVENT_t
orxFX_EVENT_NONE* = (0x0000000000000000'i64).orxFX_EVENT_t
orxFXPOINTER_KU32_FX_NUMBER* = 8
orxSPAWNER_KU32_FLAG_NONE* = 0x00000000
orxSPAWNER_KU32_FLAG_AUTO_DELETE* = 0x00000001
orxSPAWNER_KU32_FLAG_AUTO_RESET* = 0x00000002
orxSPAWNER_KU32_FLAG_USE_ALPHA* = 0x00000004
orxSPAWNER_KU32_FLAG_USE_COLOR* = 0x00000008
orxSPAWNER_KU32_FLAG_USE_ROTATION* = 0x00000010
orxSPAWNER_KU32_FLAG_USE_SCALE* = 0x00000020
orxSPAWNER_KU32_FLAG_USE_RELATIVE_SPEED* = 0x00000040
orxSPAWNER_KU32_FLAG_USE_SELF_AS_PARENT* = 0x00000080
orxSPAWNER_KU32_FLAG_CLEAN_ON_DELETE* = 0x00000100
orxSPAWNER_KU32_FLAG_INTERPOLATE* = 0x00000200
orxSPAWNER_KU32_MASK_USER_ALL* = 0x000000FF
orxSPAWNER_EVENT_SPAWN* = (0).orxSPAWNER_EVENT_t
orxSPAWNER_EVENT_CREATE* = (orxSPAWNER_EVENT_SPAWN + 1).orxSPAWNER_EVENT_t
orxSPAWNER_EVENT_DELETE* = (orxSPAWNER_EVENT_CREATE + 1).orxSPAWNER_EVENT_t
orxSPAWNER_EVENT_RESET* = (orxSPAWNER_EVENT_DELETE + 1).orxSPAWNER_EVENT_t
orxSPAWNER_EVENT_EMPTY* = (orxSPAWNER_EVENT_RESET + 1).orxSPAWNER_EVENT_t
orxSPAWNER_EVENT_WAVE_START* = (orxSPAWNER_EVENT_EMPTY + 1).orxSPAWNER_EVENT_t
orxSPAWNER_EVENT_WAVE_STOP* = (orxSPAWNER_EVENT_WAVE_START + 1).orxSPAWNER_EVENT_t
orxSPAWNER_EVENT_NUMBER* = (orxSPAWNER_EVENT_WAVE_STOP + 1).orxSPAWNER_EVENT_t
orxSPAWNER_EVENT_NONE* = (0x0000000000000000'i64).orxSPAWNER_EVENT_t
orxTIMELINE_EVENT_TRACK_START* = (0).orxTIMELINE_EVENT_t ## ```
## < Event sent when a track starts
## ```
orxTIMELINE_EVENT_TRACK_STOP* = (orxTIMELINE_EVENT_TRACK_START + 1).orxTIMELINE_EVENT_t ## ```
## < Event sent when a track stops
## ```
orxTIMELINE_EVENT_TRACK_ADD* = (orxTIMELINE_EVENT_TRACK_STOP + 1).orxTIMELINE_EVENT_t ## ```
## < Event sent when a track is added
## ```
orxTIMELINE_EVENT_TRACK_REMOVE* = (orxTIMELINE_EVENT_TRACK_ADD + 1).orxTIMELINE_EVENT_t ## ```
## < Event sent when a track is removed
## ```
orxTIMELINE_EVENT_LOOP* = (orxTIMELINE_EVENT_TRACK_REMOVE + 1).orxTIMELINE_EVENT_t ## ```
## < Event sent when a track is looping
## ```
orxTIMELINE_EVENT_TRIGGER* = (orxTIMELINE_EVENT_LOOP + 1).orxTIMELINE_EVENT_t ## ```
## < Event sent when an event is triggered
## ```
orxTIMELINE_EVENT_NUMBER* = (orxTIMELINE_EVENT_TRIGGER + 1).orxTIMELINE_EVENT_t
orxTIMELINE_EVENT_NONE* = (0x0000000000000000'i64).orxTIMELINE_EVENT_t
orxBODY_DEF_KU32_FLAG_NONE* = 0x00000000
orxBODY_DEF_KU32_FLAG_2D* = 0x00000001
orxBODY_DEF_KU32_FLAG_DYNAMIC* = 0x00000002
orxBODY_DEF_KU32_FLAG_HIGH_SPEED* = 0x00000004
orxBODY_DEF_KU32_FLAG_FIXED_ROTATION* = 0x00000008
orxBODY_DEF_KU32_FLAG_CAN_MOVE* = 0x00000010
orxBODY_DEF_KU32_FLAG_ALLOW_SLEEP* = 0x00000020
orxBODY_DEF_KU32_MASK_ALL* = 0xFFFFFFFF
orxBODY_PART_DEF_KU32_FLAG_NONE* = 0x00000000
orxBODY_PART_DEF_KU32_FLAG_SPHERE* = 0x00000001
orxBODY_PART_DEF_KU32_FLAG_BOX* = 0x00000002
orxBODY_PART_DEF_KU32_FLAG_MESH* = 0x00000004
orxBODY_PART_DEF_KU32_FLAG_EDGE* = 0x00000008
orxBODY_PART_DEF_KU32_FLAG_CHAIN* = 0x00000010
orxBODY_PART_DEF_KU32_MASK_TYPE* = 0x0000001F
orxBODY_PART_DEF_KU32_FLAG_SOLID* = 0x10000000
orxBODY_PART_DEF_KU32_MASK_ALL* = 0xFFFFFFFF
orxBODY_JOINT_DEF_KU32_FLAG_NONE* = 0x00000000
orxBODY_JOINT_DEF_KU32_FLAG_REVOLUTE* = 0x00000001
orxBODY_JOINT_DEF_KU32_FLAG_PRISMATIC* = 0x00000002
orxBODY_JOINT_DEF_KU32_FLAG_SPRING* = 0x00000004
orxBODY_JOINT_DEF_KU32_FLAG_ROPE* = 0x00000008
orxBODY_JOINT_DEF_KU32_FLAG_PULLEY* = 0x00000010
orxBODY_JOINT_DEF_KU32_FLAG_SUSPENSION* = 0x00000020
orxBODY_JOINT_DEF_KU32_FLAG_WELD* = 0x00000040
orxBODY_JOINT_DEF_KU32_FLAG_FRICTION* = 0x00000080
orxBODY_JOINT_DEF_KU32_FLAG_GEAR* = 0x00000100
orxBODY_JOINT_DEF_KU32_MASK_TYPE* = 0x00000FFF
orxBODY_JOINT_DEF_KU32_FLAG_COLLIDE* = 0x10000000
orxBODY_JOINT_DEF_KU32_FLAG_ROTATION_LIMIT* = 0x20000000
orxBODY_JOINT_DEF_KU32_FLAG_MOTOR* = 0x40000000
orxBODY_JOINT_DEF_KU32_FLAG_TRANSLATION_LIMIT* = 0x80000000
orxBODY_JOINT_DEF_KU32_MASK_ALL* = 0xFFFFFFFF
orxBODY_PART_DEF_KU32_MESH_VERTEX_NUMBER* = 8
orxPHYSICS_EVENT_CONTACT_ADD* = (0).orxPHYSICS_EVENT_t
orxPHYSICS_EVENT_CONTACT_REMOVE* = (orxPHYSICS_EVENT_CONTACT_ADD + 1).orxPHYSICS_EVENT_t
orxPHYSICS_EVENT_NUMBER* = (orxPHYSICS_EVENT_CONTACT_REMOVE + 1).orxPHYSICS_EVENT_t
orxPHYSICS_EVENT_NONE* = (0x0000000000000000'i64).orxPHYSICS_EVENT_t
orxPHYSICS_KZ_CONFIG_SECTION* = "Physics"
orxPHYSICS_KZ_CONFIG_GRAVITY* = "Gravity"
orxPHYSICS_KZ_CONFIG_ALLOW_SLEEP* = "AllowSleep"
orxPHYSICS_KZ_CONFIG_ITERATIONS* = "IterationsPerStep"
orxPHYSICS_KZ_CONFIG_RATIO* = "DimensionRatio"
orxPHYSICS_KZ_CONFIG_STEP_FREQUENCY* = "StepFrequency"
orxPHYSICS_KZ_CONFIG_SHOW_DEBUG* = "ShowDebug"
orxPHYSICS_KZ_CONFIG_COLLISION_FLAG_LIST* = "CollisionFlagList"
orxPHYSICS_KZ_CONFIG_INTERPOLATE* = "Interpolate"
orxCAMERA_KU32_FLAG_NONE* = 0x00000000
orxCAMERA_KU32_FLAG_2D* = 0x00000001
orxCAMERA_KU32_MASK_USER_ALL* = 0x000000FF
orxCAMERA_KU32_GROUP_ID_NUMBER* = 16
orxSHADER_PARAM_TYPE_FLOAT* = (0).orxSHADER_PARAM_TYPE_t
orxSHADER_PARAM_TYPE_TEXTURE* = (orxSHADER_PARAM_TYPE_FLOAT + 1).orxSHADER_PARAM_TYPE_t
orxSHADER_PARAM_TYPE_VECTOR* = (orxSHADER_PARAM_TYPE_TEXTURE + 1).orxSHADER_PARAM_TYPE_t
orxSHADER_PARAM_TYPE_TIME* = (orxSHADER_PARAM_TYPE_VECTOR + 1).orxSHADER_PARAM_TYPE_t
orxSHADER_PARAM_TYPE_NUMBER* = (orxSHADER_PARAM_TYPE_TIME + 1).orxSHADER_PARAM_TYPE_t
orxSHADER_PARAM_TYPE_NONE* = (0x0000000000000000'i64).orxSHADER_PARAM_TYPE_t
orxSHADER_EVENT_SET_PARAM* = (0).orxSHADER_EVENT_t ## ```
## < Event sent when setting a parameter
## ```
orxSHADER_EVENT_NUMBER* = (orxSHADER_EVENT_SET_PARAM + 1).orxSHADER_EVENT_t
orxSHADER_EVENT_NONE* = (0x0000000000000000'i64).orxSHADER_EVENT_t
orxSHADERPOINTER_KU32_SHADER_NUMBER* = 4
orxVIEWPORT_KU32_FLAG_ALIGN_CENTER* = 0x00000000
orxVIEWPORT_KU32_FLAG_ALIGN_LEFT* = 0x10000000
orxVIEWPORT_KU32_FLAG_ALIGN_RIGHT* = 0x20000000
orxVIEWPORT_KU32_FLAG_ALIGN_TOP* = 0x40000000
orxVIEWPORT_KU32_FLAG_ALIGN_BOTTOM* = 0x80000000
orxVIEWPORT_KU32_FLAG_NO_DEBUG* = 0x01000000
orxVIEWPORT_KU32_MAX_TEXTURE_NUMBER* = 8
orxVIEWPORT_EVENT_RESIZE* = (0).orxVIEWPORT_EVENT_t ## ```
## < Event sent when a viewport has been resized
## ```
orxVIEWPORT_EVENT_NUMBER* = (orxVIEWPORT_EVENT_RESIZE + 1).orxVIEWPORT_EVENT_t
orxVIEWPORT_EVENT_NONE* = (0x0000000000000000'i64).orxVIEWPORT_EVENT_t
orxRENDER_KZ_CONFIG_SECTION* = "Render"
orxRENDER_KZ_CONFIG_SHOW_FPS* = "ShowFPS"
orxRENDER_KZ_CONFIG_SHOW_PROFILER* = "ShowProfiler"
orxRENDER_KZ_CONFIG_MIN_FREQUENCY* = "MinFrequency"
orxRENDER_KZ_CONFIG_PROFILER_ORIENTATION* = "ProfilerOrientation"
orxRENDER_KZ_CONFIG_CONSOLE_COLOR* = "ConsoleColor"
orxRENDER_KZ_CONFIG_CONSOLE_ALPHA* = "ConsoleAlpha"
orxRENDER_KZ_CONFIG_CONSOLE_BACKGROUND_COLOR* = "ConsoleBackgroundColor"
orxRENDER_KZ_CONFIG_CONSOLE_BACKGROUND_ALPHA* = "ConsoleBackgroundAlpha"
orxRENDER_KZ_CONFIG_CONSOLE_SEPARATOR_COLOR* = "ConsoleSeparatorColor"
orxRENDER_KZ_CONFIG_CONSOLE_SEPARATOR_ALPHA* = "ConsoleSeparatorAlpha"
orxRENDER_KZ_CONFIG_CONSOLE_INPUT_COLOR* = "ConsoleInputColor"
orxRENDER_KZ_CONFIG_CONSOLE_INPUT_ALPHA* = "ConsoleInputAlpha"
orxRENDER_KZ_CONFIG_CONSOLE_COMPLETION_COLOR* = "ConsoleCompletionColor"
orxRENDER_KZ_CONFIG_CONSOLE_COMPLETION_ALPHA* = "ConsoleCompletionAlpha"
orxRENDER_KZ_CONFIG_CONSOLE_LOG_COLOR* = "ConsoleLogColor"
orxRENDER_KZ_CONFIG_CONSOLE_LOG_ALPHA* = "ConsoleLogAlpha"
orxRENDER_KZ_INPUT_SET* = "-=RenderSet=-"
orxRENDER_KZ_INPUT_PROFILER_TOGGLE_HISTORY* = "ProfilerToggleHistory"
orxRENDER_KZ_INPUT_PROFILER_PAUSE* = "ProfilerPause"
orxRENDER_KZ_INPUT_PROFILER_PREVIOUS_FRAME* = "ProfilerPreviousFrame"
orxRENDER_KZ_INPUT_PROFILER_NEXT_FRAME* = "ProfilerNextFrame"
orxRENDER_KZ_INPUT_PROFILER_PREVIOUS_DEPTH* = "ProfilerPreviousDepth"
orxRENDER_KZ_INPUT_PROFILER_NEXT_DEPTH* = "ProfilerNextDepth"
orxRENDER_KZ_INPUT_PROFILER_PREVIOUS_THREAD* = "ProfilerPreviousThread"
orxRENDER_KZ_INPUT_PROFILER_NEXT_THREAD* = "ProfilerNextThread"
orxRENDER_EVENT_START* = (0).orxRENDER_EVENT_t ## ```
## < Event sent when rendering starts
## ```
orxRENDER_EVENT_STOP* = (orxRENDER_EVENT_START + 1).orxRENDER_EVENT_t ## ```
## < Event sent when rendering stops
## ```
orxRENDER_EVENT_VIEWPORT_START* = (orxRENDER_EVENT_STOP + 1).orxRENDER_EVENT_t ## ```
## < Event sent when a viewport rendering starts
## ```
orxRENDER_EVENT_VIEWPORT_STOP* = (orxRENDER_EVENT_VIEWPORT_START + 1).orxRENDER_EVENT_t ## ```
## < Event sent when a viewport rendering stops
## ```
orxRENDER_EVENT_OBJECT_START* = (orxRENDER_EVENT_VIEWPORT_STOP + 1).orxRENDER_EVENT_t ## ```
## < Event sent when an object rendering starts
## ```
orxRENDER_EVENT_OBJECT_STOP* = (orxRENDER_EVENT_OBJECT_START + 1).orxRENDER_EVENT_t ## ```
## < Event sent when an object rendering stops
## ```
orxRENDER_EVENT_CONSOLE_START* = (orxRENDER_EVENT_OBJECT_STOP + 1).orxRENDER_EVENT_t ## ```
## < Event sent when console rendering starts
## ```
orxRENDER_EVENT_CONSOLE_STOP* = (orxRENDER_EVENT_CONSOLE_START + 1).orxRENDER_EVENT_t ## ```
## < Event sent when console rendering stops
## ```
orxRENDER_EVENT_PROFILER_START* = (orxRENDER_EVENT_CONSOLE_STOP + 1).orxRENDER_EVENT_t ## ```
## < Event sent when profiler rendering starts
## ```
orxRENDER_EVENT_PROFILER_STOP* = (orxRENDER_EVENT_PROFILER_START + 1).orxRENDER_EVENT_t ## ```
## < Event sent when profiler rendering stops
## ```
orxRENDER_EVENT_NUMBER* = (orxRENDER_EVENT_PROFILER_STOP + 1).orxRENDER_EVENT_t
orxRENDER_EVENT_NONE* = (0x0000000000000000'i64).orxRENDER_EVENT_t
orxSOUNDPOINTER_KU32_SOUND_NUMBER* = 4
type
orxSPAWNER_t = object
orxCLOCK_t = object
orxSOUNDSYSTEM_SAMPLE_t = object
orxPHYSICS_BODY_t = object
orxBITMAP_t = object
orxGRAPHIC_t = object
orxFRAME_t = object
orxVIEWPORT_t = object
orxSOUNDPOINTER_t = object
orxBODY_PART_t = object
orxHASHTABLE_t = object
orxANIMSET_LINK_TABLE_t = object
orxSHADERPOINTER_t = object
orxOBJECT_t = object
orxSHADER_t = object
orxTIMELINE_t = object
orxPHYSICS_BODY_PART_t = object
orxFXPOINTER_t = object
orxBODY_JOINT_t = object
orxANIM_t = object
orxPHYSICS_BODY_JOINT_t = object
orxSOUND_t = object
orxBANK_t = object
orxANIMPOINTER_t = object
orxFX_t = object
orxFONT_t = object
orxBODY_t = object
orxSOUNDSYSTEM_SOUND_t = object
orxTEXT_t = object
orxTHREAD_SEMAPHORE_t = object
orxANIMSET_t = object
orxTEXTURE_t = object
orxFILE_t = object
orxCAMERA_t = object
orxHANDLE* {.importc, imporxHdr.} = pointer
orxU64* {.importc, imporxHdr.} = culonglong
orxU32* {.importc, imporxHdr.} = cuint
orxU16* {.importc, imporxHdr.} = cushort
orxU8* {.importc, imporxHdr.} = cuchar
orxS64* {.importc, imporxHdr.} = clonglong
orxS32* {.importc, imporxHdr.} = cint
orxS16* {.importc, imporxHdr.} = cshort
orxS8* {.importc, imporxHdr.} = cschar
orxBOOL* {.importc, imporxHdr.} = cuint
orxFLOAT* {.importc, imporxHdr.} = cfloat
orxDOUBLE* {.importc, imporxHdr.} = cdouble
orxCHAR* {.importc, imporxHdr.} = cchar
orxSTRINGID* {.importc, imporxHdr.} = orxU32
orxENUM* {.importc, imporxHdr.} = orxU32
orxSEEK_OFFSET_WHENCE* {.importc, imporxHdr.} = orxSEEK_OFFSET_WHENCE_t ## ```
## ** Misc constants**
## ** Seek offset constants**
## ```
orxSTATUS* {.importc, imporxHdr.} = orxSTATUS_t ## ```
## ** Status defines**
## ```
orxVERSION_t* {.bycopy, imporxHdr, importc: "struct __orxVERSION_t".} = object ## ```
## Version structure
## ```
zRelease*: ptr orxCHAR
u32Major*: orxU32
u32Minor*: orxU32
u32Build*: orxU32
orxVERSION* {.importc, imporxHdr.} = orxVERSION_t ## ```
## Version structure
## ```
orxMODULE_ID* {.importc, imporxHdr.} = orxMODULE_ID_t ## ```
## @}
## Module enum
## ```
orxMODULE_INIT_FUNCTION* {.importc, imporxHdr.} = proc (): orxSTATUS {.cdecl.}
orxMODULE_EXIT_FUNCTION* {.importc, imporxHdr.} = proc () {.cdecl.}
orxMODULE_RUN_FUNCTION* {.importc, imporxHdr.} = proc (): orxSTATUS {.cdecl.}
orxMODULE_SETUP_FUNCTION* {.importc, imporxHdr.} = proc () {.cdecl.}
orxDEBUG_LEVEL* {.importc, imporxHdr.} = orxDEBUG_LEVEL_t ## ```
## Debug levels
## ```
orxDEBUG_CALLBACK_FUNCTION* {.importc, imporxHdr.} = proc (eLevel: orxDEBUG_LEVEL;
zFunction: ptr orxCHAR; zFile: ptr orxCHAR; u32Line: orxU32; zLog: ptr orxCHAR): orxSTATUS {.
cdecl.}
orxMEMORY_TYPE* {.importc, imporxHdr.} = orxMEMORY_TYPE_t ## ```
## Memory type
## ```
Union_orxh1* {.union, bycopy, imporxHdr, importc: "union Union_orxh1".} = object ## ```
## Coordinates : 12
## ```
fX*: orxFLOAT ## ```
## < First coordinate in the cartesian space
## ```
fRho*: orxFLOAT ## ```
## < First coordinate in the spherical space
## ```
fR*: orxFLOAT ## ```
## < First coordinate in the RGB color space
## ```
fH*: orxFLOAT ## ```
## < First coordinate in the HSL/HSV color spaces
## ```
Union_orxh2* {.union, bycopy, imporxHdr, importc: "union Union_orxh2".} = object
fY*: orxFLOAT ## ```
## < Second coordinate in the cartesian space
## ```
fTheta*: orxFLOAT ## ```
## < Second coordinate in the spherical space
## ```
fG*: orxFLOAT ## ```
## < Second coordinate in the RGB color space
## ```
fS*: orxFLOAT ## ```
## < Second coordinate in the HSL/HSV color spaces
## ```
Union_orxh3* {.union, bycopy, imporxHdr, importc: "union Union_orxh3".} = object
fZ*: orxFLOAT ## ```
## < Third coordinate in the cartesian space
## ```
fPhi*: orxFLOAT ## ```
## < Third coordinate in the spherical space
## ```
fB*: orxFLOAT ## ```
## < Third coordinate in the RGB color space
## ```
fL*: orxFLOAT ## ```
## < Third coordinate in the HSL color space
## ```
fV*: orxFLOAT ## ```
## < Third coordinate in the HSV color space
## ```
orxVECTOR_t* {.bycopy, imporxHdr, importc: "struct __orxVECTOR_t".} = object ## ```
## Public structure definition
## ```
a2*: Union_orxh1 ## ```
## Coordinates : 12
## ```
a3*: Union_orxh2
a4*: Union_orxh3
orxVECTOR* {.importc, imporxHdr.} = orxVECTOR_t ## ```
## Public structure definition
## ```
orxSYSTEM_EVENT* {.importc, imporxHdr.} = orxSYSTEM_EVENT_t ## ```
## @}
## Event enum
## ```
Type_orxh1* {.bycopy, imporxHdr, importc: "struct Type_orxh1".} = object ## ```
## Touch event
## ```
dTime*: orxDOUBLE
u32ID*: orxU32
fX*: orxFLOAT
fY*: orxFLOAT
fPressure*: orxFLOAT
Type_orxh2* {.bycopy, imporxHdr, importc: "struct Type_orxh2".} = object ## ```
## Accelerometer event
## ```
dTime*: orxDOUBLE
vAcceleration*: orxVECTOR
Type_orxh3* {.bycopy, imporxHdr, importc: "struct Type_orxh3".} = object ## ```
## Drop event
## ```
azValueList*: ptr ptr orxCHAR
u32Number*: orxU32
Type_orxh4* {.bycopy, imporxHdr, importc: "struct Type_orxh4".} = object ## ```
## Clipboard event
## ```
zValue*: ptr orxCHAR
Union_orxh4* {.union, bycopy, imporxHdr, importc: "union Union_orxh4".} = object
u32FrameCount*: orxU32
stTouch*: Type_orxh1 ## ```
## Touch event
## ```
stAccelerometer*: Type_orxh2 ## ```
## Accelerometer event
## ```
stDrop*: Type_orxh3 ## ```
## Drop event
## ```
stClipboard*: Type_orxh4 ## ```
## Clipboard event
## ```
orxSYSTEM_EVENT_PAYLOAD_t* {.bycopy, imporxHdr,
importc: "struct __orxSYSTEM_EVENT_PAYLOAD_t".} = object ## ```
## System event payload
## ```
a1*: Union_orxh4
orxSYSTEM_EVENT_PAYLOAD* {.importc, imporxHdr.} = orxSYSTEM_EVENT_PAYLOAD_t ## ```
## System event payload
## ```
orxCLOCK_TYPE* {.importc, imporxHdr.} = orxCLOCK_TYPE_t ## ```
## Clock type enum
## ```
orxCLOCK_MOD_TYPE* {.importc, imporxHdr.} = orxCLOCK_MOD_TYPE_t ## ```
## Clock mod type enum
## ```
orxCLOCK_PRIORITY* {.importc, imporxHdr.} = orxCLOCK_PRIORITY_t ## ```
## Clock priority
## ```
orxCLOCK_INFO_t* {.bycopy, imporxHdr, importc: "struct __orxCLOCK_INFO_t".} = object ## ```
## Clock info structure
## ```
eType*: orxCLOCK_TYPE ## ```
## < Clock type : 4
## ```
fTickSize*: orxFLOAT ## ```
## < Clock tick size (in seconds) : 8
## ```
eModType*: orxCLOCK_MOD_TYPE ## ```
## < Clock mod type : 12
## ```
fModValue*: orxFLOAT ## ```
## < Clock mod value : 16
## ```
fDT*: orxFLOAT ## ```
## < Clock DT (time elapsed between 2 clock calls in seconds) : 20
## ```
fTime*: orxFLOAT ## ```
## < Clock time : 24
## ```
orxCLOCK_INFO* {.importc, imporxHdr.} = orxCLOCK_INFO_t ## ```
## Clock info structure
## ```
orxCLOCK_EVENT* {.importc, imporxHdr.} = orxCLOCK_EVENT_t ## ```
## Event enum
## ```
orxCLOCK* {.importc, imporxHdr.} = orxCLOCK_t ## ```
## Clock structure
## ```
orxCLOCK_FUNCTION* {.importc, imporxHdr.} = proc (pstClockInfo: ptr orxCLOCK_INFO;
pContext: pointer) {.cdecl.}
orxLINKLIST_NODE_t* {.bycopy, imporxHdr, importc: "struct __orxLINKLIST_NODE_t".} = object ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxDebug.h
##
## @date 10/12/2003
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add graphical debug from outside, using a shared debug info array
##
## - Enhance logging, use of different log levels / colors
##
##
##
##
## @addtogroup orxDebug
##
##
##
## Debug module
##
## Module used to output debug info and assert code
##
##
##
## @{
##
##
## @}
## Node list structure
## ```
pstNext*: ptr orxLINKLIST_NODE_t ## ```
## < Next node pointer : 4/8
## ```
pstPrevious*: ptr orxLINKLIST_NODE_t ## ```
## < Previous node pointer : 8/16
## ```
pstList*: ptr orxLINKLIST_t ## ```
## < Associated list pointer : 12/24
## ```
orxLINKLIST_NODE* {.importc, imporxHdr.} = orxLINKLIST_NODE_t ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxDebug.h
##
## @date 10/12/2003
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add graphical debug from outside, using a shared debug info array
##
## - Enhance logging, use of different log levels / colors
##
##
##
##
## @addtogroup orxDebug
##
##
##
## Debug module
##
## Module used to output debug info and assert code
##
##
##
## @{
##
##
## @}
## Node list structure
## ```
orxLINKLIST_t* {.bycopy, imporxHdr, importc: "struct __orxLINKLIST_t".} = object ## ```
## List structure
## ```
pstFirst*: ptr orxLINKLIST_NODE ## ```
## < First node pointer : 4/8
## ```
pstLast*: ptr orxLINKLIST_NODE ## ```
## < Last node pointer : 8/16
## ```
u32Count*: orxU32 ## ```
## < Node count : 12/20
## ```
orxLINKLIST* {.importc, imporxHdr.} = orxLINKLIST_t ## ```
## List structure
## ```
orxTREE_NODE_t* {.bycopy, imporxHdr, importc: "struct __orxTREE_NODE_t".} = object ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxDebug.h
##
## @date 10/12/2003
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add graphical debug from outside, using a shared debug info array
##
## - Enhance logging, use of different log levels / colors
##
##
##
##
## @addtogroup orxDebug
##
##
##
## Debug module
##
## Module used to output debug info and assert code
##
##
##
## @{
##
##
## @}
## Tree node structure
## ```
pstParent*: ptr orxTREE_NODE_t ## ```
## < Parent node pointer : 4/8
## ```
pstChild*: ptr orxTREE_NODE_t ## ```
## < First child node pointer : 8/16
## ```
pstSibling*: ptr orxTREE_NODE_t ## ```
## < Next sibling node pointer : 12/24
## ```
pstPrevious*: ptr orxTREE_NODE_t ## ```
## < Previous sibling node pointer : 16/32
## ```
pstTree*: ptr orxTREE_t ## ```
## < Associated tree pointer : 20/40
## ```
orxTREE_NODE* {.importc, imporxHdr.} = orxTREE_NODE_t ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxDebug.h
##
## @date 10/12/2003
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add graphical debug from outside, using a shared debug info array
##
## - Enhance logging, use of different log levels / colors
##
##
##
##
## @addtogroup orxDebug
##
##
##
## Debug module
##
## Module used to output debug info and assert code
##
##
##
## @{
##
##
## @}
## Tree node structure
## ```
orxTREE_t* {.bycopy, imporxHdr, importc: "struct __orxTREE_t".} = object ## ```
## Tree structure
## ```
pstRoot*: ptr orxTREE_NODE ## ```
## < Root node pointer : 4/8
## ```
u32Count*: orxU32 ## ```
## < Node count : 8/12
## ```
orxTREE* {.importc, imporxHdr.} = orxTREE_t ## ```
## Tree structure
## ```
orxSTRUCTURE_ID* {.importc, imporxHdr.} = orxSTRUCTURE_ID_t ## ```
## Structure IDs
## ```
orxSTRUCTURE_STORAGE_TYPE* {.importc, imporxHdr.} = orxSTRUCTURE_STORAGE_TYPE_t ## ```
## Structure storage types
## ```
Union_orxh5* {.union, bycopy, imporxHdr, importc: "union Union_orxh5".} = object
stLinkListNode*: orxLINKLIST_NODE ## ```
## < Linklist node : 28/40
## ```
stTreeNode*: orxTREE_NODE ## ```
## < Tree node : 36/56
## ```
orxSTRUCTURE_t* {.bycopy, imporxHdr, importc: "struct __orxSTRUCTURE_t".} = object ## ```
## Public structure (Must be first derived structure member!)
## ```
u64GUID*: orxU64 ## ```
## < Structure GUID : 8
## ```
u64OwnerGUID*: orxU64 ## ```
## < Owner's GUID : 16
## ```
stStorage*: Union_orxh5
u32Flags*: orxU32 ## ```
## < Flags : 40/64
## ```
orxSTRUCTURE* {.importc, imporxHdr.} = orxSTRUCTURE_t ## ```
## Public structure (Must be first derived structure member!)
## ```
orxSTRUCTURE_UPDATE_FUNCTION* {.importc, imporxHdr.} = proc (
pstStructure: ptr orxSTRUCTURE; pstCaller: ptr orxSTRUCTURE;
pstClockInfo: ptr orxCLOCK_INFO): orxSTATUS {.cdecl.}
orxANIM* {.importc, imporxHdr.} = orxANIM_t ## ```
## Internal Anim structure
## ```
orxANIM_EVENT* {.importc, imporxHdr.} = orxANIM_EVENT_t ## ```
## Event enum
## ```
Type_orxh5* {.bycopy, imporxHdr, importc: "struct Type_orxh5".} = object ## ```
## Loop event
## ```
u32Count*: orxU32 ## ```
## < Loop count : 12
## ```
Type_orxh6* {.bycopy, imporxHdr, importc: "struct Type_orxh6".} = object ## ```
## Cut event
## ```
fTime*: orxFLOAT ## ```
## < Anim time when cut: 12
## ```
Type_orxh7* {.bycopy, imporxHdr, importc: "struct Type_orxh7".} = object ## ```
## Custom event
## ```
zName*: ptr orxCHAR ## ```
## < Custom event name : 12
## ```
fValue*: orxFLOAT ## ```
## < Custom event value : 16
## ```
fTime*: orxFLOAT ## ```
## < Custom event time : 20
## ```
Union_orxh6* {.union, bycopy, imporxHdr, importc: "union Union_orxh6".} = object
stLoop*: Type_orxh5 ## ```
## Loop event
## ```
stCut*: Type_orxh6 ## ```
## Cut event
## ```
stCustom*: Type_orxh7 ## ```
## Custom event
## ```
orxANIM_EVENT_PAYLOAD_t* {.bycopy, imporxHdr,
importc: "struct __orxANIM_EVENT_PAYLOAD_t".} = object ## ```
## Anim event payload
## ```
pstAnim*: ptr orxANIM ## ```
## < Animation reference : 4
## ```
zAnimName*: ptr orxCHAR ## ```
## < Animation name : 8
## ```
a5*: Union_orxh6
orxANIM_EVENT_PAYLOAD* {.importc, imporxHdr.} = orxANIM_EVENT_PAYLOAD_t ## ```
## Anim event payload
## ```
orxANIM_CUSTOM_EVENT_t* {.bycopy, imporxHdr,
importc: "struct __orxANIM_CUSTOM_EVENT_t".} = object ## ```
## Anim custom event
## ```
zName*: ptr orxCHAR ## ```
## < Event name : 4
## ```
fValue*: orxFLOAT ## ```
## < Event value : 8
## ```
fTimeStamp*: orxFLOAT ## ```
## < Timestamp : 12
## ```
orxANIM_CUSTOM_EVENT* {.importc, imporxHdr.} = orxANIM_CUSTOM_EVENT_t ## ```
## Anim custom event
## ```
orxANIMSET* {.importc, imporxHdr.} = orxANIMSET_t ## ```
## Internal AnimSet structure
## ```
orxANIMSET_LINK_TABLE* {.importc, imporxHdr.} = orxANIMSET_LINK_TABLE_t ## ```
## Internal Link Table structure
## ```
orxANIMPOINTER* {.importc, imporxHdr.} = orxANIMPOINTER_t ## ```
## @}
## Internal AnimPointer structure
## ```
orxCOMMAND_VAR_TYPE* {.importc, imporxHdr.} = orxCOMMAND_VAR_TYPE_t ## ```
## Variable type enum
## ```
orxCOMMAND_VAR_DEF_t* {.bycopy, imporxHdr,
importc: "struct __orxCOMMAND_VAR_DEF_t".} = object ## ```
## Variable definition structure
## ```
zName*: ptr orxCHAR ## ```
## < Name : 4
## ```
eType*: orxCOMMAND_VAR_TYPE ## ```
## < Type : 8
## ```
orxCOMMAND_VAR_DEF* {.importc, imporxHdr.} = orxCOMMAND_VAR_DEF_t ## ```
## Variable definition structure
## ```
Union_orxh7* {.union, bycopy, imporxHdr, importc: "union Union_orxh7".} = object
vValue*: orxVECTOR ## ```
## < Vector value : 12
## ```
zValue*: ptr orxCHAR ## ```
## < String value : 4
## ```
u32Value*: orxU32 ## ```
## < U32 value : 4
## ```
s32Value*: orxS32 ## ```
## < S32 value : 4
## ```
u64Value*: orxU64 ## ```
## < U64 value : 8
## ```
s64Value*: orxS64 ## ```
## < S64 value : 8
## ```
fValue*: orxFLOAT ## ```
## < Float value : 4
## ```
bValue*: orxBOOL ## ```
## < Bool value : 4
## ```
orxCOMMAND_VAR_t* {.bycopy, imporxHdr, importc: "struct __orxCOMMAND_VAR_t".} = object ## ```
## Variable structure
## ```
a1*: Union_orxh7
eType*: orxCOMMAND_VAR_TYPE ## ```
## < Type : 16
## ```
orxCOMMAND_VAR* {.importc, imporxHdr.} = orxCOMMAND_VAR_t ## ```
## Variable structure
## ```
orxCOMMAND_FUNCTION* {.importc, imporxHdr.} = proc (u32ArgNumber: orxU32;
astArgList: ptr orxCOMMAND_VAR; pstResult: ptr orxCOMMAND_VAR) {.cdecl.}
orxCONFIG_EVENT* {.importc, imporxHdr.} = orxCONFIG_EVENT_t ## ```
## Event enum
## ```
orxCONFIG_SAVE_FUNCTION* {.importc, imporxHdr.} = proc (zSectionName: ptr orxCHAR;
zKeyName: ptr orxCHAR; zFileName: ptr orxCHAR; bUseEncryption: orxBOOL): orxBOOL {.
cdecl.}
orxCONFIG_CLEAR_FUNCTION* {.importc, imporxHdr.} = proc (zSectionName: ptr orxCHAR;
zKeyName: ptr orxCHAR): orxBOOL {.cdecl.}
orxCONFIG_BOOTSTRAP_FUNCTION* {.importc, imporxHdr.} = proc (): orxSTATUS {.cdecl.}
orxPLUGIN_FUNCTION_ID* {.importc, imporxHdr.} = orxPLUGIN_FUNCTION_ID_t ## ```
## ******************************************
##
## Structures
##
## ******************************************
## ```
orxPLUGIN_FUNCTION* {.importc, imporxHdr.} = proc (): orxSTATUS {.cdecl.}
orxPLUGIN_CORE_ID* {.importc, imporxHdr.} = orxPLUGIN_CORE_ID_t ## ```
## ** Core plugin id enum**
## ```
orxPLUGIN_FUNCTION_BASE_ID_DISPLAY* {.importc, imporxHdr.} = orxPLUGIN_FUNCTION_BASE_ID_DISPLAY_t
orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK* {.importc, imporxHdr.} = orxPLUGIN_FUNCTION_BASE_ID_JOYSTICK_t
orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD* {.importc, imporxHdr.} = orxPLUGIN_FUNCTION_BASE_ID_KEYBOARD_t
orxPLUGIN_FUNCTION_BASE_ID_MOUSE* {.importc, imporxHdr.} = orxPLUGIN_FUNCTION_BASE_ID_MOUSE_t
orxPLUGIN_FUNCTION_BASE_ID_PHYSICS* {.importc, imporxHdr.} = orxPLUGIN_FUNCTION_BASE_ID_PHYSICS_t
orxPLUGIN_FUNCTION_BASE_ID_RENDER* {.importc, imporxHdr.} = orxPLUGIN_FUNCTION_BASE_ID_RENDER_t
orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM* {.importc, imporxHdr.} = orxPLUGIN_FUNCTION_BASE_ID_SOUNDSYSTEM_t
orxPLUGIN_CORE_FUNCTION_t* {.bycopy, imporxHdr,
importc: "struct __orxPLUGIN_CORE_FUNCTION_t".} = object ## ```
## @}
## ******************************************
##
## Structures
##
## ******************************************
## Structure
## ```
eFunctionID*: orxPLUGIN_FUNCTION_ID ## ```
## < Function ID : 4
## ```
pfnFunction*: ptr orxPLUGIN_FUNCTION ## ```
## < Function Address : 8
## ```
pfnDefaultFunction*: orxPLUGIN_FUNCTION ## ```
## < Default Function : 12
## ```
orxPLUGIN_CORE_FUNCTION* {.importc, imporxHdr.} = orxPLUGIN_CORE_FUNCTION_t ## ```
## @}
## ******************************************
##
## Structures
##
## ******************************************
## Structure
## ```
orxPLUGIN_USER_FUNCTION_INFO_t* {.bycopy, imporxHdr, importc: "struct __orxPLUGIN_USER_FUNCTION_INFO_t".} = object ## ```
## Structure
## ```
eFunctionID*: orxPLUGIN_FUNCTION_ID ## ```
## < Function ID
## ```
pfnFunction*: orxPLUGIN_FUNCTION ## ```
## < Function Address
## ```
zFunctionArgs*: array[128, orxCHAR] ## ```
## < Function Argument Types
## ```
zFunctionName*: ptr orxCHAR ## ```
## < Function Name
## ```
orxPLUGIN_USER_FUNCTION_INFO* {.importc, imporxHdr.} = orxPLUGIN_USER_FUNCTION_INFO_t ## ```
## Structure
## ```
orxPLUGIN_INIT_FUNCTION* {.importc, imporxHdr.} = proc (
peUserFunctionNumber: ptr orxU32;
pastUserFunctionInfo: ptr ptr orxPLUGIN_USER_FUNCTION_INFO): orxSTATUS {.cdecl.}
orxOBOX_t* {.bycopy, imporxHdr, importc: "struct __orxOBOX_t".} = object ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxVector.h
##
## @date 30/03/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxVector
##
##
##
## Vector module
##
## Module that handles vectors and basic structures based on them
##
##
##
## @{
##
##
## @}
## Public oriented box structure
## ```
vPosition*: orxVECTOR ## ```
## < Position vector : 12
## ```
vPivot*: orxVECTOR ## ```
## < Pivot vector : 24
## ```
vX*: orxVECTOR ## ```
## < X axis vector : 36
## ```
vY*: orxVECTOR ## ```
## < Y axis vector : 48
## ```
vZ*: orxVECTOR ## ```
## < Z axis vector : 60
## ```
orxOBOX* {.importc, imporxHdr.} = orxOBOX_t ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxVector.h
##
## @date 30/03/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxVector
##
##
##
## Vector module
##
## Module that handles vectors and basic structures based on them
##
##
##
## @{
##
##
## @}
## Public oriented box structure
## ```
orxBANK* {.importc, imporxHdr.} = orxBANK_t ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxMemory.h
##
## @date 02/04/2005
##
## @author bestel@arcallians.org
##
##
##
## @todo
##
## - Manage memory alignment
##
## - Allow to specify memory starting address & maximum size for each memory type
##
##
##
##
## @addtogroup orxMemory
##
##
##
## Memory module
##
## Module that handles all low level allocation/free requests
##
##
##
## @{
##
##
## @}
## Internal Bank structure
## ```
orxHASHTABLE* {.importc, imporxHdr.} = orxHASHTABLE_t ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxMemory.h
##
## @date 02/04/2005
##
## @author bestel@arcallians.org
##
##
##
## @todo
##
## - Manage memory alignment
##
## - Allow to specify memory starting address & maximum size for each memory type
##
##
##
##
## @addtogroup orxMemory
##
##
##
## Memory module
##
## Module that handles all low level allocation/free requests
##
##
##
## @{
##
##
## @}
## Internal hash table structure
## ```
Type_orxh8* {.bycopy, imporxHdr, importc: "struct Type_orxh8".} = object
u8R*: orxU8
u8G*: orxU8
u8B*: orxU8
u8A*: orxU8
Union_orxh8* {.union, bycopy, imporxHdr, importc: "union Union_orxh8".} = object
a1*: Type_orxh8
u32RGBA*: orxU32
orxRGBA_t* {.bycopy, imporxHdr, importc: "struct __orxRGBA_t".} = object ## ```
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxString.h
##
## @date 21/04/2005
##
## @author bestel@arcallians.org
##
##
##
## @todo
##
## - Add autoindexing for ID generation
##
##
##
##
## @addtogroup orxString
##
##
##
## String module
##
## Module that handles strings
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxLinkList.h
##
## @date 06/04/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxLinkList
##
##
##
## Linklist module
##
## Module that handles linklists
##
##
##
## @{
##
##
##
## @section linklist Link List - How to
##
## This module provides an easy and powerful interface for manipulating linked lists.
##
##
##
## @subsection linklist_datadefine Data definition
##
## Using this data structure as an example:
##
## @code
##
## typedef struct __orxFOO_t
##
## {
##
## orxU32 u32Data; Data
##
## } orxFOO;
##
## @endcode
##
##
##
## @subsection linklist_dataalloc Data without link
##
## Creating a bank to allocate memory storage:
##
## @code
##
## orxBANKpstBank = orxBank_Create(10, sizeof(orxFOO), orxBANK_KU32_FLAG_NONE, orxMEMORY_TYPE_MAIN);
##
## @endcode
##
## You can then instantiate it this way:
##
## @code
##
## orxFOOpstNode = (orxFOO)orxBank_Allocate(pstBank);
##
## pstNode->u32Data = 205;
##
## @endcode
##
## Having this basic behavior, you can add list linking to it.
##
## @subsection linklist_realalloc Linked list item definition
##
## To do so, you need to include in your structure an orxLINKLIST_NODE member asFIRST MEMBER*:
##
## @code
##
## typedef struct __orxFOO_t
##
## {
##
## orxLINKLIST_NODE stNode;
##
## orxU32 u32Data;
##
## } orxFOO;
##
## @endcode
##
## @subsection linklist_realuse Use of link list
##
## Your data structure can now be linked in lists:
##
## @code
##
## orxLINKLIST stList;
##
## orxLinkList_AddEnd(&stList, (orxLINKLIST_NODE)pstNode);
##
## @endcode
##
## @note As the first member of your data structure is a linked list node, you can cast your structure to orxLINKLIST_NODE and reciprocally.
##
##
## @}
## Misc defines
## ```
a1*: Union_orxh8
orxRGBA* {.importc, imporxHdr.} = orxRGBA_t ## ```
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxString.h
##
## @date 21/04/2005
##
## @author bestel@arcallians.org
##
##
##
## @todo
##
## - Add autoindexing for ID generation
##
##
##
##
## @addtogroup orxString
##
##
##
## String module
##
## Module that handles strings
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxLinkList.h
##
## @date 06/04/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxLinkList
##
##
##
## Linklist module
##
## Module that handles linklists
##
##
##
## @{
##
##
##
## @section linklist Link List - How to
##
## This module provides an easy and powerful interface for manipulating linked lists.
##
##
##
## @subsection linklist_datadefine Data definition
##
## Using this data structure as an example:
##
## @code
##
## typedef struct __orxFOO_t
##
## {
##
## orxU32 u32Data; Data
##
## } orxFOO;
##
## @endcode
##
##
##
## @subsection linklist_dataalloc Data without link
##
## Creating a bank to allocate memory storage:
##
## @code
##
## orxBANKpstBank = orxBank_Create(10, sizeof(orxFOO), orxBANK_KU32_FLAG_NONE, orxMEMORY_TYPE_MAIN);
##
## @endcode
##
## You can then instantiate it this way:
##
## @code
##
## orxFOOpstNode = (orxFOO)orxBank_Allocate(pstBank);
##
## pstNode->u32Data = 205;
##
## @endcode
##
## Having this basic behavior, you can add list linking to it.
##
## @subsection linklist_realalloc Linked list item definition
##
## To do so, you need to include in your structure an orxLINKLIST_NODE member asFIRST MEMBER*:
##
## @code
##
## typedef struct __orxFOO_t
##
## {
##
## orxLINKLIST_NODE stNode;
##
## orxU32 u32Data;
##
## } orxFOO;
##
## @endcode
##
## @subsection linklist_realuse Use of link list
##
## Your data structure can now be linked in lists:
##
## @code
##
## orxLINKLIST stList;
##
## orxLinkList_AddEnd(&stList, (orxLINKLIST_NODE)pstNode);
##
## @endcode
##
## @note As the first member of your data structure is a linked list node, you can cast your structure to orxLINKLIST_NODE and reciprocally.
##
##
## @}
## Misc defines
## ```
orxBITMAP* {.importc, imporxHdr.} = orxBITMAP_t
orxDISPLAY_VERTEX_t* {.bycopy, imporxHdr, importc: "struct __orxDISPLAY_VERTEX_t".} = object ## ```
## Vertex info structure
## ```
fX*: orxFLOAT
fY*: orxFLOAT
fU*: orxFLOAT
fV*: orxFLOAT
stRGBA*: orxRGBA
orxDISPLAY_VERTEX* {.importc, imporxHdr.} = orxDISPLAY_VERTEX_t ## ```
## Vertex info structure
## ```
orxDISPLAY_TRANSFORM_t* {.bycopy, imporxHdr,
importc: "struct __orxDISPLAY_TRANSFORM_t".} = object ## ```
## Transform structure
## ```
fSrcX*: orxFLOAT
fSrcY*: orxFLOAT
fDstX*: orxFLOAT
fDstY*: orxFLOAT
fRepeatX*: orxFLOAT
fRepeatY*: orxFLOAT
fScaleX*: orxFLOAT
fScaleY*: orxFLOAT
fRotation*: orxFLOAT
orxDISPLAY_TRANSFORM* {.importc, imporxHdr.} = orxDISPLAY_TRANSFORM_t ## ```
## Transform structure
## ```
orxDISPLAY_PRIMITIVE* {.importc, imporxHdr.} = orxDISPLAY_PRIMITIVE_t ## ```
## Primitive enum
## ```
orxDISPLAY_MESH_t* {.bycopy, imporxHdr, importc: "struct __orxDISPLAY_MESH_t".} = object ## ```
## Mesh structure
## ```
astVertexList*: ptr orxDISPLAY_VERTEX
au16IndexList*: ptr orxU16
u32VertexNumber*: orxU32
u32IndexNumber*: orxU32
ePrimitive*: orxDISPLAY_PRIMITIVE
orxDISPLAY_MESH* {.importc, imporxHdr.} = orxDISPLAY_MESH_t ## ```
## Mesh structure
## ```
orxDISPLAY_VIDEO_MODE_t* {.bycopy, imporxHdr,
importc: "struct __orxDISPLAY_VIDEO_MODE_t".} = object ## ```
## Video mode structure
## ```
u32Width*: orxU32
u32Height*: orxU32
u32Depth*: orxU32
u32RefreshRate*: orxU32
bFullScreen*: orxBOOL
orxDISPLAY_VIDEO_MODE* {.importc, imporxHdr.} = orxDISPLAY_VIDEO_MODE_t ## ```
## Video mode structure
## ```
orxCHARACTER_GLYPH_t* {.bycopy, imporxHdr,
importc: "struct __orxCHARACTER_GLYPH_t".} = object ## ```
## Character glyph structure
## ```
fX*: orxFLOAT
fY*: orxFLOAT
fWidth*: orxFLOAT
orxCHARACTER_GLYPH* {.importc, imporxHdr.} = orxCHARACTER_GLYPH_t ## ```
## Character glyph structure
## ```
orxCHARACTER_MAP_t* {.bycopy, imporxHdr, importc: "struct __orxCHARACTER_MAP_t".} = object ## ```
## Character map structure
## ```
fCharacterHeight*: orxFLOAT
pstCharacterBank*: ptr orxBANK
pstCharacterTable*: ptr orxHASHTABLE
orxCHARACTER_MAP* {.importc, imporxHdr.} = orxCHARACTER_MAP_t ## ```
## Character map structure
## ```
orxDISPLAY_SMOOTHING* {.importc, imporxHdr.} = orxDISPLAY_SMOOTHING_t ## ```
## Bitmap smoothing enum
## ```
orxDISPLAY_BLEND_MODE* {.importc, imporxHdr.} = orxDISPLAY_BLEND_MODE_t ## ```
## Bitmap blend enum
## ```
Union_orxh9* {.union, bycopy, imporxHdr, importc: "union Union_orxh9".} = object
vRGB*: orxVECTOR ## ```
## < RGB components: 12
## ```
vHSL*: orxVECTOR ## ```
## < HSL components: 12
## ```
vHSV*: orxVECTOR ## ```
## < HSV components: 12
## ```
orxCOLOR_t* {.bycopy, imporxHdr, importc: "struct __orxCOLOR_t".} = object ## ```
## Color structure
## ```
a1*: Union_orxh9
fAlpha*: orxFLOAT ## ```
## < Alpha component: 16
## ```
orxCOLOR* {.importc, imporxHdr.} = orxCOLOR_t ## ```
## Color structure
## ```
orxDISPLAY_EVENT* {.importc, imporxHdr.} = orxDISPLAY_EVENT_t ## ```
## Event enum
## ```
Type_orxh9* {.bycopy, imporxHdr, importc: "struct Type_orxh9".} = object
u32Width*: orxU32 ## ```
## < Screen width : 4
## ```
u32Height*: orxU32 ## ```
## < Screen height : 8
## ```
u32Depth*: orxU32 ## ```
## < Screen depth : 12
## ```
u32RefreshRate*: orxU32 ## ```
## < Refresh rate: 16
## ```
u32PreviousWidth*: orxU32 ## ```
## < Previous screen width : 20
## ```
u32PreviousHeight*: orxU32 ## ```
## < Previous screen height : 24
## ```
u32PreviousDepth*: orxU32 ## ```
## < Previous screen depth : 28
## ```
u32PreviousRefreshRate*: orxU32 ## ```
## < Previous refresh rate : 32
## ```
bFullScreen*: orxBOOL ## ```
## < FullScreen? : 36
## ```
Type_orxh10* {.bycopy, imporxHdr, importc: "struct Type_orxh10".} = object
zLocation*: ptr orxCHAR ## ```
## < File location : 40
## ```
stFilenameID*: orxSTRINGID ## ```
## < File name ID : 44
## ```
u32ID*: orxU32 ## ```
## < Bitmap (hardware texture) ID : 48
## ```
Union_orxh10* {.union, bycopy, imporxHdr, importc: "union Union_orxh10".} = object
stVideoMode*: Type_orxh9
stBitmap*: Type_orxh10
orxDISPLAY_EVENT_PAYLOAD_t* {.bycopy, imporxHdr,
importc: "struct __orxDISPLAY_EVENT_PAYLOAD_t".} = object ## ```
## Display event payload
## ```
a1*: Union_orxh10
orxDISPLAY_EVENT_PAYLOAD* {.importc, imporxHdr.} = orxDISPLAY_EVENT_PAYLOAD_t ## ```
## Display event payload
## ```
orxTEXTURE_EVENT* {.importc, imporxHdr.} = orxTEXTURE_EVENT_t ## ```
## Event enum
## ```
orxTEXTURE* {.importc, imporxHdr.} = orxTEXTURE_t ## ```
## Internal texture structure
## ```
orxFONT* {.importc, imporxHdr.} = orxFONT_t ## ```
## Internal font structure
## ```
orxJOYSTICKxBUTTON* {.imporxHdr, importc: "orxJOYSTICK_BUTTON".} = orxJOYSTICKxBUTTONxt ## ```
## Button enum
## ```
orxJOYSTICK_AXIS* {.importc, imporxHdr.} = orxJOYSTICK_AXIS_t ## ```
## Axis enum
## ```
orxKEYBOARD_KEY* {.importc, imporxHdr.} = orxKEYBOARD_KEY_tx ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxPluginCore.h
##
## @date 24/04/2003
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxPlugin
##
##
##
## Plugin core header
##
## This header is used to define structures & functions for core plugins info.
##
##
##
## @{
##
##
## @}
## Key enum
## ```
orxMOUSE_BUTTON* {.importc, imporxHdr.} = orxMOUSE_BUTTON_t ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxPluginCore.h
##
## @date 24/04/2003
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxPlugin
##
##
##
## Plugin core header
##
## This header is used to define structures & functions for core plugins info.
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxVector.h
##
## @date 30/03/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxVector
##
##
##
## Vector module
##
## Module that handles vectors and basic structures based on them
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxString.h
##
## @date 21/04/2005
##
## @author bestel@arcallians.org
##
##
##
## @todo
##
## - Add autoindexing for ID generation
##
##
##
##
## @addtogroup orxString
##
##
##
## String module
##
## Module that handles strings
##
##
##
## @{
##
##
## @}
## Button enum
## ```
orxMOUSE_AXIS* {.importc, imporxHdr.} = orxMOUSE_AXIS_t
orxINPUT_TYPE* {.importc, imporxHdr.} = orxINPUT_TYPE_t ## ```
## Input type enum
## ```
orxINPUT_MODE* {.importc, imporxHdr.} = orxINPUT_MODE_t ## ```
## Input mode enum
## ```
orxINPUT_EVENT* {.importc, imporxHdr.} = orxINPUT_EVENT_t ## ```
## Event enum
## ```
orxINPUT_EVENT_PAYLOAD_t* {.bycopy, imporxHdr,
importc: "struct __orxINPUT_EVENT_PAYLOAD_t".} = object ## ```
## Input event payload
## ```
zSetName*: ptr orxCHAR ## ```
## < Set name : 4/8
## ```
zInputName*: ptr orxCHAR ## ```
## < Input name : 8/16
## ```
aeType*: array[8, orxINPUT_TYPE] ## ```
## < Input binding type : 40/48
## ```
aeID*: array[8, orxENUM] ## ```
## < Input binding ID : 72/80
## ```
aeMode*: array[8, orxINPUT_MODE] ## ```
## < Input binding Mode : 104/112
## ```
afValue*: array[8, orxFLOAT] ## ```
## < Input binding value : 136/144
## ```
orxINPUT_EVENT_PAYLOAD* {.importc, imporxHdr.} = orxINPUT_EVENT_PAYLOAD_t ## ```
## Input event payload
## ```
orxEVENT_TYPE* {.importc, imporxHdr.} = orxEVENT_TYPE_t ## ```
## Event type enum
## ```
orxEVENT_t* {.bycopy, imporxHdr, importc: "struct __orxEVENT_t".} = object ## ```
## Public event structure
## ```
eType*: orxEVENT_TYPE ## ```
## < Event type : 4
## ```
eID*: orxENUM ## ```
## < Event ID : 8
## ```
hSender*: orxHANDLE ## ```
## < Sender handle : 12
## ```
hRecipient*: orxHANDLE ## ```
## < Recipient handle : 16
## ```
pstPayload*: pointer ## ```
## < Event payload : 20
## ```
pContext*: pointer ## ```
## < Optional user-provided context : 24
## ```
orxEVENT* {.importc, imporxHdr.} = orxEVENT_t ## ```
## Public event structure
## ```
orxEVENT_HANDLER* {.importc, imporxHdr.} = proc (pstEvent: ptr orxEVENT): orxSTATUS {.
cdecl.}
orxLOCALE_EVENT* {.importc, imporxHdr.} = orxLOCALE_EVENT_t ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Event enum
## ```
orxLOCALE_EVENT_PAYLOAD_t* {.bycopy, imporxHdr,
importc: "struct __orxLOCALE_EVENT_PAYLOAD_t".} = object ## ```
## Locale event payload
## ```
zLanguage*: ptr orxCHAR ## ```
## < Current language : 4
## ```
zStringKey*: ptr orxCHAR ## ```
## < String key : 8
## ```
zStringValue*: ptr orxCHAR ## ```
## < String value : 12
## ```
orxLOCALE_EVENT_PAYLOAD* {.importc, imporxHdr.} = orxLOCALE_EVENT_PAYLOAD_t ## ```
## Locale event payload
## ```
orxRESOURCE_OP_FUNCTION* {.importc, imporxHdr.} = proc (hResource: orxHANDLE;
s64Size: orxS64; pBuffer: pointer; pContext: pointer) {.cdecl.}
orxRESOURCE_FUNCTION_LOCATE* {.importc, imporxHdr.} = proc (zStorage: ptr orxCHAR;
zName: ptr orxCHAR; bRequireExistence: orxBOOL): ptr orxCHAR {.cdecl.}
orxRESOURCE_FUNCTION_GET_TIME* {.importc, imporxHdr.} = proc (
zLocation: ptr orxCHAR): orxS64 {.cdecl.}
orxRESOURCE_FUNCTION_OPEN* {.importc, imporxHdr.} = proc (zLocation: ptr orxCHAR;
bEraseMode: orxBOOL): orxHANDLE {.cdecl.}
orxRESOURCE_FUNCTION_CLOSE* {.importc, imporxHdr.} = proc (hResource: orxHANDLE) {.
cdecl.}
orxRESOURCE_FUNCTION_GET_SIZE* {.importc, imporxHdr.} = proc (hResource: orxHANDLE): orxS64 {.
cdecl.}
orxRESOURCE_FUNCTION_SEEK* {.importc, imporxHdr.} = proc (hResource: orxHANDLE;
s64Offset: orxS64; eWhence: orxSEEK_OFFSET_WHENCE): orxS64 {.cdecl.}
orxRESOURCE_FUNCTION_TELL* {.importc, imporxHdr.} = proc (hResource: orxHANDLE): orxS64 {.
cdecl.}
orxRESOURCE_FUNCTION_READ* {.importc, imporxHdr.} = proc (hResource: orxHANDLE;
s64Size: orxS64; pBuffer: pointer): orxS64 {.cdecl.}
orxRESOURCE_FUNCTION_WRITE* {.importc, imporxHdr.} = proc (hResource: orxHANDLE;
s64Size: orxS64; pBuffer: pointer): orxS64 {.cdecl.}
orxRESOURCE_FUNCTION_DELETE* {.importc, imporxHdr.} = proc (zLocation: ptr orxCHAR): orxSTATUS {.
cdecl.}
orxRESOURCE_TYPE_INFO_t* {.bycopy, imporxHdr,
importc: "struct __orxRESOURCE_TYPE_INFO_t".} = object ## ```
## Resource type info
## ```
zTag*: ptr orxCHAR ## ```
## < Unique tag, mandatory
## ```
pfnLocate*: orxRESOURCE_FUNCTION_LOCATE ## ```
## < Locate function, mandatory
## ```
pfnGetTime*: orxRESOURCE_FUNCTION_GET_TIME ## ```
## < GetTime function, optional, for hotload support
## ```
pfnOpen*: orxRESOURCE_FUNCTION_OPEN ## ```
## < Open function, mandatory
## ```
pfnClose*: orxRESOURCE_FUNCTION_CLOSE ## ```
## < Close function, mandatory
## ```
pfnGetSize*: orxRESOURCE_FUNCTION_GET_SIZE ## ```
## < GetSize function, mandatory
## ```
pfnSeek*: orxRESOURCE_FUNCTION_SEEK ## ```
## < Seek function, mandatory
## ```
pfnTell*: orxRESOURCE_FUNCTION_TELL ## ```
## < Tell function, mandatory
## ```
pfnRead*: orxRESOURCE_FUNCTION_READ ## ```
## < Read function, mandatory
## ```
pfnWrite*: orxRESOURCE_FUNCTION_WRITE ## ```
## < Write function, optional, for write support
## ```
pfnDelete*: orxRESOURCE_FUNCTION_DELETE ## ```
## < Delete function, optional, for deletion support
## ```
orxRESOURCE_TYPE_INFO* {.importc, imporxHdr.} = orxRESOURCE_TYPE_INFO_t ## ```
## Resource type info
## ```
orxRESOURCE_EVENT* {.importc, imporxHdr.} = orxRESOURCE_EVENT_t ## ```
## Event enum
## ```
orxRESOURCE_EVENT_PAYLOAD_t* {.bycopy, imporxHdr,
importc: "struct __orxRESOURCE_EVENT_PAYLOAD_t".} = object ## ```
## Event payload
## ```
s64Time*: orxS64 ## ```
## < New resource time : 8
## ```
zLocation*: ptr orxCHAR ## ```
## < Resource location : 12 / 16
## ```
pstTypeInfo*: ptr orxRESOURCE_TYPE_INFO ## ```
## < Type info : 16 / 24
## ```
stGroupID*: orxSTRINGID ## ```
## < Group ID : 20 / 28
## ```
stNameID*: orxSTRINGID ## ```
## < Name ID : 24 / 32
## ```
orxRESOURCE_EVENT_PAYLOAD* {.importc, imporxHdr.} = orxRESOURCE_EVENT_PAYLOAD_t ## ```
## Event payload
## ```
orxTHREAD_SEMAPHORE* {.importc, imporxHdr.} = orxTHREAD_SEMAPHORE_t ## ```
## Semaphore structure
## ```
orxTHREAD_FUNCTION* {.importc, imporxHdr.} = proc (pContext: pointer): orxSTATUS {.
cdecl.}
orxGRAPHIC* {.importc, imporxHdr.} = orxGRAPHIC_t ## ```
## Internal Graphic structure
## ```
orxTEXT* {.importc, imporxHdr.} = orxTEXT_t ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxFont.h
##
## @date 08/03/2010
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxFont
##
##
##
## Font module
##
## Module that handles fonts
##
##
##
## @{
##
##
## @}
## Internal text structure
## ```
orxFILE_INFO_t* {.bycopy, imporxHdr, importc: "struct __orxFILE_INFO_t".} = object ## ```
## File info structure
## ```
s64Size*: orxS64 ## ```
## < File's size (in bytes)
## ```
s64TimeStamp*: orxS64 ## ```
## < Timestamp of the last modification
## ```
u32Flags*: orxU32 ## ```
## < File attributes (cf. list of available flags)
## ```
hInternal*: orxHANDLE ## ```
## < Internal use handle
## ```
zName*: array[256, orxCHAR] ## ```
## < File's name
## ```
zPattern*: array[256, orxCHAR] ## ```
## < Search pattern
## ```
zPath*: array[1024, orxCHAR] ## ```
## < Directory's name where is stored the file
## ```
zFullName*: array[1280, orxCHAR] ## ```
## < Full file name
## ```
orxFILE_INFO* {.importc, imporxHdr.} = orxFILE_INFO_t ## ```
## File info structure
## ```
orxFILE* {.importc, imporxHdr.} = orxFILE_t ## ```
## Internal File structure
## ```
orxPARAM_INIT_FUNCTION* {.importc, imporxHdr.} = proc (u32NbParam: orxU32;
azParams: UncheckedArray[ptr orxCHAR]): orxSTATUS {.cdecl.}
orxPARAM_t* {.bycopy, imporxHdr, importc: "struct __orxPARAM_t".} = object ## ```
## Parameter's info
## ```
u32Flags*: orxU32 ## ```
## Flags associated to the parameters' parser
## ```
zShortName*: ptr orxCHAR ## ```
## Short parameter name (ex: "h" for help (will be -h))
## ```
zLongName*: ptr orxCHAR ## ```
## Long parameter name (ex: "help" for help (will be --help))
## ```
zShortDesc*: ptr orxCHAR ## ```
## Short description (ex: "shows params' list")
## ```
zLongDesc*: ptr orxCHAR ## ```
## Long description (ex: "Display the list of parameters.
##
## -help <param> displays the <param> long description")
## ```
pfnParser*: orxPARAM_INIT_FUNCTION ## ```
## Function called when the parameter is detected in the command line
## ```
orxPARAM* {.importc, imporxHdr.} = orxPARAM_t ## ```
## Parameter's info
## ```
orxAABOX_t* {.bycopy, imporxHdr, importc: "struct __orxAABOX_t".} = object ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxVector.h
##
## @date 30/03/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxVector
##
##
##
## Vector module
##
## Module that handles vectors and basic structures based on them
##
##
##
## @{
##
##
## @}
## Public structure definition
## ```
vTL*: orxVECTOR ## ```
## < Top left corner vector : 12
## ```
vBR*: orxVECTOR ## ```
## < Bottom right corner vector : 24
## ```
orxAABOX* {.importc, imporxHdr.} = orxAABOX_t ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxVector.h
##
## @date 30/03/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxVector
##
##
##
## Vector module
##
## Module that handles vectors and basic structures based on them
##
##
##
## @{
##
##
## @}
## Public structure definition
## ```
orxFRAME_SPACE* {.importc, imporxHdr.} = orxFRAME_SPACE_t ## ```
## Frame space enum
## ```
orxFRAME* {.importc, imporxHdr.} = orxFRAME_t ## ```
## Internal Frame structure
## ```
orxSOUNDSYSTEM_SOUND* {.importc, imporxHdr.} = orxSOUNDSYSTEM_SOUND_t ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxVector.h
##
## @date 30/03/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxVector
##
##
##
## Vector module
##
## Module that handles vectors and basic structures based on them
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxPluginCore.h
##
## @date 24/04/2003
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxPlugin
##
##
##
## Plugin core header
##
## This header is used to define structures & functions for core plugins info.
##
##
##
## @{
##
##
## @}
## ************************************************************************
##
## Structure declaration
##
## ************************************************************************
## Abstract sound structures
## ```
orxSOUNDSYSTEM_SAMPLE* {.importc, imporxHdr.} = orxSOUNDSYSTEM_SAMPLE_t
orxSOUNDSYSTEM_STATUS* {.importc, imporxHdr.} = orxSOUNDSYSTEM_STATUS_t ## ```
## Sound system status enum
## ```
orxSOUND_STATUS* {.importc, imporxHdr.} = orxSOUND_STATUS_t ## ```
## Sound status enum
## ```
orxSOUND* {.importc, imporxHdr.} = orxSOUND_t ## ```
## Internal Sound structure
## ```
orxSOUND_EVENT* {.importc, imporxHdr.} = orxSOUND_EVENT_t ## ```
## Event enum
## ```
orxSOUND_STREAM_INFO_t* {.bycopy, imporxHdr,
importc: "struct __orxSOUND_STREAM_INFO_t".} = object ## ```
## Sound stream info
## ```
u32SampleRate*: orxU32 ## ```
## < The sample rate, e.g. 44100 Hertz : 4
## ```
u32ChannelNumber*: orxU32 ## ```
## < Number of channels, either mono (1) or stereo (2) : 8
## ```
orxSOUND_STREAM_INFO* {.importc, imporxHdr.} = orxSOUND_STREAM_INFO_t ## ```
## Sound stream info
## ```
orxSOUND_STREAM_PACKET_t* {.bycopy, imporxHdr,
importc: "struct __orxSOUND_STREAM_PACKET_t".} = object ## ```
## Sound recording packet
## ```
u32SampleNumber*: orxU32 ## ```
## < Number of samples contained in this packet : 4
## ```
as16SampleList*: ptr orxS16 ## ```
## < List of samples for this packet : 8
## ```
bDiscard*: orxBOOL ## ```
## < Write/play the packet? : 12
## ```
fTimeStamp*: orxFLOAT ## ```
## < Packet's timestamp : 16
## ```
s32ID*: orxS32 ## ```
## < Packet's ID : 20
## ```
fTime*: orxFLOAT ## ```
## < Packet's time (cursor/play position): 24
## ```
orxSOUND_STREAM_PACKET* {.importc, imporxHdr.} = orxSOUND_STREAM_PACKET_t ## ```
## Sound recording packet
## ```
Type_orxh11* {.bycopy, imporxHdr, importc: "struct Type_orxh11".} = object
zSoundName*: ptr orxCHAR ## ```
## < Sound name : 4
## ```
stInfo*: orxSOUND_STREAM_INFO ## ```
## < Sound record info : 12
## ```
stPacket*: orxSOUND_STREAM_PACKET ## ```
## < Sound record packet : 32
## ```
Union_orxh11* {.union, bycopy, imporxHdr, importc: "union Union_orxh11".} = object
pstSound*: ptr orxSOUND ## ```
## < Sound reference : 4
## ```
stStream*: Type_orxh11
orxSOUND_EVENT_PAYLOAD_t* {.bycopy, imporxHdr,
importc: "struct __orxSOUND_EVENT_PAYLOAD_t".} = object ## ```
## Sound event payload
## ```
a1*: Union_orxh11
orxSOUND_EVENT_PAYLOAD* {.importc, imporxHdr.} = orxSOUND_EVENT_PAYLOAD_t ## ```
## Sound event payload
## ```
orxOBJECT_EVENT* {.importc, imporxHdr.} = orxOBJECT_EVENT_t ## ```
## Event enum
## ```
orxOBJECT* {.importc, imporxHdr.} = orxOBJECT_t ## ```
## Internal object structure
## ```
orxFX_CURVE* {.importc, imporxHdr.} = orxFX_CURVE_t ## ```
## FX curve enum
## ```
orxFX* {.importc, imporxHdr.} = orxFX_t ## ```
## Internal FX structure
## ```
orxFX_EVENT* {.importc, imporxHdr.} = orxFX_EVENT_t ## ```
## Event enum
## ```
orxFX_EVENT_PAYLOAD_t* {.bycopy, imporxHdr,
importc: "struct __orxFX_EVENT_PAYLOAD_t".} = object ## ```
## FX event payload
## ```
pstFX*: ptr orxFX ## ```
## < FX reference : 4
## ```
zFXName*: ptr orxCHAR ## ```
## < FX name : 8
## ```
orxFX_EVENT_PAYLOAD* {.importc, imporxHdr.} = orxFX_EVENT_PAYLOAD_t ## ```
## FX event payload
## ```
orxFXPOINTER* {.importc, imporxHdr.} = orxFXPOINTER_t ## ```
## Internal FXPointer structure
## ```
orxSPAWNER_EVENT* {.importc, imporxHdr.} = orxSPAWNER_EVENT_t ## ```
## Event enum
## ```
orxSPAWNER* {.importc, imporxHdr.} = orxSPAWNER_t ## ```
## Internal spawner structure
## ```
orxTIMELINE* {.importc, imporxHdr.} = orxTIMELINE_t ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxStructure.h
##
## @date 08/12/2003
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxStructure
##
##
##
## Structure module
##
## Allows to create and handle structures.
##
## Structures can be referenced by other structures.
##
##
##
## @{
##
##
## @}
## Internal TimeLine structure
## ```
orxTIMELINE_EVENT* {.importc, imporxHdr.} = orxTIMELINE_EVENT_t ## ```
## Event enum
## ```
orxTIMELINE_EVENT_PAYLOAD_t* {.bycopy, imporxHdr,
importc: "struct __orxTIMELINE_EVENT_PAYLOAD_t".} = object ## ```
## TimeLine event payload
## ```
pstTimeLine*: ptr orxTIMELINE ## ```
## < TimeLine reference : 4
## ```
zTrackName*: ptr orxCHAR ## ```
## < Track name : 8
## ```
zEvent*: ptr orxCHAR ## ```
## < Event text : 12
## ```
fTimeStamp*: orxFLOAT ## ```
## < Event time : 16
## ```
orxTIMELINE_EVENT_PAYLOAD* {.importc, imporxHdr.} = orxTIMELINE_EVENT_PAYLOAD_t ## ```
## TimeLine event payload
## ```
orxBODY_DEF_t* {.bycopy, imporxHdr, importc: "struct __orxBODY_DEF_t".} = object ## ```
## Body definition
## ```
vPosition*: orxVECTOR ## ```
## < Position : 12
## ```
fRotation*: orxFLOAT ## ```
## < Rotation : 16
## ```
fInertia*: orxFLOAT ## ```
## < Inertia : 20
## ```
fMass*: orxFLOAT ## ```
## < Mass : 24
## ```
fLinearDamping*: orxFLOAT ## ```
## < Linear damping : 28
## ```
fAngularDamping*: orxFLOAT ## ```
## < Angular damping : 32
## ```
u32Flags*: orxU32 ## ```
## < Control flags : 36
## ```
orxBODY_DEF* {.importc, imporxHdr.} = orxBODY_DEF_t ## ```
## Body definition
## ```
Type_orxh12* {.bycopy, imporxHdr, importc: "struct Type_orxh12".} = object
vCenter*: orxVECTOR ## ```
## < Sphere center : 44
## ```
fRadius*: orxFLOAT ## ```
## < Sphere radius : 48
## ```
Type_orxh13* {.bycopy, imporxHdr, importc: "struct Type_orxh13".} = object
stBox*: orxAABOX ## ```
## < Axis aligned Box : 56
## ```
Type_orxh14* {.bycopy, imporxHdr, importc: "struct Type_orxh14".} = object
u32VertexCount*: orxU32 ## ```
## < Mesh vertex count : 36
## ```
avVertices*: array[8, orxVECTOR] ## ```
## < Mesh vertices : 132
## ```
Type_orxh15* {.bycopy, imporxHdr, importc: "struct Type_orxh15".} = object
avVertices*: array[2, orxVECTOR] ## ```
## < Edge v2 : 56
## ```
vPrevious*: orxVECTOR ## ```
## < Previous vertex (ghost) : 68
## ```
vNext*: orxVECTOR ## ```
## < Next vertex (ghost) : 80
## ```
bHasPrevious*: orxBOOL ## ```
## < Has previous vertex : 84
## ```
bHasNext*: orxBOOL ## ```
## < Has next vertex : 88
## ```
Type_orxh16* {.bycopy, imporxHdr, importc: "struct Type_orxh16".} = object
vPrevious*: orxVECTOR ## ```
## < Chain Previous vertex (ghost) : 44
## ```
vNext*: orxVECTOR ## ```
## < Chain Next vertex (ghost) : 56
## ```
avVertices*: ptr orxVECTOR ## ```
## < Chain vertices : 60
## ```
u32VertexCount*: orxU32 ## ```
## < Chain vertex count : 64
## ```
bIsLoop*: orxBOOL ## ```
## < Loop chain : 68
## ```
bHasPrevious*: orxBOOL ## ```
## < Has previous vertex : 72
## ```
bHasNext*: orxBOOL ## ```
## < Has next vertex : 76
## ```
Union_orxh12* {.union, bycopy, imporxHdr, importc: "union Union_orxh12".} = object
stSphere*: Type_orxh12
stAABox*: Type_orxh13
stMesh*: Type_orxh14
stEdge*: Type_orxh15
stChain*: Type_orxh16
orxBODY_PART_DEF_t* {.bycopy, imporxHdr, importc: "struct __orxBODY_PART_DEF_t".} = object ## ```
## Part definition
## ```
vScale*: orxVECTOR ## ```
## < Scale : 12
## ```
fFriction*: orxFLOAT ## ```
## < Friction : 16
## ```
fRestitution*: orxFLOAT ## ```
## < Restitution : 20
## ```
fDensity*: orxFLOAT ## ```
## < Density : 24
## ```
u16SelfFlags*: orxU16 ## ```
## < Self defining flags : 26
## ```
u16CheckMask*: orxU16 ## ```
## < Check mask : 28
## ```
u32Flags*: orxU32 ## ```
## < Control flags : 32
## ```
a15*: Union_orxh12
orxBODY_PART_DEF* {.importc, imporxHdr.} = orxBODY_PART_DEF_t ## ```
## Part definition
## ```
Type_orxh17* {.bycopy, imporxHdr, importc: "struct Type_orxh17".} = object
fDefaultRotation*: orxFLOAT ## ```
## < Default rotation : 52
## ```
fMinRotation*: orxFLOAT ## ```
## < Min rotation : 56
## ```
fMaxRotation*: orxFLOAT ## ```
## < Max rotation : 60
## ```
fMotorSpeed*: orxFLOAT ## ```
## < Motor speed : 64
## ```
fMaxMotorTorque*: orxFLOAT ## ```
## < Max motor torque : 68
## ```
Type_orxh18* {.bycopy, imporxHdr, importc: "struct Type_orxh18".} = object
vTranslationAxis*: orxVECTOR ## ```
## < Translation axis : 60
## ```
fDefaultRotation*: orxFLOAT ## ```
## < Default rotation : 64
## ```
fMinTranslation*: orxFLOAT ## ```
## < Min translation : 68
## ```
fMaxTranslation*: orxFLOAT ## ```
## < Max translation : 72
## ```
fMotorSpeed*: orxFLOAT ## ```
## < Motor speed : 76
## ```
fMaxMotorForce*: orxFLOAT ## ```
## < Max motor force : 80
## ```
Type_orxh19* {.bycopy, imporxHdr, importc: "struct Type_orxh19".} = object
fLength*: orxFLOAT ## ```
## < Length : 52
## ```
fFrequency*: orxFLOAT ## ```
## < Frequency : 56
## ```
fDamping*: orxFLOAT ## ```
## < Damping : 60
## ```
Type_orxh20* {.bycopy, imporxHdr, importc: "struct Type_orxh20".} = object
fLength*: orxFLOAT ## ```
## < Length : 52
## ```
Type_orxh21* {.bycopy, imporxHdr, importc: "struct Type_orxh21".} = object
vSrcGroundAnchor*: orxVECTOR ## ```
## < Source ground anchor : 60
## ```
vDstGroundAnchor*: orxVECTOR ## ```
## < Destination ground anchor : 72
## ```
fLengthRatio*: orxFLOAT ## ```
## < Length ratio : 76
## ```
fSrcLength*: orxFLOAT ## ```
## < Source length : 80
## ```
fMaxSrcLength*: orxFLOAT ## ```
## < Max source length : 84
## ```
fDstLength*: orxFLOAT ## ```
## < Destination length : 88
## ```
fMaxDstLength*: orxFLOAT ## ```
## < Max destination length : 92
## ```
Type_orxh22* {.bycopy, imporxHdr, importc: "struct Type_orxh22".} = object
vTranslationAxis*: orxVECTOR ## ```
## < Translation axis : 64
## ```
fFrequency*: orxFLOAT ## ```
## < Frequency : 68
## ```
fDamping*: orxFLOAT ## ```
## < Damping : 72
## ```
fMotorSpeed*: orxFLOAT ## ```
## < Motor speed : 76
## ```
fMaxMotorForce*: orxFLOAT ## ```
## < Max motor force : 80
## ```
Type_orxh23* {.bycopy, imporxHdr, importc: "struct Type_orxh23".} = object
fDefaultRotation*: orxFLOAT ## ```
## < Default rotation : 56
## ```
Type_orxh24* {.bycopy, imporxHdr, importc: "struct Type_orxh24".} = object
fMaxForce*: orxFLOAT ## ```
## < Max force : 56
## ```
fMaxTorque*: orxFLOAT ## ```
## < Max torque : 60
## ```
Type_orxh25* {.bycopy, imporxHdr, importc: "struct Type_orxh25".} = object
zSrcJointName*: ptr orxCHAR ## ```
## < Source joint name : 56
## ```
zDstJointName*: ptr orxCHAR ## ```
## < Destination joint name : 60
## ```
fJointRatio*: orxFLOAT ## ```
## < Joint ratio : 64
## ```
Union_orxh13* {.union, bycopy, imporxHdr, importc: "union Union_orxh13".} = object
stRevolute*: Type_orxh17
stPrismatic*: Type_orxh18
stSpring*: Type_orxh19
stRope*: Type_orxh20
stPulley*: Type_orxh21
stSuspension*: Type_orxh22
stWeld*: Type_orxh23
stFriction*: Type_orxh24
stGear*: Type_orxh25
orxBODY_JOINT_DEF_t* {.bycopy, imporxHdr, importc: "struct __orxBODY_JOINT_DEF_t".} = object ## ```
## Joint definition
## ```
vSrcScale*: orxVECTOR ## ```
## < Source scale : 12
## ```
vDstScale*: orxVECTOR ## ```
## < Destination scale : 24
## ```
vSrcAnchor*: orxVECTOR ## ```
## < Source body anchor : 36
## ```
vDstAnchor*: orxVECTOR ## ```
## < Destination body anchor : 48
## ```
a9*: Union_orxh13
u32Flags*: orxU32 ## ```
## < Control flags : 96
## ```
orxBODY_JOINT_DEF* {.importc, imporxHdr.} = orxBODY_JOINT_DEF_t ## ```
## Joint definition
## ```
orxPHYSICS_EVENT* {.importc, imporxHdr.} = orxPHYSICS_EVENT_t ## ```
## Event enum
## ```
orxPHYSICS_EVENT_PAYLOAD_t* {.bycopy, imporxHdr,
importc: "struct __orxPHYSICS_EVENT_PAYLOAD_t".} = object ## ```
## Event payload
## ```
vPosition*: orxVECTOR ## ```
## < Contact position : 12
## ```
vNormal*: orxVECTOR ## ```
## < Contact normal : 24
## ```
zSenderPartName*: ptr orxCHAR ## ```
## < Sender part name : 28
## ```
zRecipientPartName*: ptr orxCHAR ## ```
## < Recipient part name : 32
## ```
orxPHYSICS_EVENT_PAYLOAD* {.importc, imporxHdr.} = orxPHYSICS_EVENT_PAYLOAD_t ## ```
## Event payload
## ```
orxPHYSICS_BODY* {.importc, imporxHdr.} = orxPHYSICS_BODY_t ## ```
## Internal physics body structure
## ```
orxPHYSICS_BODY_PART* {.importc, imporxHdr.} = orxPHYSICS_BODY_PART_t ## ```
## Internal physics part structure
## ```
orxPHYSICS_BODY_JOINT* {.importc, imporxHdr.} = orxPHYSICS_BODY_JOINT_t ## ```
## Internal physics joint structure
## ```
orxBODY* {.importc, imporxHdr.} = orxBODY_t ## ```
## @}
## Internal Body structure
## ```
orxBODY_PART* {.importc, imporxHdr.} = orxBODY_PART_t ## ```
## Internal Body part structure
## ```
orxBODY_JOINT* {.importc, imporxHdr.} = orxBODY_JOINT_t ## ```
## Internal Body joint structure
## ```
orxCAMERA* {.importc, imporxHdr.} = orxCAMERA_t ## ```
## Internal camera structure
## ```
orxSHADER_PARAM_TYPE* {.importc, imporxHdr.} = orxSHADER_PARAM_TYPE_t ## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxVector.h
##
## @date 30/03/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxVector
##
##
##
## Vector module
##
## Module that handles vectors and basic structures based on them
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxTexture.h
##
## @date 07/12/2003
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxTexture
##
##
##
## Texture module
##
## Module that handles textures
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxObject.h
##
## @date 01/12/2003
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxObject
##
##
##
## Object module
##
## Allows to creates and handle objects
##
## Objects are structures containers that can refer to many other structures such as frames, graphics, etc...
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxLinkList.h
##
## @date 06/04/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxLinkList
##
##
##
## Linklist module
##
## Module that handles linklists
##
##
##
## @{
##
##
##
## @section linklist Link List - How to
##
## This module provides an easy and powerful interface for manipulating linked lists.
##
##
##
## @subsection linklist_datadefine Data definition
##
## Using this data structure as an example:
##
## @code
##
## typedef struct __orxFOO_t
##
## {
##
## orxU32 u32Data; Data
##
## } orxFOO;
##
## @endcode
##
##
##
## @subsection linklist_dataalloc Data without link
##
## Creating a bank to allocate memory storage:
##
## @code
##
## orxBANKpstBank = orxBank_Create(10, sizeof(orxFOO), orxBANK_KU32_FLAG_NONE, orxMEMORY_TYPE_MAIN);
##
## @endcode
##
## You can then instantiate it this way:
##
## @code
##
## orxFOOpstNode = (orxFOO)orxBank_Allocate(pstBank);
##
## pstNode->u32Data = 205;
##
## @endcode
##
## Having this basic behavior, you can add list linking to it.
##
## @subsection linklist_realalloc Linked list item definition
##
## To do so, you need to include in your structure an orxLINKLIST_NODE member asFIRST MEMBER*:
##
## @code
##
## typedef struct __orxFOO_t
##
## {
##
## orxLINKLIST_NODE stNode;
##
## orxU32 u32Data;
##
## } orxFOO;
##
## @endcode
##
## @subsection linklist_realuse Use of link list
##
## Your data structure can now be linked in lists:
##
## @code
##
## orxLINKLIST stList;
##
## orxLinkList_AddEnd(&stList, (orxLINKLIST_NODE)pstNode);
##
## @endcode
##
## @note As the first member of your data structure is a linked list node, you can cast your structure to orxLINKLIST_NODE and reciprocally.
##
##
## @}
## Shader parameter type
## ```
orxSHADER_PARAM_t* {.bycopy, imporxHdr, importc: "struct __orxSHADER_PARAM_t".} = object ## ```
## Shader parameter structure
## ```
stNode*: orxLINKLIST_NODE ## ```
## < Linklist node : 12
## ```
zName*: ptr orxCHAR ## ```
## < Parameter literal name : 26
## ```
eType*: orxSHADER_PARAM_TYPE ## ```
## < Parameter type : 20
## ```
u32ArraySize*: orxU32 ## ```
## < Parameter array size : 24
## ```
orxSHADER_PARAM* {.importc, imporxHdr.} = orxSHADER_PARAM_t ## ```
## Shader parameter structure
## ```
orxSHADER* {.importc, imporxHdr.} = orxSHADER_t ## ```
## Internal shader structure
## ```
orxSHADER_EVENT* {.importc, imporxHdr.} = orxSHADER_EVENT_t ## ```
## Event enum
## ```
Union_orxh14* {.union, bycopy, imporxHdr, importc: "union Union_orxh14".} = object
fValue*: orxFLOAT ## ```
## < Float value : 24
## ```
pstValue*: ptr orxTEXTURE ## ```
## < Texture value : 24
## ```
vValue*: orxVECTOR ## ```
## < Vector value : 32
## ```
orxSHADER_EVENT_PAYLOAD_t* {.bycopy, imporxHdr,
importc: "struct __orxSHADER_EVENT_PAYLOAD_t".} = object ## ```
## Shader event payload
## ```
pstShader*: ptr orxSHADER ## ```
## < Shader reference : 4
## ```
zShaderName*: ptr orxCHAR ## ```
## < Shader name : 8
## ```
zParamName*: ptr orxCHAR ## ```
## < Parameter name : 12
## ```
eParamType*: orxSHADER_PARAM_TYPE ## ```
## < Parameter type : 16
## ```
s32ParamIndex*: orxS32 ## ```
## < Parameter index : 20
## ```
a11*: Union_orxh14
orxSHADER_EVENT_PAYLOAD* {.importc, imporxHdr.} = orxSHADER_EVENT_PAYLOAD_t ## ```
## Shader event payload
## ```
orxSHADERPOINTER* {.importc, imporxHdr.} = orxSHADERPOINTER_t ## ```
## Internal ShaderPointer structure
## ```
orxVIEWPORT* {.importc, imporxHdr.} = orxVIEWPORT_t ## ```
## Internal Viewport structure
## ```
orxVIEWPORT_EVENT* {.importc, imporxHdr.} = orxVIEWPORT_EVENT_t ## ```
## Event enum
## ```
orxRENDER_EVENT* {.importc, imporxHdr.} = orxRENDER_EVENT_t ## ```
## Event enum
## ```
Type_orxh26* {.bycopy, imporxHdr, importc: "struct Type_orxh26".} = object
pstTransform*: ptr orxDISPLAY_TRANSFORM ## ```
## < Object display transform : 4 / 8
## ```
orxRENDER_EVENT_PAYLOAD_t* {.bycopy, imporxHdr,
importc: "struct __orxRENDER_EVENT_PAYLOAD_t".} = object ## ```
## Event payload
## ```
stObject*: Type_orxh26
orxRENDER_EVENT_PAYLOAD* {.importc, imporxHdr.} = orxRENDER_EVENT_PAYLOAD_t ## ```
## Event payload
## ```
orxSOUNDPOINTER* {.importc, imporxHdr.} = orxSOUNDPOINTER_t ## ```
## Internal SoundPointer structure
## ```
var
orxFLOAT_0* {.importc, imporxHdr.}: orxFLOAT ## ```
## ** Float constants**
## ```
orxFLOAT_1* {.importc, imporxHdr.}: orxFLOAT
orxFLOAT_MAX* {.importc, imporxHdr.}: orxFLOAT
orxDOUBLE_0* {.importc, imporxHdr.}: orxDOUBLE ## ```
## ** Double constants**
## ```
orxDOUBLE_1* {.importc, imporxHdr.}: orxDOUBLE
orxDOUBLE_MAX* {.importc, imporxHdr.}: orxDOUBLE
orxU64_UNDEFINED* {.importc, imporxHdr.}: orxU64 ## ```
## ** Undefined constants**
## ```
orxU32_UNDEFINED* {.importc, imporxHdr.}: orxU32
orxU16_UNDEFINED* {.importc, imporxHdr.}: orxU16
orxU8_UNDEFINED* {.importc, imporxHdr.}: orxU8
orxHANDLE_UNDEFINED* {.importc, imporxHdr.}: orxHANDLE
orxSTRINGID_UNDEFINED* {.importc, imporxHdr.}: orxSTRINGID
orxSTRING_EMPTY* {.importc, imporxHdr.}: ptr orxCHAR ## ```
## ** String & character constants**
## ```
orxSTRING_TRUE* {.importc, imporxHdr.}: ptr orxCHAR
orxSTRING_FALSE* {.importc, imporxHdr.}: ptr orxCHAR
orxSTRING_EOL* {.importc, imporxHdr.}: ptr orxCHAR
orxSTRING_DIRECTORY_SEPARATOR* {.importc, imporxHdr.}: ptr orxCHAR
orxVECTOR_X* {.importc, imporxHdr.}: orxVECTOR ## ```
## < X-Axis unit vector
## ```
orxVECTOR_Y* {.importc, imporxHdr.}: orxVECTOR ## ```
## < Y-Axis unit vector
## ```
orxVECTOR_Z* {.importc, imporxHdr.}: orxVECTOR ## ```
## < Z-Axis unit vector
## ```
orxVECTOR_0* {.importc, imporxHdr.}: orxVECTOR ## ```
## < Null vector
## ```
orxVECTOR_1* {.importc, imporxHdr.}: orxVECTOR ## ```
## < Vector filled with 1s
## ```
orxVECTOR_RED* {.importc, imporxHdr.}: orxVECTOR ## ```
## < Red color vector
## ```
orxVECTOR_GREEN* {.importc, imporxHdr.}: orxVECTOR ## ```
## < Green color vector
## ```
orxVECTOR_BLUE* {.importc, imporxHdr.}: orxVECTOR ## ```
## < Blue color vector
## ```
orxVECTOR_YELLOW* {.importc, imporxHdr.}: orxVECTOR ## ```
## < Yellow color vector
## ```
orxVECTOR_CYAN* {.importc, imporxHdr.}: orxVECTOR ## ```
## < Cyan color vector
## ```
orxVECTOR_MAGENTA* {.importc, imporxHdr.}: orxVECTOR ## ```
## < Magenta color vector
## ```
orxVECTOR_BLACK* {.importc, imporxHdr.}: orxVECTOR ## ```
## < Black color vector
## ```
orxVECTOR_WHITE* {.importc, imporxHdr.}: orxVECTOR ## ```
## < White color vector
## ```
saau32CRCTable* {.importc, imporxHdr.}: array[8, array[256, orxU32]] ## ```
## CRC Tables (slice-by-8)
## ```
sbStopByEvent* {.importc, imporxHdr.}: orxBOOL ## ```
## Includes all the utils modules of the engine
##
##
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxHashTable.h
##
## @date 05/05/2005
##
## @author cursor@arcallians.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxHashTable
##
##
##
## Hashtable module
##
## Module that handles Hashtables
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxLinkList.h
##
## @date 06/04/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxLinkList
##
##
##
## Linklist module
##
## Module that handles linklists
##
##
##
## @{
##
##
##
## @section linklist Link List - How to
##
## This module provides an easy and powerful interface for manipulating linked lists.
##
##
##
## @subsection linklist_datadefine Data definition
##
## Using this data structure as an example:
##
## @code
##
## typedef struct __orxFOO_t
##
## {
##
## orxU32 u32Data; Data
##
## } orxFOO;
##
## @endcode
##
##
##
## @subsection linklist_dataalloc Data without link
##
## Creating a bank to allocate memory storage:
##
## @code
##
## orxBANKpstBank = orxBank_Create(10, sizeof(orxFOO), orxBANK_KU32_FLAG_NONE, orxMEMORY_TYPE_MAIN);
##
## @endcode
##
## You can then instantiate it this way:
##
## @code
##
## orxFOOpstNode = (orxFOO)orxBank_Allocate(pstBank);
##
## pstNode->u32Data = 205;
##
## @endcode
##
## Having this basic behavior, you can add list linking to it.
##
## @subsection linklist_realalloc Linked list item definition
##
## To do so, you need to include in your structure an orxLINKLIST_NODE member asFIRST MEMBER*:
##
## @code
##
## typedef struct __orxFOO_t
##
## {
##
## orxLINKLIST_NODE stNode;
##
## orxU32 u32Data;
##
## } orxFOO;
##
## @endcode
##
## @subsection linklist_realuse Use of link list
##
## Your data structure can now be linked in lists:
##
## @code
##
## orxLINKLIST stList;
##
## orxLinkList_AddEnd(&stList, (orxLINKLIST_NODE)pstNode);
##
## @endcode
##
## @note As the first member of your data structure is a linked list node, you can cast your structure to orxLINKLIST_NODE and reciprocally.
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxString.h
##
## @date 21/04/2005
##
## @author bestel@arcallians.org
##
##
##
## @todo
##
## - Add autoindexing for ID generation
##
##
##
##
## @addtogroup orxString
##
##
##
## String module
##
## Module that handles strings
##
##
##
## @{
##
##
## @}
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxTree.h
##
## @date 06/04/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
##
##
##
## @addtogroup orxTree
##
##
##
## Tree module
##
## Module that handles trees
##
##
##
## @{
##
##
## @}
## @}
## ************************************************************************
##
## Static variables
##
## ************************************************************************
## Should stop execution by default event handling?
## ```
proc orxModule_Register*(eModuleID: orxMODULE_ID; zModuleName: ptr orxCHAR;
pfnSetup: orxMODULE_SETUP_FUNCTION;
pfnInit: orxMODULE_INIT_FUNCTION;
pfnExit: orxMODULE_EXIT_FUNCTION) {.importc, cdecl,
imporxHdr.}
## ```
## Registers a module
##
## @param[in] _eModuleID Concerned module ID
##
## @param[in] _zModuleName Module name
##
## @param[in] _pfnSetup Module setup callback
##
## @param[in] _pfnInit Module init callback
##
## @param[in] _pfnExit Module exit callback
## ```
proc orxModule_AddDependency*(eModuleID: orxMODULE_ID; eDependID: orxMODULE_ID) {.
importc, cdecl, imporxHdr.}
## ```
## Adds dependencies between 2 modules
##
## @param[in] _eModuleID Concerned module ID
##
## @param[in] _eDependID Module ID of the needed module
## ```
proc orxModule_AddOptionalDependency*(eModuleID: orxMODULE_ID;
eDependID: orxMODULE_ID) {.importc, cdecl,
imporxHdr.}
## ```
## Adds optional dependencies between 2 modules
##
## @param[in] _eModuleID Concerned module ID
##
## @param[in] _eDependID Module ID of the optionally needed module
## ```
proc orxModule_Init*(eModuleID: orxMODULE_ID): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits a module
##
## @param[in] _eModuleID Concerned module ID
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxModule_Exit*(eModuleID: orxMODULE_ID) {.importc, cdecl, imporxHdr.}
## ```
## Exits from a module
##
## @param[in] _eModuleID Concerned module ID
## ```
proc orxModule_IsInitialized*(eModuleID: orxMODULE_ID): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Is module initialized?
##
## @param[in] _eModuleID Concerned module ID
##
## @return orxTRUE / orxFALSE
## ```
proc orxModule_GetName*(eModuleID: orxMODULE_ID): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets module name
##
## @param[in] _eModuleID Concerned module ID
##
## @return Module name / orxSTRING_EMPTY
## ```
proc orxDebug_Init*(): orxSTATUS {.importc: "_orxDebug_Init", cdecl, imporxHdr.}
## ```
## ************************************************************************
## ** Functions**
## Inits the debug module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDebug_Exit*() {.importc: "_orxDebug_Exit", cdecl, imporxHdr.}
## ```
## Exits from the debug module
## ```
proc orxDebug_Log*(eLevel: orxDEBUG_LEVEL; zFunction: ptr orxCHAR; zFile: ptr orxCHAR;
u32Line: orxU32; zFormat: ptr orxCHAR) {.importc: "_orxDebug_Log",
cdecl, imporxHdr, varargs.}
## ```
## Logs given debug text
##
## @param[in] _eLevel Debug level associated with this output
##
## @param[in] _zFunction Calling function name
##
## @param[in] _zFile Calling file name
##
## @param[in] _u32Line Calling file line
##
## @param[in] _zFormat Printf formatted text
## ```
proc orxDebug_EnableLevel*(eLevel: orxDEBUG_LEVEL; bEnable: orxBOOL) {.
importc: "_orxDebug_EnableLevel", cdecl, imporxHdr.}
## ```
## Enables/disables a given log level
##
## @param[in] _eLevel Debug level to enable/disable
##
## @param[in] _bEnable Enable / disable
## ```
proc orxDebug_IsLevelEnabled*(eLevel: orxDEBUG_LEVEL): orxBOOL {.
importc: "_orxDebug_IsLevelEnabled", cdecl, imporxHdr.}
## ```
## Is a given log level enabled?
##
## @param[in] _eLevel Concerned debug level
## ```
proc orxDebug_SetFlags*(u32Add: orxU32; u32Remove: orxU32) {.
importc: "_orxDebug_SetFlags", cdecl, imporxHdr.}
## ```
## Sets current debug flags
##
## @param[in] _u32Add Flags to add
##
## @param[in] _u32Remove Flags to remove
## ```
proc orxDebug_GetFlags*(): orxU32 {.importc: "_orxDebug_GetFlags", cdecl, imporxHdr.}
## ```
## Gets current debug flags
##
## @return Current debug flags
## ```
proc orxDebug_Break*() {.importc: "_orxDebug_Break", cdecl, imporxHdr.}
## ```
## Software break function
## ```
proc orxDebug_SetDebugFile*(zFileName: ptr orxCHAR) {.
importc: "_orxDebug_SetDebugFile", cdecl, imporxHdr.}
## ```
## Sets debug file name
##
## @param[in] _zFileName Debug file name
## ```
proc orxDebug_SetLogFile*(zFileName: ptr orxCHAR) {.importc: "_orxDebug_SetLogFile",
cdecl, imporxHdr.}
## ```
## Sets log file name
##
## @param[in] _zFileName Log file name
## ```
proc orxDebug_SetLogCallback*(pfnLogCallback: orxDEBUG_CALLBACK_FUNCTION) {.
importc: "_orxDebug_SetLogCallback", cdecl, imporxHdr.}
## ```
## Sets log callback function, if the callback returns orxSTATUS_FAILURE, the log entry will be entirely inhibited
##
## @param[in] _pfnLogCallback Log callback function, orxNULL to remove it
## ```
proc orxMemory_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Setups the memory module
## ```
proc orxMemory_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the memory module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxMemory_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the memory module
## ```
proc orxMemory_Allocate*(u32Size: orxU32; eMemType: orxMEMORY_TYPE): pointer {.
importc, cdecl, imporxHdr.}
## ```
## Allocates some memory in the system and returns a pointer to it
##
## @param[in] _u32Size Size of the memory to allocate
##
## @param[in] _eMemType Memory zone where data will be allocated
##
## @return returns a pointer to the memory allocated, or orxNULL if an error has occurred
## ```
proc orxMemory_Reallocate*(pMem: pointer; u32Size: orxU32): pointer {.importc, cdecl,
imporxHdr.}
## ```
## Reallocates a previously allocated memory block, with the given new size and returns a pointer to it
##
## If possible, it'll keep the current pointer and extend the memory block, if not it'll allocate a new block,
##
## copy the data over and deallocates the original block
##
## @param[in] _pMem Memory block to reallocate
##
## @param[in] _u32Size Size of the memory to allocate
##
## @return returns a pointer to the reallocated memory block or orxNULL if an error has occurred
## ```
proc orxMemory_Free*(pMem: pointer) {.importc, cdecl, imporxHdr.}
## ```
## Frees some memory allocated with orxMemory_Allocate
##
## @param[in] _pMem Pointer to the memory allocated by orx
## ```
proc orxMemory_Compare*(pMem1: pointer; pMem2: pointer; u32Size: orxU32): orxU32 {.
importc, cdecl, imporxHdr.}
## ```
## Compares two parts of memory
##
## @param[in] _pMem1 First part to test
##
## @param[in] _pMem2 Second part to test
##
## @param[in] _u32Size Size of data to test
##
## @return returns a value less than, equal to or greater than 0 if the content of _pMem1 is respectively smaller, equal or greater than _pMem2's
## ```
proc orxMemory_GetTypeName*(eMemType: orxMEMORY_TYPE): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets memory type literal name
##
## @param[in] _eMemType Concerned memory type
##
## @return Memory type name / orxSTRING_EMPTY
## ```
proc orxMemory_GetCacheLineSize*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets L1 data cache line size
##
## @return Cache line size
## ```
proc orxMath_InitRandom*(u32Seed: orxU32) {.importc, cdecl, imporxHdr.}
## ```
## Module functions**
## Inits the random seed
##
## @param[in] _u32Seed Value to use as seed for random number generation
## ```
proc orxMath_GetRandomFloat*(fMin: orxFLOAT; fMax: orxFLOAT): orxFLOAT {.importc,
cdecl, imporxHdr.}
## ```
## Gets a random orxFLOAT value
##
## @param[in] _fMin Minimum boundary (inclusive)
##
## @param[in] _fMax Maximum boundary (exclusive)
##
## @return Random value
## ```
proc orxMath_GetSteppedRandomFloat*(fMin: orxFLOAT; fMax: orxFLOAT; fStep: orxFLOAT): orxFLOAT {.
importc, cdecl, imporxHdr.}
## ```
## Gets a random orxFLOAT value using step increments
##
## @param[in] _fMin Minimum boundary (inclusive)
##
## @param[in] _fMax Maximum boundary (exclusive)
##
## @param[in] _fStep Step value, must be strictly positive
##
## @return Random value
## ```
proc orxMath_GetRandomU32*(u32Min: orxU32; u32Max: orxU32): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets a random orxU32 value
##
## @param[in] _u32Min Minimum boundary (inclusive)
##
## @param[in] _u32Max Maximum boundary (inclusive)
##
## @return Random value
## ```
proc orxMath_GetSteppedRandomU32*(u32Min: orxU32; u32Max: orxU32; u32Step: orxU32): orxU32 {.
importc, cdecl, imporxHdr.}
## ```
## Gets a random U32 value using step increments
##
## @param[in] _u32Min Minimum boundary (inclusive)
##
## @param[in] _u32Max Maximum boundary (inclusive)
##
## @param[in] _u32Step Step value, must be strictly positive
##
## @return Random value
## ```
proc orxMath_GetRandomS32*(s32Min: orxS32; s32Max: orxS32): orxS32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets a random orxS32 value
##
## @param[in] _s32Min Minimum boundary (inclusive)
##
## @param[in] _s32Max Maximum boundary (inclusive)
##
## @return Random value
## ```
proc orxMath_GetSteppedRandomS32*(s32Min: orxS32; s32Max: orxS32; s32Step: orxS32): orxS32 {.
importc, cdecl, imporxHdr.}
## ```
## Gets a random S32 value using step increments
##
## @param[in] _s32Min Minimum boundary (inclusive)
##
## @param[in] _s32Max Maximum boundary (inclusive)
##
## @param[in] _s32Step Step value, must be strictly positive
##
## @return Random value
## ```
proc orxMath_GetRandomU64*(u64Min: orxU64; u64Max: orxU64): orxU64 {.importc, cdecl,
imporxHdr.}
## ```
## Gets a random orxU64 value
##
## @param[in] _u64Min Minimum boundary (inclusive)
##
## @param[in] _u64Max Maximum boundary (inclusive)
##
## @return Random value
## ```
proc orxMath_GetSteppedRandomU64*(u64Min: orxU64; u64Max: orxU64; u64Step: orxU64): orxU64 {.
importc, cdecl, imporxHdr.}
## ```
## Gets a random U64 value using step increments
##
## @param[in] _u64Min Minimum boundary (inclusive)
##
## @param[in] _u64Max Maximum boundary (inclusive)
##
## @param[in] _u64Step Step value, must be strictly positive
##
## @return Random value
## ```
proc orxMath_GetRandomS64*(s64Min: orxS64; s64Max: orxS64): orxS64 {.importc, cdecl,
imporxHdr.}
## ```
## Gets a random orxS64 value
##
## @param[in] _s64Min Minimum boundary (inclusive)
##
## @param[in] _s64Max Maximum boundary (inclusive)
##
## @return Random value
## ```
proc orxMath_GetSteppedRandomS64*(s64Min: orxS64; s64Max: orxS64; s64Step: orxS64): orxS64 {.
importc, cdecl, imporxHdr.}
## ```
## Gets a random S64 value using step increments
##
## @param[in] _s64Min Minimum boundary (inclusive)
##
## @param[in] _s64Max Maximum boundary (inclusive)
##
## @param[in] _s64Step Step value, must be strictly positive
##
## @return Random value
## ```
proc orxMath_GetRandomSeeds*(au32Seeds: array[4, orxU32]) {.importc, cdecl, imporxHdr.}
## ```
## Gets the current random seeds
##
## @param[out] _au32Seeds Current seeds
## ```
proc orxMath_SetRandomSeeds*(au32Seeds: array[4, orxU32]) {.importc, cdecl, imporxHdr.}
## ```
## Sets (replaces) the current random seeds
##
## @param[in] _au32Seeds Seeds to set
## ```
proc orxMath_GetBitCount*(u32Value: orxU32): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Inlined functions**
## Gets the count of bit in an orxU32
##
## @param[in] _u32Value Value to process
##
## @return Number of bits that are set in the value
## ```
proc orxMath_GetTrailingZeroCount*(u32Value: orxU32): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets the count of trailing zeros in an orxU32
##
## @param[in] _u32Value Value to process
##
## @return Number of trailing zeros
## ```
proc orxMath_GetTrailingZeroCount64*(u64Value: orxU64): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets the count of trailing zeros in an orxU64
##
## @param[in] _u64Value Value to process
##
## @return Number of trailing zeros
## ```
proc orxMath_IsPowerOfTwo*(u32Value: orxU32): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is value a power of two?
##
## @param[in] _u32Value Value to test
##
## @return orxTRUE / orxFALSE
## ```
proc orxMath_GetNextPowerOfTwo*(u32Value: orxU32): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets next power of two of an orxU32
##
## @param[in] _u32Value Value to process
##
## @return If _u32Value is already a power of two, returns it, otherwise the next power of two
## ```
proc orxMath_SmoothStep*(fMin: orxFLOAT; fMax: orxFLOAT; fValue: orxFLOAT): orxFLOAT {.
importc, cdecl, imporxHdr.}
## ```
## Gets smooth stepped value between two extrema
##
## @param[in] _fMin Minimum value
##
## @param[in] _fMax Maximum value
##
## @param[in] _fValue Value to process
##
## @return 0.0 if _fValue <= _fMin, 1.0 if _fValue >= _fMax, smoothed value between 0.0 & 1.0 otherwise
## ```
proc orxMath_SmootherStep*(fMin: orxFLOAT; fMax: orxFLOAT; fValue: orxFLOAT): orxFLOAT {.
importc, cdecl, imporxHdr.}
## ```
## Gets smoother stepped value between two extrema
##
## @param[in] _fMin Minimum value
##
## @param[in] _fMax Maximum value
##
## @param[in] _fValue Value to process
##
## @return 0.0 if _fValue <= _fMin, 1.0 if _fValue >= _fMax, smooth(er)ed value between 0.0 & 1.0 otherwise
## ```
proc orxMath_Sin*(fOp: orxFLOAT): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Trigonometric function
## Gets a sine
##
## @param[in] _fOp Input radian angle value
##
## @return Sine of the given angle
## ```
proc orxMath_Cos*(fOp: orxFLOAT): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets a cosine
##
## @param[in] _fOp Input radian angle value
##
## @return Cosine of the given angle
## ```
proc orxMath_Tan*(fOp: orxFLOAT): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets a tangent
##
## @param[in] _fOp Input radian angle value
##
## @return Tangent of the given angle
## ```
proc orxMath_ACos*(fOp: orxFLOAT): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets an arccosine
##
## @param[in] _fOp Input radian angle value
##
## @return Arccosine of the given angle
## ```
proc orxMath_ASin*(fOp: orxFLOAT): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets an arcsine
##
## @param[in] _fOp Input radian angle value
##
## @return Arcsine of the given angle
## ```
proc orxMath_ATan*(fOp1: orxFLOAT; fOp2: orxFLOAT): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets an arctangent
##
## @param[in] _fOp1 First operand
##
## @param[in] _fOp2 Second operand
##
## @return Arctangent of the given angle
## ```
proc orxMath_Sqrt*(fOp: orxFLOAT): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Misc functions
## Gets a square root
##
## @param[in] _fOp Input value
##
## @return Square root of the given value
## ```
proc orxMath_Floor*(fOp: orxFLOAT): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets a floored value
##
## @param[in] _fOp Input value
##
## @return Floored value
## ```
proc orxMath_Ceil*(fOp: orxFLOAT): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets a ceiled value
##
## @param[in] _fOp Input value
##
## @return Ceiled value
## ```
proc orxMath_Round*(fOp: orxFLOAT): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets a rounded value
##
## @param[in] _fOp Input value
##
## @return Rounded value
## ```
proc orxMath_Mod*(fOp1: orxFLOAT; fOp2: orxFLOAT): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets a modulo value
##
## @param[in] _fOp1 Input value
##
## @param[in] _fOp2 Modulo value
##
## @return Modulo value
## ```
proc orxMath_Pow*(fOp: orxFLOAT; fExp: orxFLOAT): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets a powed value
##
## @param[in] _fOp Input value
##
## @param[in] _fExp Exponent value
##
## @return Powed value
## ```
proc orxMath_Abs*(fOp: orxFLOAT): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets an absolute value
##
## @param[in] _fOp Input value
##
## @return Absolute value
## ```
proc orxVector_GetSquareSize*(pvOp: ptr orxVECTOR): orxFLOAT {.importc, cdecl,
imporxHdr.}
## ```
## Gets vector squared size
##
## @param[in] _pvOp Input vector
##
## @return Vector's squared size
## ```
proc orxVector_GetSize*(pvOp: ptr orxVECTOR): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets vector size
##
## @param[in] _pvOp Input vector
##
## @return Vector's size
## ```
proc orxVector_GetSquareDistance*(pvOp1: ptr orxVECTOR; pvOp2: ptr orxVECTOR): orxFLOAT {.
importc, cdecl, imporxHdr.}
## ```
## Gets squared distance between 2 positions
##
## @param[in] _pvOp1 First position
##
## @param[in] _pvOp2 Second position
##
## @return Squared distance
## ```
proc orxVector_GetDistance*(pvOp1: ptr orxVECTOR; pvOp2: ptr orxVECTOR): orxFLOAT {.
importc, cdecl, imporxHdr.}
## ```
## Gets distance between 2 positions
##
## @param[in] _pvOp1 First position
##
## @param[in] _pvOp2 Second position
##
## @return Distance
## ```
proc orxVector_IsNull*(pvOp: ptr orxVECTOR): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is vector null?
##
## @param[in] _pvOp Vector to test
##
## @return orxTRUE if vector's null, orxFALSE otherwise
## ```
proc orxVector_AreEqual*(pvOp1: ptr orxVECTOR; pvOp2: ptr orxVECTOR): orxBOOL {.importc,
cdecl, imporxHdr.}
## ```
## Are vectors equal?
##
## @param[in] _pvOp1 First vector to compare
##
## @param[in] _pvOp2 Second vector to compare
##
## @return orxTRUE if both vectors are equal, orxFALSE otherwise
## ```
proc orxVector_Dot*(pvOp1: ptr orxVECTOR; pvOp2: ptr orxVECTOR): orxFLOAT {.importc,
cdecl, imporxHdr.}
## ```
## Gets dot product of two vectors
##
## @param[in] _pvOp1 First operand
##
## @param[in] _pvOp2 Second operand
##
## @return Dot product
## ```
proc orxVector_2DDot*(pvOp1: ptr orxVECTOR; pvOp2: ptr orxVECTOR): orxFLOAT {.importc,
cdecl, imporxHdr.}
## ```
## Gets 2D dot product of two vectors
##
## @param[in] _pvOp1 First operand
##
## @param[in] _pvOp2 Second operand
##
## @return 2D dot product
## ```
proc orxVector_Bezier*(pvRes: ptr orxVECTOR; pvPoint1: ptr orxVECTOR;
pvPoint2: ptr orxVECTOR; pvPoint3: ptr orxVECTOR;
pvPoint4: ptr orxVECTOR; fT: orxFLOAT): ptr orxVECTOR {.importc,
cdecl, imporxHdr.}
## ```
## ** Vector functions**
## Computes an interpolated point on a cubic Bezier curve segment for a given parameter
##
## @param[out] _pvRes Vector where to store result
##
## @param[in] _pvPoint1 First point for this curve segment
##
## @param[in] _pvPoint2 First control point for this curve segment
##
## @param[in] _pvPoint3 Second control point for this curve segment
##
## @param[in] _pvPoint4 Last point for this curve segment
##
## @param[in] _fT Interpolation parameter in [0.0, 1.0]
##
## @return Interpolated point on the cubic Bezier curve segment
## ```
proc orxVector_CatmullRom*(pvRes: ptr orxVECTOR; pvPoint1: ptr orxVECTOR;
pvPoint2: ptr orxVECTOR; pvPoint3: ptr orxVECTOR;
pvPoint4: ptr orxVECTOR; fT: orxFLOAT): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Computes an interpolated point on a Catmull-Rom curve segment for a given parameter
##
## @param[out] _pvRes Vector where to store result
##
## @param[in] _pvPoint1 First control point for this curve segment
##
## @param[in] _pvPoint2 Second control point for this curve segment
##
## @param[in] _pvPoint3 Third control point for this curve segment
##
## @param[in] _pvPoint4 Fourth control point for this curve segment
##
## @param[in] _fT Interpolation parameter in [0.0, 1.0]
##
## @return Interpolated point on the Catmull-Rom curve segment
## ```
proc orxSystem_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## System module setup
## ```
proc orxSystem_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the system module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSystem_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the system module
## ```
proc orxSystem_GetTime*(): orxDOUBLE {.importc, cdecl, imporxHdr.}
## ```
## Gets current time (elapsed from the beginning of the application, in seconds)
##
## @return Current time
## ```
proc orxSystem_GetRealTime*(): orxU64 {.importc, cdecl, imporxHdr.}
## ```
## Gets real time (in seconds)
##
## @return Returns the amount of seconds elapsed since reference time (epoch)
## ```
proc orxSystem_GetSystemTime*(): orxDOUBLE {.importc, cdecl, imporxHdr.}
## ```
## Gets current internal system time (in seconds)
##
## @return Current internal system time
## ```
proc orxSystem_Delay*(fSeconds: orxFLOAT) {.importc, cdecl, imporxHdr.}
## ```
## Delay the program for given number of seconds
##
## @param[in] _fSeconds Number of seconds to wait
## ```
proc orxSystem_GetVersion*(pstVersion: ptr orxVERSION): ptr orxVERSION {.importc,
cdecl, imporxHdr.}
## ```
## Gets orx version (compiled)
##
## @param[out] _pstVersion Structure to fill with current version
##
## @return Compiled version
## ```
proc orxSystem_GetVersionString*(): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets orx version literal (compiled), excluding build number
##
## @return Compiled version literal
## ```
proc orxSystem_GetVersionFullString*(): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets orx version literal (compiled), including build number
##
## @return Compiled version literal
## ```
proc orxSystem_GetVersionNumeric*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets orx version absolute numeric value (compiled)
##
## @return Absolute numeric value of compiled version
## ```
proc orxSystem_GetClipboard*(): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets clipboard's content
##
## @return Clipboard's content / orxNULL, valid until next call to orxSystem_GetClipboard/orxSystem_SetClipboard
## ```
proc orxSystem_SetClipboard*(zValue: ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Sets clipboard's content
##
## @param[in] _zValue Value to set in the clipboard, orxNULL to clear
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxString_GetLength*(zString: ptr orxCHAR): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Returns the number of orxCHAR in the string (for non-ASCII UTF-8 string, it won't be the actual number of unicode characters)
##
## @param[in] _zString String used for length computation
##
## @return Length of the string (doesn't count final orxCHAR_NULL)
## ```
proc orxString_IsCharacterASCII*(u32CharacterCodePoint: orxU32): orxBOOL {.importc,
cdecl, imporxHdr.}
## ```
## Tells if a character is ASCII from its ID
##
## @param[in] _u32CharacterCodePoint Concerned character code
##
## @return orxTRUE is it's a non-extended ASCII character, orxFALSE otherwise
## ```
proc orxString_IsCharacterAlphaNumeric*(u32CharacterCodePoint: orxU32): orxBOOL {.
importc, cdecl, imporxHdr.}
## ```
## Tells if a character is alpha-numeric from its ID
##
## @param[in] _u32CharacterCodePoint Concerned character code
##
## @return orxTRUE is it's a non-extended ASCII alpha-numerical character, orxFALSE otherwise
## ```
proc orxString_GetUTF8CharacterLength*(u32CharacterCodePoint: orxU32): orxU32 {.
importc, cdecl, imporxHdr.}
## ```
## Gets the UTF-8 encoding length of given character
##
## @param[in] _u32CharacterCodePoint Concerned character code
##
## @return Encoding length in UTF-8 for given character if valid, orxU32_UNDEFINED otherwise
## ```
proc orxString_PrintUTF8Character*(zDstString: ptr orxCHAR; u32Size: orxU32;
u32CharacterCodePoint: orxU32): orxU32 {.importc,
cdecl, imporxHdr.}
## ```
## Prints a unicode character encoded with UTF-8 to an orxSTRING
##
## @param[in] _zDstString Destination string
##
## @param[in] _u32Size Available size on the string
##
## @param[in] _u32CharacterCodePoint Unicode code point of the character to print
##
## @return Length of the encoded UTF-8 character (1, 2, 3 or 4) if valid, orxU32_UNDEFINED otherwise
## ```
proc orxString_GetFirstCharacterCodePoint*(zString: ptr orxCHAR;
pzRemaining: ptr ptr orxCHAR): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Returns the code of the first character of the UTF-8 string
##
## @param[in] _zString Concerned string
##
## @param[out] _pzRemaining If non null, will contain the remaining string after the first UTF-8 character
##
## @return Code of the first UTF-8 character of the string, orxU32_UNDEFINED if it's an invalid character
## ```
proc orxString_Delete*(zString: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Deletes a string
##
## @param[in] _zString String to delete
## ```
proc orxString_Compare*(zString1: ptr orxCHAR; zString2: ptr orxCHAR): orxS32 {.importc,
cdecl, imporxHdr.}
## ```
## Compare two strings, case sensitive. If the first one is smaller than the second it returns -1,
##
## 1 if the second one is bigger than the first, and 0 if they are equals
##
## @param[in] _zString1 First String to compare
##
## @param[in] _zString2 Second string to compare
##
## @return -1, 0 or 1 as indicated in the description.
## ```
proc orxString_NCompare*(zString1: ptr orxCHAR; zString2: ptr orxCHAR;
u32CharNumber: orxU32): orxS32 {.importc, cdecl, imporxHdr.}
## ```
## Compare N first character from two strings, case sensitive. If the first one is smaller
##
## than the second it returns -1, 1 if the second one is bigger than the first
##
## and 0 if they are equals.
##
## @param[in] _zString1 First String to compare
##
## @param[in] _zString2 Second string to compare
##
## @param[in] _u32CharNumber Number of character to compare
##
## @return -1, 0 or 1 as indicated in the description.
## ```
proc orxString_ICompare*(zString1: ptr orxCHAR; zString2: ptr orxCHAR): orxS32 {.
importc, cdecl, imporxHdr.}
## ```
## Compare two strings, case insensitive. If the first one is smaller than the second, it returns -1,
##
## If the second one is bigger than the first, and 0 if they are equals
##
## @param[in] _zString1 First String to compare
##
## @param[in] _zString2 Second string to compare
##
## @return -1, 0 or 1 as indicated in the description.
## ```
proc orxString_NICompare*(zString1: ptr orxCHAR; zString2: ptr orxCHAR;
u32CharNumber: orxU32): orxS32 {.importc, cdecl, imporxHdr.}
## ```
## Compare N first character from two strings, case insensitive. If the first one is smaller
##
## than the second, it returns -1, If the second one is bigger than the first,
##
## and 0 if they are equals.
##
## @param[in] _zString1 First String to compare
##
## @param[in] _zString2 Second string to compare
##
## @param[in] _u32CharNumber Number of character to compare
##
## @return -1, 0 or 1 as indicated in the description.
## ```
proc orxString_ExtractBase*(zString: ptr orxCHAR; pzRemaining: ptr ptr orxCHAR): orxU32 {.
importc, cdecl, imporxHdr.}
## ```
## Extracts the base (2, 8, 10 or 16) from a literal number
##
## @param[in] _zString String from which to extract the base
##
## @param[out] _pzRemaining If non null, will contain the remaining literal number, right after the base prefix (0x, 0b or 0)
##
## @return Base or the numerical value, defaults to 10 (decimal) when no prefix is found or the literal value couldn't be identified
## ```
proc orxString_ToS32Base*(zString: ptr orxCHAR; u32Base: orxU32;
ps32OutValue: ptr orxS32; pzRemaining: ptr ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Converts a String to a signed int value using the given base
##
## @param[in] _zString String To convert
##
## @param[in] _u32Base Base of the read value (generally 10, but can be 16 to read hexa)
##
## @param[out] _ps32OutValue Converted value
##
## @param[out] _pzRemaining If non null, will contain the remaining string after the number conversion
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxString_ToS32*(zString: ptr orxCHAR; ps32OutValue: ptr orxS32;
pzRemaining: ptr ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Converts a String to a signed int value, guessing the base
##
## @param[in] _zString String To convert
##
## @param[out] _ps32OutValue Converted value
##
## @param[out] _pzRemaining If non null, will contain the remaining string after the number conversion
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxString_ToU32Base*(zString: ptr orxCHAR; u32Base: orxU32;
pu32OutValue: ptr orxU32; pzRemaining: ptr ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Converts a String to an unsigned int value using the given base
##
## @param[in] _zString String To convert
##
## @param[in] _u32Base Base of the read value (generally 10, but can be 16 to read hexa)
##
## @param[out] _pu32OutValue Converted value
##
## @param[out] _pzRemaining If non null, will contain the remaining string after the number conversion
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxString_ToU32*(zString: ptr orxCHAR; pu32OutValue: ptr orxU32;
pzRemaining: ptr ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Converts a String to an unsigned int value, guessing the base
##
## @param[in] _zString String To convert
##
## @param[out] _pu32OutValue Converted value
##
## @param[out] _pzRemaining If non null, will contain the remaining string after the number conversion
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxString_ToS64Base*(zString: ptr orxCHAR; u32Base: orxU32;
ps64OutValue: ptr orxS64; pzRemaining: ptr ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Converts a String to a signed int value using the given base
##
## @param[in] _zString String To convert
##
## @param[in] _u32Base Base of the read value (generally 10, but can be 16 to read hexa)
##
## @param[out] _ps64OutValue Converted value
##
## @param[out] _pzRemaining If non null, will contain the remaining string after the number conversion
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxString_ToS64*(zString: ptr orxCHAR; ps64OutValue: ptr orxS64;
pzRemaining: ptr ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Converts a String to a signed int value, guessing the base
##
## @param[in] _zString String To convert
##
## @param[out] _ps64OutValue Converted value
##
## @param[out] _pzRemaining If non null, will contain the remaining string after the number conversion
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxString_ToU64Base*(zString: ptr orxCHAR; u32Base: orxU32;
pu64OutValue: ptr orxU64; pzRemaining: ptr ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Converts a String to an unsigned int value using the given base
##
## @param[in] _zString String To convert
##
## @param[in] _u32Base Base of the read value (generally 10, but can be 16 to read hexa)
##
## @param[out] _pu64OutValue Converted value
##
## @param[out] _pzRemaining If non null, will contain the remaining string after the number conversion
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxString_ToU64*(zString: ptr orxCHAR; pu64OutValue: ptr orxU64;
pzRemaining: ptr ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Converts a String to an unsigned int value, guessing the base
##
## @param[in] _zString String To convert
##
## @param[out] _pu64OutValue Converted value
##
## @param[out] _pzRemaining If non null, will contain the remaining string after the number conversion
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxString_ToFloat*(zString: ptr orxCHAR; pfOutValue: ptr orxFLOAT;
pzRemaining: ptr ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Convert a string to a value
##
## @param[in] _zString String To convert
##
## @param[out] _pfOutValue Converted value
##
## @param[out] _pzRemaining If non null, will contain the remaining string after the number conversion
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxString_ToVector*(zString: ptr orxCHAR; pvOutValue: ptr orxVECTOR;
pzRemaining: ptr ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Convert a string to a vector
##
## @param[in] _zString String To convert
##
## @param[out] _pvOutValue Converted value. N.B.: if only two components (x, y) are defined, the z component will be set to zero
##
## @param[out] _pzRemaining If non null, will contain the remaining string after the number conversion
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxString_ToBool*(zString: ptr orxCHAR; pbOutValue: ptr orxBOOL;
pzRemaining: ptr ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Convert a string to a boolean
##
## @param[in] _zString String To convert
##
## @param[out] _pbOutValue Converted value
##
## @param[out] _pzRemaining If non null, will contain the remaining string after the boolean conversion
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxString_ContinueCRC*(zString: ptr orxCHAR; stCRC: orxSTRINGID): orxSTRINGID {.
importc, cdecl, imporxHdr.}
## ```
## Continues a CRC with a string one
##
## @param[in] _zString String used to continue the given CRC
##
## @param[in] _stCRC Base CRC
##
## @return The resulting CRC (orxSTRINGID)
## ```
proc orxString_NToCRC*(zString: ptr orxCHAR; u32CharNumber: orxU32): orxSTRINGID {.
importc, cdecl, imporxHdr.}
## ```
## Converts a string to a CRC
##
## @param[in] _zString String To convert
##
## @param[in] _u32CharNumber Number of character to process, should be <= orxString_GetLength(_zString)
##
## @return The resulting CRC (orxSTRINGID)
## ```
proc orxString_ToCRC*(zString: ptr orxCHAR): orxSTRINGID {.importc, cdecl, imporxHdr.}
## ```
## Converts a string to a CRC
##
## @param[in] _zString String To convert
##
## @return The resulting CRC (orxSTRINGID)
## ```
proc orxString_Print*(zDstString: ptr orxCHAR; zSrcString: ptr orxCHAR): orxS32 {.
importc, cdecl, imporxHdr, varargs.}
## ```
## Prints a formated string to a memory buffer
##
## @param[out] _zDstString Destination string
##
## @param[in] _zSrcString Source formated string
##
## @return The number of written characters
## ```
proc orxString_NPrint*(zDstString: ptr orxCHAR; u32CharNumber: orxU32;
zSrcString: ptr orxCHAR): orxS32 {.importc, cdecl, imporxHdr,
varargs.}
## ```
## Prints a formated string to a memory buffer using a max size
##
## @param[out] _zDstString Destination string
##
## @param[in] _zSrcString Source formated string
##
## @param[in] _u32CharNumber Max number of character to print
##
## @return The number of written characters
## ```
proc orxString_Scan*(zString: ptr orxCHAR; zFormat: ptr orxCHAR): orxS32 {.importc,
cdecl, imporxHdr, varargs.}
## ```
## Scans a formated string from a memory buffer
##
## @param[in] _zString String to scan
##
## @param[in] _zFormat Format string
##
## @return The number of scanned items
## ```
proc orxString_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## ** String module functions**
## Structure module setup
## ```
proc orxString_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Initializess the structure module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxString_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the structure module
## ```
proc orxString_GetID*(zString: ptr orxCHAR): orxSTRINGID {.importc, cdecl, imporxHdr.}
## ```
## Gets a string's ID (and stores the string internally to prevent duplication)
##
## @param[in] _zString Concerned string
##
## @return String's ID
## ```
proc orxString_GetFromID*(u32ID: orxSTRINGID): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets a string from an ID (it should have already been stored internally with a call to orxString_GetID)
##
## @param[in] _u32ID Concerned string ID
##
## @return orxSTRING if ID's found, orxSTRING_EMPTY otherwise
## ```
proc orxString_Store*(zString: ptr orxCHAR): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Stores a string internally: equivalent to an optimized call to orxString_GetFromID(orxString_GetID(_zString))
##
## @param[in] _zString Concerned string
##
## @return Stored orxSTRING
## ```
proc orxClock_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Clock module setup
## ```
proc orxClock_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the clock module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the clock module
## ```
proc orxClock_Update*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Updates the clock system
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_Create*(fTickSize: orxFLOAT; eType: orxCLOCK_TYPE): ptr orxCLOCK {.
importc, cdecl, imporxHdr.}
## ```
## Creates a clock
##
## @param[in] _fTickSize Tick size for the clock (in seconds)
##
## @param[in] _eType Type of the clock
##
## @return orxCLOCK / orxNULL
## ```
proc orxClock_CreateFromConfig*(zConfigID: ptr orxCHAR): ptr orxCLOCK {.importc, cdecl,
imporxHdr.}
## ```
## Creates a clock from config
##
## @param[in] _zConfigID Config ID
##
## @ return orxCLOCK / orxNULL
## ```
proc orxClock_Delete*(pstClock: ptr orxCLOCK): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Deletes a clock
##
## @param[in] _pstClock Concerned clock
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_Resync*(pstClock: ptr orxCLOCK): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Resyncs a clock (accumulated DT => 0)
##
## @param[in] _pstClock Concerned clock
## ```
proc orxClock_ResyncAll*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Resyncs all clocks (accumulated DT => 0)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_Restart*(pstClock: ptr orxCLOCK): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Restarts a clock
##
## @param[in] _pstClock Concerned clock
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_Pause*(pstClock: ptr orxCLOCK): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Pauses a clock
##
## @param[in] _pstClock Concerned clock
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_Unpause*(pstClock: ptr orxCLOCK): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Unpauses a clock
##
## @param[in] _pstClock Concerned clock
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_IsPaused*(pstClock: ptr orxCLOCK): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is a clock paused?
##
## @param[in] _pstClock Concerned clock
##
## @return orxTRUE if paused, orxFALSE otherwise
## ```
proc orxClock_GetInfo*(pstClock: ptr orxCLOCK): ptr orxCLOCK_INFO {.importc, cdecl,
imporxHdr.}
## ```
## Gets clock info
##
## @param[in] _pstClock Concerned clock
##
## @return orxCLOCK_INFO / orxNULL
## ```
proc orxClock_GetFromInfo*(pstClockInfo: ptr orxCLOCK_INFO): ptr orxCLOCK {.importc,
cdecl, imporxHdr.}
## ```
## Gets clock from its info
##
## @param[in] _pstClockInfo Concerned clock info
##
## @return orxCLOCK / orxNULL
## ```
proc orxClock_SetModifier*(pstClock: ptr orxCLOCK; eModType: orxCLOCK_MOD_TYPE;
fModValue: orxFLOAT): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Sets a clock modifier
##
## @param[in] _pstClock Concerned clock
##
## @param[in] _eModType Modifier type
##
## @param[in] _fModValue Modifier value
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_SetTickSize*(pstClock: ptr orxCLOCK; fTickSize: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets a clock tick size
##
## @param[in] _pstClock Concerned clock
##
## @param[in] _fTickSize Tick size
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_Register*(pstClock: ptr orxCLOCK; pfnCallback: orxCLOCK_FUNCTION;
pContext: pointer; eModuleID: orxMODULE_ID;
ePriority: orxCLOCK_PRIORITY): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Registers a callback function to a clock
##
## @param[in] _pstClock Concerned clock
##
## @param[in] _pfnCallback Callback to register
##
## @param[in] _pContext Context that will be transmitted to the callback when called
##
## @param[in] _eModuleID ID of the module related to this callback
##
## @param[in] _ePriority Priority for the function
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_Unregister*(pstClock: ptr orxCLOCK; pfnCallback: orxCLOCK_FUNCTION): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Unregisters a callback function from a clock
##
## @param[in] _pstClock Concerned clock
##
## @param[in] _pfnCallback Callback to remove
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_GetContext*(pstClock: ptr orxCLOCK; pfnCallback: orxCLOCK_FUNCTION): pointer {.
importc, cdecl, imporxHdr.}
## ```
## Gets a callback function context
##
## @param[in] _pstClock Concerned clock
##
## @param[in] _pfnCallback Concerned callback
##
## @return Registered context
## ```
proc orxClock_SetContext*(pstClock: ptr orxCLOCK; pfnCallback: orxCLOCK_FUNCTION;
pContext: pointer): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Sets a callback function context
##
## @param[in] _pstClock Concerned clock
##
## @param[in] _pfnCallback Concerned callback
##
## @param[in] _pContext Context that will be transmitted to the callback when called
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_FindFirst*(fTickSize: orxFLOAT; eType: orxCLOCK_TYPE): ptr orxCLOCK {.
importc, cdecl, imporxHdr.}
## ```
## Finds a clock given its tick size and its type
##
## @param[in] _fTickSize Tick size of the desired clock (in seconds)
##
## @param[in] _eType Type of the desired clock
##
## @return orxCLOCK / orxNULL
## ```
proc orxClock_FindNext*(pstClock: ptr orxCLOCK): ptr orxCLOCK {.importc, cdecl,
imporxHdr.}
## ```
## Finds next clock of same type/tick size
##
## @param[in] _pstClock Concerned clock
##
## @return orxCLOCK / orxNULL
## ```
proc orxClock_GetNext*(pstClock: ptr orxCLOCK): ptr orxCLOCK {.importc, cdecl, imporxHdr.}
## ```
## Gets next existing clock in list (can be used to parse all existing clocks)
##
## @param[in] _pstClock Concerned clock
##
## @return orxCLOCK / orxNULL
## ```
proc orxClock_Get*(zName: ptr orxCHAR): ptr orxCLOCK {.importc, cdecl, imporxHdr.}
## ```
## Gets clock given its name
##
## @param[in] _zName Clock name
##
## @return orxCLOCK / orxNULL
## ```
proc orxClock_GetName*(pstClock: ptr orxCLOCK): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets clock config name
##
## @param[in] _pstClock Concerned clock
##
## @return orxSTRING / orxSTRING_EMPTY
## ```
proc orxClock_AddTimer*(pstClock: ptr orxCLOCK; pfnCallback: orxCLOCK_FUNCTION;
fDelay: orxFLOAT; s32Repetition: orxS32; pContext: pointer): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Adds a timer function to a clock
##
## @param[in] _pstClock Concerned clock
##
## @param[in] _pfnCallback Concerned timer callback
##
## @param[in] _fDelay Timer's delay between 2 calls, must be strictly positive
##
## @param[in] _s32Repetition Number of times this timer should be called before removed, -1 for infinite
##
## @param[in] _pContext Context that will be transmitted to the callback when called
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_RemoveTimer*(pstClock: ptr orxCLOCK; pfnCallback: orxCLOCK_FUNCTION;
fDelay: orxFLOAT; pContext: pointer): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Removes a timer function from a clock
##
## @param[in] _pstClock Concerned clock
##
## @param[in] _pfnCallback Concerned timer callback to remove, orxNULL to remove all occurrences regardless of their callback
##
## @param[in] _fDelay Delay between 2 calls of the timer to remove, -1.0f to remove all occurrences regardless of their respective delay
##
## @param[in] _pContext Context of the timer to remove, orxNULL to remove all occurrences regardless of their context
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_AddGlobalTimer*(pfnCallback: orxCLOCK_FUNCTION; fDelay: orxFLOAT;
s32Repetition: orxS32; pContext: pointer): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Adds a global timer function (ie. using the main core clock)
##
## @param[in] _pfnCallback Concerned timer callback
##
## @param[in] _fDelay Timer's delay between 2 calls, must be strictly positive
##
## @param[in] _s32Repetition Number of times this timer should be called before removed, -1 for infinite
##
## @param[in] _pContext Context that will be transmitted to the callback when called
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxClock_RemoveGlobalTimer*(pfnCallback: orxCLOCK_FUNCTION; fDelay: orxFLOAT;
pContext: pointer): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Removes a global timer function (ie. from the main core clock)
##
## @param[in] _pfnCallback Concerned timer callback to remove, orxNULL to remove all occurrences regardless of their callback
##
## @param[in] _fDelay Delay between 2 calls of the timer to remove, -1.0f to remove all occurrences regardless of their respective delay
##
## @param[in] _pContext Context of the timer to remove, orxNULL to remove all occurrences regardless of their context
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxLinkList_Clean*(pstList: ptr orxLINKLIST): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Cleans a linklist
##
## @param[in] _pstList Concerned list
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxLinkList_AddStart*(pstList: ptr orxLINKLIST; pstNode: ptr orxLINKLIST_NODE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Adds a node at the start of a list
##
## @param[in] _pstList Concerned list
##
## @param[in] _pstNode Node to add
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxLinkList_AddEnd*(pstList: ptr orxLINKLIST; pstNode: ptr orxLINKLIST_NODE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Adds a node at the end of a list
##
## @param[in] _pstList Concerned list
##
## @param[in] _pstNode Node to add
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxLinkList_AddBefore*(pstRefNode: ptr orxLINKLIST_NODE;
pstNode: ptr orxLINKLIST_NODE): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Adds a node before another one
##
## @param[in] _pstRefNode Reference node (add before this one)
##
## @param[in] _pstNode Node to add
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxLinkList_AddAfter*(pstRefNode: ptr orxLINKLIST_NODE;
pstNode: ptr orxLINKLIST_NODE): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Adds a node after another one
##
## @param[in] _pstRefNode Reference node (add after this one)
##
## @param[in] _pstNode Node to add
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxLinkList_Remove*(pstNode: ptr orxLINKLIST_NODE): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Removes a node from its list
##
## @param[in] _pstNode Concerned node
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxLinkList_GetCount*(pstList: ptr orxLINKLIST): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets a list count
##
## @param[in] _pstList Concerned list
##
## @return Number of nodes in list
## ```
proc orxTree_Clean*(pstTree: ptr orxTREE): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Cleans a tree
##
## @param[in] _pstTree Concerned tree
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxTree_AddRoot*(pstTree: ptr orxTREE; pstNode: ptr orxTREE_NODE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Adds a node at the root of a tree
##
## @param[in] _pstTree Concerned tree
##
## @param[in] _pstNode Node to add
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxTree_AddParent*(pstRefNode: ptr orxTREE_NODE; pstNode: ptr orxTREE_NODE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Adds a node as a parent of another one
##
## @param[in] _pstRefNode Reference node (add as a parent of this one)
##
## @param[in] _pstNode Node to add
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxTree_AddSibling*(pstRefNode: ptr orxTREE_NODE; pstNode: ptr orxTREE_NODE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Adds a node as a sibling of another one
##
## @param[in] _pstRefNode Reference node (add as a sibling of this one)
##
## @param[in] _pstNode Node to add
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxTree_AddChild*(pstRefNode: ptr orxTREE_NODE; pstNode: ptr orxTREE_NODE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Adds a node as a child of another one
##
## @param[in] _pstRefNode Reference node (add as a child of this one)
##
## @param[in] _pstNode Node to add
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxTree_MoveAsChild*(pstRefNode: ptr orxTREE_NODE; pstNode: ptr orxTREE_NODE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Moves a node as a child of another one of the same tree
##
## @param[in] _pstRefNode Reference node (move as a child of this one)
##
## @param[in] _pstNode Node to move
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxTree_Remove*(pstNode: ptr orxTREE_NODE): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Removes a node from its tree
##
## @param[in] _pstNode Concerned node
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxTree_GetCount*(pstTree: ptr orxTREE): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets a tree count
##
## @param[in] _pstTree Concerned tree
##
## @return Number of nodes in tree
## ```
proc orxStructure_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Structure module setup
## ```
proc orxStructure_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Initializess the structure module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxStructure_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the structure module
## ```
proc orxStructure_Register*(eStructureID: orxSTRUCTURE_ID;
eStorageType: orxSTRUCTURE_STORAGE_TYPE;
eMemoryType: orxMEMORY_TYPE; u32Size: orxU32;
u32BankSize: orxU32;
pfnUpdate: orxSTRUCTURE_UPDATE_FUNCTION): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Registers a given ID
##
## @param[in] _eStructureID Concerned structure ID
##
## @param[in] _eStorageType Storage type to use for this structure type
##
## @param[in] _eMemoryType Memory type to store this structure type
##
## @param[in] _u32Size Structure size
##
## @param[in] _u32BankSize Bank (segment) size
##
## @param[in] _pfnUpdate Structure update function
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxStructure_Unregister*(eStructureID: orxSTRUCTURE_ID): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Unregisters a given ID
##
## @param[in] _eStructureID Concerned structure ID
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxStructure_Create*(eStructureID: orxSTRUCTURE_ID): ptr orxSTRUCTURE {.importc,
cdecl, imporxHdr.}
## ```
## Creates a clean structure for given type
##
## @param[in] _eStructureID Concerned structure ID
##
## @return orxSTRUCTURE / orxNULL
## ```
proc orxStructure_Delete*(pStructure: pointer): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Deletes a structure (needs to be cleaned beforehand)
##
## @param[in] _pStructure Concerned structure
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxStructure_GetStorageType*(eStructureID: orxSTRUCTURE_ID): orxSTRUCTURE_STORAGE_TYPE {.
importc, cdecl, imporxHdr.}
## ```
## Gets structure storage type
##
## @param[in] _eStructureID Concerned structure ID
##
## @return orxSTRUCTURE_STORAGE_TYPE
## ```
proc orxStructure_GetCount*(eStructureID: orxSTRUCTURE_ID): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets given type structure count
##
## @param[in] _eStructureID Concerned structure ID
##
## @return orxU32 / orxU32_UNDEFINED
## ```
proc orxStructure_Update*(pStructure: pointer; phCaller: pointer;
pstClockInfo: ptr orxCLOCK_INFO): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Updates structure if update function was registered for the structure type
##
## @param[in] _pStructure Concerned structure
##
## @param[in] _phCaller Caller structure
##
## @param[in] _pstClockInfo Update associated clock info
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxStructure_Get*(u64GUID: orxU64): ptr orxSTRUCTURE {.importc, cdecl, imporxHdr.}
## ```
## ** Structure storage accessors**
## Gets structure given its GUID
##
## @param[in] _u64GUID Structure's GUID
##
## @return orxSTRUCTURE / orxNULL if not found/alive
## ```
proc orxStructure_GetOwner*(pStructure: pointer): ptr orxSTRUCTURE {.importc, cdecl,
imporxHdr.}
## ```
## Gets structure's owner
##
## @param[in] _pStructure Concerned structure
##
## @return orxSTRUCTURE / orxNULL if not found/alive
## ```
proc orxStructure_SetOwner*(pStructure: pointer; pOwner: pointer): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets structure owner
##
## @param[in] _pStructure Concerned structure
##
## @param[in] _pOwner Structure to set as owner
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxStructure_GetFirst*(eStructureID: orxSTRUCTURE_ID): ptr orxSTRUCTURE {.
importc, cdecl, imporxHdr.}
## ```
## Gets first stored structure (first list cell or tree root depending on storage type)
##
## @param[in] _eStructureID Concerned structure ID
##
## @return orxSTRUCTURE
## ```
proc orxStructure_GetLast*(eStructureID: orxSTRUCTURE_ID): ptr orxSTRUCTURE {.
importc, cdecl, imporxHdr.}
## ```
## Gets last stored structure (last list cell or tree root depending on storage type)
##
## @param[in] _eStructureID Concerned structure ID
##
## @return orxSTRUCTURE
## ```
proc orxStructure_GetParent*(pStructure: pointer): ptr orxSTRUCTURE {.importc, cdecl,
imporxHdr.}
## ```
## Gets structure tree parent
##
## @param[in] _pStructure Concerned structure
##
## @return orxSTRUCTURE
## ```
proc orxStructure_GetChild*(pStructure: pointer): ptr orxSTRUCTURE {.importc, cdecl,
imporxHdr.}
## ```
## Gets structure tree child
##
## @param[in] _pStructure Concerned structure
##
## @return orxSTRUCTURE
## ```
proc orxStructure_GetSibling*(pStructure: pointer): ptr orxSTRUCTURE {.importc, cdecl,
imporxHdr.}
## ```
## Gets structure tree sibling
##
## @param[in] _pStructure Concerned structure
##
## @return orxSTRUCTURE
## ```
proc orxStructure_GetPrevious*(pStructure: pointer): ptr orxSTRUCTURE {.importc,
cdecl, imporxHdr.}
## ```
## Gets structure list previous
##
## @param[in] _pStructure Concerned structure
##
## @return orxSTRUCTURE
## ```
proc orxStructure_GetNext*(pStructure: pointer): ptr orxSTRUCTURE {.importc, cdecl,
imporxHdr.}
## ```
## Gets structure list next
##
## @param[in] _pStructure Concerned structure
##
## @return orxSTRUCTURE
## ```
proc orxStructure_SetParent*(pStructure: pointer; phParent: pointer): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets structure tree parent
##
## @param[in] _pStructure Concerned structure
##
## @param[in] _phParent Structure to set as parent
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxStructure_LogAll*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Logs all user-generated active structures
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxStructure_IncreaseCount*(pStructure: pointer) {.importc, cdecl, imporxHdr.}
## ```
## ** Inlined structure accessors**
## Increases structure reference count
##
## @param[in] _pStructure Concerned structure
## ```
proc orxStructure_DecreaseCount*(pStructure: pointer) {.importc, cdecl, imporxHdr.}
## ```
## Decreases structure reference count
##
## @param[in] _pStructure Concerned structure
## ```
proc orxStructure_GetRefCount*(pStructure: pointer): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets structure reference count
##
## @param[in] _pStructure Concerned structure
##
## @return orxU32
## ```
proc orxStructure_GetGUID*(pStructure: pointer): orxU64 {.importc, cdecl, imporxHdr.}
## ```
## Gets structure GUID
##
## @param[in] _pStructure Concerned structure
##
## @return orxU64
## ```
proc orxStructure_GetID*(pStructure: pointer): orxSTRUCTURE_ID {.importc, cdecl,
imporxHdr.}
## ```
## Gets structure ID
##
## @param[in] _pStructure Concerned structure
##
## @return orxSTRUCTURE_ID
## ```
proc orxStructure_TestFlags*(pStructure: pointer; u32Flags: orxU32): orxBOOL {.
importc, cdecl, imporxHdr.}
## ```
## Tests flags against structure ones
##
## @param[in] _pStructure Concerned structure
##
## @param[in] _u32Flags Flags to test
##
## @return orxTRUE / orxFALSE
## ```
proc orxStructure_TestAllFlags*(pStructure: pointer; u32Flags: orxU32): orxBOOL {.
importc, cdecl, imporxHdr.}
## ```
## Tests all flags against structure ones
##
## @param[in] _pStructure Concerned structure
##
## @param[in] _u32Flags Flags to test
##
## @return orxTRUE / orxFALSE
## ```
proc orxStructure_GetFlags*(pStructure: pointer; u32Mask: orxU32): orxU32 {.importc,
cdecl, imporxHdr.}
## ```
## Gets structure flags
##
## @param[in] _pStructure Concerned structure
##
## @param[in] _u32Mask Mask to use for getting flags
##
## @return orxU32
## ```
proc orxStructure_SetFlags*(pStructure: pointer; u32AddFlags: orxU32;
u32RemoveFlags: orxU32) {.importc, cdecl, imporxHdr.}
## ```
## Sets structure flags
##
## @param[in] _pStructure Concerned structure
##
## @param[in] _u32AddFlags Flags to add
##
## @param[in] _u32RemoveFlags Flags to remove
## ```
proc orxAnim_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Anim module setup
## ```
proc orxAnim_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the Anim module
## ```
proc orxAnim_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the Anim module
## ```
proc orxAnim_Create*(u32Flags: orxU32; u32KeyNumber: orxU32; u32EventNumber: orxU32): ptr orxANIM {.
importc, cdecl, imporxHdr.}
## ```
## Creates an empty animation
##
## @param[in] _u32Flags Flags for created animation
##
## @param[in] _u32KeyNumber Number of keys for this animation
##
## @param[in] _u32EventNumber Number of events for this animation
##
## @return Created orxANIM / orxNULL
## ```
proc orxAnim_Delete*(pstAnim: ptr orxANIM): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Deletes an animation
##
## @param[in] _pstAnim Anim to delete
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnim_AddKey*(pstAnim: ptr orxANIM; pstData: ptr orxSTRUCTURE;
fTimeStamp: orxFLOAT): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Adds a key to an animation
##
## @param[in] _pstAnim Concerned animation
##
## @param[in] _pstData Key data to add
##
## @param[in] _fTimeStamp Timestamp for this key
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnim_RemoveLastKey*(pstAnim: ptr orxANIM): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Removes last added key from an animation
##
## @param[in] _pstAnim Concerned animation
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnim_RemoveAllKeys*(pstAnim: ptr orxANIM) {.importc, cdecl, imporxHdr.}
## ```
## Removes all keys from an animation
##
## @param[in] _pstAnim Concerned animation
## ```
proc orxAnim_AddEvent*(pstAnim: ptr orxANIM; zEventName: ptr orxCHAR;
fTimeStamp: orxFLOAT; fValue: orxFLOAT): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Adds an event to an animation
##
## @param[in] _pstAnim Concerned animation
##
## @param[in] _zEventName Event name to add
##
## @param[in] _fTimeStamp Timestamp for this event
##
## @param[in] _fValue Value for this event
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnim_RemoveLastEvent*(pstAnim: ptr orxANIM): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Removes last added event from an animation
##
## @param[in] _pstAnim Concerned animation
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnim_RemoveAllEvents*(pstAnim: ptr orxANIM) {.importc, cdecl, imporxHdr.}
## ```
## Removes all events from an animation
##
## @param[in] _pstAnim Concerned animation
## ```
proc orxAnim_GetNextEvent*(pstAnim: ptr orxANIM; fTimeStamp: orxFLOAT): ptr orxANIM_CUSTOM_EVENT {.
importc, cdecl, imporxHdr.}
## ```
## Gets next event after given timestamp
##
## @param[in] _pstAnim Concerned animation
##
## @param[in] _fTimeStamp Time stamp, excluded
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnim_GetKey*(pstAnim: ptr orxANIM; fTimeStamp: orxFLOAT): orxU32 {.importc,
cdecl, imporxHdr.}
## ```
## Gets animation's key index from a time stamp
##
## @param[in] _pstAnim Concerned animation
##
## @param[in] _fTimeStamp TimeStamp of the desired animation key
##
## @return Animation key index / orxU32_UNDEFINED
## ```
proc orxAnim_GetKeyData*(pstAnim: ptr orxANIM; u32Index: orxU32): ptr orxSTRUCTURE {.
importc, cdecl, imporxHdr.}
## ```
## Anim key data accessor
##
## @param[in] _pstAnim Concerned animation
##
## @param[in] _u32Index Index of desired key data
##
## @return Desired orxSTRUCTURE / orxNULL
## ```
proc orxAnim_GetKeyStorageSize*(pstAnim: ptr orxANIM): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Anim key storage size accessor
##
## @param[in] _pstAnim Concerned animation
##
## @return Anim key storage size
## ```
proc orxAnim_GetKeyCount*(pstAnim: ptr orxANIM): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Anim key count accessor
##
## @param[in] _pstAnim Concerned animation
##
## @return Anim key count
## ```
proc orxAnim_GetEventStorageSize*(pstAnim: ptr orxANIM): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Anim event storage size accessor
##
## @param[in] _pstAnim Concerned animation
##
## @return Anim event storage size
## ```
proc orxAnim_GetEventCount*(pstAnim: ptr orxANIM): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Anim event count accessor
##
## @param[in] _pstAnim Concerned animation
##
## @return Anim event count
## ```
proc orxAnim_GetLength*(pstAnim: ptr orxANIM): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Anim time length accessor
##
## @param[in] _pstAnim Concerned animation
##
## @return Anim time length
## ```
proc orxAnim_GetName*(pstAnim: ptr orxANIM): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Anim name get accessor
##
## @param[in] _pstAnim Concerned animation
##
## @return orxSTRING / orxSTRING_EMPTY
## ```
proc orxAnimSet_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## AnimSet module setup
## ```
proc orxAnimSet_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the AnimSet module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnimSet_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the AnimSet module
## ```
proc orxAnimSet_Create*(u32Size: orxU32): ptr orxANIMSET {.importc, cdecl, imporxHdr.}
## ```
## Creates an empty AnimSet
##
## @param[in] _u32Size Storage size
##
## return Created orxANIMSET / orxNULL
## ```
proc orxAnimSet_CreateFromConfig*(zConfigID: ptr orxCHAR): ptr orxANIMSET {.importc,
cdecl, imporxHdr.}
## ```
## Creates an animation set from config
##
## @param[in] _zConfigID Config ID
##
## @return orxANIMSET / orxNULL
## ```
proc orxAnimSet_Delete*(pstAnimSet: ptr orxANIMSET): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Deletes an AnimSet
##
## @param[in] _pstAnimSet AnimSet to delete
## ```
proc orxAnimSet_ClearCache*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Clears cache (if any animset is still in active use, it'll remain in memory until not referenced anymore)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnimSet_AddReference*(pstAnimSet: ptr orxANIMSET) {.importc, cdecl, imporxHdr.}
## ```
## Adds a reference to an AnimSet
##
## @param[in] _pstAnimSet Concerned AnimSet
## ```
proc orxAnimSet_RemoveReference*(pstAnimSet: ptr orxANIMSET) {.importc, cdecl,
imporxHdr.}
## ```
## Removes a reference from an AnimSet
##
## @param[in] _pstAnimSet Concerned AnimSet
## ```
proc orxAnimSet_CloneLinkTable*(pstAnimSet: ptr orxANIMSET): ptr orxANIMSET_LINK_TABLE {.
importc, cdecl, imporxHdr.}
## ```
## Clones an AnimSet Link Table
##
## @param[in] _pstAnimSet AnimSet to clone
##
## @return An internally allocated clone of the AnimSet
## ```
proc orxAnimSet_DeleteLinkTable*(pstLinkTable: ptr orxANIMSET_LINK_TABLE) {.importc,
cdecl, imporxHdr.}
## ```
## Deletes a Link table
##
## @param[in] _pstLinkTable Link table to delete (should have been created using the clone function)
## ```
proc orxAnimSet_AddAnim*(pstAnimSet: ptr orxANIMSET; pstAnim: ptr orxANIM): orxU32 {.
importc, cdecl, imporxHdr.}
## ```
## Adds an Anim to an AnimSet
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @param[in] _pstAnim Anim to add
##
## @return Anim ID in the specified AnimSet
## ```
proc orxAnimSet_RemoveAnim*(pstAnimSet: ptr orxANIMSET; u32AnimID: orxU32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Removes an Anim from an AnimSet
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @param[in] _u32AnimID ID of the anim to remove
##
## @return orxSTATUS_SUCESS / orxSTATUS_FAILURE
## ```
proc orxAnimSet_RemoveAllAnims*(pstAnimSet: ptr orxANIMSET): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Removes all Anim from the AnimSet
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnimSet_AddLink*(pstAnimSet: ptr orxANIMSET; u32SrcAnim: orxU32;
u32DstAnim: orxU32): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Adds a link between two Anims of the AnimSet
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @param[in] _u32SrcAnim Source Anim of the link
##
## @param[in] _u32DstAnim Destination Anim of the link
##
## @return ID of the created link / orxU32_UNDEFINED
## ```
proc orxAnimSet_RemoveLink*(pstAnimSet: ptr orxANIMSET; u32LinkID: orxU32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Removes a link from the AnimSet
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @param[in] _u32LinkID ID of the link
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnimSet_GetLink*(pstAnimSet: ptr orxANIMSET; u32SrcAnim: orxU32;
u32DstAnim: orxU32): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets a direct link between two Anims, if exists
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @param[in] _u32SrcAnim ID of the source Anim
##
## @param[in] _u32DstAnim ID of the destination Anim
##
## @return ID of the direct link, orxU32_UNDEFINED if none
## ```
proc orxAnimSet_SetLinkProperty*(pstAnimSet: ptr orxANIMSET; u32LinkID: orxU32;
u32Property: orxU32; u32Value: orxU32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets a link property
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @param[in] _u32LinkID ID of the concerned link
##
## @param[in] _u32Property ID of the property to set
##
## @param[in] _u32Value Value of the property to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnimSet_GetLinkProperty*(pstAnimSet: ptr orxANIMSET; u32LinkID: orxU32;
u32Property: orxU32): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets a link property
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @param[in] _u32LinkID ID of the concerned link
##
## @param[in] _u32Property ID of the property to get
##
## @return Property value / orxU32_UNDEFINED
## ```
proc orxAnimSet_ComputeAnim*(pstAnimSet: ptr orxANIMSET; u32SrcAnim: orxU32;
u32DstAnim: orxU32; pfTime: ptr orxFLOAT;
pstLinkTable: ptr orxANIMSET_LINK_TABLE;
pbCut: ptr orxBOOL; pbClearTarget: ptr orxBOOL): orxU32 {.
importc, cdecl, imporxHdr.}
## ```
## Computes active Anim given current and destination Anim IDs & a relative timestamp
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @param[in] _u32SrcAnim Source (current) Anim ID
##
## @param[in] _u32DstAnim Destination Anim ID, if none (auto mode) set it to orxU32_UNDEFINED
##
## @param[in,out] _pfTime Pointer to the current timestamp relative to the source Anim (time elapsed since the beginning of this anim)
##
## @param[in,out] _pstLinkTable Anim Pointer link table (updated if AnimSet link table isn't static, when using loop counts for example)
##
## @param[out] _pbCut Animation has been cut
##
## @param[out] _pbClearTarget Animation has requested a target clearing
##
## @return Current Anim ID. If it's not the source one, _pu32Time will contain the new timestamp, relative to the new Anim
## ```
proc orxAnimSet_FindNextAnim*(pstAnimSet: ptr orxANIMSET; u32SrcAnim: orxU32;
u32DstAnim: orxU32): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Finds next Anim given current and destination Anim IDs
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @param[in] _u32SrcAnim Source (current) Anim ID
##
## @param[in] _u32DstAnim Destination Anim ID, if none (auto mode) set it to orxU32_UNDEFINED
##
## @return Next Anim ID if found, orxU32_UNDEFINED otherwise
## ```
proc orxAnimSet_GetAnim*(pstAnimSet: ptr orxANIMSET; u32AnimID: orxU32): ptr orxANIM {.
importc, cdecl, imporxHdr.}
## ```
## AnimSet Anim get accessor
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @param[in] _u32AnimID Anim ID
##
## @return Anim pointer / orxNULL
## ```
proc orxAnimSet_GetAnimStorageSize*(pstAnimSet: ptr orxANIMSET): orxU32 {.importc,
cdecl, imporxHdr.}
## ```
## AnimSet Anim storage size get accessor
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @return AnimSet Storage size / orxU32_UNDEFINED
## ```
proc orxAnimSet_GetAnimCount*(pstAnimSet: ptr orxANIMSET): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## AnimSet Anim count get accessor
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @return Anim count / orxU32_UNDEFINED
## ```
proc orxAnimSet_GetAnimIDFromName*(pstAnimSet: ptr orxANIMSET;
zAnimName: ptr orxCHAR): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets animation ID from name
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @param[in] _zAnimName Animation name (config's section)
##
## @return Anim ID / orxU32_UNDEFINED
## ```
proc orxAnimSet_GetName*(pstAnimSet: ptr orxANIMSET): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## AnimSet name get accessor
##
## @param[in] _pstAnimSet Concerned AnimSet
##
## @return orxSTRING / orxSTRING_EMPTY
## ```
proc orxAnimPointer_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## AnimPointer module setup
## ```
proc orxAnimPointer_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the AnimPointer module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnimPointer_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the AnimPointer module
## ```
proc orxAnimPointer_Create*(pstAnimSet: ptr orxANIMSET): ptr orxANIMPOINTER {.importc,
cdecl, imporxHdr.}
## ```
## Creates an empty AnimPointer
##
## @param[in] _pstAnimSet AnimSet reference
##
## @return orxANIMPOINTER / orxNULL
## ```
proc orxAnimPointer_CreateFromConfig*(zConfigID: ptr orxCHAR): ptr orxANIMPOINTER {.
importc, cdecl, imporxHdr.}
## ```
## Creates an animation pointer from config
##
## @param[in] _zConfigID Config ID
##
## @return orxANIMPOINTER / orxNULL
## ```
proc orxAnimPointer_Delete*(pstAnimPointer: ptr orxANIMPOINTER): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Deletes an AnimPointer
##
## @param[in] _pstAnimPointer AnimPointer to delete
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnimPointer_GetAnimSet*(pstAnimPointer: ptr orxANIMPOINTER): ptr orxANIMSET {.
importc, cdecl, imporxHdr.}
## ```
## Gets the referenced AnimSet
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @return Referenced orxANIMSET
## ```
proc orxAnimPointer_GetCurrentAnim*(pstAnimPointer: ptr orxANIMPOINTER): orxU32 {.
importc, cdecl, imporxHdr.}
## ```
## AnimPointer current Animation get accessor
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @return Current Animation ID
## ```
proc orxAnimPointer_GetTargetAnim*(pstAnimPointer: ptr orxANIMPOINTER): orxU32 {.
importc, cdecl, imporxHdr.}
## ```
## AnimPointer target Animation get accessor
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @return Target Animation ID
## ```
proc orxAnimPointer_GetCurrentAnimName*(pstAnimPointer: ptr orxANIMPOINTER): ptr orxCHAR {.
importc, cdecl, imporxHdr.}
## ```
## AnimPointer current Animation name get accessor
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @return Current Animation name / orxSTRING_EMPTY
## ```
proc orxAnimPointer_GetTargetAnimName*(pstAnimPointer: ptr orxANIMPOINTER): ptr orxCHAR {.
importc, cdecl, imporxHdr.}
## ```
## AnimPointer target Animation ID get accessor
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @return Target Animation name / orxSTRING_EMPTY
## ```
proc orxAnimPointer_GetCurrentAnimData*(pstAnimPointer: ptr orxANIMPOINTER): ptr orxSTRUCTURE {.
importc, cdecl, imporxHdr.}
## ```
## AnimPointer current anim data get accessor
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @return Current anim data / orxNULL
## ```
proc orxAnimPointer_GetTime*(pstAnimPointer: ptr orxANIMPOINTER): orxFLOAT {.importc,
cdecl, imporxHdr.}
## ```
## AnimPointer time get accessor
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @return Current time
## ```
proc orxAnimPointer_GetFrequency*(pstAnimPointer: ptr orxANIMPOINTER): orxFLOAT {.
importc, cdecl, imporxHdr.}
## ```
## AnimPointer frequency get accessor
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @return AnimPointer frequency
## ```
proc orxAnimPointer_SetCurrentAnim*(pstAnimPointer: ptr orxANIMPOINTER;
u32AnimID: orxU32): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## AnimPointer current Animation set accessor
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @param[in] _u32AnimID Animation ID to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnimPointer_SetTargetAnim*(pstAnimPointer: ptr orxANIMPOINTER;
u32AnimID: orxU32): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## AnimPointer target Animation set accessor
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @param[in] _u32AnimID Animation ID to set / orxU32_UNDEFINED
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnimPointer_SetCurrentAnimFromName*(pstAnimPointer: ptr orxANIMPOINTER;
zAnimName: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## AnimPointer current Animation set accessor using name
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @param[in] _zAnimName Animation name (config's name) to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnimPointer_SetTargetAnimFromName*(pstAnimPointer: ptr orxANIMPOINTER;
zAnimName: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## AnimPointer target Animation set accessor using name
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @param[in] _zAnimName Animation name (config's name) to set / orxNULL
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnimPointer_SetTime*(pstAnimPointer: ptr orxANIMPOINTER; fTime: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## AnimPointer current time set accessor
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @param[in] _fTime Time to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnimPointer_SetFrequency*(pstAnimPointer: ptr orxANIMPOINTER;
fFrequency: orxFLOAT): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## AnimPointer frequency set accessor
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @param[in] _fFrequency Frequency to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAnimPointer_Pause*(pstAnimPointer: ptr orxANIMPOINTER; bPause: orxBOOL): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## AnimPointer pause accessor
##
## @param[in] _pstAnimPointer Concerned AnimPointer
##
## @param[in] _bPause Pause / Unpause
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxCommand_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Command module setup
## ```
proc orxCommand_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the command module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxCommand_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the command module
## ```
proc orxCommand_Register*(zCommand: ptr orxCHAR; pfnFunction: orxCOMMAND_FUNCTION;
u32RequiredParamNumber: orxU32;
u32OptionalParamNumber: orxU32;
astParamList: ptr orxCOMMAND_VAR_DEF;
pstResult: ptr orxCOMMAND_VAR_DEF): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Registers a command
##
## @param[in] _zCommand Command name
##
## @param[in] _pfnFunction Associated function
##
## @param[in] _u32RequiredParamNumber Number of required parameters of the command
##
## @param[in] _u32OptionalParamNumber Number of optional parameters of the command
##
## @param[in] _astParamList List of parameters of the command
##
## @param[in] _pstResult Result
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxCommand_Unregister*(zCommand: ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Unregisters a command
##
## @param[in] _zCommand Command name
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxCommand_IsRegistered*(zCommand: ptr orxCHAR): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Is a command registered?
##
## @param[in] _zCommand Command name
##
## @return orxTRUE / orxFALSE
## ```
proc orxCommand_AddAlias*(zAlias: ptr orxCHAR; zCommand: ptr orxCHAR;
zArgs: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Adds a command alias
##
## @param[in] _zAlias Command alias
##
## @param[in] _zCommand Command name
##
## @param[in] _zArgs Command argument, orxNULL for none
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxCommand_RemoveAlias*(zAlias: ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Removes a command alias
##
## @param[in] _zAlias Command alias
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxCommand_IsAlias*(zAlias: ptr orxCHAR): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is a command alias?
##
## @param[in] _zAlias Command alias
##
## @return orxTRUE / orxFALSE
## ```
proc orxCommand_GetPrototype*(zCommand: ptr orxCHAR): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets a command's (text) prototype (beware: result won't persist from one call to the other)
##
## @param[in] _zCommand Command name
##
## @return Command prototype / orxSTRING_EMPTY
## ```
proc orxCommand_GetNext*(zBase: ptr orxCHAR; zPrevious: ptr orxCHAR;
pu32CommonLength: ptr orxU32): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets next command using an optional base
##
## @param[in] _zBase Base name, can be set to orxNULL for no base
##
## @param[in] _zPrevious Previous command, orxNULL to get the first command
##
## @param[out] _pu32CommonLength Length of the common prefix of all potential results, orxNULL to ignore
##
## @return Next command found, orxNULL if none
## ```
proc orxCommand_Evaluate*(zCommandLine: ptr orxCHAR; pstResult: ptr orxCOMMAND_VAR): ptr orxCOMMAND_VAR {.
importc, cdecl, imporxHdr.}
## ```
## Evaluates a command
##
## @param[in] _zCommandLine Command name + arguments
##
## @param[out] _pstResult Variable that will contain the result
##
## @return Command result if found, orxNULL otherwise
## ```
proc orxCommand_EvaluateWithGUID*(zCommandLine: ptr orxCHAR; u64GUID: orxU64;
pstResult: ptr orxCOMMAND_VAR): ptr orxCOMMAND_VAR {.
importc, cdecl, imporxHdr.}
## ```
## Evaluates a command with a specific GUID
##
## @param[in] _zCommandLine Command name + arguments
##
## @param[in] _u64GUID GUID to use in place of the GUID markers in the command
##
## @param[out] _pstResult Variable that will contain the result
##
## @return Command result if found, orxNULL otherwise
## ```
proc orxCommand_Execute*(zCommand: ptr orxCHAR; u32ArgNumber: orxU32;
astArgList: ptr orxCOMMAND_VAR;
pstResult: ptr orxCOMMAND_VAR): ptr orxCOMMAND_VAR {.importc,
cdecl, imporxHdr.}
## ```
## Executes a command
##
## @param[in] _zCommand Command name
##
## @param[in] _u32ArgNumber Number of arguments sent to the command
##
## @param[in] _astArgList List of arguments sent to the command
##
## @param[out] _pstResult Variable that will contain the result
##
## @return Command result if found, orxNULL otherwise
## ```
proc orxCommand_ParseNumericalArguments*(u32ArgNumber: orxU32;
astArgList: ptr orxCOMMAND_VAR;
astOperandList: ptr orxCOMMAND_VAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Parses numerical arguments, string arguments will be evaluated to vectors or float when possible
##
## @param[in] _u32ArgNumber Number of arguments to parse
##
## @param[in] _astArgList List of arguments to parse
##
## @param[out] _astOperandList List of parsed arguments
##
## @return orxSTATUS_SUCCESS if all numerical arguments have been correctly interpreted, orxSTATUS_FAILURE otherwise
## ```
proc orxCommand_PrintVar*(zDstString: ptr orxCHAR; u32Size: orxU32;
pstVar: ptr orxCOMMAND_VAR): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Prints a variable to a buffer, according to its type (and ignoring any bloc/special character)
##
## @param[out] _zDstString Destination string
##
## @param[in] _u32Size String available size
##
## @param[in] _pstVar Variable to print
##
## @return Number of written characters (excluding trailing orxCHAR_NULL)
## ```
proc orxConfig_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Config module setup
## ```
proc orxConfig_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Initializes the Config Module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the Config Module
## ```
proc orxConfig_SetEncryptionKey*(zEncryptionKey: ptr orxCHAR): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Sets encryption key
##
## @param[in] _zEncryptionKey Encryption key to use, orxNULL to clear
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_GetEncryptionKey*(): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets encryption key
##
## @return Current encryption key / orxSTRING_EMPTY
## ```
proc orxConfig_SetBootstrap*(pfnBootstrap: orxCONFIG_BOOTSTRAP_FUNCTION): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets config bootstrap function: this function will get called when the config menu is initialized, before any config file is loaded.
##
## The only available APIs within the bootstrap function are those of orxConfig and its dependencies (orxMemory, orxString, orxFile, orxEvent, orxResource, ...)
##
## @param[in] _pfnBootstrap Bootstrap function that will get called at module init, before loading any config file.
##
## If this function returns orxSTATUS_FAILURE, the default config file will be skipped, otherwise the regular load sequence will happen
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_SetBaseName*(zBaseName: ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Sets config base name
##
## @param[in] _zBaseName Base name used for default config file
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_GetMainFileName*(): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets config main file name
##
## @return Config main file name / orxSTRING_EMPTY
## ```
proc orxConfig_Load*(zFileName: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Loads config file from source
##
## @param[in] _zFileName File name
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_LoadFromMemory*(acBuffer: ptr orxCHAR; u32BufferSize: orxU32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Loads config data from a memory buffer. NB: the buffer will be modified during processing!
##
## @param[in] _acBuffer Buffer to process, will be modified during processing
##
## @param[in] _u32BufferSize Size of the buffer
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_ReloadHistory*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Reloads config files from history
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_Save*(zFileName: ptr orxCHAR; bUseEncryption: orxBOOL;
pfnSaveCallback: orxCONFIG_SAVE_FUNCTION): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Writes config to given file. Will overwrite any existing file, including all comments.
##
## @param[in] _zFileName File name, if null or empty the default file name will be used
##
## @param[in] _bUseEncryption Use file encryption to make it human non-readable?
##
## @param[in] _pfnSaveCallback Callback used to filter sections/keys to save. If null, all sections/keys will be saved
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_CopyFile*(zDstFileName: ptr orxCHAR; zSrcFileName: ptr orxCHAR;
zEncryptionKey: ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Copies a file with optional encryption
##
## @param[in] _zDstFileName Name of the destination file
##
## @param[in] _zSrcFileName Name of the source file
##
## @param[in] _zEncryptionKey Encryption key to use when writing destination file, orxNULL for no encryption
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_MergeFiles*(zDstFileName: ptr orxCHAR;
azSrcFileName: ptr ptr orxCHAR; u32Number: orxU32;
zEncryptionKey: ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Merges multiple files into a single one, with optional encryption
##
## @param[in] _zDstFileName Name of the destination file
##
## @param[in] _azSrcFileName List of the names of the source files
##
## @param[in] _u32Number Number of source file names
##
## @param[in] _zEncryptionKey Encryption key to use when writing destination file, orxNULL for no encryption
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_SelectSection*(zSectionName: ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Selects current working section
##
## @param[in] _zSectionName Section name to select
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_RenameSection*(zSectionName: ptr orxCHAR;
zNewSectionName: ptr orxCHAR): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Renames a section
##
## @param[in] _zSectionName Section to rename
##
## @param[in] _zNewSectionName New name for the section
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_GetOrigin*(zSectionName: ptr orxCHAR): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets section origin (ie. the file where it was defined for the first time or orxSTRING_EMPTY if not defined via a file)
##
## @param[in] _zSectionName Concerned section name
##
## @return orxSTRING if found, orxSTRING_EMPTY otherwise
## ```
proc orxConfig_GetOriginID*(zSectionName: ptr orxCHAR): orxSTRINGID {.importc, cdecl,
imporxHdr.}
## ```
## Gets section origin ID (ie. the file where it was defined for the first time or orxSTRING_EMPTY if not defined via a file)
##
## @param[in] _zSectionName Concerned section name
##
## @return String ID if found, orxSTRINGID_UNDEFINED otherwise
## ```
proc orxConfig_SetParent*(zSectionName: ptr orxCHAR; zParentName: ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets a section's parent
##
## @param[in] _zSectionName Concerned section, if the section doesn't exist, it will be created
##
## @param[in] _zParentName Parent section's name, if the section doesn't exist, it will be created, if orxNULL is provided, the former parent will be erased, if orxSTRING_EMPTY is provided, "no default parent" will be enforced
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_GetParent*(zSectionName: ptr orxCHAR): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets a section's parent
##
## @param[in] _zSectionName Concerned section
##
## @return Section's parent name if set or orxSTRING_EMPTY if no parent has been forced, orxNULL otherwise
## ```
proc orxConfig_SetDefaultParent*(zSectionName: ptr orxCHAR): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Sets default parent for all sections
##
## @param[in] _zSectionName Section name that will be used as an implicit default parent section for all config sections, if orxNULL is provided, default parent will be removed
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_GetCurrentSection*(): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets current working section
##
## @return Current selected section
## ```
proc orxConfig_PushSection*(zSectionName: ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Pushes a section (storing the current one on section stack)
##
## @param[in] _zSectionName Section name to push
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_PopSection*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Pops last section from section stack
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_HasSection*(zSectionName: ptr orxCHAR): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Has section for the given section name?
##
## @param[in] _zSectionName Section name
##
## @return orxTRUE / orxFALSE
## ```
proc orxConfig_ProtectSection*(zSectionName: ptr orxCHAR; bProtect: orxBOOL): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Protects/unprotects a section from deletion (content might still be changed or deleted, but the section itself will resist delete/clear calls)
##
## @param[in] _zSectionName Section name to protect
##
## @param[in] _bProtect orxTRUE for protecting the section, orxFALSE to remove the protection
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_GetSectionCount*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets section count
##
## @return Section count
## ```
proc orxConfig_GetSection*(u32SectionIndex: orxU32): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets section at the given index
##
## @param[in] _u32SectionIndex Index of the desired section
##
## @return orxSTRING if exist, orxSTRING_EMPTY otherwise
## ```
proc orxConfig_Clear*(pfnClearCallback: orxCONFIG_CLEAR_FUNCTION): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Clears all config info
##
## @param[in] _pfnClearCallback Callback used to filter sections/keys to clear. If null, all sections/keys will be cleared
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_ClearSection*(zSectionName: ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Clears section
##
## @param[in] _zSectionName Section name to clear
## ```
proc orxConfig_ClearValue*(zKey: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Clears a value from current selected section
##
## @param[in] _zKey Key name
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_IsLocallyInheritedValue*(zKey: ptr orxCHAR): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Is this value locally inherited from another one (ie. with a Value = @... syntax)?
##
## @param[in] _zKey Key name
##
## @return orxTRUE / orxFALSE
## ```
proc orxConfig_IsInheritedValue*(zKey: ptr orxCHAR): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Is this value inherited from another one (either locally or at section level)?
##
## @param[in] _zKey Key name
##
## @return orxTRUE / orxFALSE
## ```
proc orxConfig_IsRandomValue*(zKey: ptr orxCHAR): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is this value random? (ie. using '~' character, within or without a list)
##
## @param[in] _zKey Key name
##
## @return orxTRUE / orxFALSE
## ```
proc orxConfig_IsDynamicValue*(zKey: ptr orxCHAR): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is this value dynamic? (ie. random and/or a list or command)
##
## @param[in] _zKey Key name
##
## @return orxTRUE / orxFALSE
## ```
proc orxConfig_IsCommandValue*(zKey: ptr orxCHAR): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is this a command value? (ie. lazily evaluated command: %...)
##
## @param[in] _zKey Key name
##
## @return orxTRUE / orxFALSE
## ```
proc orxConfig_HasValue*(zKey: ptr orxCHAR): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Has specified value for the given key?
##
## @param[in] _zKey Key name
##
## @return orxTRUE / orxFALSE
## ```
proc orxConfig_GetValueSource*(zKey: ptr orxCHAR): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets a value's source section (ie. the section where the value is explicitly defined), only considering section inheritance, not local one
##
## @param[in] _zKey Key name
##
## @return Name of the section that explicitly contains the value, orxSTRING_EMPTY if not found
## ```
proc orxConfig_GetS32*(zKey: ptr orxCHAR): orxS32 {.importc, cdecl, imporxHdr.}
## ```
## Reads a signed integer value from config (will take a random value if a list is provided for this key)
##
## @param[in] _zKey Key name
##
## @return The value
## ```
proc orxConfig_GetU32*(zKey: ptr orxCHAR): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Reads an unsigned integer value from config (will take a random value if a list is provided for this key)
##
## @param[in] _zKey Key name
##
## @return The value
## ```
proc orxConfig_GetS64*(zKey: ptr orxCHAR): orxS64 {.importc, cdecl, imporxHdr.}
## ```
## Reads a signed integer value from config (will take a random value if a list is provided for this key)
##
## @param[in] _zKey Key name
##
## @return The value
## ```
proc orxConfig_GetU64*(zKey: ptr orxCHAR): orxU64 {.importc, cdecl, imporxHdr.}
## ```
## Reads an unsigned integer value from config (will take a random value if a list is provided for this key)
##
## @param[in] _zKey Key name
##
## @return The value
## ```
proc orxConfig_GetFloat*(zKey: ptr orxCHAR): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Reads a float value from config (will take a random value if a list is provided for this key)
##
## @param[in] _zKey Key name
##
## @return The value
## ```
proc orxConfig_GetString*(zKey: ptr orxCHAR): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Reads a string value from config (will take a random value if a list is provided for this key)
##
## @param[in] _zKey Key name
##
## @return The value
## ```
proc orxConfig_GetBool*(zKey: ptr orxCHAR): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Reads a boolean value from config (will take a random value if a list is provided for this key)
##
## @param[in] _zKey Key name
##
## @return The value
## ```
proc orxConfig_GetVector*(zKey: ptr orxCHAR; pvVector: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Reads a vector value from config (will take a random value if a list is provided for this key)
##
## @param[in] _zKey Key name
##
## @param[out] _pvVector Storage for vector value
##
## @return The value
## ```
proc orxConfig_DuplicateRawValue*(zKey: ptr orxCHAR): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Duplicates a raw value (string) from config
##
## @param[in] _zKey Key name
##
## @return The value. If non-null, needs to be deleted by the caller with orxString_Delete()
## ```
proc orxConfig_SetS32*(zKey: ptr orxCHAR; s32Value: orxS32): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Writes a signed integer value to config
##
## @param[in] _zKey Key name
##
## @param[in] _s32Value Value
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_SetU32*(zKey: ptr orxCHAR; u32Value: orxU32): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Writes an unsigned integer value to config
##
## @param[in] _zKey Key name
##
## @param[in] _u32Value Value
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_SetS64*(zKey: ptr orxCHAR; s64Value: orxS64): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Writes a signed integer value to config
##
## @param[in] _zKey Key name
##
## @param[in] _s64Value Value
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_SetU64*(zKey: ptr orxCHAR; u64Value: orxU64): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Writes an unsigned integer value to config
##
## @param[in] _zKey Key name
##
## @param[in] _u64Value Value
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_SetFloat*(zKey: ptr orxCHAR; fValue: orxFLOAT): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Writes a float value to config
##
## @param[in] _zKey Key name
##
## @param[in] _fValue Value
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_SetString*(zKey: ptr orxCHAR; zValue: ptr orxCHAR): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Writes a string value to config
##
## @param[in] _zKey Key name
##
## @param[in] _zValue Value
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_SetStringBlock*(zKey: ptr orxCHAR; zValue: ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Writes a string value to config, in block mode
##
## @param[in] _zKey Key name
##
## @param[in] _zValue Value to write in block mode
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_SetBool*(zKey: ptr orxCHAR; bValue: orxBOOL): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Writes a boolean value to config
##
## @param[in] _zKey Key name
##
## @param[in] _bValue Value
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_SetVector*(zKey: ptr orxCHAR; pvValue: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Writes a vector value to config
##
## @param[in] _zKey Key name
##
## @param[in] _pvValue Value
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_IsList*(zKey: ptr orxCHAR): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is value a list for the given key?
##
## @param[in] _zKey Key name
##
## @return orxTRUE / orxFALSE
## ```
proc orxConfig_GetListCount*(zKey: ptr orxCHAR): orxS32 {.importc, cdecl, imporxHdr.}
## ```
## Gets list count for a given key
##
## @param[in] _zKey Key name
##
## @return List count if it's a valid list, 0 otherwise
## ```
proc orxConfig_GetListS32*(zKey: ptr orxCHAR; s32ListIndex: orxS32): orxS32 {.importc,
cdecl, imporxHdr.}
## ```
## Reads a signed integer value from config list
##
## @param[in] _zKey Key name
##
## @param[in] _s32ListIndex Index of desired item in list / -1 for random
##
## @return The value
## ```
proc orxConfig_GetListU32*(zKey: ptr orxCHAR; s32ListIndex: orxS32): orxU32 {.importc,
cdecl, imporxHdr.}
## ```
## Reads an unsigned integer value from config list
##
## @param[in] _zKey Key name
##
## @param[in] _s32ListIndex Index of desired item in list / -1 for random
##
## @return The value
## ```
proc orxConfig_GetListS64*(zKey: ptr orxCHAR; s32ListIndex: orxS32): orxS64 {.importc,
cdecl, imporxHdr.}
## ```
## Reads a signed integer value from config list
##
## @param[in] _zKey Key name
##
## @param[in] _s32ListIndex Index of desired item in list / -1 for random
##
## @return The value
## ```
proc orxConfig_GetListU64*(zKey: ptr orxCHAR; s32ListIndex: orxS32): orxU64 {.importc,
cdecl, imporxHdr.}
## ```
## Reads an unsigned integer value from config list
##
## @param[in] _zKey Key name
##
## @param[in] _s32ListIndex Index of desired item in list / -1 for random
##
## @return The value
## ```
proc orxConfig_GetListFloat*(zKey: ptr orxCHAR; s32ListIndex: orxS32): orxFLOAT {.
importc, cdecl, imporxHdr.}
## ```
## Reads a float value from config list
##
## @param[in] _zKey Key name
##
## @param[in] _s32ListIndex Index of desired item in list / -1 for random
##
## @return The value
## ```
proc orxConfig_GetListString*(zKey: ptr orxCHAR; s32ListIndex: orxS32): ptr orxCHAR {.
importc, cdecl, imporxHdr.}
## ```
## Reads a string value from config list
##
## @param[in] _zKey Key name
##
## @param[in] _s32ListIndex Index of desired item in list / -1 for random
##
## @return The value
## ```
proc orxConfig_GetListBool*(zKey: ptr orxCHAR; s32ListIndex: orxS32): orxBOOL {.
importc, cdecl, imporxHdr.}
## ```
## Reads a boolean value from config list
##
## @param[in] _zKey Key name
##
## @param[in] _s32ListIndex Index of desired item in list / -1 for random
##
## @return The value
## ```
proc orxConfig_GetListVector*(zKey: ptr orxCHAR; s32ListIndex: orxS32;
pvVector: ptr orxVECTOR): ptr orxVECTOR {.importc, cdecl,
imporxHdr.}
## ```
## Reads a vector value from config list
##
## @param[in] _zKey Key name
##
## @param[in] _s32ListIndex Index of desired item in list / -1 for random
##
## @param[out] _pvVector Storage for vector value
##
## @return The value
## ```
proc orxConfig_SetListString*(zKey: ptr orxCHAR;
azValue: UncheckedArray[ptr orxCHAR];
u32Number: orxU32): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Writes a list of string values to config
##
## @param[in] _zKey Key name
##
## @param[in] _azValue Values
##
## @param[in] _u32Number Number of values
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_AppendListString*(zKey: ptr orxCHAR;
azValue: UncheckedArray[ptr orxCHAR];
u32Number: orxU32): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Appends string values to a config list (will create a new entry if not already present)
##
## @param[in] _zKey Key name
##
## @param[in] _azValue Values
##
## @param[in] _u32Number Number of values
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConfig_GetKeyCount*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets key count of the current section
##
## @return Key count of the current section if valid, 0 otherwise
## ```
proc orxConfig_GetKey*(u32KeyIndex: orxU32): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets key for the current section at the given index
##
## @param[in] _u32KeyIndex Index of the desired key
##
## @return orxSTRING if exist, orxSTRING_EMPTY otherwise
## ```
proc registerFunction_DISPLAY*() {.importc: "_registerFunction_DISPLAY", cdecl,
imporxHdr.}
## ```
## @}
##
##
## Defines all core plugin register function
## ```
proc registerFunction_JOYSTICK*() {.importc: "_registerFunction_JOYSTICK", cdecl,
imporxHdr.}
proc registerFunction_KEYBOARD*() {.importc: "_registerFunction_KEYBOARD", cdecl,
imporxHdr.}
proc registerFunction_MOUSE*() {.importc: "_registerFunction_MOUSE", cdecl, imporxHdr.}
proc registerFunction_PHYSICS*() {.importc: "_registerFunction_PHYSICS", cdecl,
imporxHdr.}
proc registerFunction_RENDER*() {.importc: "_registerFunction_RENDER", cdecl,
imporxHdr.}
proc registerFunction_SOUNDSYSTEM*() {.importc: "_registerFunction_SOUNDSYSTEM",
cdecl, imporxHdr.}
proc orxPlugin_RegisterCorePlugins*() {.importc, cdecl, imporxHdr.}
## ```
## Inline core plugin registration function
## ```
proc orxPlugin_AddCoreInfo*(ePluginCoreID: orxPLUGIN_CORE_ID;
eModuleID: orxMODULE_ID;
astCoreFunction: ptr orxPLUGIN_CORE_FUNCTION;
u32CoreFunctionNumber: orxU32) {.importc, cdecl,
imporxHdr.}
## ```
## ******************************************
##
## Function prototypes
##
## ******************************************
## Adds an info structure for the given core module
##
## Has to be called during a core module init
##
## @param[in] _ePluginCoreID The numeric id of the core plugin
##
## @param[in] _eModuleID Corresponding module ID
##
## @param[in] _astCoreFunction The pointer to the core functions info array
##
## @param[in] _u32CoreFunctionNumber Number of functions in the array
## ```
proc orxPlugin_DefaultCoreFunction*(zFunctionName: ptr orxCHAR;
zFileName: ptr orxCHAR; u32Line: orxU32): pointer {.
importc, cdecl, imporxHdr.}
## ```
## Default core plugin function
##
## Needs to be referenced by all core functions at module init.
## ```
proc orxOBox_IsInside*(pstBox: ptr orxOBOX; pvPosition: ptr orxVECTOR): orxBOOL {.
importc, cdecl, imporxHdr.}
## ```
## Is position inside oriented box test
##
## @param[in] _pstBox Box to test against position
##
## @param[in] _pvPosition Position to test against the box
##
## @return orxTRUE if position is inside the box, orxFALSE otherwise
## ```
proc orxOBox_2DIsInside*(pstBox: ptr orxOBOX; pvPosition: ptr orxVECTOR): orxBOOL {.
importc, cdecl, imporxHdr.}
## ```
## Is 2D position inside oriented box test
##
## @param[in] _pstBox Box to test against position
##
## @param[in] _pvPosition Position to test against the box (no Z-test)
##
## @return orxTRUE if position is inside the box, orxFALSE otherwise
## ```
proc orxBank_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Setups the bank module
## ```
proc orxBank_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the bank Module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxBank_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the bank module
## ```
proc orxBank_Create*(u16NbElem: orxU16; u32Size: orxU32; u32Flags: orxU32;
eMemType: orxMEMORY_TYPE): ptr orxBANK {.importc, cdecl, imporxHdr.}
## ```
## Creates a new bank in memory and returns a pointer to it
##
## @param[in] _u16NbElem Number of elements per segments
##
## @param[in] _u32Size Size of an element
##
## @param[in] _u32Flags Flags set for this bank
##
## @param[in] _eMemType Memory type where the data will be allocated
##
## @return returns a pointer to the memory bank
## ```
proc orxBank_Delete*(pstBank: ptr orxBANK) {.importc, cdecl, imporxHdr.}
## ```
## Frees some memory allocated with orxMemory_Allocate
##
## @param[in] _pstBank Pointer to the memory bank allocated by orx
## ```
proc orxBank_Allocate*(pstBank: ptr orxBANK): pointer {.importc, cdecl, imporxHdr.}
## ```
## Allocates a new cell from the bank
##
## @param[in] _pstBank Pointer to the memory bank to use
##
## @return a new cell of memory (orxNULL if no allocation possible)
## ```
proc orxBank_AllocateIndexed*(pstBank: ptr orxBANK; pu32ItemIndex: ptr orxU32;
ppPrevious: ptr pointer): pointer {.importc, cdecl,
imporxHdr.}
## ```
## Allocates a new cell from the bank and returns its index
##
## @param[in] _pstBank Pointer to the memory bank to use
##
## @param[out] _pu32ItemIndex Will be set with the allocated item index
##
## @param[out] _ppPrevious If non-null, will contain previous neighbor if found
##
## @return a new cell of memory (orxNULL if no allocation possible)
## ```
proc orxBank_Free*(pstBank: ptr orxBANK; pCell: pointer) {.importc, cdecl, imporxHdr.}
## ```
## Frees an allocated cell
##
## @param[in] _pstBank Bank of memory from where _pCell has been allocated
##
## @param[in] _pCell Pointer to the cell to free
## ```
proc orxBank_Clear*(pstBank: ptr orxBANK) {.importc, cdecl, imporxHdr.}
## ```
## Frees all allocated cell from a bank
##
## @param[in] _pstBank Bank of memory to clear
## ```
proc orxBank_Compact*(pstBank: ptr orxBANK) {.importc, cdecl, imporxHdr.}
## ```
## Compacts a bank by removing all its unused segments
##
## @param[in] _pstBank Bank of memory to compact
## ```
proc orxBank_CompactAll*() {.importc, cdecl, imporxHdr.}
## ```
## Compacts all banks by removing all their unused segments
## ```
proc orxBank_GetNext*(pstBank: ptr orxBANK; pCell: pointer): pointer {.importc, cdecl,
imporxHdr.}
## ```
## Gets the next cell
##
## @param[in] _pstBank Bank of memory from where _pCell has been allocated
##
## @param[in] _pCell Pointer to the current cell of memory
##
## @return The next cell. If _pCell is orxNULL, the first cell will be returned. Returns orxNULL when no more cell can be returned.
## ```
proc orxBank_GetIndex*(pstBank: ptr orxBANK; pCell: pointer): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets the cell's index
##
## @param[in] _pstBank Concerned memory bank
##
## @param[in] _pCell Cell of which we want the index
##
## @return The index of the given cell
## ```
proc orxBank_GetAtIndex*(pstBank: ptr orxBANK; u32Index: orxU32): pointer {.importc,
cdecl, imporxHdr.}
## ```
## Gets the cell at given index, orxNULL is the cell isn't allocated
##
## @param[in] _pstBank Concerned memory bank
##
## @param[in] _u32Index Index of the cell to retrieve
##
## @return The cell at the given index if allocated, orxNULL otherwise
## ```
proc orxBank_GetCount*(pstBank: ptr orxBANK): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets the bank allocated cell count
##
## @param[in] _pstBank Concerned bank
##
## @return Number of allocated cells
## ```
proc orxHashTable_Create*(u32NbKey: orxU32; u32Flags: orxU32;
eMemType: orxMEMORY_TYPE): ptr orxHASHTABLE {.importc,
cdecl, imporxHdr.}
## ```
## @name HashTable creation/destruction.
##
## @{
## Create a new hash table and return it.
##
## @param[in] _u32NbKey Number of keys that will be inserted.
##
## @param[in] _u32Flags Flags used by the hash table
##
## @param[in] _eMemType Memory type to use
##
## @return Returns the hashtable pointer or orxNULL if failed.
## ```
proc orxHashTable_Delete*(pstHashTable: ptr orxHASHTABLE): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Delete a hash table.
##
## @param[in] _pstHashTable Hash table to delete.
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxHashTable_Clear*(pstHashTable: ptr orxHASHTABLE): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Clear a hash table.
##
## @param[in] _pstHashTable Hash table to clear.
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxHashTable_GetCount*(pstHashTable: ptr orxHASHTABLE): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## @}
## Gets a hash table item count
##
## @param[in] _pstHashTable Concerned hash table
##
## @return Item number
## ```
proc orxHashTable_Get*(pstHashTable: ptr orxHASHTABLE; u64Key: orxU64): pointer {.
importc, cdecl, imporxHdr.}
## ```
## @name HashTable key manipulation.
##
## @{
## Find an item in a hash table.
##
## @param[in] _pstHashTable The hash table where search.
##
## @param[in] _u64Key Key to find.
##
## @return The Element associated to the key or orxNULL if not found.
## ```
proc orxHashTable_Retrieve*(pstHashTable: ptr orxHASHTABLE; u64Key: orxU64): ptr pointer {.
importc, cdecl, imporxHdr.}
## ```
## Retrieves the bucket of an item in a hash table, if the item wasn't present, a new bucket will be created.
##
## @param[in] _pstHashTable Concerned hashtable
##
## @param[in] _u64Key Key to find
##
## @return The bucket associated to the given key if success, orxNULL otherwise
## ```
proc orxHashTable_Set*(pstHashTable: ptr orxHASHTABLE; u64Key: orxU64; pData: pointer): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Set an item value.
##
## @param[in] _pstHashTable The hash table where set.
##
## @param[in] _u64Key Key to assign.
##
## @param[in] _pData Data to assign.
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxHashTable_Add*(pstHashTable: ptr orxHASHTABLE; u64Key: orxU64; pData: pointer): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Add an item value.
##
## @param[in] _pstHashTable The hash table where set.
##
## @param[in] _u64Key Key to assign.
##
## @param[in] _pData Data to assign.
##
## @return Returns the status of the operation. (fails if key already used)
## ```
proc orxHashTable_Remove*(pstHashTable: ptr orxHASHTABLE; u64Key: orxU64): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Remove an item.
##
## @param[in] _pstHashTable The hash table where remove.
##
## @param[in] _u64Key Key to remove.
##
## @return Returns the status of the operation.
## ```
proc orxHashTable_GetNext*(pstHashTable: ptr orxHASHTABLE; hIterator: orxHANDLE;
pu64Key: ptr orxU64; ppData: ptr pointer): orxHANDLE {.
importc, cdecl, imporxHdr.}
## ```
## @}
## @name HashTable iteration.
##
## Used to iterate on all elements of the hashtable.
##
## @{
## Gets the next item in the hashtable and returns an iterator for next search
##
## @param[in] _pstHashTable Concerned HashTable
##
## @param[in] _hIterator Iterator from previous search or orxHANDLE_UNDEFINED/orxNULL for a new search
##
## @param[out] _pu64Key Current element key
##
## @param[out] _ppData Current element data
##
## @return Iterator for next element if an element has been found, orxHANDLE_UNDEFINED otherwise
## ```
proc orxHashTable_Optimize*(pstHashTable: ptr orxHASHTABLE): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## @}
## Optimizes a hashtable for read accesses (minimizes number of cache misses upon collisions)
##
## @param[in] _pstHashTable HashTable to optimize
##
## @return orxSTATUS_SUCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## ************************************************************************
##
## Functions directly implemented by orx core
##
## ************************************************************************
## Display module setup
## ```
proc orxRGBA_Set*(u8R: orxU8; u8G: orxU8; u8B: orxU8; u8A: orxU8): orxRGBA {.importc,
cdecl, imporxHdr.}
## ```
## Sets all components of an orxRGBA
##
## @param[in] _u8R Red value to set
##
## @param[in] _u8G Green value to set
##
## @param[in] _u8B Blue value to set
##
## @param[in] _u8A Alpha value to set
##
## @return orxRGBA
## ```
proc orxColor_ToRGBA*(pstColor: ptr orxCOLOR): orxRGBA {.importc, cdecl, imporxHdr.}
## ```
## Gets orxRGBA from an orxCOLOR
##
## @param[in] _pstColor Concerned color
##
## @return orxRGBA
## ```
proc orxDisplay_GetBlendModeFromString*(zBlendMode: ptr orxCHAR): orxDISPLAY_BLEND_MODE {.
importc, cdecl, imporxHdr.}
## ```
## Gets blend mode from a string
##
## @param[in] _zBlendMode String to evaluate
##
## @return orxDISPLAY_BLEND_MODE
## ```
proc orxDisplay_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## ************************************************************************
##
## Functions extended by plugins
##
## ************************************************************************
## Inits the display module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the display module
## ```
proc orxDisplay_Swap*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Swaps/flips bufers (display on screen the current frame)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_GetScreenBitmap*(): ptr orxBITMAP {.importc, cdecl, imporxHdr.}
## ```
## Gets screen bitmap
##
## @return orxBITMAP / orxNULL
## ```
proc orxDisplay_GetScreenSize*(pfWidth: ptr orxFLOAT; pfHeight: ptr orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Gets screen size
##
## @param[out] _pfWidth Screen width
##
## @param[out] _pfHeight Screen height
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_CreateBitmap*(u32Width: orxU32; u32Height: orxU32): ptr orxBITMAP {.
importc, cdecl, imporxHdr.}
## ```
## Creates a bitmap
##
## @param[in] _u32Width Bitmap width
##
## @param[in] _u32Height Bitmap height
##
## @return orxBITMAP / orxNULL
## ```
proc orxDisplay_DeleteBitmap*(pstBitmap: ptr orxBITMAP) {.importc, cdecl, imporxHdr.}
## ```
## Deletes a bitmap
##
## @param[in] _pstBitmap Concerned bitmap
## ```
proc orxDisplay_LoadBitmap*(zFileName: ptr orxCHAR): ptr orxBITMAP {.importc, cdecl,
imporxHdr.}
## ```
## Loads a bitmap from file (an event of ID orxDISPLAY_EVENT_BITMAP_LOAD will be sent upon completion, whether the loading is asynchronous or not)
##
## @param[in] _zFileName Name of the file to load
##
## @return orxBITMAP / orxNULL
## ```
proc orxDisplay_SaveBitmap*(pstBitmap: ptr orxBITMAP; zFileName: ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Saves a bitmap to file
##
## @param[in] _pstBitmap Concerned bitmap
##
## @param[in] _zFileName Name of the file where to store the bitmap
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_SetTempBitmap*(pstBitmap: ptr orxBITMAP): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Sets temp bitmap, if a valid temp bitmap is given, load operations will be asynchronous
##
## @param[in] _pstBitmap Concerned bitmap, orxNULL for forcing synchronous load operations
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_GetTempBitmap*(): ptr orxBITMAP {.importc, cdecl, imporxHdr.}
## ```
## Gets current temp bitmap
##
## @return orxBITMAP, if non-null, load operations are currently asynchronous, otherwise they're synchronous
## ```
proc orxDisplay_SetDestinationBitmaps*(apstBitmapList: ptr ptr orxBITMAP;
u32Number: orxU32): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Sets destination bitmaps
##
## @param[in] _apstBitmapList Destination bitmap list
##
## @param[in] _u32Number Number of destination bitmaps
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_ClearBitmap*(pstBitmap: ptr orxBITMAP; stColor: orxRGBA): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Clears a bitmap
##
## @param[in] _pstBitmap Concerned bitmap, if orxNULL all the current destination bitmaps will be cleared instead
##
## @param[in] _stColor Color to clear the bitmap with
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_SetBlendMode*(eBlendMode: orxDISPLAY_BLEND_MODE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets current blend mode
##
## @param[in] _eBlendMode Blend mode to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_SetBitmapClipping*(pstBitmap: ptr orxBITMAP; u32TLX: orxU32;
u32TLY: orxU32; u32BRX: orxU32; u32BRY: orxU32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets a bitmap clipping for blitting (both as source and destination)
##
## @param[in] _pstBitmap Concerned bitmap, orxNULL to target the first destination bitmap
##
## @param[in] _u32TLX Top left X coord in pixels
##
## @param[in] _u32TLY Top left Y coord in pixels
##
## @param[in] _u32BRX Bottom right X coord in pixels
##
## @param[in] _u32BRY Bottom right Y coord in pixels
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_SetBitmapData*(pstBitmap: ptr orxBITMAP; au8Data: ptr orxU8;
u32ByteNumber: orxU32): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Sets a bitmap data (RGBA memory format)
##
## @param[in] _pstBitmap Concerned bitmap
##
## @param[in] _au8Data Data (4 channels, RGBA)
##
## @param[in] _u32ByteNumber Number of bytes
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_GetBitmapData*(pstBitmap: ptr orxBITMAP; au8Data: ptr orxU8;
u32ByteNumber: orxU32): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Gets a bitmap data (RGBA memory format)
##
## @param[in] _pstBitmap Concerned bitmap
##
## @param[in] _au8Data Output buffer (4 channels, RGBA)
##
## @param[in] _u32ByteNumber Number of bytes of the buffer
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_SetPartialBitmapData*(pstBitmap: ptr orxBITMAP; au8Data: ptr orxU8;
u32X: orxU32; u32Y: orxU32; u32Width: orxU32;
u32Height: orxU32): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Sets a partial (rectangle) bitmap data (RGBA memory format)
##
## @param[in] _pstBitmap Concerned bitmap
##
## @param[in] _au8Data Data (4 channels, RGBA)
##
## @param[in] _u32X Origin's X coord of the rectangle area to set
##
## @param[in] _u32Y Origin's Y coord of the rectangle area to set
##
## @param[in] _u32Width Width of the rectangle area to set
##
## @param[in] _u32Height Height of the rectangle area to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_GetBitmapSize*(pstBitmap: ptr orxBITMAP; pfWidth: ptr orxFLOAT;
pfHeight: ptr orxFLOAT): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Gets a bitmap size
##
## @param[in] _pstBitmap Concerned bitmap
##
## @param[out] _pfWidth Bitmap width
##
## @param[out] _pfHeight Bitmap height
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_GetBitmapID*(pstBitmap: ptr orxBITMAP): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets a bitmap (internal) ID
##
## @param[in] _pstBitmap Concerned bitmap
##
## @return orxU32
## ```
proc orxDisplay_TransformBitmap*(pstSrc: ptr orxBITMAP;
pstTransform: ptr orxDISPLAY_TRANSFORM;
stColor: orxRGBA;
eSmoothing: orxDISPLAY_SMOOTHING;
eBlendMode: orxDISPLAY_BLEND_MODE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Transforms (and blits onto another) a bitmap
##
## @param[in] _pstSrc Bitmap to transform and draw
##
## @param[in] _pstTransform Transformation info (position, scale, rotation, ...)
##
## @param[in] _stColor Color
##
## @param[in] _eSmoothing Bitmap smoothing type
##
## @param[in] _eBlendMode Blend mode
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_TransformText*(zString: ptr orxCHAR; pstFont: ptr orxBITMAP;
pstMap: ptr orxCHARACTER_MAP;
pstTransform: ptr orxDISPLAY_TRANSFORM;
stColor: orxRGBA; eSmoothing: orxDISPLAY_SMOOTHING;
eBlendMode: orxDISPLAY_BLEND_MODE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Transforms a text (onto a bitmap)
##
## @param[in] _zString String to display
##
## @param[in] _pstFont Font bitmap
##
## @param[in] _pstMap Character map
##
## @param[in] _pstTransform Transformation info (position, scale, rotation, ...)
##
## @param[in] _stColor Color
##
## @param[in] _eSmoothing Bitmap smoothing type
##
## @param[in] _eBlendMode Blend mode
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_DrawLine*(pvStart: ptr orxVECTOR; pvEnd: ptr orxVECTOR;
stColor: orxRGBA): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Draws a line
##
## @param[in] _pvStart Start point
##
## @param[in] _pvEnd End point
##
## @param[in] _stColor Color
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_DrawPolyline*(avVertexList: ptr orxVECTOR; u32VertexNumber: orxU32;
stColor: orxRGBA): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Draws a polyline (aka open polygon)
##
## @param[in] _avVertexList List of vertices
##
## @param[in] _u32VertexNumber Number of vertices in the list
##
## @param[in] _stColor Color
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_DrawPolygon*(avVertexList: ptr orxVECTOR; u32VertexNumber: orxU32;
stColor: orxRGBA; bFill: orxBOOL): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Draws a (closed) polygon; filled polygonsneed* to be either convex or star-shaped concave with the first vertex part of the polygon's kernel
##
## @param[in] _avVertexList List of vertices
##
## @param[in] _u32VertexNumber Number of vertices in the list
##
## @param[in] _stColor Color
##
## @param[in] _bFill If true, the polygon will be filled otherwise only its outline will be drawn
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_DrawCircle*(pvCenter: ptr orxVECTOR; fRadius: orxFLOAT;
stColor: orxRGBA; bFill: orxBOOL): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Draws a circle
##
## @param[in] _pvCenter Center
##
## @param[in] _fRadius Radius
##
## @param[in] _stColor Color
##
## @param[in] _bFill If true, the polygon will be filled otherwise only its outline will be drawn
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_DrawOBox*(pstBox: ptr orxOBOX; stColor: orxRGBA; bFill: orxBOOL): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Draws an oriented box
##
## @param[in] _pstBox Box to draw
##
## @param[in] _stColor Color
##
## @param[in] _bFill If true, the polygon will be filled otherwise only its outline will be drawn
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_DrawMesh*(pstMesh: ptr orxDISPLAY_MESH; pstBitmap: ptr orxBITMAP;
eSmoothing: orxDISPLAY_SMOOTHING;
eBlendMode: orxDISPLAY_BLEND_MODE): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Draws a textured mesh
##
## @param[in] _pstMesh Mesh to draw, if no primitive and no index buffer is given, separate quads arrangement will be assumed
##
## @param[in] _pstBitmap Bitmap to use for texturing, orxNULL to use the current one
##
## @param[in] _eSmoothing Bitmap smoothing type
##
## @param[in] _eBlendMode Blend mode
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_HasShaderSupport*(): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Has shader support?
##
## @return orxTRUE / orxFALSE
## ```
proc orxDisplay_CreateShader*(azCodeList: ptr ptr orxCHAR; u32Size: orxU32;
pstParamList: ptr orxLINKLIST;
bUseCustomParam: orxBOOL): orxHANDLE {.importc, cdecl,
imporxHdr.}
## ```
## Creates (compiles) a shader
##
## @param[in] _azCodeList List of shader code to compile, in order
##
## @param[in] _u32Size Size of the shader code list
##
## @param[in] _pstParamList Shader parameters (should be a link list of orxSHADER_PARAM)
##
## @param[in] _bUseCustomParam Shader uses custom parameters
##
## @return orxHANDLE of the compiled shader is successful, orxHANDLE_UNDEFINED otherwise
## ```
proc orxDisplay_DeleteShader*(hShader: orxHANDLE) {.importc, cdecl, imporxHdr.}
## ```
## Deletes a compiled shader
##
## @param[in] _hShader Shader to delete
## ```
proc orxDisplay_StartShader*(hShader: orxHANDLE): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Starts a shader rendering
##
## @param[in] _hShader Shader to start
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_StopShader*(hShader: orxHANDLE): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Stops a shader rendering
##
## @param[in] _hShader Shader to stop
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_GetParameterID*(hShader: orxHANDLE; zParam: ptr orxCHAR;
s32Index: orxS32; bIsTexture: orxBOOL): orxS32 {.
importc, cdecl, imporxHdr.}
## ```
## Gets a shader parameter's ID
##
## @param[in] _hShader Concerned shader
##
## @param[in] _zParam Parameter name
##
## @param[in] _s32Index Parameter index, -1 for non-array types
##
## @param[in] _bIsTexture Is parameter a texture?
##
## @return Parameter ID
## ```
proc orxDisplay_SetShaderBitmap*(hShader: orxHANDLE; s32ID: orxS32;
pstValue: ptr orxBITMAP): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Sets a shader parameter (orxBITMAP)
##
## @param[in] _hShader Concerned shader
##
## @param[in] _s32ID ID of parameter to set
##
## @param[in] _pstValue Value (orxBITMAP) for this parameter
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_SetShaderFloat*(hShader: orxHANDLE; s32ID: orxS32; fValue: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets a shader parameter (orxFLOAT)
##
## @param[in] _hShader Concerned shader
##
## @param[in] _s32ID ID of parameter to set
##
## @param[in] _fValue Value (orxFLOAT) for this parameter
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_SetShaderVector*(hShader: orxHANDLE; s32ID: orxS32;
pvValue: ptr orxVECTOR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Sets a shader parameter (orxVECTOR)
##
## @param[in] _hShader Concerned shader
##
## @param[in] _s32ID ID of parameter to set
##
## @param[in] _pvValue Value (orxVECTOR) for this parameter
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_EnableVSync*(bEnable: orxBOOL): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Enables / disables vertical synchro
##
## @param[in] _bEnable Enable / disable
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_IsVSyncEnabled*(): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is vertical synchro enabled?
##
## @return orxTRUE if enabled, orxFALSE otherwise
## ```
proc orxDisplay_SetFullScreen*(bFullScreen: orxBOOL): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Sets full screen mode
##
## @param[in] _bFullScreen orxTRUE / orxFALSE
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_IsFullScreen*(): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is in full screen mode?
##
## @return orxTRUE if full screen, orxFALSE otherwise
## ```
proc orxDisplay_GetVideoModeCount*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets available video mode count
##
## @return Available video mode count
## ```
proc orxDisplay_GetVideoMode*(u32Index: orxU32;
pstVideoMode: ptr orxDISPLAY_VIDEO_MODE): ptr orxDISPLAY_VIDEO_MODE {.
importc, cdecl, imporxHdr.}
## ```
## Gets an available video mode
##
## @param[in] _u32Index Video mode index, pass _u32Index < orxDisplay_GetVideoModeCount() for an available listed mode, orxU32_UNDEFINED for the the default (desktop) mode and any other value for current mode
##
## @param[out] _pstVideoMode Storage for the video mode
##
## @return orxDISPLAY_VIDEO_MODE / orxNULL if invalid
## ```
proc orxDisplay_SetVideoMode*(pstVideoMode: ptr orxDISPLAY_VIDEO_MODE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Gets an available video mode
##
## @param[in] _pstVideoMode Video mode to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxDisplay_IsVideoModeAvailable*(pstVideoMode: ptr orxDISPLAY_VIDEO_MODE): orxBOOL {.
importc, cdecl, imporxHdr.}
## ```
## Is video mode available
##
## @param[in] _pstVideoMode Video mode to test
##
## @return orxTRUE is available, orxFALSE otherwise
## ```
proc orxTexture_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Setups the texture module
## ```
proc orxTexture_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the texture module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxTexture_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the texture module
## ```
proc orxTexture_Create*(): ptr orxTEXTURE {.importc, cdecl, imporxHdr.}
## ```
## Creates an empty texture
##
## @return orxTEXTURE / orxNULL
## ```
proc orxTexture_CreateFromFile*(zFileName: ptr orxCHAR; bKeepInCache: orxBOOL): ptr orxTEXTURE {.
importc, cdecl, imporxHdr.}
## ```
## Creates a texture from a bitmap file
##
## @param[in] _zFileName Name of the bitmap
##
## @param[in] _bKeepInCache Should be kept in cache after no more references exist?
##
## @return orxTEXTURE / orxNULL
## ```
proc orxTexture_Delete*(pstTexture: ptr orxTEXTURE): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Deletes a texture (and its referenced bitmap)
##
## @param[in] _pstTexture Concerned texture
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxTexture_ClearCache*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Clears cache (if any texture is still in active use, it'll remain in memory until not referenced anymore)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxTexture_LinkBitmap*(pstTexture: ptr orxTEXTURE; pstBitmap: ptr orxBITMAP;
zDataName: ptr orxCHAR; bTransferOwnership: orxBOOL): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Links a bitmap
##
## @param[in] _pstTexture Concerned texture
##
## @param[in] _pstBitmap Bitmap to link
##
## @param[in] _zDataName Name associated with the bitmap (usually filename)
##
## @param[in] _bTransferOwnership If set to true, the texture will become the bitmap's owner and will have it deleted upon its own deletion
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxTexture_UnlinkBitmap*(pstTexture: ptr orxTEXTURE): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Unlinks (and deletes if not used anymore) a bitmap
##
## @param[in] _pstTexture Concerned texture
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxTexture_GetBitmap*(pstTexture: ptr orxTEXTURE): ptr orxBITMAP {.importc, cdecl,
imporxHdr.}
## ```
## Gets texture bitmap
##
## @param[in] _pstTexture Concerned texture
##
## @return orxBITMAP / orxNULL
## ```
proc orxTexture_GetSize*(pstTexture: ptr orxTEXTURE; pfWidth: ptr orxFLOAT;
pfHeight: ptr orxFLOAT): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Gets texture size
##
## @param[in] _pstTexture Concerned texture
##
## @param[out] _pfWidth Texture's width
##
## @param[out] _pfHeight Texture's height
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxTexture_GetName*(pstTexture: ptr orxTEXTURE): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets texture name
##
## @param[in] _pstTexture Concerned texture
##
## @return Texture name / orxSTRING_EMPTY
## ```
proc orxTexture_GetScreenTexture*(): ptr orxTEXTURE {.importc, cdecl, imporxHdr.}
## ```
## Gets screen texture
##
## @return Screen texture / orxNULL
## ```
proc orxTexture_GetLoadCount*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets pending load count
##
## @return Pending load count
## ```
proc orxFont_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Setups the font module
## ```
proc orxFont_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the font module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFont_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the font module
## ```
proc orxFont_Create*(): ptr orxFONT {.importc, cdecl, imporxHdr.}
## ```
## Creates an empty font
##
## @return orxFONT / orxNULL
## ```
proc orxFont_CreateFromConfig*(zConfigID: ptr orxCHAR): ptr orxFONT {.importc, cdecl,
imporxHdr.}
## ```
## Creates a font from config
##
## @param[in] _zConfigID Config ID
##
## @return orxFONT / orxNULL
## ```
proc orxFont_Delete*(pstFont: ptr orxFONT): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Deletes a font
##
## @param[in] _pstFont Concerned font
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFont_GetDefaultFont*(): ptr orxFONT {.importc, cdecl, imporxHdr.}
## ```
## Gets default font
##
## @return Default font / orxNULL
## ```
proc orxFont_SetTexture*(pstFont: ptr orxFONT; pstTexture: ptr orxTEXTURE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets font's texture
##
## @param[in] _pstFont Concerned font
##
## @param[in] _pstTexture Texture to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFont_SetCharacterList*(pstFont: ptr orxFONT; zList: ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets font's character list
##
## @param[in] _pstFont Concerned font
##
## @param[in] _zList Character list
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFont_SetCharacterHeight*(pstFont: ptr orxFONT; fCharacterHeight: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets font's character height
##
## @param[in] _pstFont Concerned font
##
## @param[in] _fCharacterHeight Character's height
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFont_SetCharacterWidthList*(pstFont: ptr orxFONT;
u32CharacterNumber: orxU32;
afCharacterWidthList: ptr orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets font's character width list
##
## @param[in] _pstFont Concerned font
##
## @param[in] _u32CharacterNumber Character's number
##
## @param[in] _afCharacterWidthList List of widths for all the characters
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFont_SetCharacterSpacing*(pstFont: ptr orxFONT; pvSpacing: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets font's character spacing
##
## @param[in] _pstFont Concerned font
##
## @param[in] _pvSpacing Character's spacing
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFont_SetOrigin*(pstFont: ptr orxFONT; pvOrigin: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets font's origin
##
## @param[in] _pstFont Concerned font
##
## @param[in] _pvOrigin Font's origin
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFont_SetSize*(pstFont: ptr orxFONT; pvSize: ptr orxVECTOR): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Sets font's size
##
## @param[in] _pstFont Concerned font
##
## @param[in] _pvSize Font's size
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFont_GetTexture*(pstFont: ptr orxFONT): ptr orxTEXTURE {.importc, cdecl,
imporxHdr.}
## ```
## Gets font's texture
##
## @param[in] _pstFont Concerned font
##
## @return Font texture / orxNULL
## ```
proc orxFont_GetCharacterList*(pstFont: ptr orxFONT): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets font's character list
##
## @param[in] _pstFont Concerned font
##
## @return Font's character list / orxNULL
## ```
proc orxFont_GetCharacterHeight*(pstFont: ptr orxFONT): orxFLOAT {.importc, cdecl,
imporxHdr.}
## ```
## Gets font's character height
##
## @param[in] _pstFont Concerned font
##
## @return orxFLOAT
## ```
proc orxFont_GetCharacterWidth*(pstFont: ptr orxFONT; u32CharacterCodePoint: orxU32): orxFLOAT {.
importc, cdecl, imporxHdr.}
## ```
## Gets font's character width
##
## @param[in] _pstFont Concerned font
##
## @param[in] _u32CharacterCodePoint Character code point
##
## @return orxFLOAT
## ```
proc orxFont_GetCharacterSpacing*(pstFont: ptr orxFONT; pvSpacing: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets font's character spacing
##
## @param[in] _pstFont Concerned font
##
## @param[out] _pvSpacing Character's spacing
##
## @return orxVECTOR / orxNULL
## ```
proc orxFont_GetOrigin*(pstFont: ptr orxFONT; pvOrigin: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets font's origin
##
## @param[in] _pstFont Concerned font
##
## @param[out] _pvOrigin Font's origin
##
## @return orxVECTOR / orxNULL
## ```
proc orxFont_GetSize*(pstFont: ptr orxFONT; pvSize: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets font's size
##
## @param[in] _pstFont Concerned font
##
## @param[out] _pvSize Font's size
##
## @return orxVECTOR / orxNULL
## ```
proc orxFont_GetMap*(pstFont: ptr orxFONT): ptr orxCHARACTER_MAP {.importc, cdecl,
imporxHdr.}
## ```
## Gets font's map
##
## @param[in] _pstFont Concerned font
##
## @return orxCHARACTER_MAP / orxNULL
## ```
proc orxFont_GetName*(pstFont: ptr orxFONT): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets font name
##
## @param[in] _pstFont Concerned font
##
## @return Font name / orxSTRING_EMPTY
## ```
proc orxJoystick_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## ************************************************************************
##
## Functions directly implemented by orx core
##
## ************************************************************************
## JOYSTICK module setup
## ```
proc orxJoystick_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## ************************************************************************
##
## Functions extended by plugins
##
## ************************************************************************
## Inits the joystick module
##
## @return Returns the status of the operation
## ```
proc orxJoystick_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the joystick module
## ```
proc orxJoystick_GetAxisValue*(eAxis: orxJOYSTICK_AXIS): orxFLOAT {.importc, cdecl,
imporxHdr.}
## ```
## Gets joystick axis value
##
## @param[in] _eAxis Joystick axis to check
##
## @return Value of the axis
## ```
proc orxJoystick_IsButtonPressed*(eButton: orxJOYSTICKxBUTTON): orxBOOL {.importc,
cdecl, imporxHdr.}
## ```
## Is joystick button pressed?
##
## @param[in] _eButton Joystick button to check
##
## @return orxTRUE if pressed / orxFALSE otherwise
## ```
proc orxJoystick_GetButtonName*(eButton: orxJOYSTICKxBUTTON): ptr orxCHAR {.importc,
cdecl, imporxHdr.}
## ```
## Gets button literal name
##
## @param[in] _eButton Concerned button
##
## @return Button's name
## ```
proc orxJoystick_GetAxisName*(eAxis: orxJOYSTICK_AXIS): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets axis literal name
##
## @param[in] _eAxis Concerned axis
##
## @return Axis's name
## ```
proc orxJoystick_IsConnected*(u32ID: orxU32): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is joystick connected?
##
## @param[in] _u32ID ID of the joystick, 1-based index
##
## @return orxTRUE if connected / orxFALSE otherwise
## ```
proc orxKeyboard_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## ************************************************************************
##
## Functions directly implemented by orx core
##
## ************************************************************************
## Keyboard module setup
## ```
proc orxKeyboard_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## ************************************************************************
##
## Functions extended by plugins
##
## ************************************************************************
## Inits the keyboard module
## ```
proc orxKeyboard_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the keyboard module
## ```
proc orxKeyboard_IsKeyPressed*(eKey: orxKEYBOARD_KEY): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Is key pressed?
##
## @param[in] _eKey Key to check
##
## @return orxTRUE if pressed / orxFALSE otherwise
## ```
proc orxKeyboard_GetKeyDisplayName*(eKey: orxKEYBOARD_KEY): ptr orxCHAR {.importc,
cdecl, imporxHdr.}
## ```
## Gets key display name, layout-dependent
##
## @param[in] _eKey Concerned key
##
## @return UTF-8 encoded key's name if valid, orxSTRING_EMPTY otherwise
## ```
proc orxKeyboard_ReadKey*(): orxKEYBOARD_KEY {.importc, cdecl, imporxHdr.}
## ```
## Gets the next key from the keyboard buffer and removes it from there
##
## @return orxKEYBOARD_KEY, orxKEYBOARD_KEY_NONE if the buffer is empty
## ```
proc orxKeyboard_ReadString*(): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets the next UTF-8 encoded string from the keyboard buffer and removes it from there
##
## @return UTF-8 encoded string
## ```
proc orxKeyboard_ClearBuffer*() {.importc, cdecl, imporxHdr.}
## ```
## Empties the keyboard buffer (both keys and chars)
## ```
proc orxKeyboard_GetKeyName*(eKey: orxKEYBOARD_KEY): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets key literal name
##
## @param[in] _eKey Concerned key
##
## @return Key's name
## ```
proc orxKeyboard_Show*(bShow: orxBOOL): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Show/Hide the virtual keyboard
##
## @param[in] _bShow Show/hide virtual keyboard
##
## @return orxSTATUS_SUCCESS if supported by platform, orxSTATUS_FAILURE otherwise
## ```
proc orxMouse_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## ************************************************************************
##
## Functions directly implemented by orx core
##
## ************************************************************************
## Mouse module setup
## ```
proc orxMouse_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## ************************************************************************
##
## Functions extended by plugins
##
## ************************************************************************
## Inits the mouse module
##
## @return Returns the status of the operation
## ```
proc orxMouse_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the mouse module
## ```
proc orxMouse_SetPosition*(pvPosition: ptr orxVECTOR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Sets mouse position
##
## @param[in] _pvPosition Mouse position
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxMouse_GetPosition*(pvPosition: ptr orxVECTOR): ptr orxVECTOR {.importc, cdecl,
imporxHdr.}
## ```
## Gets mouse position
##
## @param[out] _pvPosition Mouse position
##
## @return orxVECTOR / orxNULL
## ```
proc orxMouse_IsButtonPressed*(eButton: orxMOUSE_BUTTON): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Is mouse button pressed?
##
## @param[in] _eButton Mouse button to check
##
## @return orxTRUE if pressed / orxFALSE otherwise
## ```
proc orxMouse_GetMoveDelta*(pvMoveDelta: ptr orxVECTOR): ptr orxVECTOR {.importc,
cdecl, imporxHdr.}
## ```
## Gets mouse move delta (since last call)
##
## @param[out] _pvMoveDelta Mouse move delta
##
## @return orxVECTOR / orxNULL
## ```
proc orxMouse_GetWheelDelta*(): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets mouse wheel delta (since last call)
##
## @return Mouse wheel delta
## ```
proc orxMouse_ShowCursor*(bShow: orxBOOL): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Shows mouse (hardware) cursor
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxMouse_SetCursor*(zName: ptr orxCHAR; pvPivot: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets mouse (hardware) cursor
##
## @param[in] _zName Cursor's name can be: a standard name (arrow, ibeam, hand, crosshair, hresize or vresize), a file name or orxNULL to reset the hardware cursor to default
##
## @param[in] _pvPivot Cursor's pivot (aka hotspot), orxNULL will default to (0, 0)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxMouse_GetButtonName*(eButton: orxMOUSE_BUTTON): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets button literal name
##
## @param[in] _eButton Concerned button
##
## @return Button's name
## ```
proc orxMouse_GetAxisName*(eAxis: orxMOUSE_AXIS): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets axis literal name
##
## @param[in] _eAxis Concerned axis
##
## @return Axis's name
## ```
proc orxInput_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Input module setup
## ```
proc orxInput_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Initializes Input module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxInput_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from Input module
## ```
proc orxInput_Load*(zFileName: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Loads inputs from config
##
## @param[in] _zFileName File name to load, will use current loaded config if orxSTRING_EMPTY/orxNULL
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxInput_Save*(zFileName: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Saves inputs to config
##
## @param[in] _zFileName File name
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxInput_SelectSet*(zSetName: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Selects (and enables) current working set
##
## @param[in] _zSetName Set name to select
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxInput_GetCurrentSet*(): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets current working set
##
## @return Current selected set
## ```
proc orxInput_EnableSet*(zSetName: ptr orxCHAR; bEnable: orxBOOL): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Enables/disables working set (without selecting it)
##
## @param[in] _zSetName Set name to enable/disable
##
## @param[in] _bEnable Enable / Disable
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxInput_IsSetEnabled*(zSetName: ptr orxCHAR): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is working set enabled (includes current working set)?
##
## @param[in] _zSetName Set name to check
##
## @return orxTRUE / orxFALSE
## ```
proc orxInput_SetTypeFlags*(u32AddTypeFlags: orxU32; u32RemoveTypeFlags: orxU32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets current set's type flags, only set types will be polled when updating the set (use orxINPUT_GET_FLAG(TYPE) in order to get the flag that matches a type)
##
## @param[in] _u32AddTypeFlags Type flags to add
##
## @param[in] _u32RemoveTypeFlags Type flags to remove
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxInput_IsActive*(zInputName: ptr orxCHAR): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is input active?
##
## @param[in] _zInputName Concerned input name
##
## @return orxTRUE if active, orxFALSE otherwise
## ```
proc orxInput_HasBeenActivated*(zInputName: ptr orxCHAR): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Has input been activated (this frame)?
##
## @param[in] _zInputName Concerned input name
##
## @return orxTRUE if newly activated since last frame, orxFALSE otherwise
## ```
proc orxInput_HasBeenDeactivated*(zInputName: ptr orxCHAR): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Has input been deactivated (this frame)?
##
## @param[in] _zInputName Concerned input name
##
## @return orxTRUE if newly deactivated since last frame, orxFALSE otherwise
## ```
proc orxInput_HasNewStatus*(zInputName: ptr orxCHAR): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Has a new active status since this frame?
##
## @param[in] _zInputName Concerned input name
##
## @return orxTRUE if active status is new, orxFALSE otherwise
## ```
proc orxInput_GetValue*(zInputName: ptr orxCHAR): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets input value
##
## @param[in] _zInputName Concerned input name
##
## @return orxFLOAT
## ```
proc orxInput_SetValue*(zInputName: ptr orxCHAR; fValue: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets input value (will prevail on peripheral inputs only once)
##
## @param[in] _zInputName Concerned input name
##
## @param[in] _fValue Value to set, orxFLOAT_0 to deactivate
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxInput_SetPermanentValue*(zInputName: ptr orxCHAR; fValue: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets permanent input value (will prevail on peripheral inputs till reset)
##
## @param[in] _zInputName Concerned input name
##
## @param[in] _fValue Value to set, orxFLOAT_0 to deactivate
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxInput_ResetValue*(zInputName: ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Resets input value (peripheral inputs will then be used instead of code ones)
##
## @param[in] _zInputName Concerned input name
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxInput_GetThreshold*(zInputName: ptr orxCHAR): orxFLOAT {.importc, cdecl,
imporxHdr.}
## ```
## Gets input threshold
##
## @param[in] _zInputName Concerned input name
##
## @return Input threshold
## ```
proc orxInput_SetThreshold*(zInputName: ptr orxCHAR; fThreshold: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets input threshold, if not set the default global threshold will be used
##
## @param[in] _zInputName Concerned input name
##
## @param[in] _fThreshold Threshold value (between 0.0f and 1.0f)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxInput_GetMultiplier*(zInputName: ptr orxCHAR): orxFLOAT {.importc, cdecl,
imporxHdr.}
## ```
## Gets input multiplier
##
## @param[in] _zInputName Concerned input name
##
## @return Input multiplier
## ```
proc orxInput_SetMultiplier*(zInputName: ptr orxCHAR; fMultiplier: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets input multiplier, if not set the default global multiplier will be used
##
## @param[in] _zInputName Concerned input name
##
## @param[in] _fMultiplier Multiplier value, can be negative
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxInput_SetCombineMode*(zName: ptr orxCHAR; bCombine: orxBOOL): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets an input combine mode
##
## @param[in] _zName Concerned input name
##
## @param[in] _bCombine If orxTRUE, all assigned bindings need to be active in order to activate input, otherwise input will be considered active if any of its binding is
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxInput_IsInCombineMode*(zName: ptr orxCHAR): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is an input in combine mode?
##
## @param[in] _zName Concerned input name
##
## @return orxTRUE if the input is in combine mode, orxFALSE otherwise
## ```
proc orxInput_Bind*(zName: ptr orxCHAR; eType: orxINPUT_TYPE; eID: orxENUM;
eMode: orxINPUT_MODE; s32BindingIndex: orxS32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Binds an input to a mouse/joystick button, keyboard key or joystick axis
##
## @param[in] _zName Concerned input name
##
## @param[in] _eType Type of peripheral to bind
##
## @param[in] _eID ID of button/key/axis to bind
##
## @param[in] _eMode Mode (only used for axis input)
##
## @param[in] _s32BindingIndex Index of the desired binding, if < 0 the oldest binding will be replaced
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxInput_Unbind*(zName: ptr orxCHAR; s32BindingIndex: orxS32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Unbinds an input
##
## @param[in] _zName Concerned input name
##
## @param[in] _s32BindingIndex Index of the desired binding, if < 0 all the bindings will be removed
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxInput_GetBoundInputCount*(eType: orxINPUT_TYPE; eID: orxENUM;
eMode: orxINPUT_MODE): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets the input count to which a mouse/joystick button, keyboard key or joystick axis is bound
##
## @param[in] _eType Type of peripheral to test
##
## @param[in] _eID ID of button/key/axis to test
##
## @param[in] _eMode Mode (only used for axis input)
##
## @return Number of bound inputs
## ```
proc orxInput_GetBoundInput*(eType: orxINPUT_TYPE; eID: orxENUM;
eMode: orxINPUT_MODE; u32InputIndex: orxU32;
pzName: ptr ptr orxCHAR; pu32BindingIndex: ptr orxU32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Gets the input name to which a mouse/joystick button, keyboard key or joystick axis is bound (at given index)
##
## @param[in] _eType Type of peripheral to test
##
## @param[in] _eID ID of button/key/axis to test
##
## @param[in] _eMode Mode (only used for axis input)
##
## @param[in] _u32InputIndex Index of the desired input
##
## @param[out] _pzName Input name, mandatory
##
## @param[out] _pu32BindingIndex Binding index for this input, ignored if orxNULL
##
## @return orxSTATUS_SUCCESS if binding exists / orxSTATUS_FAILURE otherwise
## ```
proc orxInput_GetBinding*(zName: ptr orxCHAR; u32BindingIndex: orxU32;
peType: ptr orxINPUT_TYPE; peID: ptr orxENUM;
peMode: ptr orxINPUT_MODE): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Gets an input binding (mouse/joystick button, keyboard key or joystick axis) at a given index
##
## @param[in] _zName Concerned input name
##
## @param[in] _u32BindingIndex Index of the desired binding, should be less than orxINPUT_KU32_BINDING_NUMBER
##
## @param[out] _peType Binding type (if a slot is not bound, its value is orxINPUT_TYPE_NONE)
##
## @param[out] _peID Binding ID (button/key/axis)
##
## @param[out] _peMode Mode (only used for axis inputs)
##
## @return orxSTATUS_SUCCESS if input exists, orxSTATUS_FAILURE otherwise
## ```
proc orxInput_GetBindingList*(zName: ptr orxCHAR;
aeTypeList: array[8, orxINPUT_TYPE];
aeIDList: array[8, orxENUM];
aeModeList: array[8, orxINPUT_MODE]): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Gets an input binding (mouse/joystick button, keyboard key or joystick axis) list
##
## @param[in] _zName Concerned input name
##
## @param[out] _aeTypeList List of binding types (if a slot is not bound, its value is orxINPUT_TYPE_NONE)
##
## @param[out] _aeIDList List of binding IDs (button/key/axis)
##
## @param[out] _aeModeList List of modes (only used for axis inputs)
##
## @return orxSTATUS_SUCCESS if input exists, orxSTATUS_FAILURE otherwise
## ```
proc orxInput_GetBindingName*(eType: orxINPUT_TYPE; eID: orxENUM;
eMode: orxINPUT_MODE): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets a binding name, don't keep the result as is as it'll get overridden during the next call to this function
##
## @param[in] _eType Binding type (mouse/joystick button, keyboard key or joystick axis)
##
## @param[in] _eID Binding ID (ID of button/key/axis to bind)
##
## @param[in] _eMode Mode (only used for axis input)
##
## @return orxSTRING (binding's name) if success, orxSTRING_EMPTY otherwise
## ```
proc orxInput_GetBindingType*(zName: ptr orxCHAR; peType: ptr orxINPUT_TYPE;
peID: ptr orxENUM; peMode: ptr orxINPUT_MODE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Gets a binding type and ID from its name
##
## @param[in] _zName Concerned input name
##
## @param[out] _peType Binding type (mouse/joystick button, keyboard key or joystick axis)
##
## @param[out] _peID Binding ID (ID of button/key/axis to bind)
##
## @param[out] _peMode Binding mode (only used for axis input)
##
## @return orxSTATUS_SUCCESS if input is valid, orxSTATUS_FAILURE otherwise
## ```
proc orxInput_GetActiveBinding*(peType: ptr orxINPUT_TYPE; peID: ptr orxENUM;
pfValue: ptr orxFLOAT): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Gets active binding (current pressed key/button/...) so as to allow on-the-fly user rebinding
##
## @param[out] _peType Active binding's type (mouse/joystick button, keyboard key or joystick axis)
##
## @param[out] _peID Active binding's ID (ID of button/key/axis to bind)
##
## @param[out] _pfValue Active binding's value (optional)
##
## @return orxSTATUS_SUCCESS if one active binding is found, orxSTATUS_FAILURE otherwise
## ```
proc orxConsole_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Console module setup
## ```
proc orxConsole_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the console module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConsole_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the console module
## ```
proc orxConsole_Enable*(bEnable: orxBOOL) {.importc, cdecl, imporxHdr.}
## ```
## Enables/disables the console
##
## @param[in] _bEnable Enable / disable
## ```
proc orxConsole_IsEnabled*(): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is the console enabled?
##
## @return orxTRUE if enabled, orxFALSE otherwise
## ```
proc orxConsole_IsInsertMode*(): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is the console input in insert mode?
##
## @return orxTRUE if insert mode, orxFALSE otherwise (overwrite mode)
## ```
proc orxConsole_SetToggle*(eInputType: orxINPUT_TYPE; eInputID: orxENUM;
eInputMode: orxINPUT_MODE): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Sets the console toggle
##
## @param[in] _eInputType Type of input peripheral
##
## @param[in] _eInputID ID of button/key/axis
##
## @param[in] _eInputMode Mode of input
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConsole_Log*(zText: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Logs to the console
##
## @param[in] _zText Text to log
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConsole_SetFont*(pstFont: ptr orxFONT): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Sets the console font
##
## @param[in] _pstFont Font to use
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConsole_GetFont*(): ptr orxFONT {.importc, cdecl, imporxHdr.}
## ```
## Gets the console font
##
## @return Current in-use font, orxNULL
## ```
proc orxConsole_SetLogLineLength*(u32LineLength: orxU32): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Sets the console log line length
##
## @param[in] _u32LineLength Line length to use
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxConsole_GetLogLineLength*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets the console log line length
##
## @return Console log line length
## ```
proc orxConsole_GetCompletionCount*(pu32MaxLength: ptr orxU32): orxU32 {.importc,
cdecl, imporxHdr.}
## ```
## Gets current completions count
##
## @param[out] _pu32MaxLength Max completion length, orxNULL to ignore
##
## @return Current completions count
## ```
proc orxConsole_GetCompletion*(u32Index: orxU32; pbActive: ptr orxBOOL): ptr orxCHAR {.
importc, cdecl, imporxHdr.}
## ```
## Gets completion
##
## @param[in] _u32Index Index of the active completion
##
## @param[out] _pbActive Is completion active, orxNULL to ignore
##
## @return Completion string if found, orxSTRING_EMPTY otherwise
## ```
proc orxConsole_GetTrailLogLine*(u32TrailLineIndex: orxU32): ptr orxCHAR {.importc,
cdecl, imporxHdr.}
## ```
## Gets log line from the end (trail), using internal offset
##
## @param[in] _u32TrailLineIndex Index of the line starting from end
##
## @return orxTRING / orxSTRING_EMPTY
## ```
proc orxConsole_GetTrailLogLineOffset*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets log line offset from the end
##
## @return Log line offset from the end
## ```
proc orxConsole_GetInput*(pu32CursorIndex: ptr orxU32): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets input text
##
## @param[out] _pu32CursorIndex Index (ie. character position) of the cursor (any character past it has not been validated)
##
## @return orxTRING / orxSTRING_EMPTY
## ```
proc orxEvent_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Event module setup
## ```
proc orxEvent_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Initializes the event Module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxEvent_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the event Module
## ```
proc orxEvent_AddHandler*(eEventType: orxEVENT_TYPE;
pfnEventHandler: orxEVENT_HANDLER): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Adds an event handler
##
## @param[in] _eEventType Concerned type of event
##
## @param[in] _pfnEventHandler Event handler to add
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxEvent_AddHandlerWithContext*(eEventType: orxEVENT_TYPE;
pfnEventHandler: orxEVENT_HANDLER;
pContext: pointer): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Adds an event handler with user-defined context
##
## @param[in] _eEventType Concerned type of event
##
## @param[in] _pfnEventHandler Event handler to add
##
## @param[in] _pContext Context that will be stored in events sent to this handler
##
## return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxEvent_RemoveHandler*(eEventType: orxEVENT_TYPE;
pfnEventHandler: orxEVENT_HANDLER): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Removes an event handler
##
## @param[in] _eEventType Concerned type of event
##
## @param[in] _pfnEventHandler Event handler to remove
##
## return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxEvent_RemoveHandlerWithContext*(eEventType: orxEVENT_TYPE;
pfnEventHandler: orxEVENT_HANDLER;
pContext: pointer): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Removes an event handler which matches given context
##
## @param[in] _eEventType Concerned type of event
##
## @param[in] _pfnEventHandler Event handler to remove
##
## @param[in] _pContext Context of the handler to remove, orxNULL for removing all occurrences regardless of their context
##
## return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxEvent_SetHandlerIDFlags*(pfnEventHandler: orxEVENT_HANDLER;
eEventType: orxEVENT_TYPE; pContext: pointer;
u32AddIDFlags: orxU32; u32RemoveIDFlags: orxU32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets an event handler's ID flags (use orxEVENT_GET_FLAG(ID) in order to get the flag that matches an ID)
##
## @param[in] _pfnEventHandler Concerned event handler, must have been previously added for the given type
##
## @param[in] _eEventType Concerned type of event
##
## @param[in] _pContext Context of the handler to update, orxNULL for updating all occurrences regardless of their context
##
## @param[in] _u32AddIDFlags ID flags to add
##
## @param[in] _u32RemoveIDFlags ID flags to remove
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxEvent_Send*(pstEvent: ptr orxEVENT): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Sends an event
##
## @param[in] _pstEvent Event to send
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxEvent_SendShort*(eEventType: orxEVENT_TYPE; eEventID: orxENUM): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sends a simple event
##
## @param[in] _eEventType Event type
##
## @param[in] _eEventID Event ID
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxEvent_IsSending*(): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is currently sending an event?
##
## @return orxTRUE / orxFALSE
## ```
proc orxLocale_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Locale module setup
## ```
proc orxLocale_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Initializes the Locale Module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxLocale_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the Locale Module
## ```
proc orxLocale_SelectLanguage*(zLanguage: ptr orxCHAR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Selects current working language
##
## @param[in] _zLanguage Language to select
## ```
proc orxLocale_GetCurrentLanguage*(): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets current language
##
## @return Current selected language
## ```
proc orxLocale_HasLanguage*(zLanguage: ptr orxCHAR): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Has given language? (if not correctly defined, false will be returned)
##
## @param[in] _zLanguage Concerned language
##
## @return orxTRUE / orxFALSE
## ```
proc orxLocale_GetLanguageCount*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets language count
##
## @return Number of languages defined
## ```
proc orxLocale_GetLanguage*(u32LanguageIndex: orxU32): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets language at the given index
##
## @param[in] _u32LanguageIndex Index of the desired language
##
## @return orxSTRING if exist, orxSTRING_EMPTY otherwise
## ```
proc orxLocale_HasString*(zKey: ptr orxCHAR): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Has string for the given key?
##
## @param[in] _zKey Key name
##
## @return orxTRUE / orxFALSE
## ```
proc orxLocale_GetString*(zKey: ptr orxCHAR): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Reads a string in the current language for the given key
##
## @param[in] _zKey Key name
##
## @return The value
## ```
proc orxLocale_SetString*(zKey: ptr orxCHAR; zValue: ptr orxCHAR): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Writes a string in the current language for the given key
##
## @param[in] _zKey Key name
##
## @param[in] _zValue Value
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxLocale_GetKeyCount*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets key count for the current language
##
## @return Key count the current language if valid, 0 otherwise
## ```
proc orxLocale_GetKey*(u32KeyIndex: orxU32): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets key for the current language at the given index
##
## @param[in] _u32KeyIndex Index of the desired key
##
## @return orxSTRING if exist, orxNULL otherwise
## ```
proc orxResource_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Resource module setup
## ```
proc orxResource_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the resource module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxResource_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the resource module
## ```
proc orxResource_GetGroupCount*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets number of resource groups
##
## @return Number of resource groups
## ```
proc orxResource_GetGroup*(u32Index: orxU32): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets resource group at given index
##
## @param[in] _u32Index Index of resource group
##
## @return Resource group if index is valid, orxNULL otherwise
## ```
proc orxResource_AddStorage*(zGroup: ptr orxCHAR; zStorage: ptr orxCHAR;
bAddFirst: orxBOOL): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Adds a storage for a given resource group
##
## @param[in] _zGroup Concerned resource group
##
## @param[in] _zStorage Description of the storage, as understood by one of the resource type
##
## @param[in] _bAddFirst If true this storage will be usedbefore* any already added ones, otherwise it'll be usedafter* all those
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxResource_RemoveStorage*(zGroup: ptr orxCHAR; zStorage: ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Removes a storage for a given resource group
##
## @param[in] _zGroup Concerned resource group
##
## @param[in] _zStorage Concerned storage
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxResource_GetStorageCount*(zGroup: ptr orxCHAR): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets number of storages for a given resource group
##
## @param[in] _zGroup Concerned resource group
##
## @return Number of storages for this resource group
## ```
proc orxResource_GetStorage*(zGroup: ptr orxCHAR; u32Index: orxU32): ptr orxCHAR {.
importc, cdecl, imporxHdr.}
## ```
## Gets storage at given index for a given resource group
##
## @param[in] _zGroup Concerned resource group
##
## @param[in] _u32Index Index of storage
##
## @return Storage if index is valid, orxNULL otherwise
## ```
proc orxResource_ReloadStorage*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Reloads storage from config
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxResource_Locate*(zGroup: ptr orxCHAR; zName: ptr orxCHAR): ptr orxCHAR {.importc,
cdecl, imporxHdr.}
## ```
## Gets the location of anexisting* resource for a given group, location gets cached if found
##
## @param[in] _zGroup Concerned resource group
##
## @param[in] _zName Name of the resource to locate
##
## @return Location string if found, orxNULL otherwise
## ```
proc orxResource_LocateInStorage*(zGroup: ptr orxCHAR; zStorage: ptr orxCHAR;
zName: ptr orxCHAR): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets the location for a resource (existing or not) in aspecific storage*, for a given group. The location doesn't get cached and thus needs to be copied by the caller before the next call
##
## @param[in] _zGroup Concerned resource group
##
## @param[in] _zStorage Concerned storage, if orxNULL then the highest priority storage will be used
##
## @param[in] _zName Name of the resource
##
## @return Location string if found, orxNULL otherwise
## ```
proc orxResource_GetPath*(zLocation: ptr orxCHAR): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets the resource path from a location
##
## @param[in] _zLocation Location of the concerned resource
##
## @return Path string if valid, orxSTRING_EMPTY otherwise
## ```
proc orxResource_GetType*(zLocation: ptr orxCHAR): ptr orxRESOURCE_TYPE_INFO {.
importc, cdecl, imporxHdr.}
## ```
## Gets the resource type from a location
##
## @param[in] _zLocation Location of the concerned resource
##
## @return orxRESOURCE_TYPE_INFO if valid, orxNULL otherwise
## ```
proc orxResource_GetTime*(zLocation: ptr orxCHAR): orxS64 {.importc, cdecl, imporxHdr.}
## ```
## Gets the time of last modification of a resource
##
## @param[in] _zLocation Location of the concerned resource
##
## @return Time of last modification, in seconds since epoch, if found, 0 otherwise
## ```
proc orxResource_Open*(zLocation: ptr orxCHAR; bEraseMode: orxBOOL): orxHANDLE {.
importc, cdecl, imporxHdr.}
## ```
## Opens the resource at the given location
##
## @param[in] _zLocation Location of the resource to open
##
## @param[in] _bEraseMode If true, the file will be erased if existing or created otherwise, if false, no content will get destroyed when opening
##
## @return Handle to the open location, orxHANDLE_UNDEFINED otherwise
## ```
proc orxResource_Close*(hResource: orxHANDLE) {.importc, cdecl, imporxHdr.}
## ```
## Closes a resource
##
## @param[in] _hResource Concerned resource
## ```
proc orxResource_GetLocation*(hResource: orxHANDLE): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets the literal location of a resource
##
## @param[in] _hResource Concerned resource
##
## @return Literal location string
## ```
proc orxResource_GetSize*(hResource: orxHANDLE): orxS64 {.importc, cdecl, imporxHdr.}
## ```
## Gets the size, in bytes, of a resource
##
## @param[in] _hResource Concerned resource
##
## @return Size of the resource, in bytes
## ```
proc orxResource_Seek*(hResource: orxHANDLE; s64Offset: orxS64;
eWhence: orxSEEK_OFFSET_WHENCE): orxS64 {.importc, cdecl,
imporxHdr.}
## ```
## Seeks a position in a given resource (moves cursor)
##
## @param[in] _hResource Concerned resource
##
## @param[in] _s64Offset Number of bytes to offset from 'origin'
##
## @param[in] _eWhence Starting point for the offset computation (start, current position or end)
##
## @return Absolute cursor position
## ```
proc orxResource_Tell*(hResource: orxHANDLE): orxS64 {.importc, cdecl, imporxHdr.}
## ```
## Tells the position of the cursor in a given resource
##
## @param[in] _hResource Concerned resource
##
## @return Position (offset), in bytes
## ```
proc orxResource_Read*(hResource: orxHANDLE; s64Size: orxS64; pBuffer: pointer;
pfnCallback: orxRESOURCE_OP_FUNCTION; pContext: pointer): orxS64 {.
importc, cdecl, imporxHdr.}
## ```
## Reads data from a resource
##
## @param[in] _hResource Concerned resource
##
## @param[in] _s64Size Size to read (in bytes)
##
## @param[out] _pBuffer Buffer that will be filled by the read data
##
## @param[in] _pfnCallback Callback that will get called after asynchronous operation; if orxNULL, operation will be synchronous
##
## @param[in] _pContext Context that will be transmitted to the callback when called
##
## @return Size of the read data, in bytes or -1 for successful asynchronous call
## ```
proc orxResource_Write*(hResource: orxHANDLE; s64Size: orxS64; pBuffer: pointer;
pfnCallback: orxRESOURCE_OP_FUNCTION; pContext: pointer): orxS64 {.
importc, cdecl, imporxHdr.}
## ```
## Writes data to a resource
##
## @param[in] _hResource Concerned resource
##
## @param[in] _s64Size Size to write (in bytes)
##
## @param[out] _pBuffer Buffer that will be written
##
## @param[in] _pfnCallback Callback that will get called after asynchronous operation; if orxNULL, operation will be synchronous
##
## @param[in] _pContext Context that will be transmitted to the callback when called
##
## @return Size of the written data, in bytes, 0 if nothing could be written/no write support for this resource type or -1 for successful asynchronous call
## ```
proc orxResource_Delete*(zLocation: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Deletes a resource, given its location
##
## @param[in] _zLocation Location of the resource to delete
##
## @return orxSTATUS_SUCCESS upon success, orxSTATUS_FAILURE otherwise
## ```
proc orxResource_GetPendingOpCount*(hResource: orxHANDLE): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets pending operation count for a given resource
##
## @param[in] _hResource Concerned resource
##
## @return Number of pending asynchronous operations for that resource
## ```
proc orxResource_GetTotalPendingOpCount*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets total pending operation count
##
## @return Number of total pending asynchronous operations
## ```
proc orxResource_RegisterType*(pstInfo: ptr orxRESOURCE_TYPE_INFO): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Registers a new resource type
##
## @param[in] _pstInfo Info describing the new resource type and how to handle it
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxResource_GetTypeCount*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets number of registered resource types
##
## @return Number of registered resource types
## ```
proc orxResource_GetTypeTag*(u32Index: orxU32): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets registered type info at given index
##
## @param[in] _u32Index Index of storage
##
## @return Type tag string if index is valid, orxNULL otherwise
## ```
proc orxResource_ClearCache*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Clears cache
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxThread_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Thread module setup
## ```
proc orxThread_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the thread module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxThread_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the thread module
## ```
proc orxThread_Start*(pfnRun: orxTHREAD_FUNCTION; zName: ptr orxCHAR;
pContext: pointer): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Starts a new thread
##
## @param[in] _pfnRun Function to run on the new thread
##
## @param[in] _zName Thread's name
##
## @param[in] _pContext Context that will be transmitted to the function when called
##
## @return Thread ID if successful, orxU32_UNDEFINED otherwise
## ```
proc orxThread_Join*(u32ThreadID: orxU32): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Joins a thread (blocks & waits until the other thread finishes)
##
## @param[in] _u32ThreadID ID of the thread for which to wait
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxThread_JoinAll*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Joins all threads (blocks & waits until the other threads finish)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxThread_GetName*(u32ThreadID: orxU32): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets a thread name
##
## @param[in] _u32ThreadID ID of the concerned thread
##
## @return Thread name
## ```
proc orxThread_Enable*(u32EnableThreads: orxU32; u32DisableThreads: orxU32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Enables / disables threads
##
## @param[in] _u32EnableThreads Mask of threads to enable (1 << ThreadID)
##
## @param[in] _u32DisableThreads Mask of threads to disable (1 << ThreadID)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxThread_GetCurrent*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets current thread ID
##
## @return Current thread ID
## ```
proc orxThread_Yield*() {.importc, cdecl, imporxHdr.}
## ```
## Yields to other threads
## ```
proc orxThread_CreateSemaphore*(u32Value: orxU32): ptr orxTHREAD_SEMAPHORE {.importc,
cdecl, imporxHdr.}
## ```
## Inits a semaphore with a given value
##
## @param[in] _u32Value Value with which to init the semaphore
##
## @return orxTHREAD_SEMAPHORE / orxNULL
## ```
proc orxThread_DeleteSemaphore*(pstSemaphore: ptr orxTHREAD_SEMAPHORE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Deletes a semaphore
##
## @param[in] _pstSemaphore Concerned semaphore
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxThread_WaitSemaphore*(pstSemaphore: ptr orxTHREAD_SEMAPHORE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Waits for a semaphore
##
## @param[in] _pstSemaphore Concerned semaphore
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxThread_SignalSemaphore*(pstSemaphore: ptr orxTHREAD_SEMAPHORE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Signals a semaphore
##
## @param[in] _pstSemaphore Concerned semaphore
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxThread_RunTask*(pfnRun: orxTHREAD_FUNCTION; pfnThen: orxTHREAD_FUNCTION;
pfnElse: orxTHREAD_FUNCTION; pContext: pointer): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Runs an asynchronous task and optional follow-ups
##
## @param[in] _pfnRun Asynchronous task to run, executed on a different thread dedicated to tasks, if orxNULL defaults to an empty task that always succeed
##
## @param[in] _pfnThen Executed (on the main thread) if Run doesnot* return orxSTATUS_FAILURE, can be orxNULL
##
## @param[in] _pfnElse Executed (on the main thread) if Run returns orxSTATUS_FAILURE, can be orxNULL
##
## @param[in] _pContext Context that will be transmitted to all the task functions
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxThread_GetTaskCount*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets number of pending asynchronous tasks awaiting full completion (might pump task notifications if called from main thread)
##
## @return Number of pending asynchronous tasks
## ```
proc orxThread_SetCallbacks*(pfnStart: orxTHREAD_FUNCTION;
pfnStop: orxTHREAD_FUNCTION; pContext: pointer): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets callbacks to run when starting and stopping new threads
##
## @param[in] _pfnStart Function to run whenever a new thread is started
##
## @param[in] _pfnStop Function to run whenever a thread is stopped
##
## @param[in] _pContext Context that will be transmitted to each callback
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFPS_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Orx - Portable Game Engine
##
##
##
## Copyright (c) 2008-2020 Orx-Project
##
##
##
## This software is provided 'as-is', without any express or implied
##
## warranty. In no event will the authors be held liable for any damages
##
## arising from the use of this software.
##
##
##
## Permission is granted to anyone to use this software for any purpose,
##
## including commercial applications, and to alter it and redistribute it
##
## freely, subject to the following restrictions:
##
##
##
## 1. The origin of this software must not be misrepresented; you must not
##
## claim that you wrote the original software. If you use this software
##
## in a product, an acknowledgment in the product documentation would be
##
## appreciated but is not required.
##
##
##
## 2. Altered source versions must be plainly marked as such, and must not be
##
## misrepresented as being the original software.
##
##
##
## 3. This notice may not be removed or altered from any source
##
## distribution.
##
##
##
##
## @file orxInclude.h
##
## @date 12/09/2005
##
## @author iarwain@orx-project.org
##
##
##
## @todo
##
## - Add multi animation interpreter (for blends, transitions, etc...)
##
## - Add fixed point decimals
##
## - Add Matrix module
##
## - Update camera to use 3D matrix
##
## - Add network :)
##
##
##
##
## @addtogroup Orx
##
##
##
## Local include file
##
##
##
## @{
##
##
## @}
## Setups FPS module
## ```
proc orxFPS_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the FPS module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFPS_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the FPS module
## ```
proc orxFPS_IncreaseFrameCount*() {.importc, cdecl, imporxHdr.}
## ```
## Increases internal frame count
## ```
proc orxFPS_GetFPS*(): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets current FTP value
##
## @return orxU32
## ```
proc orxProfiler_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Setups Profiler module
## ```
proc orxProfiler_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the Profiler module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxProfiler_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the Profiler module
## ```
proc orxProfiler_GetIDFromName*(zName: ptr orxCHAR): orxS32 {.importc, cdecl, imporxHdr.}
## ```
## Gets a marker ID given a name
##
## @param[in] _zName Name of the marker
##
## @return Marker's ID / orxPROFILER_KS32_MARKER_ID_NONE
## ```
proc orxProfiler_IsMarkerIDValid*(s32MarkerID: orxS32): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Is the given marker valid? (Useful when storing markers in static variables and still allow normal hot restart)
##
## @param[in] _s32MarkerID ID of the marker to test
##
## @return orxTRUE / orxFALSE
## ```
proc orxProfiler_PushMarker*(s32MarkerID: orxS32) {.importc, cdecl, imporxHdr.}
## ```
## Pushes a marker (on a stack) and starts a timer for it
##
## @param[in] _s32MarkerID ID of the marker to push
## ```
proc orxProfiler_PopMarker*() {.importc, cdecl, imporxHdr.}
## ```
## Pops a marker (from the stack) and updates its cumulated time (using the last marker push time)
## ```
proc orxProfiler_EnableMarkerOperations*(bEnable: orxBOOL) {.importc, cdecl,
imporxHdr.}
## ```
## Enables marker push/pop operations
##
## @param[in] _bEnable Enable
## ```
proc orxProfiler_AreMarkerOperationsEnabled*(): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Are marker push/pop operations enabled?
##
## @return orxTRUE / orxFALSE
## ```
proc orxProfiler_Pause*(bPause: orxBOOL) {.importc, cdecl, imporxHdr.}
## ```
## Pauses/unpauses the profiler
##
## @param[in] _bPause Pause
## ```
proc orxProfiler_IsPaused*(): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is profiler paused?
##
## @return orxTRUE / orxFALSE
## ```
proc orxProfiler_ResetAllMarkers*() {.importc, cdecl, imporxHdr.}
## ```
## Resets all markers (usually called at the end of the frame)
## ```
proc orxProfiler_ResetAllMaxima*() {.importc, cdecl, imporxHdr.}
## ```
## Resets all maxima (usually called at a regular interval)
## ```
proc orxProfiler_GetResetTime*(): orxDOUBLE {.importc, cdecl, imporxHdr.}
## ```
## Gets the time elapsed since last reset
##
## @return Time elapsed since the last reset, in seconds
## ```
proc orxProfiler_GetMaxResetTime*(): orxDOUBLE {.importc, cdecl, imporxHdr.}
## ```
## Gets the maximum reset time
##
## @return Max reset time, in seconds
## ```
proc orxProfiler_GetMarkerCount*(): orxS32 {.importc, cdecl, imporxHdr.}
## ```
## Gets the number of registered markers used on the queried thread
##
## @return Number of registered markers
## ```
proc orxProfiler_GetNextMarkerID*(s32MarkerID: orxS32): orxS32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets the next registered marker ID
##
## @param[in] _s32MarkerID ID of the current marker, orxPROFILER_KS32_MARKER_ID_NONE to get the first one
##
## @return Next registered marker's ID / orxPROFILER_KS32_MARKER_ID_NONE if the current marker was the last one
## ```
proc orxProfiler_GetNextSortedMarkerID*(s32MarkerID: orxS32): orxS32 {.importc,
cdecl, imporxHdr.}
## ```
## Gets the ID of the next marker, sorted by their push time
##
## @param[in] _s32MarkerID ID of the current pushed marker, orxPROFILER_KS32_MARKER_ID_NONE to get the first one
##
## @return Next registered marker's ID / orxPROFILER_KS32_MARKER_ID_NONE if the current marker was the last one
## ```
proc orxProfiler_SelectQueryFrame*(u32QueryFrame: orxU32; u32ThreadID: orxU32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Selects the query frame for all GetMarker* functions below, in number of frame elapsed from the last one
##
## @param[in] _u32QueryFrame Query frame, in number of frame elapsed since the last one (ie. 0 -> last frame, 1 -> frame before last, ...)
##
## @param[in] _u32ThreadID Concerned thread ID, if no data is found for this thread, orxSTATUS_FAILURE is returned
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxProfiler_GetMarkerTime*(s32MarkerID: orxS32): orxDOUBLE {.importc, cdecl,
imporxHdr.}
## ```
## Gets the marker's cumulated time
##
## @param[in] _s32MarkerID Concerned marker ID
##
## @return Marker's cumulated time
## ```
proc orxProfiler_GetMarkerMaxTime*(s32MarkerID: orxS32): orxDOUBLE {.importc, cdecl,
imporxHdr.}
## ```
## Gets the marker's maximum cumulated time
##
## @param[in] _s32MarkerID Concerned marker ID
##
## @return Marker's max cumulated time
## ```
proc orxProfiler_GetMarkerName*(s32MarkerID: orxS32): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets the marker's name
##
## @param[in] _s32MarkerID Concerned marker ID
##
## @return Marker's name
## ```
proc orxProfiler_GetMarkerPushCount*(s32MarkerID: orxS32): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets the marker's push count
##
## @param[in] _s32MarkerID Concerned marker ID
##
## @return Number of time the marker has been pushed since last reset
## ```
proc orxProfiler_IsUniqueMarker*(s32MarkerID: orxS32): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Has the marker been pushed by a unique parent?
##
## @param[in] _s32MarkerID Concerned marker ID
##
## @return orxTRUE / orxFALSE
## ```
proc orxProfiler_GetUniqueMarkerStartTime*(s32MarkerID: orxS32): orxDOUBLE {.
importc, cdecl, imporxHdr.}
## ```
## Gets the uniquely pushed marker's start time
##
## @param[in] _s32MarkerID Concerned marker ID
##
## @return Marker's start time / 0.0
## ```
proc orxProfiler_GetUniqueMarkerDepth*(s32MarkerID: orxS32): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Gets the uniquely pushed marker's depth, 1 being the depth of the top level
##
## @param[in] _s32MarkerID Concerned marker ID
##
## @return Marker's push depth / 0 if this marker hasn't been uniquely pushed
## ```
proc orxGraphic_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Graphic module setup
## ```
proc orxGraphic_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the Graphic module
## ```
proc orxGraphic_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the Graphic module
## ```
proc orxGraphic_Create*(): ptr orxGRAPHIC {.importc, cdecl, imporxHdr.}
## ```
## Creates an empty graphic
##
## @return Created orxGRAPHIC / orxNULL
## ```
proc orxGraphic_CreateFromConfig*(zConfigID: ptr orxCHAR): ptr orxGRAPHIC {.importc,
cdecl, imporxHdr.}
## ```
## Creates a graphic from config
##
## @param[in] _zConfigID Config ID
##
## @ return orxGRAPHIC / orxNULL
## ```
proc orxGraphic_Delete*(pstGraphic: ptr orxGRAPHIC): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Deletes a graphic
##
## @param[in] _pstGraphic Graphic to delete
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_GetName*(pstGraphic: ptr orxGRAPHIC): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets graphic config name
##
## @param[in] _pstGraphic Concerned graphic
##
## @return orxSTRING / orxSTRING_EMPTY
## ```
proc orxGraphic_SetData*(pstGraphic: ptr orxGRAPHIC; pstData: ptr orxSTRUCTURE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets graphic data
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[in] _pstData Data structure to set / orxNULL
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_GetData*(pstGraphic: ptr orxGRAPHIC): ptr orxSTRUCTURE {.importc,
cdecl, imporxHdr.}
## ```
## Gets graphic data
##
## @param[in] _pstGraphic Concerned graphic
##
## @return OrxSTRUCTURE / orxNULL
## ```
proc orxGraphic_SetFlip*(pstGraphic: ptr orxGRAPHIC; bFlipX: orxBOOL; bFlipY: orxBOOL): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets graphic flipping
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[in] _bFlipX Flip it on X axis
##
## @param[in] _bFlipY Flip it on Y axis
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_GetFlip*(pstGraphic: ptr orxGRAPHIC; pbFlipX: ptr orxBOOL;
pbFlipY: ptr orxBOOL): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Gets graphic flipping
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[in] _pbFlipX X axis flipping
##
## @param[in] _pbFlipY Y axis flipping
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_SetPivot*(pstGraphic: ptr orxGRAPHIC; pvPivot: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets graphic pivot
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[in] _pvPivot Pivot to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_SetRelativePivot*(pstGraphic: ptr orxGRAPHIC; u32AlignFlags: orxU32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets relative graphic pivot
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[in] _u32AlignFlags Alignment flags
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_GetPivot*(pstGraphic: ptr orxGRAPHIC; pvPivot: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets graphic pivot
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[out] _pvPivot Graphic pivot
##
## @return orxPIVOT / orxNULL
## ```
proc orxGraphic_SetSize*(pstGraphic: ptr orxGRAPHIC; pvSize: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets graphic size
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[in] _pvSize Size to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_GetSize*(pstGraphic: ptr orxGRAPHIC; pvSize: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets graphic size
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[out] _pvSize Object's size
##
## @return orxVECTOR / orxNULL
## ```
proc orxGraphic_SetColor*(pstGraphic: ptr orxGRAPHIC; pstColor: ptr orxCOLOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets graphic color
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[in] _pstColor Color to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_SetRepeat*(pstGraphic: ptr orxGRAPHIC; fRepeatX: orxFLOAT;
fRepeatY: orxFLOAT): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Sets graphic repeat (wrap) value
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[in] _fRepeatX X-axis repeat value
##
## @param[in] _fRepeatY Y-axis repeat value
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_ClearColor*(pstGraphic: ptr orxGRAPHIC): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Clears graphic color
##
## @param[in] _pstGraphic Concerned graphic
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_HasColor*(pstGraphic: ptr orxGRAPHIC): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Graphic has color accessor
##
## @param[in] _pstGraphic Concerned graphic
##
## @return orxTRUE / orxFALSE
## ```
proc orxGraphic_GetColor*(pstGraphic: ptr orxGRAPHIC; pstColor: ptr orxCOLOR): ptr orxCOLOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets graphic color
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[out] _pstColor Object's color
##
## @return orxCOLOR / orxNULL
## ```
proc orxGraphic_GetRepeat*(pstGraphic: ptr orxGRAPHIC; pfRepeatX: ptr orxFLOAT;
pfRepeatY: ptr orxFLOAT): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Gets graphic repeat (wrap) values
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[out] _pfRepeatX X-axis repeat value
##
## @param[out] _pfRepeatY Y-axis repeat value
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_SetOrigin*(pstGraphic: ptr orxGRAPHIC; pvOrigin: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets graphic origin
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[in] _pvOrigin Origin coordinates
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_GetOrigin*(pstGraphic: ptr orxGRAPHIC; pvOrigin: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets graphic origin
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[out] _pvOrigin Origin coordinates
##
## @return Origin coordinates
## ```
proc orxGraphic_UpdateSize*(pstGraphic: ptr orxGRAPHIC): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Updates graphic size (recompute)
##
## @param[in] _pstGraphic Concerned graphic
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_SetSmoothing*(pstGraphic: ptr orxGRAPHIC;
eSmoothing: orxDISPLAY_SMOOTHING): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets graphic smoothing
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[in] _eSmoothing Smoothing type (enabled, default or none)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_GetSmoothing*(pstGraphic: ptr orxGRAPHIC): orxDISPLAY_SMOOTHING {.
importc, cdecl, imporxHdr.}
## ```
## Gets graphic smoothing
##
## @param[in] _pstGraphic Concerned graphic
##
## @return Smoothing type (enabled, default or none)
## ```
proc orxGraphic_SetBlendMode*(pstGraphic: ptr orxGRAPHIC;
eBlendMode: orxDISPLAY_BLEND_MODE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets object blend mode
##
## @param[in] _pstGraphic Concerned graphic
##
## @param[in] _eBlendMode Blend mode (alpha, multiply, add or none)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_ClearBlendMode*(pstGraphic: ptr orxGRAPHIC): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Clears graphic blend mode
##
## @param[in] _pstGraphic Concerned graphic
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxGraphic_HasBlendMode*(pstGraphic: ptr orxGRAPHIC): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Graphic has blend mode accessor
##
## @param[in] _pstGraphic Concerned graphic
##
## @return orxTRUE / orxFALSE
## ```
proc orxGraphic_GetBlendMode*(pstGraphic: ptr orxGRAPHIC): orxDISPLAY_BLEND_MODE {.
importc, cdecl, imporxHdr.}
## ```
## Gets graphic blend mode
##
## @param[in] _pstGraphic Concerned graphic
##
## @return Blend mode (alpha, multiply, add or none)
## ```
proc orxScreenshot_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Screenshot module setup
## ```
proc orxScreenshot_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the screenshot module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxScreenshot_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the screenshot module
## ```
proc orxScreenshot_Capture*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Captures a screenshot
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxText_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Setups the text module
## ```
proc orxText_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the text module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxText_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the text module
## ```
proc orxText_Create*(): ptr orxTEXT {.importc, cdecl, imporxHdr.}
## ```
## Creates an empty text
##
## @return orxTEXT / orxNULL
## ```
proc orxText_CreateFromConfig*(zConfigID: ptr orxCHAR): ptr orxTEXT {.importc, cdecl,
imporxHdr.}
## ```
## Creates a text from config
##
## @param[in] _zConfigID Config ID
##
## @return orxTEXT / orxNULL
## ```
proc orxText_Delete*(pstText: ptr orxTEXT): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Deletes a text
##
## @param[in] _pstText Concerned text
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxText_GetName*(pstText: ptr orxTEXT): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets text name
##
## @param[in] _pstText Concerned text
##
## @return Text name / orxNULL
## ```
proc orxText_GetLineCount*(pstText: ptr orxTEXT): orxU32 {.importc, cdecl, imporxHdr.}
## ```
## Gets text's line count
##
## @param[in] _pstText Concerned text
##
## @return orxU32
## ```
proc orxText_GetLineSize*(pstText: ptr orxTEXT; u32Line: orxU32;
pfWidth: ptr orxFLOAT; pfHeight: ptr orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Gets text's line size
##
## @param[in] _pstText Concerned text
##
## @param[out] _u32Line Line index
##
## @param[out] _pfWidth Line's width
##
## @param[out] _pfHeight Line's height
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxText_IsFixedSize*(pstText: ptr orxTEXT): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is text's size fixed? (ie. manually constrained with orxText_SetSize())
##
## @param[in] _pstText Concerned text
##
## @return orxTRUE / orxFALSE
## ```
proc orxText_GetSize*(pstText: ptr orxTEXT; pfWidth: ptr orxFLOAT;
pfHeight: ptr orxFLOAT): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Gets text size
##
## @param[in] _pstText Concerned text
##
## @param[out] _pfWidth Text's width
##
## @param[out] _pfHeight Text's height
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxText_GetString*(pstText: ptr orxTEXT): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets text string
##
## @param[in] _pstText Concerned text
##
## @return Text string / orxSTRING_EMPTY
## ```
proc orxText_GetFont*(pstText: ptr orxTEXT): ptr orxFONT {.importc, cdecl, imporxHdr.}
## ```
## Gets text font
##
## @param[in] _pstText Concerned text
##
## @return Text font / orxNULL
## ```
proc orxText_SetSize*(pstText: ptr orxTEXT; fWidth: orxFLOAT; fHeight: orxFLOAT;
pzExtra: ptr ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Sets text's size, will lead to reformatting if text doesn't fit (pass width = -1.0f to restore text's original size, ie. unconstrained)
##
## @param[in] _pstText Concerned text
##
## @param[in] _fWidth Max width for the text, remove any size constraint if negative
##
## @param[in] _fHeight Max height for the text, ignored if negative (ie. unconstrained height)
##
## @param[in] _pzExtra Text that wouldn't fit inside the box if height is provided, orxSTRING_EMPTY if no extra, orxNULL to ignore
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxText_SetString*(pstText: ptr orxTEXT; zString: ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets text string
##
## @param[in] _pstText Concerned text
##
## @param[in] _zString String to contain
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxText_SetFont*(pstText: ptr orxTEXT; pstFont: ptr orxFONT): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Sets text font
##
## @param[in] _pstText Concerned text
##
## @param[in] _pstFont Font / orxNULL to use default
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFile_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## File module setup
## ```
proc orxFile_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the File Module
## ```
proc orxFile_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the File Module
## ```
proc orxFile_GetHomeDirectory*(zSubPath: ptr orxCHAR): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets current user's home directory using linux separators (without trailing separator)
##
## @param[in] _zSubPath Sub-path to append to the home directory, orxNULL for none
##
## @return Current user's home directory, use it immediately or copy it as will be modified by the next call to orxFile_GetHomeDirectory() or orxFile_GetApplicationSaveDirectory()
## ```
proc orxFile_GetApplicationSaveDirectory*(zSubPath: ptr orxCHAR): ptr orxCHAR {.
importc, cdecl, imporxHdr.}
## ```
## Gets current user's application save directory using linux separators (without trailing separator)
##
## @param[in] _zSubPath Sub-path to append to the application save directory, orxNULL for none
##
## @return Current user's application save directory, use it immediately or copy it as it will be modified by the next call to orxFile_GetHomeDirectory() or orxFile_GetApplicationSaveDirectory()
## ```
proc orxFile_Exists*(zFileName: ptr orxCHAR): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Checks if a file/directory exists
##
## @param[in] _zFileName Concerned file/directory
##
## @return orxFALSE if _zFileName doesn't exist, orxTRUE otherwise
## ```
proc orxFile_FindFirst*(zSearchPattern: ptr orxCHAR; pstFileInfo: ptr orxFILE_INFO): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Starts a new file search: finds the first file/directory that will match to the given pattern (ex: /bin/foo*)
##
## @param[in] _zSearchPattern Pattern used for file/directory search
##
## @param[out] _pstFileInfo Information about the first file found
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFile_FindNext*(pstFileInfo: ptr orxFILE_INFO): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Continues a file search: finds the next occurrence of a pattern, the search has to be started with orxFile_FindFirst
##
## @param[in,out] _pstFileInfo Information about the last found file/directory
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFile_FindClose*(pstFileInfo: ptr orxFILE_INFO) {.importc, cdecl, imporxHdr.}
## ```
## Closes a search (frees the memory allocated for this search)
##
## @param[in] _pstFileInfo Information returned during search
## ```
proc orxFile_GetInfo*(zFileName: ptr orxCHAR; pstFileInfo: ptr orxFILE_INFO): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Retrieves a file/directory information
##
## @param[in] _zFileName Concerned file/directory name
##
## @param[out] _pstFileInfo Information of the file/directory
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFile_Remove*(zFileName: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Removes a file or an empty directory
##
## @param[in] _zFileName Concerned file / directory
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFile_MakeDirectory*(zName: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Makes a directory, works recursively if needed
##
## @param[in] _zName Name of the directory to make
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFile_Open*(zFileName: ptr orxCHAR; u32OpenFlags: orxU32): ptr orxFILE {.importc,
cdecl, imporxHdr.}
## ```
## Opens a file for later read or write operation
##
## @param[in] _zFileName Full file's path to open
##
## @param[in] _u32OpenFlags List of used flags when opened
##
## @return a File pointer (or orxNULL if an error has occurred)
## ```
proc orxFile_Read*(pReadData: pointer; s64ElemSize: orxS64; s64NbElem: orxS64;
pstFile: ptr orxFILE): orxS64 {.importc, cdecl, imporxHdr.}
## ```
## Reads data from a file
##
## @param[out] _pReadData Buffer that will contain read data
##
## @param[in] _s64ElemSize Size of 1 element
##
## @param[in] _s64NbElem Number of elements
##
## @param[in] _pstFile Pointer to the file descriptor
##
## @return Returns the number of read elements (not bytes)
## ```
proc orxFile_Write*(pDataToWrite: pointer; s64ElemSize: orxS64; s64NbElem: orxS64;
pstFile: ptr orxFILE): orxS64 {.importc, cdecl, imporxHdr.}
## ```
## Writes data to a file
##
## @param[in] _pDataToWrite Buffer that contains the data to write
##
## @param[in] _s64ElemSize Size of 1 element
##
## @param[in] _s64NbElem Number of elements
##
## @param[in] _pstFile Pointer to the file descriptor
##
## @return Returns the number of written elements (not bytes)
## ```
proc orxFile_Delete*(zFileName: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Deletes a file
##
## @param[in] _zFileName Full file's path to delete
##
## @return orxSTATUS_SUCCESS upon success, orxSTATUS_FAILURE otherwise
## ```
proc orxFile_Seek*(pstFile: ptr orxFILE; s64Position: orxS64;
eWhence: orxSEEK_OFFSET_WHENCE): orxS64 {.importc, cdecl, imporxHdr.}
## ```
## Seeks to a position in the given file
##
## @param[in] _pstFile Concerned file
##
## @param[in] _s64Position Position (from start) where to set the indicator
##
## @param[in] _eWhence Starting point for the offset computation (start, current position or end)
##
## @return Absolute cursor position if successful, -1 otherwise
## ```
proc orxFile_Tell*(pstFile: ptr orxFILE): orxS64 {.importc, cdecl, imporxHdr.}
## ```
## Tells the current position of the indicator in a file
##
## @param[in] _pstFile Concerned file
##
## @return Returns the current position of the file indicator, -1 is invalid
## ```
proc orxFile_GetSize*(pstFile: ptr orxFILE): orxS64 {.importc, cdecl, imporxHdr.}
## ```
## Retrieves a file's size
##
## @param[in] _pstFile Concerned file
##
## @return Returns the length of the file, <= 0 if invalid
## ```
proc orxFile_GetTime*(pstFile: ptr orxFILE): orxS64 {.importc, cdecl, imporxHdr.}
## ```
## Retrieves a file's time of last modification
##
## @param[in] _pstFile Concerned file
##
## @return Returns the time of the last modification, in seconds, since epoch
## ```
proc orxFile_Print*(pstFile: ptr orxFILE; zString: ptr orxCHAR): orxS32 {.importc, cdecl,
imporxHdr, varargs.}
## ```
## Prints a formatted string to a file
##
## @param[in] _pstFile Pointer to the file descriptor
##
## @param[in] _zString Formatted string
##
## @return Returns the number of written characters
## ```
proc orxFile_Close*(pstFile: ptr orxFILE): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Closes an oppened file
##
## @param[in] _pstFile File's pointer to close
##
## @return Returns the status of the operation
## ```
proc orxParam_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Setups param module
## ```
proc orxParam_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the param Module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxParam_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the param module
## ```
proc orxParam_Register*(pstParam: ptr orxPARAM): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Registers a new parameter
##
## @param[in] _pstParam Information about the option to register
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxParam_DisplayHelp*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Displays help if requested
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxParam_SetArgs*(u32NbParams: orxU32; azParams: UncheckedArray[ptr orxCHAR]): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets the command line arguments
##
## @param[in] _u32NbParams Number of read parameters
##
## @param[in] _azParams List of parameters
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxAABox_IsInside*(pstBox: ptr orxAABOX; pvPosition: ptr orxVECTOR): orxBOOL {.
importc, cdecl, imporxHdr.}
## ```
## Is position inside axis aligned box test
##
## @param[in] _pstBox Box to test against position
##
## @param[in] _pvPosition Position to test against the box
##
## @return orxTRUE if position is inside the box, orxFALSE otherwise
## ```
proc orxAABox_TestIntersection*(pstBox1: ptr orxAABOX; pstBox2: ptr orxAABOX): orxBOOL {.
importc, cdecl, imporxHdr.}
## ```
## Tests axis aligned box intersection
##
## @param[in] _pstBox1 First box operand
##
## @param[in] _pstBox2 Second box operand
##
## @return orxTRUE if boxes intersect, orxFALSE otherwise
## ```
proc orxAABox_Test2DIntersection*(pstBox1: ptr orxAABOX; pstBox2: ptr orxAABOX): orxBOOL {.
importc, cdecl, imporxHdr.}
## ```
## Tests axis aligned box 2D intersection (no Z-axis test)
##
## @param[in] _pstBox1 First box operand
##
## @param[in] _pstBox2 Second box operand
##
## @return orxTRUE if boxes intersect in 2D, orxFALSE otherwise
## ```
proc orxFrame_GetIgnoreFlagValues*(zFlags: ptr orxCHAR): orxU32 {.importc, cdecl,
imporxHdr.}
## ```
## Get ignore flag values
##
## @param[in] _zFlags Literal ignore flags
##
## @return Ignore flags
## ```
proc orxFrame_GetIgnoreFlagNames*(u32Flags: orxU32): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Get ignore flag names (beware: result won't persist from one call to the other)
##
## @param[in] _zFlags Literal ignore flags
##
## @return Ignore flags names
## ```
proc orxFrame_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Setups the frame module
## ```
proc orxFrame_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the frame module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFrame_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the frame module
## ```
proc orxFrame_Create*(u32Flags: orxU32): ptr orxFRAME {.importc, cdecl, imporxHdr.}
## ```
## Creates a frame
##
## @param[in] _u32Flags Flags for created animation
##
## @return Created orxFRAME / orxNULL
## ```
proc orxFrame_Delete*(pstFrame: ptr orxFRAME): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Deletes a frame
##
## @param[in] _pstFrame Frame to delete
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxFrame_SetParent*(pstFrame: ptr orxFRAME; pstParent: ptr orxFRAME) {.importc,
cdecl, imporxHdr.}
## ```
## Sets frame parent
##
## @param[in] _pstFrame Concerned frame
##
## @param[in] _pstParent Parent frame to set
## ```
proc orxFrame_GetParent*(pstFrame: ptr orxFRAME): ptr orxFRAME {.importc, cdecl,
imporxHdr.}
## ```
## Get frame parent
##
## @param[in] _pstFrame Concerned frame
##
## @return orxFRAME / orxNULL
## ```
proc orxFrame_GetChild*(pstFrame: ptr orxFRAME): ptr orxFRAME {.importc, cdecl,
imporxHdr.}
## ```
## Gets frame first child
##
## @param[in] _pstFrame Concerned frame
##
## @return orxFRAME / orxNULL
## ```
proc orxFrame_GetSibling*(pstFrame: ptr orxFRAME): ptr orxFRAME {.importc, cdecl,
imporxHdr.}
## ```
## Gets frame next sibling
##
## @param[in] _pstFrame Concerned frame
##
## @return orxFRAME / orxNULL
## ```
proc orxFrame_IsRootChild*(pstFrame: ptr orxFRAME): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is a root child?
##
## @param[in] _pstFrame Concerned frame
##
## @return orxTRUE if its parent is root, orxFALSE otherwise
## ```
proc orxFrame_SetPosition*(pstFrame: ptr orxFRAME; eSpace: orxFRAME_SPACE;
pvPos: ptr orxVECTOR) {.importc, cdecl, imporxHdr.}
## ```
## Sets frame position
##
## @param[in] _pstFrame Concerned frame
##
## @param[in] _eSpace Coordinate space system to use
##
## @param[in] _pvPos Position to set
## ```
proc orxFrame_SetRotation*(pstFrame: ptr orxFRAME; eSpace: orxFRAME_SPACE;
fRotation: orxFLOAT) {.importc, cdecl, imporxHdr.}
## ```
## Sets frame rotation
##
## @param[in] _pstFrame Concerned frame
##
## @param[in] _eSpace Coordinate space system to use
##
## @param[in] _fRotation Rotation angle to set (radians)
## ```
proc orxFrame_SetScale*(pstFrame: ptr orxFRAME; eSpace: orxFRAME_SPACE;
pvScale: ptr orxVECTOR) {.importc, cdecl, imporxHdr.}
## ```
## Sets frame scale
##
## @param[in] _pstFrame Concerned frame
##
## @param[in] _eSpace Coordinate space system to use
##
## @param[in] _pvScale Scale to set
## ```
proc orxFrame_GetPosition*(pstFrame: ptr orxFRAME; eSpace: orxFRAME_SPACE;
pvPos: ptr orxVECTOR): ptr orxVECTOR {.importc, cdecl,
imporxHdr.}
## ```
## Gets frame position
##
## @param[in] _pstFrame Concerned frame
##
## @param[in] _eSpace Coordinate space system to use
##
## @param[out] _pvPos Position of the given frame
##
## @return orxVECTOR / orxNULL
## ```
proc orxFrame_GetRotation*(pstFrame: ptr orxFRAME; eSpace: orxFRAME_SPACE): orxFLOAT {.
importc, cdecl, imporxHdr.}
## ```
## Gets frame rotation
##
## @param[in] _pstFrame Concerned frame
##
## @param[in] _eSpace Coordinate space system to use
##
## @return Rotation of the given frame (radians)
## ```
proc orxFrame_GetScale*(pstFrame: ptr orxFRAME; eSpace: orxFRAME_SPACE;
pvScale: ptr orxVECTOR): ptr orxVECTOR {.importc, cdecl,
imporxHdr.}
## ```
## Gets frame scale
##
## @param[in] _pstFrame Concerned frame
##
## @param[in] _eSpace Coordinate space system to use
##
## @param[out] _pvScale Scale
##
## @return orxVECTOR / orxNULL
## ```
proc orxFrame_TransformPosition*(pstFrame: ptr orxFRAME; eSpace: orxFRAME_SPACE;
pvPos: ptr orxVECTOR): ptr orxVECTOR {.importc, cdecl,
imporxHdr.}
## ```
## Transforms a position given its input space (local -> global or global -> local)
##
## @param[in] _pstFrame Concerned frame
##
## @param[in] _eSpace Input coordinate space system to use
##
## @param[out] _pvPos Concerned position
##
## @return orxVECTOR / orxNULL
## ```
proc orxFrame_TransformRotation*(pstFrame: ptr orxFRAME; eSpace: orxFRAME_SPACE;
fRotation: orxFLOAT): orxFLOAT {.importc, cdecl,
imporxHdr.}
## ```
## Transforms a rotation given its input space (local -> global or global -> local)
##
## @param[in] _pstFrame Concerned frame
##
## @param[in] _eSpace Input coordinate space system to use
##
## @param[out] _fRotation Concerned rotation
##
## @return Transformed rotation (radians)
## ```
proc orxFrame_TransformScale*(pstFrame: ptr orxFRAME; eSpace: orxFRAME_SPACE;
pvScale: ptr orxVECTOR): ptr orxVECTOR {.importc, cdecl,
imporxHdr.}
## ```
## Transforms a scale given its input space (local -> global or global -> local)
##
## @param[in] _pstFrame Concerned frame
##
## @param[in] _eSpace Input coordinate space system to use
##
## @param[out] _pvScale Concerned scale
##
## @return orxVECTOR / orxNULL
## ```
proc orxSoundSystem_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## ************************************************************************
##
## Functions directly implemented by orx core
##
## ************************************************************************
## Sound system module setup
## ```
proc orxSoundSystem_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## ************************************************************************
##
## Functions extended by plugins
##
## ************************************************************************
## Inits the sound system module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSoundSystem_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the sound system module
## ```
proc orxSoundSystem_CreateSample*(u32ChannelNumber: orxU32; u32FrameNumber: orxU32;
u32SampleRate: orxU32): ptr orxSOUNDSYSTEM_SAMPLE {.
importc, cdecl, imporxHdr.}
## ```
## Creates an empty sample
##
## @param[in] _u32ChannelNumber Number of channels of the sample
##
## @param[in] _u32FrameNumber Number of frame of the sample (number of "samples" = number of frames number of channels)
##
## @param[in] _u32SampleRate Sampling rate of the sample (ie. number of frames per second)
##
## @return orxSOUNDSYSTEM_SAMPLE / orxNULL
## ```
proc orxSoundSystem_LoadSample*(zFilename: ptr orxCHAR): ptr orxSOUNDSYSTEM_SAMPLE {.
importc, cdecl, imporxHdr.}
## ```
## Loads a sound sample from file (cannot be played directly)
##
## @param[in] _zFilename Name of the file to load as a sample (completely loaded in memory, useful for sound effects)
##
## @return orxSOUNDSYSTEM_SAMPLE / orxNULL
## ```
proc orxSoundSystem_DeleteSample*(pstSample: ptr orxSOUNDSYSTEM_SAMPLE): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Deletes a sound sample
##
## @param[in] _pstSample Concerned sample
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSoundSystem_GetSampleInfo*(pstSample: ptr orxSOUNDSYSTEM_SAMPLE;
pu32ChannelNumber: ptr orxU32;
pu32FrameNumber: ptr orxU32;
pu32SampleRate: ptr orxU32): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Gets sample info
##
## @param[in] _pstSample Concerned sample
##
## @param[in] _pu32ChannelNumber Number of channels of the sample
##
## @param[in] _pu32FrameNumber Number of frame of the sample (number of "samples" = number of frames number of channels)
##
## @param[in] _pu32SampleRate Sampling rate of the sample (ie. number of frames per second)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSoundSystem_SetSampleData*(pstSample: ptr orxSOUNDSYSTEM_SAMPLE;
as16Data: ptr orxS16; u32SampleNumber: orxU32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets sample data
##
## @param[in] _pstSample Concerned sample
##
## @param[in] _as16Data Data to set
##
## @param[in] _u32SampleNumber Number of samples in the data array
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSoundSystem_CreateFromSample*(pstSample: ptr orxSOUNDSYSTEM_SAMPLE): ptr orxSOUNDSYSTEM_SOUND {.
importc, cdecl, imporxHdr.}
## ```
## Creates a sound from preloaded sample (can be played directly)
##
## @param[in] _pstSample Concerned sample
##
## @return orxSOUNDSYSTEM_SOUND / orxNULL
## ```
proc orxSoundSystem_CreateStream*(u32ChannelNumber: orxU32; u32SampleRate: orxU32;
zReference: ptr orxCHAR): ptr orxSOUNDSYSTEM_SOUND {.
importc, cdecl, imporxHdr.}
## ```
## Creates an empty stream
##
## @param[in] _u32ChannelNumber Number of channels for the stream
##
## @param[in] _u32SampleRate Sampling rate of the stream (ie. number of frames per second)
##
## @param[in] _zReference Reference name used for streaming events (usually the corresponding config ID)
##
## @return orxSOUNDSYSTEM_SOUND / orxNULL
## ```
proc orxSoundSystem_CreateStreamFromFile*(zFilename: ptr orxCHAR;
zReference: ptr orxCHAR): ptr orxSOUNDSYSTEM_SOUND {.importc, cdecl, imporxHdr.}
## ```
## Creates a streamed sound from file (can be played directly)
##
## @param[in] _zFilename Name of the file to load as a stream (won't be completely loaded in memory, useful for musics)
##
## @param[in] _zReference Reference name used for streaming events (usually the corresponding config ID)
##
## @return orxSOUNDSYSTEM_SOUND / orxNULL
## ```
proc orxSoundSystem_Delete*(pstSound: ptr orxSOUNDSYSTEM_SOUND): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Deletes a sound
##
## @param[in] _pstSound Concerned sound
## ```
proc orxSoundSystem_Play*(pstSound: ptr orxSOUNDSYSTEM_SOUND): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Plays a sound
##
## @param[in] _pstSound Concerned sound
##
## @return orxSTATUS_SUCCESS / orxSTATSUS_FAILURE
## ```
proc orxSoundSystem_Pause*(pstSound: ptr orxSOUNDSYSTEM_SOUND): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Pauses a sound
##
## @param[in] _pstSound Concerned sound
##
## @return orxSTATUS_SUCCESS / orxSTATSUS_FAILURE
## ```
proc orxSoundSystem_Stop*(pstSound: ptr orxSOUNDSYSTEM_SOUND): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Stops a sound
##
## @param[in] _pstSound Concerned sound
##
## @return orxSTATUS_SUCCESS / orxSTATSUS_FAILURE
## ```
proc orxSoundSystem_StartRecording*(zName: ptr orxCHAR; bWriteToFile: orxBOOL;
u32SampleRate: orxU32; u32ChannelNumber: orxU32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Starts recording
##
## @param[in] _zName Name for the recorded sound/file
##
## @param[in] _bWriteToFile Should write to file?
##
## @param[in] _u32SampleRate Sample rate, 0 for default rate (44100Hz)
##
## @param[in] _u32ChannelNumber Channel number, 0 for default mono channel
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSoundSystem_StopRecording*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Stops recording
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSoundSystem_HasRecordingSupport*(): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is recording possible on the current system?
##
## @return orxTRUE / orxFALSE
## ```
proc orxSoundSystem_SetVolume*(pstSound: ptr orxSOUNDSYSTEM_SOUND; fVolume: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets a sound volume
##
## @param[in] _pstSound Concerned sound
##
## @param[in] _fVolume Volume to set [0, 1]
##
## @return orxSTATUS_SUCCESS / orxSTATSUS_FAILURE
## ```
proc orxSoundSystem_SetPitch*(pstSound: ptr orxSOUNDSYSTEM_SOUND; fPitch: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets a sound pitch
##
## @param[in] _pstSound Concerned sound
##
## @param[in] _fPitch Pitch to set
##
## @return orxSTATUS_SUCCESS / orxSTATSUS_FAILURE
## ```
proc orxSoundSystem_SetTime*(pstSound: ptr orxSOUNDSYSTEM_SOUND; fTime: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets a sound time (ie. cursor/play position from beginning)
##
## @param[in] _pstSound Concerned sound
##
## @param[in] _fTime Time, in seconds
##
## @return orxSTATUS_SUCCESS / orxSTATSUS_FAILURE
## ```
proc orxSoundSystem_SetPosition*(pstSound: ptr orxSOUNDSYSTEM_SOUND;
pvPosition: ptr orxVECTOR): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Sets a sound position
##
## @param[in] _pstSound Concerned sound
##
## @param[in] _pvPosition Position to set
##
## @return orxSTATUS_SUCCESS / orxSTATSUS_FAILURE
## ```
proc orxSoundSystem_SetAttenuation*(pstSound: ptr orxSOUNDSYSTEM_SOUND;
fAttenuation: orxFLOAT): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Sets a sound attenuation
##
## @param[in] _pstSound Concerned Sound
##
## @param[in] _fAttenuation Desired attenuation
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSoundSystem_SetReferenceDistance*(pstSound: ptr orxSOUNDSYSTEM_SOUND;
fDistance: orxFLOAT): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Sets a sound reference distance
##
## @param[in] _pstSound Concerned Sound
##
## @param[in] _fDistance Within this distance, sound is perceived at its maximum volume
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSoundSystem_Loop*(pstSound: ptr orxSOUNDSYSTEM_SOUND; bLoop: orxBOOL): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Loops a sound
##
## @param[in] _pstSound Concerned sound
##
## @param[in] _bLoop Loop / no loop
##
## @return orxSTATUS_SUCCESS / orxSTATSUS_FAILURE
## ```
proc orxSoundSystem_GetVolume*(pstSound: ptr orxSOUNDSYSTEM_SOUND): orxFLOAT {.
importc, cdecl, imporxHdr.}
## ```
## Gets a sound volume
##
## @param[in] _pstSound Concerned sound
##
## @return Sound's volume
## ```
proc orxSoundSystem_GetPitch*(pstSound: ptr orxSOUNDSYSTEM_SOUND): orxFLOAT {.
importc, cdecl, imporxHdr.}
## ```
## Gets a sound pitch
##
## @param[in] _pstSound Concerned sound
##
## @return Sound's pitch
## ```
proc orxSoundSystem_GetTime*(pstSound: ptr orxSOUNDSYSTEM_SOUND): orxFLOAT {.importc,
cdecl, imporxHdr.}
## ```
## Gets a sound's time (ie. cursor/play position from beginning)
##
## @param[in] _pstSound Concerned sound
##
## @return Sound's time (cursor/play position), in seconds
## ```
proc orxSoundSystem_GetPosition*(pstSound: ptr orxSOUNDSYSTEM_SOUND;
pvPosition: ptr orxVECTOR): ptr orxVECTOR {.importc,
cdecl, imporxHdr.}
## ```
## Gets a sound position
##
## @param[in] _pstSound Concerned sound
##
## @param[out] _pvPosition Position to get
##
## @return Sound's position
## ```
proc orxSoundSystem_GetAttenuation*(pstSound: ptr orxSOUNDSYSTEM_SOUND): orxFLOAT {.
importc, cdecl, imporxHdr.}
## ```
## Gets a sound attenuation
##
## @param[in] _pstSound Concerned Sound
##
## @return Sound's attenuation
## ```
proc orxSoundSystem_GetReferenceDistance*(pstSound: ptr orxSOUNDSYSTEM_SOUND): orxFLOAT {.
importc, cdecl, imporxHdr.}
## ```
## Gets a sound reference distance
##
## @param[in] _pstSound Concerned Sound
##
## @return Sound's reference distance
## ```
proc orxSoundSystem_IsLooping*(pstSound: ptr orxSOUNDSYSTEM_SOUND): orxBOOL {.
importc, cdecl, imporxHdr.}
## ```
## Is sound looping?
##
## @param[in] _pstSound Concerned sound
##
## @return orxTRUE if looping, orxFALSE otherwise
## ```
proc orxSoundSystem_GetDuration*(pstSound: ptr orxSOUNDSYSTEM_SOUND): orxFLOAT {.
importc, cdecl, imporxHdr.}
## ```
## Gets a sound duration
##
## @param[in] _pstSound Concerned sound
##
## @return Sound's duration (seconds)
## ```
proc orxSoundSystem_GetStatus*(pstSound: ptr orxSOUNDSYSTEM_SOUND): orxSOUNDSYSTEM_STATUS {.
importc, cdecl, imporxHdr.}
## ```
## Gets a sound status (play/pause/stop)
##
## @param[in] _pstSound Concerned sound
##
## @return orxSOUNDSYSTEM_STATUS
## ```
proc orxSoundSystem_SetGlobalVolume*(fGlobalVolume: orxFLOAT): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Sets global volume
##
## @param[in] _fGlobalVolume Global volume to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSoundSystem_GetGlobalVolume*(): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets global volume
##
## @return Gobal volume
## ```
proc orxSoundSystem_SetListenerPosition*(pvPosition: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets listener position
##
## @param[in] _pvPosition Desired position
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSoundSystem_GetListenerPosition*(pvPosition: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets listener position
##
## @param[out] _pvPosition Listener's position
##
## @return orxVECTOR / orxNULL
## ```
proc orxSound_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## Sound module setup
## ```
proc orxSound_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Initializes the sound module
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the sound module
## ```
proc orxSound_Create*(): ptr orxSOUND {.importc, cdecl, imporxHdr.}
## ```
## Creates an empty sound
##
## @return Created orxSOUND / orxNULL
## ```
proc orxSound_CreateFromConfig*(zConfigID: ptr orxCHAR): ptr orxSOUND {.importc, cdecl,
imporxHdr.}
## ```
## Creates sound from config
##
## @param[in] _zConfigID Config ID
##
## @ return orxSOUND / orxNULL
## ```
proc orxSound_CreateWithEmptyStream*(u32ChannelNumber: orxU32;
u32SampleRate: orxU32; zName: ptr orxCHAR): ptr orxSOUND {.
importc, cdecl, imporxHdr.}
## ```
## Creates a sound with an empty stream (ie. you'll need to provide actual sound data for each packet sent to the sound card using the event system)
##
## @param[in] _u32ChannelNumber Number of channels of the stream
##
## @param[in] _u32SampleRate Sampling rate of the stream (ie. number of frames per second)
##
## @param[in] _zName Name to associate with this sound
##
## @return orxSOUND / orxNULL
## ```
proc orxSound_Delete*(pstSound: ptr orxSOUND): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Deletes sound
##
## @param[in] _pstSound Concerned Sound
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_ClearCache*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Clears cache (if any sound sample is still in active use, it'll remain in memory until not referenced anymore)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_CreateSample*(u32ChannelNumber: orxU32; u32FrameNumber: orxU32;
u32SampleRate: orxU32; zName: ptr orxCHAR): ptr orxSOUNDSYSTEM_SAMPLE {.
importc, cdecl, imporxHdr.}
## ```
## Creates a sample
##
## @param[in] _u32ChannelNumber Number of channels of the sample
##
## @param[in] _u32FrameNumber Number of frame of the sample (number of "samples" = number of frames number of channels)
##
## @param[in] _u32SampleRate Sampling rate of the sample (ie. number of frames per second)
##
## @param[in] _zName Name to associate with the sample
##
## @return orxSOUNDSYSTEM_SAMPLE / orxNULL
## ```
proc orxSound_GetSample*(zName: ptr orxCHAR): ptr orxSOUNDSYSTEM_SAMPLE {.importc,
cdecl, imporxHdr.}
## ```
## Gets a sample
##
## @param[in] _zName Sample's name
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_DeleteSample*(zName: ptr orxCHAR): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Deletes a sample
##
## @param[in] _zName Sample's name
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_LinkSample*(pstSound: ptr orxSOUND; zSampleName: ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Links a sample
##
## @param[in] _pstSound Concerned sound
##
## @param[in] _zSampleName Name of the sample to link (must already be loaded/created)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_UnlinkSample*(pstSound: ptr orxSOUND): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Unlinks (and deletes if not used anymore) a sample
##
## @param[in] _pstSound Concerned sound
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_IsStream*(pstSound: ptr orxSOUND): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is a stream (ie. music)?
##
## @param[in] _pstSound Concerned Sound
##
## @return orxTRUE / orxFALSE
## ```
proc orxSound_Play*(pstSound: ptr orxSOUND): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Plays sound
##
## @param[in] _pstSound Concerned Sound
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_Pause*(pstSound: ptr orxSOUND): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Pauses sound
##
## @param[in] _pstSound Concerned Sound
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_Stop*(pstSound: ptr orxSOUND): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Stops sound
##
## @param[in] _pstSound Concerned Sound
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_StartRecording*(zName: ptr orxCHAR; bWriteToFile: orxBOOL;
u32SampleRate: orxU32; u32ChannelNumber: orxU32): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Starts recording
##
## @param[in] _zName Name for the recorded sound/file
##
## @param[in] _bWriteToFile Should write to file?
##
## @param[in] _u32SampleRate Sample rate, 0 for default rate (44100Hz)
##
## @param[in] _u32ChannelNumber Channel number, 0 for default mono channel
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_StopRecording*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Stops recording
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_HasRecordingSupport*(): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is recording possible on the current system?
##
## @return orxTRUE / orxFALSE
## ```
proc orxSound_SetVolume*(pstSound: ptr orxSOUND; fVolume: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets sound volume
##
## @param[in] _pstSound Concerned Sound
##
## @param[in] _fVolume Desired volume (0.0 - 1.0)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_SetPitch*(pstSound: ptr orxSOUND; fPitch: orxFLOAT): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Sets sound pitch
##
## @param[in] _pstSound Concerned Sound
##
## @param[in] _fPitch Desired pitch
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_SetTime*(pstSound: ptr orxSOUND; fTime: orxFLOAT): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## Sets a sound time (ie. cursor/play position from beginning)
##
## @param[in] _pstSound Concerned sound
##
## @param[in] _fTime Time, in seconds
##
## @return orxSTATUS_SUCCESS / orxSTATSUS_FAILURE
## ```
proc orxSound_SetPosition*(pstSound: ptr orxSOUND; pvPosition: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets sound position
##
## @param[in] _pstSound Concerned Sound
##
## @param[in] _pvPosition Desired position
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_SetAttenuation*(pstSound: ptr orxSOUND; fAttenuation: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets sound attenuation
##
## @param[in] _pstSound Concerned Sound
##
## @param[in] _fAttenuation Desired attenuation
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_SetReferenceDistance*(pstSound: ptr orxSOUND; fDistance: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets sound reference distance
##
## @param[in] _pstSound Concerned Sound
##
## @param[in] _fDistance Within this distance, sound is perceived at its maximum volume
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_Loop*(pstSound: ptr orxSOUND; bLoop: orxBOOL): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Loops sound
##
## @param[in] _pstSound Concerned Sound
##
## @param[in] _bLoop orxTRUE / orxFALSE
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_GetVolume*(pstSound: ptr orxSOUND): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets sound volume
##
## @param[in] _pstSound Concerned Sound
##
## @return orxFLOAT
## ```
proc orxSound_GetPitch*(pstSound: ptr orxSOUND): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets sound pitch
##
## @param[in] _pstSound Concerned Sound
##
## @return orxFLOAT
## ```
proc orxSound_GetTime*(pstSound: ptr orxSOUND): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets a sound's time (ie. cursor/play position from beginning)
##
## @param[in] _pstSound Concerned sound
##
## @return Sound's time (cursor/play position), in seconds
## ```
proc orxSound_GetPosition*(pstSound: ptr orxSOUND; pvPosition: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets sound position
##
## @param[in] _pstSound Concerned Sound
##
## @param[out] _pvPosition Sound's position
##
## @return orxVECTOR / orxNULL
## ```
proc orxSound_GetAttenuation*(pstSound: ptr orxSOUND): orxFLOAT {.importc, cdecl,
imporxHdr.}
## ```
## Gets sound attenuation
##
## @param[in] _pstSound Concerned Sound
##
## @return orxFLOAT
## ```
proc orxSound_GetReferenceDistance*(pstSound: ptr orxSOUND): orxFLOAT {.importc,
cdecl, imporxHdr.}
## ```
## Gets sound reference distance
##
## @param[in] _pstSound Concerned Sound
##
## @return orxFLOAT
## ```
proc orxSound_IsLooping*(pstSound: ptr orxSOUND): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is sound looping?
##
## @param[in] _pstSound Concerned Sound
##
## @return orxTRUE / orxFALSE
## ```
proc orxSound_GetDuration*(pstSound: ptr orxSOUND): orxFLOAT {.importc, cdecl,
imporxHdr.}
## ```
## Gets sound duration
##
## @param[in] _pstSound Concerned Sound
##
## @return orxFLOAT
## ```
proc orxSound_GetStatus*(pstSound: ptr orxSOUND): orxSOUND_STATUS {.importc, cdecl,
imporxHdr.}
## ```
## Gets sound status
##
## @param[in] _pstSound Concerned Sound
##
## @return orxSOUND_STATUS
## ```
proc orxSound_GetName*(pstSound: ptr orxSOUND): ptr orxCHAR {.importc, cdecl, imporxHdr.}
## ```
## Gets sound config name
##
## @param[in] _pstSound Concerned sound
##
## @return orxSTRING / orxSTRING_EMPTY
## ```
proc orxSound_GetMasterBusID*(): orxSTRINGID {.importc, cdecl, imporxHdr.}
## ```
## Gets master bus ID
##
## @return Master bus ID
## ```
proc orxSound_GetBusID*(pstSound: ptr orxSOUND): orxSTRINGID {.importc, cdecl,
imporxHdr.}
## ```
## Gets sound's bus ID
##
## @param[in] _pstSound Concerned sound
##
## @return Sound's bus ID
## ```
proc orxSound_SetBusID*(pstSound: ptr orxSOUND; stBusID: orxSTRINGID): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets sound's bus ID
##
## @param[in] _pstSound Concerned sound
##
## @param[in] _stBusID Bus ID to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_GetNext*(pstSound: ptr orxSOUND; stBusID: orxSTRINGID): ptr orxSOUND {.
importc, cdecl, imporxHdr.}
## ```
## Gets next sound in bus
##
## @param[in] _pstSound Concerned sound, orxNULL to get the first one
##
## @param[in] _stBusID Bus ID to consider, orxSTRINGID_UNDEFINED for all
##
## @return orxSOUND / orxNULL
## ```
proc orxSound_GetBusParent*(stBusID: orxSTRINGID): orxSTRINGID {.importc, cdecl,
imporxHdr.}
## ```
## Gets bus parent
##
## @param[in] _stBusID Concerned bus ID
##
## @return Parent bus ID / orxSTRINGID_UNDEFINED
## ```
proc orxSound_GetBusChild*(stBusID: orxSTRINGID): orxSTRINGID {.importc, cdecl,
imporxHdr.}
## ```
## Gets bus child
##
## @param[in] _stBusID Concerned bus ID
##
## @return Child bus ID / orxSTRINGID_UNDEFINED
## ```
proc orxSound_GetBusSibling*(stBusID: orxSTRINGID): orxSTRINGID {.importc, cdecl,
imporxHdr.}
## ```
## Gets bus sibling
##
## @param[in] _stBusID Concerned bus ID
##
## @return Sibling bus ID / orxSTRINGID_UNDEFINED
## ```
proc orxSound_SetBusParent*(stBusID: orxSTRINGID; stParentBusID: orxSTRINGID): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets a bus parent
##
## @param[in] _stBusID Concerned bus ID, will create it if not already existing
##
## @param[in] _stParentBusID ID of the bus to use as parent, will create it if not already existing
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_GetBusVolume*(stBusID: orxSTRINGID): orxFLOAT {.importc, cdecl,
imporxHdr.}
## ```
## Gets bus volume (local, ie. unaffected by the whole bus hierarchy)
##
## @param[in] _stBusID Concerned bus ID
##
## @return orxFLOAT
## ```
proc orxSound_GetBusPitch*(stBusID: orxSTRINGID): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets bus pitch (local, ie. unaffected by the whole bus hierarchy)
##
## @param[in] _stBusID Concerned bus ID
##
## @return orxFLOAT
## ```
proc orxSound_SetBusVolume*(stBusID: orxSTRINGID; fVolume: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets bus volume
##
## @param[in] _stBusID Concerned bus ID, will create it if not already existing
##
## @param[in] _fVolume Desired volume (0.0 - 1.0)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_SetBusPitch*(stBusID: orxSTRINGID; fPitch: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets bus pitch
##
## @param[in] _stBusID Concerned bus ID, will create it if not already existing
##
## @param[in] _fPitch Desired pitch
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxSound_GetBusGlobalVolume*(stBusID: orxSTRINGID): orxFLOAT {.importc, cdecl,
imporxHdr.}
## ```
## Gets bus global volume, ie. taking into account the whole bus hierarchy
##
## @param[in] _stBusID Concerned bus ID
##
## @return orxFLOAT
## ```
proc orxSound_GetBusGlobalPitch*(stBusID: orxSTRINGID): orxFLOAT {.importc, cdecl,
imporxHdr.}
## ```
## Gets bus global pitch, ie. taking into account the whole bus hierarchy
##
## @param[in] _stBusID Concerned bus ID
##
## @return orxFLOAT
## ```
proc orxObject_Setup*() {.importc, cdecl, imporxHdr.}
## ```
## @name Internal module function
##
## @{
## Object module setup
## ```
proc orxObject_Init*(): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Inits the object module.
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_Exit*() {.importc, cdecl, imporxHdr.}
## ```
## Exits from the object module.
## ```
proc orxObject_Create*(): ptr orxOBJECT {.importc, cdecl, imporxHdr.}
## ```
## @}
## @name Basic handling
##
## @{
## Creates an empty object.
##
## @return orxOBJECT / orxNULL
## ```
proc orxObject_CreateFromConfig*(zConfigID: ptr orxCHAR): ptr orxOBJECT {.importc,
cdecl, imporxHdr.}
## ```
## Creates an object from config.
##
## @param[in] _zConfigID Config ID
##
## @ return orxOBJECT / orxNULL
## ```
proc orxObject_Delete*(pstObject: ptr orxOBJECT): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Deletes an object,unsafe* when called from an event handler: call orxObject_SetLifeTime(orxFLOAT_0) instead
##
## @param[in] _pstObject Concerned object
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_Update*(pstObject: ptr orxOBJECT; pstClockInfo: ptr orxCLOCK_INFO): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Updates an object.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pstClockInfo Clock information used to compute new object's state
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_Enable*(pstObject: ptr orxOBJECT; bEnable: orxBOOL) {.importc, cdecl,
imporxHdr.}
## ```
## Enables/disables an object. Note that enabling/disabling an object is not recursive, so its children will not be affected, see orxObject_EnableRecursive().
##
## @param[in] _pstObject Concerned object
##
## @param[in] _bEnable Enable / disable
## ```
proc orxObject_EnableRecursive*(pstObject: ptr orxOBJECT; bEnable: orxBOOL) {.importc,
cdecl, imporxHdr.}
## ```
## Enables/disables an object and all its children.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _bEnable Enable / disable
## ```
proc orxObject_IsEnabled*(pstObject: ptr orxOBJECT): orxBOOL {.importc, cdecl,
imporxHdr.}
## ```
## Is object enabled?
##
## @param[in] _pstObject Concerned object
##
## @return orxTRUE if enabled, orxFALSE otherwise
## ```
proc orxObject_Pause*(pstObject: ptr orxOBJECT; bPause: orxBOOL) {.importc, cdecl,
imporxHdr.}
## ```
## Pauses/unpauses an object. Note that pausing an object is not recursive, so its children will not be affected, see orxObject_PauseRecursive().
##
## @param[in] _pstObject Concerned object
##
## @param[in] _bPause Pause / unpause
## ```
proc orxObject_PauseRecursive*(pstObject: ptr orxOBJECT; bPause: orxBOOL) {.importc,
cdecl, imporxHdr.}
## ```
## Pauses/unpauses an object and its children.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _bPause Pause / unpause
## ```
proc orxObject_IsPaused*(pstObject: ptr orxOBJECT): orxBOOL {.importc, cdecl, imporxHdr.}
## ```
## Is object paused?
##
## @param[in] _pstObject Concerned object
##
## @return orxTRUE if paused, orxFALSE otherwise
## ```
proc orxObject_SetUserData*(pstObject: ptr orxOBJECT; pUserData: pointer) {.importc,
cdecl, imporxHdr.}
## ```
## @}
## @name User data
##
## @{
## Sets user data for an object. Orx ignores the user data, this is a mechanism for attaching custom
##
## data to be used later by user code.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pUserData User data to store / orxNULL
## ```
proc orxObject_GetUserData*(pstObject: ptr orxOBJECT): pointer {.importc, cdecl,
imporxHdr.}
## ```
## Gets object's user data.
##
## @param[in] _pstObject Concerned object
##
## @return Stored user data / orxNULL
## ```
proc orxObject_SetOwner*(pstObject: ptr orxOBJECT; pOwner: pointer) {.importc, cdecl,
imporxHdr.}
## ```
## @}
## @name Ownership
##
## @{
## Sets owner for an object. Ownership in Orx is only about lifetime management. That is, when an object
##
## dies, it also kills its children. Compare this with orxObject_SetParent().
##
##
##
## Note that the "ChildList" field of an object's config section implies two things; that the object is both
##
## the owner (orxObject_SetOwner()) and the parent (orxObject_SetParent()) of its children. There is an
##
## exception to this though; when an object's child has a parent camera, the object is only the owner, and
##
## the camera is the parent.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pOwner Owner to set / orxNULL, if owner is an orxOBJECT, the owned object will be added to it as a children
## ```
proc orxObject_GetOwner*(pstObject: ptr orxOBJECT): ptr orxSTRUCTURE {.importc, cdecl,
imporxHdr.}
## ```
## Gets object's owner. See orxObject_SetOwner().
##
## @param[in] _pstObject Concerned object
##
## @return Owner / orxNULL
## ```
proc orxObject_GetOwnedChild*(pstObject: ptr orxOBJECT): ptr orxOBJECT {.importc,
cdecl, imporxHdr.}
## ```
## Gets object's first owned child (only if created with a config ChildList / has an owner set with orxObject_SetOwner)
##
## see orxObject_SetOwner() and orxObject_SetParent() for a comparison of ownership and parenthood in Orx.
##
##
##
## This function is typically used to iterate over the owned children of an object. For example;
##
## @code
##
## for(orxOBJECT pstChild = orxObject_GetOwnedChild(pstObject);
##
## pstChild;
##
## pstChild = orxObject_GetOwnedSibling(pstChild))
##
## {
##
## do_something(pstChild);
##
## } @endcode
##
## @param[in] _pstObject Concerned object
##
## @return First owned child object / orxNULL
## ```
proc orxObject_GetOwnedSibling*(pstObject: ptr orxOBJECT): ptr orxOBJECT {.importc,
cdecl, imporxHdr.}
## ```
## Gets object's next owned sibling (only if created with a config ChildList / has an owner set with orxObject_SetOwner)
##
## This function is typically used to iterate over the owned children of an object, see orxObject_GetOwnedChild() for an example.
##
## @param[in] _pstObject Concerned object
##
## @return Next sibling object / orxNULL
## ```
proc orxObject_SetClock*(pstObject: ptr orxOBJECT; pstClock: ptr orxCLOCK): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## @}
## @name Clock
##
## @{
## Sets associated clock for an object.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pstClock Clock to associate / orxNULL
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_GetClock*(pstObject: ptr orxOBJECT): ptr orxCLOCK {.importc, cdecl,
imporxHdr.}
## ```
## Gets object's clock.
##
## @param[in] _pstObject Concerned object
##
## @return Associated clock / orxNULL
## ```
proc orxObject_LinkStructure*(pstObject: ptr orxOBJECT;
pstStructure: ptr orxSTRUCTURE): orxSTATUS {.importc,
cdecl, imporxHdr.}
## ```
## @}
## @name Linked structures
##
## @{
## Links a structure to an object.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pstStructure Structure to link
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_UnlinkStructure*(pstObject: ptr orxOBJECT;
eStructureID: orxSTRUCTURE_ID) {.importc, cdecl,
imporxHdr.}
## ```
## Unlinks structure from an object, given its structure ID.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _eStructureID ID of structure to unlink
## ```
proc orxObject_GetStructure*(pstObject: ptr orxOBJECT; eStructureID: orxSTRUCTURE_ID): ptr orxSTRUCTURE {.
importc: "_orxObject_GetStructure", cdecl, imporxHdr.}
## ```
## Structure used by an object get accessor, given its structure ID. Structure must then be cast correctly. (see helper macro
##
## #orxOBJECT_GET_STRUCTURE())
##
## @param[in] _pstObject Concerned object
##
## @param[in] _eStructureID ID of the structure to get
##
## @return orxSTRUCTURE / orxNULL
## ```
proc orxObject_SetFlip*(pstObject: ptr orxOBJECT; bFlipX: orxBOOL; bFlipY: orxBOOL): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## @}
## @name Flip
##
## @{
## Sets object flipping.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _bFlipX Flip it on X axis
##
## @param[in] _bFlipY Flip it on Y axis
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_GetFlip*(pstObject: ptr orxOBJECT; pbFlipX: ptr orxBOOL;
pbFlipY: ptr orxBOOL): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Gets object flipping.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pbFlipX X axis flipping
##
## @param[in] _pbFlipY Y axis flipping
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetPivot*(pstObject: ptr orxOBJECT; pvPivot: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## @}
## @name Graphic
##
## @{
## Sets object pivot. This is a convenience wrapper around orxGraphic_SetPivot(). The "pivot" is essentially
##
## what is indicated by the "Pivot" field of a config graphic section.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pvPivot Object pivot
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetOrigin*(pstObject: ptr orxOBJECT; pvOrigin: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets object origin. This is a convenience wrapper around orxGraphic_SetOrigin(). The "origin" of a graphic is
##
## essentially what is indicated by the "TextureOrigin" field of a config graphic section. The "origin" together with
##
## "size" (see orxObject_SetSize()) defines the sprite of an object.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pvOrigin Object origin
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetSize*(pstObject: ptr orxOBJECT; pvSize: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets object size. For objects that have a graphic attached it's simply a convenience wrapper for orxGraphic_SetSize(),
##
## but an object can also have a size without a graphic.
##
##
##
## Note the difference between "Scale" and "Size". The size of an object with a non-text graphic is the sprite size in
##
## pixels on its texture. The object's effective size for rendering and intersection purposes (see orxObject_Pick()
##
## and friends) is proportional to its "size" multiplied by its "scale". Another important distinction is that the
##
## scale of an object also affects its children (see orxObject_SetParent() and note the distinction between
##
## parenthood and ownership).
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pvSize Object size
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_GetPivot*(pstObject: ptr orxOBJECT; pvPivot: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Get object pivot. See orxObject_SetPivot() for a more detailed explanation.
##
## @param[in] _pstObject Concerned object
##
## @param[out] _pvPivot Object pivot
##
## @return orxVECTOR / orxNULL
## ```
proc orxObject_GetOrigin*(pstObject: ptr orxOBJECT; pvOrigin: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Get object origin. See orxObject_SetOrigin() for a more detailed explanation.
##
## @param[in] _pstObject Concerned object
##
## @param[out] _pvOrigin Object origin
##
## @return orxVECTOR / orxNULL
## ```
proc orxObject_GetSize*(pstObject: ptr orxOBJECT; pvSize: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets object size. See orxObject_SetSize() for a more detailed explanation.
##
## @param[in] _pstObject Concerned object
##
## @param[out] _pvSize Object's size
##
## @return orxVECTOR / orxNULL
## ```
proc orxObject_SetPosition*(pstObject: ptr orxOBJECT; pvPosition: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## @}
## @name Frame
##
## @{
## Sets object position in its parent's reference frame. See orxObject_SetWorldPosition() for setting an object's
##
## position in the global reference frame.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pvPosition Object position
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetWorldPosition*(pstObject: ptr orxOBJECT; pvPosition: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets object position in the global reference frame. See orxObject_SetPosition() for setting an object's position
##
## in its parent's reference frame.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pvPosition Object world position
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetRotation*(pstObject: ptr orxOBJECT; fRotation: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets object rotation in its parent's reference frame. See orxObject_SetWorldRotation() for setting an object's
##
## rotation in the global reference frame.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _fRotation Object rotation (radians)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetWorldRotation*(pstObject: ptr orxOBJECT; fRotation: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets object rotation in the global reference frame. See orxObject_SetRotation() for setting an object's rotation
##
## in its parent's reference frame.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _fRotation Object world rotation (radians)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetScale*(pstObject: ptr orxOBJECT; pvScale: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets object scale in its parent's reference frame. See orxObject_SetWorldScale() for setting an object's scale
##
## in the global reference frame.
##
## See orxObject_SetSize() for a deeper explanation of the "size" of an object.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pvScale Object scale vector
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetWorldScale*(pstObject: ptr orxOBJECT; pvScale: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets object scale in the global reference frame. See orxObject_SetScale() for setting an object's scale in its
##
## parent's reference frame.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pvScale Object world scale vector
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_GetPosition*(pstObject: ptr orxOBJECT; pvPosition: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Get object position. See orxObject_SetPosition().
##
## @param[in] _pstObject Concerned object
##
## @param[out] _pvPosition Object position
##
## @return orxVECTOR / orxNULL
## ```
proc orxObject_GetWorldPosition*(pstObject: ptr orxOBJECT; pvPosition: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Get object world position. See orxObject_SetWorldPosition().
##
## @param[in] _pstObject Concerned object
##
## @param[out] _pvPosition Object world position
##
## @return orxVECTOR / orxNULL
## ```
proc orxObject_GetRotation*(pstObject: ptr orxOBJECT): orxFLOAT {.importc, cdecl,
imporxHdr.}
## ```
## Get object rotation. See orxObject_SetRotation().
##
## @param[in] _pstObject Concerned object
##
## @return orxFLOAT (radians)
## ```
proc orxObject_GetWorldRotation*(pstObject: ptr orxOBJECT): orxFLOAT {.importc, cdecl,
imporxHdr.}
## ```
## Get object world rotation. See orxObject_SetWorldRotation().
##
## @param[in] _pstObject Concerned object
##
## @return orxFLOAT (radians)
## ```
proc orxObject_GetScale*(pstObject: ptr orxOBJECT; pvScale: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Get object scale. See orxObject_SetScale().
##
## @param[in] _pstObject Concerned object
##
## @param[out] _pvScale Object scale vector
##
## @return Scale vector
## ```
proc orxObject_GetWorldScale*(pstObject: ptr orxOBJECT; pvScale: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets object world scale. See orxObject_SetWorldScale().
##
## @param[in] _pstObject Concerned object
##
## @param[out] _pvScale Object world scale
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetParent*(pstObject: ptr orxOBJECT; pParent: pointer): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## @}
## @name Parent
##
## @{
## Sets an object parent (in the frame hierarchy). Parenthood in orx is about the transformation (position,
##
## rotation, scale) of objects. Transformation of objects are compounded in a frame hierarchy. Compare this
##
## with orxObject_SetOwner()
##
##
##
## Note that the "ChildList" field of an object's config section implies two things; that the object is both
##
## the owner (orxObject_SetOwner()) and the parent (orxObject_SetParent()) of its children. There is an
##
## exception to this though; when an object's child has a parent camera, the object is only the owner, and
##
## the camera is the parent.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pParent Parent structure to set (object, spawner, camera or frame) / orxNULL
##
## @return orsSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_GetParent*(pstObject: ptr orxOBJECT): ptr orxSTRUCTURE {.importc, cdecl,
imporxHdr.}
## ```
## Gets object's parent. See orxObject_SetParent() for a more detailed explanation.
##
## @param[in] _pstObject Concerned object
##
## @return Parent (object, spawner, camera or frame) / orxNULL
## ```
proc orxObject_GetChild*(pstObject: ptr orxOBJECT): ptr orxSTRUCTURE {.importc, cdecl,
imporxHdr.}
## ```
## Gets object's first child. See orxObject_SetOwner() and orxObject_SetParent() for a comparison of
##
## ownership and parenthood in Orx.
##
##
##
## This function is typically used to iterate over the children of an object. For example:
##
## @code
##
## for(orxOBJECTpstChild = orxOBJECT(orxObject_GetChild(pstObject));
##
## pstChild != orxNULL;
##
## pstChild = orxOBJECT(orxObject_GetSibling(pstChild)))
##
## {
##
## DoSomething(pstChild);
##
## }
##
## @endcode
##
## @param[in] _pstObject Concerned object
##
## @return First child structure (object, spawner, camera or frame) / orxNULL
## ```
proc orxObject_GetSibling*(pstObject: ptr orxOBJECT): ptr orxSTRUCTURE {.importc,
cdecl, imporxHdr.}
## ```
## Gets object's next sibling. This function is typically used for iterating over the children of an object,
##
## see orxObject_GetChild() for an iteration example.
##
## @param[in] _pstObject Concerned object
##
## @return Next sibling structure (object, spawner, camera or frame) / orxNULL
## ```
proc orxObject_Attach*(pstObject: ptr orxOBJECT; pParent: pointer): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Attaches an object to a parent while maintaining the object's world position.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pParent Parent structure to attach to (object, spawner, camera or frame)
##
## @return orsSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_Detach*(pstObject: ptr orxOBJECT): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Detaches an object from a parent while maintaining the object's world position.
##
## @param[in] _pstObject Concerned object
##
## @return orsSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_LogParents*(pstObject: ptr orxOBJECT): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Logs all parents of an object, including their frame data.
##
## @param[in] _pstObject Concerned object
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetAnimSet*(pstObject: ptr orxOBJECT; pstAnimSet: ptr orxANIMSET): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## @}
## @name Animation
##
## @{
## Sets an object animset.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pstAnimSet Animation set to set / orxNULL
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetAnimFrequency*(pstObject: ptr orxOBJECT; fFrequency: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets an object's relative animation frequency.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _fFrequency Frequency to set: < 1.0 for slower than initial, > 1.0 for faster than initial
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetAnimFrequencyRecursive*(pstObject: ptr orxOBJECT;
fFrequency: orxFLOAT) {.importc, cdecl, imporxHdr.}
## ```
## Sets the relative animation frequency for an object and its children.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _fFrequency Frequency to set: < 1.0 for slower than initial, > 1.0 for faster than initial
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_GetAnimFrequency*(pstObject: ptr orxOBJECT): orxFLOAT {.importc, cdecl,
imporxHdr.}
## ```
## Gets an object's relative animation frequency.
##
## @param[in] _pstObject Concerned object
##
## @return Animation frequency / -orxFLOAT_1
## ```
proc orxObject_SetCurrentAnim*(pstObject: ptr orxOBJECT; zAnimName: ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets current animation for an object. This function switches the currently displayed animation of the object
##
## immediately. Compare this with orxObject_SetTargetAnim().
##
## @param[in] _pstObject Concerned object
##
## @param[in] _zAnimName Animation name (config's one) to set / orxNULL
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetCurrentAnimRecursive*(pstObject: ptr orxOBJECT;
zAnimName: ptr orxCHAR) {.importc, cdecl,
imporxHdr.}
## ```
## Sets current animation for an object and its children.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _zAnimName Animation name (config's one) to set / orxNULL
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetTargetAnim*(pstObject: ptr orxOBJECT; zAnimName: ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets target animation for an object. The animations are sequenced on an object according to the animation link graph
##
## defined by its AnimationSet. The sequence follows the graph and tries to reach the target animation. Use
##
## orxObject_SetCurrentAnim() to switch the animation without using the link graph.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _zAnimName Animation name (config's one) to set / orxNULL
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetTargetAnimRecursive*(pstObject: ptr orxOBJECT;
zAnimName: ptr orxCHAR) {.importc, cdecl,
imporxHdr.}
## ```
## Sets target animation for an object and its children.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _zAnimName Animation name (config's one) to set / orxNULL
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_GetCurrentAnim*(pstObject: ptr orxOBJECT): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets current animation.
##
## @param[in] _pstObject Concerned object
##
## @return Current animation / orxSTRING_EMPTY
## ```
proc orxObject_GetTargetAnim*(pstObject: ptr orxOBJECT): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets target animation.
##
## @param[in] _pstObject Concerned object
##
## @return Target animation / orxSTRING_EMPTY
## ```
proc orxObject_IsCurrentAnim*(pstObject: ptr orxOBJECT; zAnimName: ptr orxCHAR): orxBOOL {.
importc, cdecl, imporxHdr.}
## ```
## Is current animation test.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _zAnimName Animation name (config's one) to test
##
## @return orxTRUE / orxFALSE
## ```
proc orxObject_IsTargetAnim*(pstObject: ptr orxOBJECT; zAnimName: ptr orxCHAR): orxBOOL {.
importc, cdecl, imporxHdr.}
## ```
## Is target animation test.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _zAnimName Animation name (config's one) to test
##
## @return orxTRUE / orxFALSE
## ```
proc orxObject_SetSpeed*(pstObject: ptr orxOBJECT; pvSpeed: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## @}
## @name Physics / dynamics
##
## @{
## Sets an object speed.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pvSpeed Speed to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetRelativeSpeed*(pstObject: ptr orxOBJECT;
pvRelativeSpeed: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets an object speed relative to its rotation/scale.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pvRelativeSpeed Relative speed to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetAngularVelocity*(pstObject: ptr orxOBJECT; fVelocity: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets an object angular velocity.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _fVelocity Angular velocity to set (radians/seconds)
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_SetCustomGravity*(pstObject: ptr orxOBJECT;
pvCustomGravity: ptr orxVECTOR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Sets an object custom gravity.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pvCustomGravity Custom gravity to set / orxNULL to remove it
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_GetSpeed*(pstObject: ptr orxOBJECT; pvSpeed: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets an object speed.
##
## @param[in] _pstObject Concerned object
##
## @param[out] _pvSpeed Speed to get
##
## @return Object speed / orxNULL
## ```
proc orxObject_GetRelativeSpeed*(pstObject: ptr orxOBJECT;
pvRelativeSpeed: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets an object relative speed.
##
## @param[in] _pstObject Concerned object
##
## @param[out] _pvRelativeSpeed Relative speed to get
##
## @return Object relative speed / orxNULL
## ```
proc orxObject_GetAngularVelocity*(pstObject: ptr orxOBJECT): orxFLOAT {.importc,
cdecl, imporxHdr.}
## ```
## Gets an object angular velocity.
##
## @param[in] _pstObject Concerned object
##
## @return Object angular velocity (radians/seconds)
## ```
proc orxObject_GetCustomGravity*(pstObject: ptr orxOBJECT;
pvCustomGravity: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets an object custom gravity.
##
## @param[in] _pstObject Concerned object
##
## @param[out] _pvCustomGravity Custom gravity to get
##
## @return Object custom gravity / orxNULL is object doesn't have any
## ```
proc orxObject_GetMass*(pstObject: ptr orxOBJECT): orxFLOAT {.importc, cdecl, imporxHdr.}
## ```
## Gets an object mass.
##
## @param[in] _pstObject Concerned object
##
## @return Object mass
## ```
proc orxObject_GetMassCenter*(pstObject: ptr orxOBJECT; pvMassCenter: ptr orxVECTOR): ptr orxVECTOR {.
importc, cdecl, imporxHdr.}
## ```
## Gets an object center of mass (object space).
##
## @param[in] _pstObject Concerned object
##
## @param[out] _pvMassCenter Mass center to get
##
## @return Mass center / orxNULL
## ```
proc orxObject_ApplyTorque*(pstObject: ptr orxOBJECT; fTorque: orxFLOAT): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Applies a torque.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _fTorque Torque to apply
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_ApplyForce*(pstObject: ptr orxOBJECT; pvForce: ptr orxVECTOR;
pvPoint: ptr orxVECTOR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Applies a force.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pvForce Force to apply
##
## @param[in] _pvPoint Point (world coordinates) where the force will be applied, if orxNULL, center of mass will be used
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_ApplyImpulse*(pstObject: ptr orxOBJECT; pvImpulse: ptr orxVECTOR;
pvPoint: ptr orxVECTOR): orxSTATUS {.importc, cdecl,
imporxHdr.}
## ```
## Applies an impulse.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _pvImpulse Impulse to apply
##
## @param[in] _pvPoint Point (world coordinates) where the impulse will be applied, if orxNULL, center of mass will be used
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_Raycast*(pvBegin: ptr orxVECTOR; pvEnd: ptr orxVECTOR;
u16SelfFlags: orxU16; u16CheckMask: orxU16;
bEarlyExit: orxBOOL; pvContact: ptr orxVECTOR;
pvNormal: ptr orxVECTOR): ptr orxOBJECT {.importc, cdecl,
imporxHdr.}
## ```
## Issues a raycast to test for potential objects in the way.
##
## @param[in] _pvBegin Beginning of raycast
##
## @param[in] _pvEnd End of raycast
##
## @param[in] _u16SelfFlags Selfs flags used for filtering (0xFFFF for no filtering)
##
## @param[in] _u16CheckMask Check mask used for filtering (0xFFFF for no filtering)
##
## @param[in] _bEarlyExit Should stop as soon as an object has been hit (which might not be the closest)
##
## @param[in] _pvContact If non-null and a contact is found it will be stored here
##
## @param[in] _pvNormal If non-null and a contact is found, its normal will be stored here
##
## @return Colliding orxOBJECT / orxNULL
## ```
proc orxObject_SetTextString*(pstObject: ptr orxOBJECT; zString: ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## @}
## @name Text
##
## @{
## Sets object text string, if object is associated to a text.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _zString String to set
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_GetTextString*(pstObject: ptr orxOBJECT): ptr orxCHAR {.importc, cdecl,
imporxHdr.}
## ```
## Gets object text string, if object is associated to a text.
##
## @param[in] _pstObject Concerned object
##
## @return orxSTRING / orxSTRING_EMPTY
## ```
proc orxObject_GetBoundingBox*(pstObject: ptr orxOBJECT; pstBoundingBox: ptr orxOBOX): ptr orxOBOX {.
importc, cdecl, imporxHdr.}
## ```
## @}
## @name Bounding box
##
## @{
## Gets object's bounding box (OBB).
##
## @param[in] _pstObject Concerned object
##
## @param[out] _pstBoundingBox Bounding box result
##
## @return Bounding box / orxNULL
## ```
proc orxObject_AddFX*(pstObject: ptr orxOBJECT; zFXConfigID: ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## @}
## @name FX
##
## @{
## Adds an FX using its config ID.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _zFXConfigID Config ID of the FX to add
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_AddUniqueFX*(pstObject: ptr orxOBJECT; zFXConfigID: ptr orxCHAR): orxSTATUS {.
importc, cdecl, imporxHdr.}
## ```
## Adds a unique FX using its config ID. Refer to orxObject_AddUniqueDelayedFX() for details, since this
##
## function is the same as it with the delay argument set to 0.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _zFXConfigID Config ID of the FX to add
##
## @return orxSTATUS_SUCCESS / orxSTATUS_FAILURE
## ```
proc orxObject_AddDelayedFX*(pstObject: ptr orxOBJECT; zFXConfigID: ptr orxCHAR;
fDelay: orxFLOAT): orxSTATUS {.importc, cdecl, imporxHdr.}
## ```
## Adds a delayed FX using its config ID.
##
## @param[in] _pstObject Concerned object
##
## @param[in] _zFXConfigID Config ID of the F
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment