libcmo21/Unvirt/AccessibleValue.cpp

572 lines
45 KiB
C++
Raw Normal View History

2023-02-08 22:57:31 +08:00
#include "AccessibleValue.hpp"
#include <vector>
#include <array>
2023-08-26 20:34:51 +08:00
namespace Unvirt::AccessibleValue {
#pragma region Size Formatter
2023-08-26 20:34:51 +08:00
std::u8string GetReadableFileSize(uint64_t _size) {
static constexpr double base = 1024.0;
static const std::vector<const char8_t*> units {
u8"B", u8"KiB", u8"MiB", u8"GiB", u8"TiB", u8"PiB", u8"EiB"
};
2023-08-26 20:34:51 +08:00
double size = static_cast<double>(_size);
size_t unit_index = 0u;
2023-08-26 20:34:51 +08:00
while (size >= base && (unit_index + 1u) < units.size()) {
size /= base;
++unit_index;
2023-08-26 20:34:51 +08:00
}
return YYCC::StringHelper::Printf(u8"%.2lf%s", size, units[unit_index]);
2023-08-26 20:34:51 +08:00
}
2023-02-09 14:12:02 +08:00
#pragma endregion
2023-08-26 20:34:51 +08:00
#pragma region CKERROR CK_CLASSID Data
2023-02-09 14:12:02 +08:00
struct CkClassidReflection { std::vector<const char8_t*> mHierarchy; };
2023-08-26 20:34:51 +08:00
using CkClassidReflectionArray = std::vector<std::pair<LibCmo::CK2::CK_CLASSID, CkClassidReflection>>;
struct CkErrorReflection { const char8_t* mName; const char8_t* mDescription; };
2023-08-26 20:34:51 +08:00
using CkErrorReflectionArray = std::vector<std::pair<LibCmo::CK2::CKERROR, CkErrorReflection>>;
2023-02-08 22:57:31 +08:00
2023-08-26 20:34:51 +08:00
namespace EnumDesc {
const CkClassidReflectionArray CK_CLASSID {
{ LibCmo::CK2::CK_CLASSID::CKCID_OBJECT, { { u8"CKCID_OBJECT" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_PARAMETERIN, { { u8"CKCID_OBJECT", u8"CKCID_PARAMETERIN" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_PARAMETEROPERATION, { { u8"CKCID_OBJECT", u8"CKCID_PARAMETEROPERATION" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_STATE, { { u8"CKCID_OBJECT", u8"CKCID_STATE" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_BEHAVIORLINK, { { u8"CKCID_OBJECT", u8"CKCID_BEHAVIORLINK" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_BEHAVIOR, { { u8"CKCID_OBJECT", u8"CKCID_BEHAVIOR" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_BEHAVIORIO, { { u8"CKCID_OBJECT", u8"CKCID_BEHAVIORIO" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_RENDERCONTEXT, { { u8"CKCID_OBJECT", u8"CKCID_RENDERCONTEXT" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_KINEMATICCHAIN, { { u8"CKCID_OBJECT", u8"CKCID_KINEMATICCHAIN" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_SCENEOBJECT, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_OBJECTANIMATION, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_OBJECTANIMATION" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_ANIMATION, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_ANIMATION" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_KEYEDANIMATION, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_ANIMATION", u8"CKCID_KEYEDANIMATION" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_BEOBJECT, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_DATAARRAY, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_DATAARRAY" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_SCENE, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_SCENE" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_LEVEL, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_LEVEL" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_PLACE, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_PLACE" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_GROUP, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_GROUP" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_SOUND, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_SOUND" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_WAVESOUND, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_SOUND", u8"CKCID_WAVESOUND" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_MIDISOUND, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_SOUND", u8"CKCID_MIDISOUND" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_MATERIAL, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_MATERIAL" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_TEXTURE, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_TEXTURE" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_MESH, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_MESH" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_PATCHMESH, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_MESH", u8"CKCID_PATCHMESH" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_RENDEROBJECT, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_RENDEROBJECT" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_2DENTITY, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_RENDEROBJECT", u8"CKCID_2DENTITY" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_SPRITE, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_RENDEROBJECT", u8"CKCID_2DENTITY", u8"CKCID_SPRITE" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_SPRITETEXT, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_RENDEROBJECT", u8"CKCID_2DENTITY", u8"CKCID_SPRITETEXT" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_3DENTITY, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_3DENTITY" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_GRID, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_3DENTITY", u8"CKCID_GRID" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_CURVEPOINT, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_3DENTITY", u8"CKCID_CURVEPOINT" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_SPRITE3D, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_3DENTITY", u8"CKCID_SPRITE3D" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_CURVE, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_3DENTITY", u8"CKCID_CURVE" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_CAMERA, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_3DENTITY", u8"CKCID_CAMERA" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_TARGETCAMERA, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_3DENTITY", u8"CKCID_CAMERA", u8"CKCID_TARGETCAMERA" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_LIGHT, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_3DENTITY", u8"CKCID_LIGHT" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_TARGETLIGHT, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_3DENTITY", u8"CKCID_LIGHT", u8"CKCID_TARGETLIGHT" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_CHARACTER, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_3DENTITY", u8"CKCID_CHARACTER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_3DOBJECT, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_3DENTITY", u8"CKCID_3DOBJECT" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_BODYPART, { { u8"CKCID_OBJECT", u8"CKCID_SCENEOBJECT", u8"CKCID_BEOBJECT", u8"CKCID_3DENTITY", u8"CKCID_3DOBJECT", u8"CKCID_BODYPART" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_PARAMETER, { { u8"CKCID_OBJECT", u8"CKCID_PARAMETER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_PARAMETERLOCAL, { { u8"CKCID_OBJECT", u8"CKCID_PARAMETER", u8"CKCID_PARAMETERLOCAL" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_PARAMETEROUT, { { u8"CKCID_OBJECT", u8"CKCID_PARAMETER", u8"CKCID_PARAMETEROUT" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_INTERFACEOBJECTMANAGER, { { u8"CKCID_OBJECT", u8"CKCID_INTERFACEOBJECTMANAGER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_CRITICALSECTION, { { u8"CKCID_OBJECT", u8"CKCID_CRITICALSECTION" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_LAYER, { { u8"CKCID_OBJECT", u8"CKCID_LAYER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_PROGRESSIVEMESH, { { u8"CKCID_OBJECT", u8"CKCID_PROGRESSIVEMESH" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_SYNCHRO, { { u8"CKCID_OBJECT", u8"CKCID_SYNCHRO" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_OBJECTARRAY, { { u8"CKCID_OBJECTARRAY" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_SCENEOBJECTDESC, { { u8"CKCID_SCENEOBJECTDESC" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_ATTRIBUTEMANAGER, { { u8"CKCID_ATTRIBUTEMANAGER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_MESSAGEMANAGER, { { u8"CKCID_MESSAGEMANAGER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_COLLISIONMANAGER, { { u8"CKCID_COLLISIONMANAGER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_OBJECTMANAGER, { { u8"CKCID_OBJECTMANAGER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_FLOORMANAGER, { { u8"CKCID_FLOORMANAGER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_RENDERMANAGER, { { u8"CKCID_RENDERMANAGER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_BEHAVIORMANAGER, { { u8"CKCID_BEHAVIORMANAGER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_INPUTMANAGER, { { u8"CKCID_INPUTMANAGER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_PARAMETERMANAGER, { { u8"CKCID_PARAMETERMANAGER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_GRIDMANAGER, { { u8"CKCID_GRIDMANAGER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_SOUNDMANAGER, { { u8"CKCID_SOUNDMANAGER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_TIMEMANAGER, { { u8"CKCID_TIMEMANAGER" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_CUIKBEHDATA, { { u8"CKCID_CUIKBEHDATA" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_MAXCLASSID, { { u8"CKCID_MAXCLASSID" } } },
{ LibCmo::CK2::CK_CLASSID::CKCID_MAXMAXCLASSID, { { u8"CKCID_MAXMAXCLASSID" } } },
2023-02-08 22:57:31 +08:00
};
2023-08-26 20:34:51 +08:00
const CkErrorReflectionArray CKERROR {
{ LibCmo::CK2::CKERROR::CKERR_OK, { u8"CKERR_OK", u8"Operation successful " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDPARAMETER, { u8"CKERR_INVALIDPARAMETER", u8"One of the parameter passed to the function was invalid " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDPARAMETERTYPE, { u8"CKERR_INVALIDPARAMETERTYPE", u8"One of the parameter passed to the function was invalid " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDSIZE, { u8"CKERR_INVALIDSIZE", u8"The parameter size was invalid " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDOPERATION, { u8"CKERR_INVALIDOPERATION", u8"The operation type didn't exist " } },
{ LibCmo::CK2::CKERROR::CKERR_OPERATIONNOTIMPLEMENTED, { u8"CKERR_OPERATIONNOTIMPLEMENTED", u8"The function used to execute the operation is not yet implemented " } },
{ LibCmo::CK2::CKERROR::CKERR_OUTOFMEMORY, { u8"CKERR_OUTOFMEMORY", u8"There was not enough memory to perform the action " } },
{ LibCmo::CK2::CKERROR::CKERR_NOTIMPLEMENTED, { u8"CKERR_NOTIMPLEMENTED", u8"The function is not yet implemented " } },
{ LibCmo::CK2::CKERROR::CKERR_NOTFOUND, { u8"CKERR_NOTFOUND", u8"There was an attempt to remove something not present " } },
{ LibCmo::CK2::CKERROR::CKERR_NOLEVEL, { u8"CKERR_NOLEVEL", u8"There is no level currently created " } },
{ LibCmo::CK2::CKERROR::CKERR_CANCREATERENDERCONTEXT, { u8"CKERR_CANCREATERENDERCONTEXT", u8" " } },
{ LibCmo::CK2::CKERROR::CKERR_NOTIFICATIONNOTHANDLED, { u8"CKERR_NOTIFICATIONNOTHANDLED", u8"The notification message was not used " } },
{ LibCmo::CK2::CKERROR::CKERR_ALREADYPRESENT, { u8"CKERR_ALREADYPRESENT", u8"Attempt to add an item that was already present " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDRENDERCONTEXT, { u8"CKERR_INVALIDRENDERCONTEXT", u8"the render context is not valid " } },
{ LibCmo::CK2::CKERROR::CKERR_RENDERCONTEXTINACTIVE, { u8"CKERR_RENDERCONTEXTINACTIVE", u8"the render context is not activated for rendering " } },
{ LibCmo::CK2::CKERROR::CKERR_NOLOADPLUGINS, { u8"CKERR_NOLOADPLUGINS", u8"there was no plugins to load this kind of file " } },
{ LibCmo::CK2::CKERROR::CKERR_NOSAVEPLUGINS, { u8"CKERR_NOSAVEPLUGINS", u8"there was no plugins to save this kind of file " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDFILE, { u8"CKERR_INVALIDFILE", u8"attempt to load an invalid file " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDPLUGIN, { u8"CKERR_INVALIDPLUGIN", u8"attempt to load with an invalid plugin " } },
{ LibCmo::CK2::CKERROR::CKERR_NOTINITIALIZED, { u8"CKERR_NOTINITIALIZED", u8"attempt use an object that wasnt initialized " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDMESSAGE, { u8"CKERR_INVALIDMESSAGE", u8"attempt use a message type that wasn't registred " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDPROTOTYPE, { u8"CKERR_INVALIDPROTOTYPE", u8"attempt use an invalid prototype " } },
{ LibCmo::CK2::CKERROR::CKERR_NODLLFOUND, { u8"CKERR_NODLLFOUND", u8"No dll file found in the parse directory " } },
{ LibCmo::CK2::CKERROR::CKERR_ALREADYREGISTREDDLL, { u8"CKERR_ALREADYREGISTREDDLL", u8"this dll has already been registred " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDDLL, { u8"CKERR_INVALIDDLL", u8"this dll does not contain information to create the prototype " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDOBJECT, { u8"CKERR_INVALIDOBJECT", u8"Invalid Object (attempt to Get an object from an invalid ID) " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDCONDSOLEWINDOW, { u8"CKERR_INVALIDCONDSOLEWINDOW", u8"Invalid window was provided as console window " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDKINEMATICCHAIN, { u8"CKERR_INVALIDKINEMATICCHAIN", u8"Invalid kinematic chain ( end and start effector may not be part of the same hierarchy ) " } },
{ LibCmo::CK2::CKERROR::CKERR_NOKEYBOARD, { u8"CKERR_NOKEYBOARD", u8"Keyboard not attached or not working properly " } },
{ LibCmo::CK2::CKERROR::CKERR_NOMOUSE, { u8"CKERR_NOMOUSE", u8"Mouse not attached or not working properly " } },
{ LibCmo::CK2::CKERROR::CKERR_NOJOYSTICK, { u8"CKERR_NOJOYSTICK", u8"Joystick not attached or not working properly " } },
{ LibCmo::CK2::CKERROR::CKERR_INCOMPATIBLEPARAMETERS, { u8"CKERR_INCOMPATIBLEPARAMETERS", u8"Try to link imcompatible Parameters " } },
{ LibCmo::CK2::CKERROR::CKERR_NORENDERENGINE, { u8"CKERR_NORENDERENGINE", u8"There is no render engine dll " } },
{ LibCmo::CK2::CKERROR::CKERR_NOCURRENTLEVEL, { u8"CKERR_NOCURRENTLEVEL", u8"There is no current level (use CKSetCurrentLevel ) " } },
{ LibCmo::CK2::CKERROR::CKERR_SOUNDDISABLED, { u8"CKERR_SOUNDDISABLED", u8"Sound Management has been disabled " } },
{ LibCmo::CK2::CKERROR::CKERR_DINPUTDISABLED, { u8"CKERR_DINPUTDISABLED", u8"DirectInput Management has been disabled " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDGUID, { u8"CKERR_INVALIDGUID", u8"Guid is already in use or invalid " } },
{ LibCmo::CK2::CKERROR::CKERR_NOTENOUGHDISKPLACE, { u8"CKERR_NOTENOUGHDISKPLACE", u8"There was no more free space on disk when trying to save a file " } },
{ LibCmo::CK2::CKERROR::CKERR_CANTWRITETOFILE, { u8"CKERR_CANTWRITETOFILE", u8"Impossible to write to file (write-protection ?) " } },
{ LibCmo::CK2::CKERROR::CKERR_BEHAVIORADDDENIEDBYCB, { u8"CKERR_BEHAVIORADDDENIEDBYCB", u8"The behavior cannnot be added to this entity " } },
{ LibCmo::CK2::CKERROR::CKERR_INCOMPATIBLECLASSID, { u8"CKERR_INCOMPATIBLECLASSID", u8"The behavior cannnot be added to this entity " } },
{ LibCmo::CK2::CKERROR::CKERR_MANAGERALREADYEXISTS, { u8"CKERR_MANAGERALREADYEXISTS", u8"A manager was registered more than once " } },
{ LibCmo::CK2::CKERROR::CKERR_PAUSED, { u8"CKERR_PAUSED", u8"CKprocess or TimeManager process while CK is paused will fail " } },
{ LibCmo::CK2::CKERROR::CKERR_PLUGINSMISSING, { u8"CKERR_PLUGINSMISSING", u8"Some plugins were missing whileloading a file " } },
{ LibCmo::CK2::CKERROR::CKERR_OBSOLETEVIRTOOLS, { u8"CKERR_OBSOLETEVIRTOOLS", u8"Virtools version too old to load this file " } },
{ LibCmo::CK2::CKERROR::CKERR_FILECRCERROR, { u8"CKERR_FILECRCERROR", u8"CRC Error while loading file " } },
{ LibCmo::CK2::CKERROR::CKERR_ALREADYFULLSCREEN, { u8"CKERR_ALREADYFULLSCREEN", u8"A Render context is already in Fullscreen Mode " } },
{ LibCmo::CK2::CKERROR::CKERR_CANCELLED, { u8"CKERR_CANCELLED", u8"Operation was cancelled by user " } },
{ LibCmo::CK2::CKERROR::CKERR_NOANIMATIONKEY, { u8"CKERR_NOANIMATIONKEY", u8"there were no animation key at the given index " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDINDEX, { u8"CKERR_INVALIDINDEX", u8"attemp to acces an animation key with an invalid index " } },
{ LibCmo::CK2::CKERROR::CKERR_INVALIDANIMATION, { u8"CKERR_INVALIDANIMATION", u8"the animation is invalid (no entity associated or zero length) " } },
2023-08-26 20:34:51 +08:00
};
2023-02-08 22:57:31 +08:00
2023-08-26 20:34:51 +08:00
}
#pragma endregion
2023-02-08 22:57:31 +08:00
2023-08-26 20:34:51 +08:00
#pragma region CKERROR CK_CLASSID Process
2023-02-08 22:57:31 +08:00
2023-08-26 20:34:51 +08:00
static const CkErrorReflection* GetCkError(LibCmo::CK2::CKERROR err) {
for (auto& item : EnumDesc::CKERROR) {
if (item.first == err) {
return &item.second;
2023-02-08 22:57:31 +08:00
}
}
2023-08-26 20:34:51 +08:00
return nullptr;
}
2023-02-08 22:57:31 +08:00
std::u8string GetCkErrorName(LibCmo::CK2::CKERROR err) {
2023-08-26 20:34:51 +08:00
const CkErrorReflection* node = GetCkError(err);
if (node != nullptr) return node->mName;
else return c_InvalidEnumName;
}
2023-02-08 22:57:31 +08:00
std::u8string GetCkErrorDescription(LibCmo::CK2::CKERROR err) {
2023-08-26 20:34:51 +08:00
const CkErrorReflection* node = GetCkError(err);
if (node != nullptr) return node->mDescription;
else return c_InvalidEnumName;
}
2023-02-08 22:57:31 +08:00
2023-08-26 20:34:51 +08:00
static const CkClassidReflection* GetCkClassid(LibCmo::CK2::CK_CLASSID cls) {
for (auto& item : EnumDesc::CK_CLASSID) {
if (item.first == cls) {
return &item.second;
2023-02-08 22:57:31 +08:00
}
}
2023-08-26 20:34:51 +08:00
return nullptr;
}
2023-02-08 22:57:31 +08:00
std::u8string GetClassIdName(LibCmo::CK2::CK_CLASSID cls) {
2023-08-26 20:34:51 +08:00
const CkClassidReflection* node = GetCkClassid(cls);
if (node == nullptr) return c_InvalidEnumName;
else return node->mHierarchy.back();
}
2023-03-03 16:05:32 +08:00
std::u8string GetClassIdHierarchy(LibCmo::CK2::CK_CLASSID cls) {
2023-08-26 20:34:51 +08:00
const CkClassidReflection* node = GetCkClassid(cls);
if (node == nullptr) return c_InvalidEnumName;
std::u8string ret;
for (const auto* hierarchy_node : node->mHierarchy) {
if (!ret.empty()) ret += u8" -> ";
ret += hierarchy_node;
2023-02-08 22:57:31 +08:00
}
return ret;
2023-08-26 20:34:51 +08:00
}
2023-02-08 22:57:31 +08:00
2023-02-09 14:12:02 +08:00
#pragma endregion
2023-08-26 20:34:51 +08:00
#pragma region Other Enums
2023-02-08 22:57:31 +08:00
2023-08-26 20:34:51 +08:00
namespace EnumDesc {
2023-02-08 22:57:31 +08:00
const GeneralReflectionArray<LibCmo::CK2::CK_FILE_WRITEMODE> CK_FILE_WRITEMODE {
{ LibCmo::CK2::CK_FILE_WRITEMODE::CKFILE_UNCOMPRESSED, { u8"CKFILE_UNCOMPRESSED" } },
{ LibCmo::CK2::CK_FILE_WRITEMODE::CKFILE_CHUNKCOMPRESSED_OLD, { u8"CKFILE_CHUNKCOMPRESSED_OLD" } },
{ LibCmo::CK2::CK_FILE_WRITEMODE::CKFILE_EXTERNALTEXTURES_OLD, { u8"CKFILE_EXTERNALTEXTURES_OLD" } },
{ LibCmo::CK2::CK_FILE_WRITEMODE::CKFILE_FORVIEWER, { u8"CKFILE_FORVIEWER" } },
{ LibCmo::CK2::CK_FILE_WRITEMODE::CKFILE_WHOLECOMPRESSED, { u8"CKFILE_WHOLECOMPRESSED" } },
};
const GeneralReflectionArray<LibCmo::CK2::CK_LOAD_FLAGS> CK_LOAD_FLAGS {
{ LibCmo::CK2::CK_LOAD_FLAGS::CK_LOAD_ANIMATION, { u8"CK_LOAD_ANIMATION" } },
{ LibCmo::CK2::CK_LOAD_FLAGS::CK_LOAD_GEOMETRY, { u8"CK_LOAD_GEOMETRY" } },
{ LibCmo::CK2::CK_LOAD_FLAGS::CK_LOAD_DEFAULT, { u8"CK_LOAD_DEFAULT" } },
{ LibCmo::CK2::CK_LOAD_FLAGS::CK_LOAD_ASCHARACTER, { u8"CK_LOAD_ASCHARACTER" } },
{ LibCmo::CK2::CK_LOAD_FLAGS::CK_LOAD_DODIALOG, { u8"CK_LOAD_DODIALOG" } },
{ LibCmo::CK2::CK_LOAD_FLAGS::CK_LOAD_AS_DYNAMIC_OBJECT, { u8"CK_LOAD_AS_DYNAMIC_OBJECT" } },
{ LibCmo::CK2::CK_LOAD_FLAGS::CK_LOAD_AUTOMATICMODE, { u8"CK_LOAD_AUTOMATICMODE" } },
{ LibCmo::CK2::CK_LOAD_FLAGS::CK_LOAD_CHECKDUPLICATES, { u8"CK_LOAD_CHECKDUPLICATES" } },
{ LibCmo::CK2::CK_LOAD_FLAGS::CK_LOAD_CHECKDEPENDENCIES, { u8"CK_LOAD_CHECKDEPENDENCIES" } },
{ LibCmo::CK2::CK_LOAD_FLAGS::CK_LOAD_ONLYBEHAVIORS, { u8"CK_LOAD_ONLYBEHAVIORS" } },
};
2023-08-26 20:34:51 +08:00
const GeneralReflectionArray<LibCmo::CK2::CK_FO_OPTIONS> CK_FO_OPTIONS {
{ LibCmo::CK2::CK_FO_OPTIONS::CK_FO_DEFAULT, { u8"CK_FO_DEFAULT" } },
{ LibCmo::CK2::CK_FO_OPTIONS::CK_FO_RENAMEOBJECT, { u8"CK_FO_RENAMEOBJECT" } },
{ LibCmo::CK2::CK_FO_OPTIONS::CK_FO_REPLACEOBJECT, { u8"CK_FO_REPLACEOBJECT" } },
{ LibCmo::CK2::CK_FO_OPTIONS::CK_FO_DONTLOADOBJECT, { u8"CK_FO_DONTLOADOBJECT" } },
};
const GeneralReflectionArray<LibCmo::CK2::CK_LOADMODE> CK_LOADMODE {
{ LibCmo::CK2::CK_LOADMODE::CKLOAD_INVALID, { u8"CKLOAD_INVALID" } },
{ LibCmo::CK2::CK_LOADMODE::CKLOAD_OK, { u8"CKLOAD_OK" } },
{ LibCmo::CK2::CK_LOADMODE::CKLOAD_REPLACE, { u8"CKLOAD_REPLACE" } },
{ LibCmo::CK2::CK_LOADMODE::CKLOAD_RENAME, { u8"CKLOAD_RENAME" } },
{ LibCmo::CK2::CK_LOADMODE::CKLOAD_USECURRENT, { u8"CKLOAD_USECURRENT" } },
};
const GeneralReflectionArray<LibCmo::CK2::CK_OBJECTCREATION_OPTIONS> CK_OBJECTCREATION_OPTIONS {
{ LibCmo::CK2::CK_OBJECTCREATION_OPTIONS::CK_OBJECTCREATION_NONAMECHECK, { u8"CK_OBJECTCREATION_NONAMECHECK" } },
{ LibCmo::CK2::CK_OBJECTCREATION_OPTIONS::CK_OBJECTCREATION_REPLACE, { u8"CK_OBJECTCREATION_REPLACE" } },
{ LibCmo::CK2::CK_OBJECTCREATION_OPTIONS::CK_OBJECTCREATION_RENAME, { u8"CK_OBJECTCREATION_RENAME" } },
{ LibCmo::CK2::CK_OBJECTCREATION_OPTIONS::CK_OBJECTCREATION_USECURRENT, { u8"CK_OBJECTCREATION_USECURRENT" } },
{ LibCmo::CK2::CK_OBJECTCREATION_OPTIONS::CK_OBJECTCREATION_ASK, { u8"CK_OBJECTCREATION_ASK" } },
{ LibCmo::CK2::CK_OBJECTCREATION_OPTIONS::CK_OBJECTCREATION_FLAGSMASK, { u8"CK_OBJECTCREATION_FLAGSMASK" } },
{ LibCmo::CK2::CK_OBJECTCREATION_OPTIONS::CK_OBJECTCREATION_DYNAMIC, { u8"CK_OBJECTCREATION_DYNAMIC" } },
{ LibCmo::CK2::CK_OBJECTCREATION_OPTIONS::CK_OBJECTCREATION_ACTIVATE, { u8"CK_OBJECTCREATION_ACTIVATE" } },
{ LibCmo::CK2::CK_OBJECTCREATION_OPTIONS::CK_OBJECTCREATION_NONAMECOPY, { u8"CK_OBJECTCREATION_NONAMECOPY" } },
};
const GeneralReflectionArray<LibCmo::CK2::CK_PLUGIN_TYPE> CK_PLUGIN_TYPE {
{ LibCmo::CK2::CK_PLUGIN_TYPE::CKPLUGIN_BITMAP_READER, { u8"CKPLUGIN_BITMAP_READER" } },
{ LibCmo::CK2::CK_PLUGIN_TYPE::CKPLUGIN_SOUND_READER, { u8"CKPLUGIN_SOUND_READER" } },
{ LibCmo::CK2::CK_PLUGIN_TYPE::CKPLUGIN_MODEL_READER, { u8"CKPLUGIN_MODEL_READER" } },
{ LibCmo::CK2::CK_PLUGIN_TYPE::CKPLUGIN_MANAGER_DLL, { u8"CKPLUGIN_MANAGER_DLL" } },
{ LibCmo::CK2::CK_PLUGIN_TYPE::CKPLUGIN_BEHAVIOR_DLL, { u8"CKPLUGIN_BEHAVIOR_DLL" } },
{ LibCmo::CK2::CK_PLUGIN_TYPE::CKPLUGIN_RENDERENGINE_DLL, { u8"CKPLUGIN_RENDERENGINE_DLL" } },
{ LibCmo::CK2::CK_PLUGIN_TYPE::CKPLUGIN_MOVIE_READER, { u8"CKPLUGIN_MOVIE_READER" } },
{ LibCmo::CK2::CK_PLUGIN_TYPE::CKPLUGIN_EXTENSION_DLL, { u8"CKPLUGIN_EXTENSION_DLL" } },
2023-08-26 20:34:51 +08:00
};
const GeneralReflectionArray<LibCmo::CK2::CK_STATECHUNK_CHUNKOPTIONS> CK_STATECHUNK_CHUNKOPTIONS {
{ LibCmo::CK2::CK_STATECHUNK_CHUNKOPTIONS::CHNK_OPTION_IDS, { u8"CHNK_OPTION_IDS" } },
{ LibCmo::CK2::CK_STATECHUNK_CHUNKOPTIONS::CHNK_OPTION_MAN, { u8"CHNK_OPTION_MAN" } },
{ LibCmo::CK2::CK_STATECHUNK_CHUNKOPTIONS::CHNK_OPTION_CHN, { u8"CHNK_OPTION_CHN" } },
{ LibCmo::CK2::CK_STATECHUNK_CHUNKOPTIONS::CHNK_OPTION_FILE, { u8"CHNK_OPTION_FILE" } },
{ LibCmo::CK2::CK_STATECHUNK_CHUNKOPTIONS::CHNK_OPTION_ALLOWDYN, { u8"CHNK_OPTION_ALLOWDYN" } },
{ LibCmo::CK2::CK_STATECHUNK_CHUNKOPTIONS::CHNK_OPTION_LISTBIG, { u8"CHNK_OPTION_LISTBIG" } },
{ LibCmo::CK2::CK_STATECHUNK_CHUNKOPTIONS::CHNK_DONTDELETE_PTR, { u8"CHNK_DONTDELETE_PTR" } },
{ LibCmo::CK2::CK_STATECHUNK_CHUNKOPTIONS::CHNK_DONTDELETE_PARSER, { u8"CHNK_DONTDELETE_PARSER" } },
2023-08-26 20:34:51 +08:00
};
const GeneralReflectionArray<LibCmo::CK2::CK_STATECHUNK_DATAVERSION> CK_STATECHUNK_DATAVERSION {
{ LibCmo::CK2::CK_STATECHUNK_DATAVERSION::CHUNKDATA_OLDVERSION, { u8"CHUNKDATA_OLDVERSION" } },
{ LibCmo::CK2::CK_STATECHUNK_DATAVERSION::CHUNKDATA_BASEVERSION, { u8"CHUNKDATA_BASEVERSION" } },
{ LibCmo::CK2::CK_STATECHUNK_DATAVERSION::CHUNK_WAVESOUND_VERSION2, { u8"CHUNK_WAVESOUND_VERSION2" } },
{ LibCmo::CK2::CK_STATECHUNK_DATAVERSION::CHUNK_WAVESOUND_VERSION3, { u8"CHUNK_WAVESOUND_VERSION3" } },
{ LibCmo::CK2::CK_STATECHUNK_DATAVERSION::CHUNK_MATERIAL_VERSION_ZTEST, { u8"CHUNK_MATERIAL_VERSION_ZTEST" } },
{ LibCmo::CK2::CK_STATECHUNK_DATAVERSION::CHUNK_MAJORCHANGE_VERSION, { u8"CHUNK_MAJORCHANGE_VERSION" } },
{ LibCmo::CK2::CK_STATECHUNK_DATAVERSION::CHUNK_MACCHANGE_VERSION, { u8"CHUNK_MACCHANGE_VERSION" } },
{ LibCmo::CK2::CK_STATECHUNK_DATAVERSION::CHUNK_WAVESOUND_VERSION4, { u8"CHUNK_WAVESOUND_VERSION4" } },
{ LibCmo::CK2::CK_STATECHUNK_DATAVERSION::CHUNK_SCENECHANGE_VERSION, { u8"CHUNK_SCENECHANGE_VERSION" } },
{ LibCmo::CK2::CK_STATECHUNK_DATAVERSION::CHUNK_MESHCHANGE_VERSION, { u8"CHUNK_MESHCHANGE_VERSION" } },
{ LibCmo::CK2::CK_STATECHUNK_DATAVERSION::CHUNK_DEV_2_1, { u8"CHUNK_DEV_2_1" } },
{ LibCmo::CK2::CK_STATECHUNK_DATAVERSION::CHUNKDATA_CURRENTVERSION, { u8"CHUNKDATA_CURRENTVERSION" } },
2023-08-26 20:34:51 +08:00
};
const GeneralReflectionArray<LibCmo::CK2::CK_STATECHUNK_CHUNKVERSION> CK_STATECHUNK_CHUNKVERSION {
{ LibCmo::CK2::CK_STATECHUNK_CHUNKVERSION::CHUNK_VERSIONBASE, { u8"CHUNK_VERSIONBASE" } },
{ LibCmo::CK2::CK_STATECHUNK_CHUNKVERSION::CHUNK_VERSION1, { u8"CHUNK_VERSION1" } },
{ LibCmo::CK2::CK_STATECHUNK_CHUNKVERSION::CHUNK_VERSION2, { u8"CHUNK_VERSION2" } },
{ LibCmo::CK2::CK_STATECHUNK_CHUNKVERSION::CHUNK_VERSION3, { u8"CHUNK_VERSION3" } },
{ LibCmo::CK2::CK_STATECHUNK_CHUNKVERSION::CHUNK_VERSION4, { u8"CHUNK_VERSION4" } },
};
const GeneralReflectionArray<LibCmo::CK2::CK_OBJECT_SHOWOPTION> CK_OBJECT_SHOWOPTION {
{ LibCmo::CK2::CK_OBJECT_SHOWOPTION::CKHIDE, { u8"CKHIDE" } },
{ LibCmo::CK2::CK_OBJECT_SHOWOPTION::CKSHOW, { u8"CKSHOW" } },
{ LibCmo::CK2::CK_OBJECT_SHOWOPTION::CKHIERARCHICALHIDE, { u8"CKHIERARCHICALHIDE" } },
2023-08-26 20:34:51 +08:00
};
2023-09-22 16:40:10 +08:00
const GeneralReflectionArray<LibCmo::CK2::CK_OBJECT_FLAGS> CK_OBJECT_FLAGS {
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_INTERFACEOBJ, { u8"CK_OBJECT_INTERFACEOBJ" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_PRIVATE, { u8"CK_OBJECT_PRIVATE" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_INTERFACEMARK, { u8"CK_OBJECT_INTERFACEMARK" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_FREEID, { u8"CK_OBJECT_FREEID" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_TOBEDELETED, { u8"CK_OBJECT_TOBEDELETED" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_NOTTOBESAVED, { u8"CK_OBJECT_NOTTOBESAVED" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_VISIBLE, { u8"CK_OBJECT_VISIBLE" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_NAMESHARED, { u8"CK_OBJECT_NAMESHARED" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_DYNAMIC, { u8"CK_OBJECT_DYNAMIC" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_HIERACHICALHIDE, { u8"CK_OBJECT_HIERACHICALHIDE" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_UPTODATE, { u8"CK_OBJECT_UPTODATE" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_TEMPMARKER, { u8"CK_OBJECT_TEMPMARKER" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_ONLYFORFILEREFERENCE, { u8"CK_OBJECT_ONLYFORFILEREFERENCE" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_NOTTOBEDELETED, { u8"CK_OBJECT_NOTTOBEDELETED" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_APPDATA, { u8"CK_OBJECT_APPDATA" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_SINGLEACTIVITY, { u8"CK_OBJECT_SINGLEACTIVITY" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_LOADSKIPBEOBJECT, { u8"CK_OBJECT_LOADSKIPBEOBJECT" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_NOTTOBELISTEDANDSAVED, { u8"CK_OBJECT_NOTTOBELISTEDANDSAVED" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_PARAMETEROUT_SETTINGS, { u8"CK_PARAMETEROUT_SETTINGS" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_PARAMETEROUT_PARAMOP, { u8"CK_PARAMETEROUT_PARAMOP" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_PARAMETERIN_DISABLED, { u8"CK_PARAMETERIN_DISABLED" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_PARAMETERIN_THIS, { u8"CK_PARAMETERIN_THIS" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_PARAMETERIN_SHARED, { u8"CK_PARAMETERIN_SHARED" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_PARAMETEROUT_DELETEAFTERUSE, { u8"CK_PARAMETEROUT_DELETEAFTERUSE" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_PARAMMASK, { u8"CK_OBJECT_PARAMMASK" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_BEHAVIORIO_IN, { u8"CK_BEHAVIORIO_IN" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_BEHAVIORIO_OUT, { u8"CK_BEHAVIORIO_OUT" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_BEHAVIORIO_ACTIVE, { u8"CK_BEHAVIORIO_ACTIVE" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_IOTYPEMASK, { u8"CK_OBJECT_IOTYPEMASK" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_IOMASK, { u8"CK_OBJECT_IOMASK" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CKBEHAVIORLINK_RESERVED, { u8"CKBEHAVIORLINK_RESERVED" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CKBEHAVIORLINK_ACTIVATEDLASTFRAME, { u8"CKBEHAVIORLINK_ACTIVATEDLASTFRAME" } },
{ LibCmo::CK2::CK_OBJECT_FLAGS::CK_OBJECT_BEHAVIORLINKMASK, { u8"CK_OBJECT_BEHAVIORLINKMASK" } },
2023-09-22 16:40:10 +08:00
};
const GeneralReflectionArray<LibCmo::CK2::CK_3DENTITY_FLAGS> CK_3DENTITY_FLAGS {
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_DUMMY, { u8"CK_3DENTITY_DUMMY" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_FRAME, { u8"CK_3DENTITY_FRAME" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_RESERVED0, { u8"CK_3DENTITY_RESERVED0" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_TARGETLIGHT, { u8"CK_3DENTITY_TARGETLIGHT" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_TARGETCAMERA, { u8"CK_3DENTITY_TARGETCAMERA" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_IGNOREANIMATION, { u8"CK_3DENTITY_IGNOREANIMATION" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_HIERARCHICALOBSTACLE, { u8"CK_3DENTITY_HIERARCHICALOBSTACLE" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_UPDATELASTFRAME, { u8"CK_3DENTITY_UPDATELASTFRAME" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_CAMERAIGNOREASPECT, { u8"CK_3DENTITY_CAMERAIGNOREASPECT" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_DISABLESKINPROCESS, { u8"CK_3DENTITY_DISABLESKINPROCESS" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_ENABLESKINOFFSET, { u8"CK_3DENTITY_ENABLESKINOFFSET" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_PLACEVALID, { u8"CK_3DENTITY_PLACEVALID" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_PARENTVALID, { u8"CK_3DENTITY_PARENTVALID" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_IKJOINTVALID, { u8"CK_3DENTITY_IKJOINTVALID" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_PORTAL, { u8"CK_3DENTITY_PORTAL" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_ZORDERVALID, { u8"CK_3DENTITY_ZORDERVALID" } },
{ LibCmo::CK2::CK_3DENTITY_FLAGS::CK_3DENTITY_CHARACTERDOPROCESS, { u8"CK_3DENTITY_CHARACTERDOPROCESS" } },
2023-09-22 16:40:10 +08:00
};
const GeneralReflectionArray<LibCmo::CK2::CK_TEXTURE_SAVEOPTIONS> CK_TEXTURE_SAVEOPTIONS {
{ LibCmo::CK2::CK_TEXTURE_SAVEOPTIONS::CKTEXTURE_RAWDATA, { u8"CKTEXTURE_RAWDATA" } },
{ LibCmo::CK2::CK_TEXTURE_SAVEOPTIONS::CKTEXTURE_EXTERNAL, { u8"CKTEXTURE_EXTERNAL" } },
{ LibCmo::CK2::CK_TEXTURE_SAVEOPTIONS::CKTEXTURE_IMAGEFORMAT, { u8"CKTEXTURE_IMAGEFORMAT" } },
{ LibCmo::CK2::CK_TEXTURE_SAVEOPTIONS::CKTEXTURE_USEGLOBAL, { u8"CKTEXTURE_USEGLOBAL" } },
{ LibCmo::CK2::CK_TEXTURE_SAVEOPTIONS::CKTEXTURE_INCLUDEORIGINALFILE, { u8"CKTEXTURE_INCLUDEORIGINALFILE" } },
};
const GeneralReflectionArray<LibCmo::CK2::CK_SOUND_SAVEOPTIONS> CK_SOUND_SAVEOPTIONS {
{ LibCmo::CK2::CK_SOUND_SAVEOPTIONS::CKSOUND_EXTERNAL, { u8"CKSOUND_EXTERNAL" } },
{ LibCmo::CK2::CK_SOUND_SAVEOPTIONS::CKSOUND_INCLUDEORIGINALFILE, { u8"CKSOUND_INCLUDEORIGINALFILE" } },
{ LibCmo::CK2::CK_SOUND_SAVEOPTIONS::CKSOUND_USEGLOBAL, { u8"CKSOUND_USEGLOBAL" } },
2023-09-22 16:40:10 +08:00
};
2023-09-22 22:31:51 +08:00
const GeneralReflectionArray<LibCmo::CK2::CK_BITMAPDATA_FLAGS> CK_BITMAPDATA_FLAGS {
{ LibCmo::CK2::CK_BITMAPDATA_FLAGS::CKBITMAPDATA_INVALID, { u8"CKBITMAPDATA_INVALID" } },
{ LibCmo::CK2::CK_BITMAPDATA_FLAGS::CKBITMAPDATA_TRANSPARENT, { u8"CKBITMAPDATA_TRANSPARENT" } },
{ LibCmo::CK2::CK_BITMAPDATA_FLAGS::CKBITMAPDATA_FORCERESTORE, { u8"CKBITMAPDATA_FORCERESTORE" } },
{ LibCmo::CK2::CK_BITMAPDATA_FLAGS::CKBITMAPDATA_CLAMPUPTODATE, { u8"CKBITMAPDATA_CLAMPUPTODATE" } },
{ LibCmo::CK2::CK_BITMAPDATA_FLAGS::CKBITMAPDATA_CUBEMAP, { u8"CKBITMAPDATA_CUBEMAP" } },
{ LibCmo::CK2::CK_BITMAPDATA_FLAGS::CKBITMAPDATA_FREEVIDEOMEMORY, { u8"CKBITMAPDATA_FREEVIDEOMEMORY" } },
{ LibCmo::CK2::CK_BITMAPDATA_FLAGS::CKBITMAPDATA_DYNAMIC, { u8"CKBITMAPDATA_DYNAMIC" } },
2023-09-22 22:31:51 +08:00
};
2023-02-08 22:57:31 +08:00
2023-09-22 16:40:10 +08:00
const GeneralReflectionArray<LibCmo::VxMath::VX_PIXELFORMAT> VX_PIXELFORMAT {
{ LibCmo::VxMath::VX_PIXELFORMAT::UNKNOWN_PF, { u8"UNKNOWN_PF" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_32_ARGB8888, { u8"_32_ARGB8888" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_32_RGB888, { u8"_32_RGB888" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_24_RGB888, { u8"_24_RGB888" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_16_RGB565, { u8"_16_RGB565" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_16_RGB555, { u8"_16_RGB555" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_16_ARGB1555, { u8"_16_ARGB1555" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_16_ARGB4444, { u8"_16_ARGB4444" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_8_RGB332, { u8"_8_RGB332" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_8_ARGB2222, { u8"_8_ARGB2222" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_32_ABGR8888, { u8"_32_ABGR8888" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_32_RGBA8888, { u8"_32_RGBA8888" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_32_BGRA8888, { u8"_32_BGRA8888" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_32_BGR888, { u8"_32_BGR888" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_24_BGR888, { u8"_24_BGR888" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_16_BGR565, { u8"_16_BGR565" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_16_BGR555, { u8"_16_BGR555" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_16_ABGR1555, { u8"_16_ABGR1555" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_16_ABGR4444, { u8"_16_ABGR4444" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_DXT1, { u8"_DXT1" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_DXT2, { u8"_DXT2" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_DXT3, { u8"_DXT3" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_DXT4, { u8"_DXT4" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_DXT5, { u8"_DXT5" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_16_V8U8, { u8"_16_V8U8" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_32_V16U16, { u8"_32_V16U16" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_16_L6V5U5, { u8"_16_L6V5U5" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_32_X8L8V8U8, { u8"_32_X8L8V8U8" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_8_ABGR8888_CLUT, { u8"_8_ABGR8888_CLUT" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_8_ARGB8888_CLUT, { u8"_8_ARGB8888_CLUT" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_4_ABGR8888_CLUT, { u8"_4_ABGR8888_CLUT" } },
{ LibCmo::VxMath::VX_PIXELFORMAT::_4_ARGB8888_CLUT, { u8"_4_ARGB8888_CLUT" } },
2023-09-22 16:40:10 +08:00
};
const GeneralReflectionArray<LibCmo::VxMath::VXTEXTURE_BLENDMODE> VXTEXTURE_BLENDMODE {
{ LibCmo::VxMath::VXTEXTURE_BLENDMODE::VXTEXTUREBLEND_DECAL, { u8"VXTEXTUREBLEND_DECAL" } },
{ LibCmo::VxMath::VXTEXTURE_BLENDMODE::VXTEXTUREBLEND_MODULATE, { u8"VXTEXTUREBLEND_MODULATE" } },
{ LibCmo::VxMath::VXTEXTURE_BLENDMODE::VXTEXTUREBLEND_DECALALPHA, { u8"VXTEXTUREBLEND_DECALALPHA" } },
{ LibCmo::VxMath::VXTEXTURE_BLENDMODE::VXTEXTUREBLEND_MODULATEALPHA, { u8"VXTEXTUREBLEND_MODULATEALPHA" } },
{ LibCmo::VxMath::VXTEXTURE_BLENDMODE::VXTEXTUREBLEND_DECALMASK, { u8"VXTEXTUREBLEND_DECALMASK" } },
{ LibCmo::VxMath::VXTEXTURE_BLENDMODE::VXTEXTUREBLEND_MODULATEMASK, { u8"VXTEXTUREBLEND_MODULATEMASK" } },
{ LibCmo::VxMath::VXTEXTURE_BLENDMODE::VXTEXTUREBLEND_COPY, { u8"VXTEXTUREBLEND_COPY" } },
{ LibCmo::VxMath::VXTEXTURE_BLENDMODE::VXTEXTUREBLEND_ADD, { u8"VXTEXTUREBLEND_ADD" } },
{ LibCmo::VxMath::VXTEXTURE_BLENDMODE::VXTEXTUREBLEND_DOTPRODUCT3, { u8"VXTEXTUREBLEND_DOTPRODUCT3" } },
{ LibCmo::VxMath::VXTEXTURE_BLENDMODE::VXTEXTUREBLEND_MAX, { u8"VXTEXTUREBLEND_MAX" } },
{ LibCmo::VxMath::VXTEXTURE_BLENDMODE::VXTEXTUREBLEND_MASK, { u8"VXTEXTUREBLEND_MASK" } },
2023-09-22 16:40:10 +08:00
};
const GeneralReflectionArray<LibCmo::VxMath::VXTEXTURE_FILTERMODE> VXTEXTURE_FILTERMODE {
{ LibCmo::VxMath::VXTEXTURE_FILTERMODE::VXTEXTUREFILTER_NEAREST, { u8"VXTEXTUREFILTER_NEAREST" } },
{ LibCmo::VxMath::VXTEXTURE_FILTERMODE::VXTEXTUREFILTER_LINEAR, { u8"VXTEXTUREFILTER_LINEAR" } },
{ LibCmo::VxMath::VXTEXTURE_FILTERMODE::VXTEXTUREFILTER_MIPNEAREST, { u8"VXTEXTUREFILTER_MIPNEAREST" } },
{ LibCmo::VxMath::VXTEXTURE_FILTERMODE::VXTEXTUREFILTER_MIPLINEAR, { u8"VXTEXTUREFILTER_MIPLINEAR" } },
{ LibCmo::VxMath::VXTEXTURE_FILTERMODE::VXTEXTUREFILTER_LINEARMIPNEAREST, { u8"VXTEXTUREFILTER_LINEARMIPNEAREST" } },
{ LibCmo::VxMath::VXTEXTURE_FILTERMODE::VXTEXTUREFILTER_LINEARMIPLINEAR, { u8"VXTEXTUREFILTER_LINEARMIPLINEAR" } },
{ LibCmo::VxMath::VXTEXTURE_FILTERMODE::VXTEXTUREFILTER_ANISOTROPIC, { u8"VXTEXTUREFILTER_ANISOTROPIC" } },
{ LibCmo::VxMath::VXTEXTURE_FILTERMODE::VXTEXTUREFILTER_MASK, { u8"VXTEXTUREFILTER_MASK" } },
2023-09-22 16:40:10 +08:00
};
const GeneralReflectionArray<LibCmo::VxMath::VXBLEND_MODE> VXBLEND_MODE {
{ LibCmo::VxMath::VXBLEND_MODE::VXBLEND_ZERO, { u8"VXBLEND_ZERO" } },
{ LibCmo::VxMath::VXBLEND_MODE::VXBLEND_ONE, { u8"VXBLEND_ONE" } },
{ LibCmo::VxMath::VXBLEND_MODE::VXBLEND_SRCCOLOR, { u8"VXBLEND_SRCCOLOR" } },
{ LibCmo::VxMath::VXBLEND_MODE::VXBLEND_INVSRCCOLOR, { u8"VXBLEND_INVSRCCOLOR" } },
{ LibCmo::VxMath::VXBLEND_MODE::VXBLEND_SRCALPHA, { u8"VXBLEND_SRCALPHA" } },
{ LibCmo::VxMath::VXBLEND_MODE::VXBLEND_INVSRCALPHA, { u8"VXBLEND_INVSRCALPHA" } },
{ LibCmo::VxMath::VXBLEND_MODE::VXBLEND_DESTALPHA, { u8"VXBLEND_DESTALPHA" } },
{ LibCmo::VxMath::VXBLEND_MODE::VXBLEND_INVDESTALPHA, { u8"VXBLEND_INVDESTALPHA" } },
{ LibCmo::VxMath::VXBLEND_MODE::VXBLEND_DESTCOLOR, { u8"VXBLEND_DESTCOLOR" } },
{ LibCmo::VxMath::VXBLEND_MODE::VXBLEND_INVDESTCOLOR, { u8"VXBLEND_INVDESTCOLOR" } },
{ LibCmo::VxMath::VXBLEND_MODE::VXBLEND_SRCALPHASAT, { u8"VXBLEND_SRCALPHASAT" } },
{ LibCmo::VxMath::VXBLEND_MODE::VXBLEND_BOTHSRCALPHA, { u8"VXBLEND_BOTHSRCALPHA" } },
{ LibCmo::VxMath::VXBLEND_MODE::VXBLEND_BOTHINVSRCALPHA, { u8"VXBLEND_BOTHINVSRCALPHA" } },
{ LibCmo::VxMath::VXBLEND_MODE::VXBLEND_MASK, { u8"VXBLEND_MASK" } },
2023-09-22 16:40:10 +08:00
};
const GeneralReflectionArray<LibCmo::VxMath::VXTEXTURE_ADDRESSMODE> VXTEXTURE_ADDRESSMODE {
{ LibCmo::VxMath::VXTEXTURE_ADDRESSMODE::VXTEXTURE_ADDRESSWRAP, { u8"VXTEXTURE_ADDRESSWRAP" } },
{ LibCmo::VxMath::VXTEXTURE_ADDRESSMODE::VXTEXTURE_ADDRESSMIRROR, { u8"VXTEXTURE_ADDRESSMIRROR" } },
{ LibCmo::VxMath::VXTEXTURE_ADDRESSMODE::VXTEXTURE_ADDRESSCLAMP, { u8"VXTEXTURE_ADDRESSCLAMP" } },
{ LibCmo::VxMath::VXTEXTURE_ADDRESSMODE::VXTEXTURE_ADDRESSBORDER, { u8"VXTEXTURE_ADDRESSBORDER" } },
{ LibCmo::VxMath::VXTEXTURE_ADDRESSMODE::VXTEXTURE_ADDRESSMIRRORONCE, { u8"VXTEXTURE_ADDRESSMIRRORONCE" } },
{ LibCmo::VxMath::VXTEXTURE_ADDRESSMODE::VXTEXTURE_ADDRESSMASK, { u8"VXTEXTURE_ADDRESSMASK" } },
2023-09-22 16:40:10 +08:00
};
const GeneralReflectionArray<LibCmo::VxMath::VXFILL_MODE> VXFILL_MODE {
{ LibCmo::VxMath::VXFILL_MODE::VXFILL_POINT, { u8"VXFILL_POINT" } },
{ LibCmo::VxMath::VXFILL_MODE::VXFILL_WIREFRAME, { u8"VXFILL_WIREFRAME" } },
{ LibCmo::VxMath::VXFILL_MODE::VXFILL_SOLID, { u8"VXFILL_SOLID" } },
{ LibCmo::VxMath::VXFILL_MODE::VXFILL_MASK, { u8"VXFILL_MASK" } },
2023-09-22 16:40:10 +08:00
};
const GeneralReflectionArray<LibCmo::VxMath::VXSHADE_MODE> VXSHADE_MODE {
{ LibCmo::VxMath::VXSHADE_MODE::VXSHADE_FLAT, { u8"VXSHADE_FLAT" } },
{ LibCmo::VxMath::VXSHADE_MODE::VXSHADE_GOURAUD, { u8"VXSHADE_GOURAUD" } },
{ LibCmo::VxMath::VXSHADE_MODE::VXSHADE_PHONG, { u8"VXSHADE_PHONG" } },
{ LibCmo::VxMath::VXSHADE_MODE::VXSHADE_MASK, { u8"VXSHADE_MASK" } },
2023-09-22 16:40:10 +08:00
};
const GeneralReflectionArray<LibCmo::VxMath::VXCMPFUNC> VXCMPFUNC {
{ LibCmo::VxMath::VXCMPFUNC::VXCMP_NEVER, { u8"VXCMP_NEVER" } },
{ LibCmo::VxMath::VXCMPFUNC::VXCMP_LESS, { u8"VXCMP_LESS" } },
{ LibCmo::VxMath::VXCMPFUNC::VXCMP_EQUAL, { u8"VXCMP_EQUAL" } },
{ LibCmo::VxMath::VXCMPFUNC::VXCMP_LESSEQUAL, { u8"VXCMP_LESSEQUAL" } },
{ LibCmo::VxMath::VXCMPFUNC::VXCMP_GREATER, { u8"VXCMP_GREATER" } },
{ LibCmo::VxMath::VXCMPFUNC::VXCMP_NOTEQUAL, { u8"VXCMP_NOTEQUAL" } },
{ LibCmo::VxMath::VXCMPFUNC::VXCMP_GREATEREQUAL, { u8"VXCMP_GREATEREQUAL" } },
{ LibCmo::VxMath::VXCMPFUNC::VXCMP_ALWAYS, { u8"VXCMP_ALWAYS" } },
{ LibCmo::VxMath::VXCMPFUNC::VXCMP_MASK, { u8"VXCMP_MASK" } },
2023-09-22 16:40:10 +08:00
};
const GeneralReflectionArray<LibCmo::VxMath::VX_EFFECT> VX_EFFECT {
{ LibCmo::VxMath::VX_EFFECT::VXEFFECT_NONE, { u8"VXEFFECT_NONE" } },
{ LibCmo::VxMath::VX_EFFECT::VXEFFECT_TEXGEN, { u8"VXEFFECT_TEXGEN" } },
{ LibCmo::VxMath::VX_EFFECT::VXEFFECT_TEXGENREF, { u8"VXEFFECT_TEXGENREF" } },
{ LibCmo::VxMath::VX_EFFECT::VXEFFECT_BUMPENV, { u8"VXEFFECT_BUMPENV" } },
{ LibCmo::VxMath::VX_EFFECT::VXEFFECT_DP3, { u8"VXEFFECT_DP3" } },
{ LibCmo::VxMath::VX_EFFECT::VXEFFECT_2TEXTURES, { u8"VXEFFECT_2TEXTURES" } },
{ LibCmo::VxMath::VX_EFFECT::VXEFFECT_3TEXTURES, { u8"VXEFFECT_3TEXTURES" } },
{ LibCmo::VxMath::VX_EFFECT::VXEFFECT_MASK, { u8"VXEFFECT_MASK" } },
2023-09-22 16:40:10 +08:00
};
const GeneralReflectionArray<LibCmo::VxMath::VX_MOVEABLE_FLAGS> VX_MOVEABLE_FLAGS {
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_PICKABLE, { u8"VX_MOVEABLE_PICKABLE" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_VISIBLE, { u8"VX_MOVEABLE_VISIBLE" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_UPTODATE, { u8"VX_MOVEABLE_UPTODATE" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_RENDERCHANNELS, { u8"VX_MOVEABLE_RENDERCHANNELS" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_USERBOX, { u8"VX_MOVEABLE_USERBOX" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_EXTENTSUPTODATE, { u8"VX_MOVEABLE_EXTENTSUPTODATE" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_BOXVALID, { u8"VX_MOVEABLE_BOXVALID" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_RENDERLAST, { u8"VX_MOVEABLE_RENDERLAST" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_HASMOVED, { u8"VX_MOVEABLE_HASMOVED" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_WORLDALIGNED, { u8"VX_MOVEABLE_WORLDALIGNED" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_NOZBUFFERWRITE, { u8"VX_MOVEABLE_NOZBUFFERWRITE" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_RENDERFIRST, { u8"VX_MOVEABLE_RENDERFIRST" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_NOZBUFFERTEST, { u8"VX_MOVEABLE_NOZBUFFERTEST" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_INVERSEWORLDMATVALID, { u8"VX_MOVEABLE_INVERSEWORLDMATVALID" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_DONTUPDATEFROMPARENT, { u8"VX_MOVEABLE_DONTUPDATEFROMPARENT" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_INDIRECTMATRIX, { u8"VX_MOVEABLE_INDIRECTMATRIX" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_ZBUFONLY, { u8"VX_MOVEABLE_ZBUFONLY" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_STENCILONLY, { u8"VX_MOVEABLE_STENCILONLY" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_HIERARCHICALHIDE, { u8"VX_MOVEABLE_HIERARCHICALHIDE" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_CHARACTERRENDERED, { u8"VX_MOVEABLE_CHARACTERRENDERED" } },
{ LibCmo::VxMath::VX_MOVEABLE_FLAGS::VX_MOVEABLE_RESERVED2, { u8"VX_MOVEABLE_RESERVED2" } },
2023-09-22 16:40:10 +08:00
};
const GeneralReflectionArray<LibCmo::VxMath::VXMESH_FLAGS> VXMESH_FLAGS {
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_BOUNDINGUPTODATE, { u8"VXMESH_BOUNDINGUPTODATE" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_VISIBLE, { u8"VXMESH_VISIBLE" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_OPTIMIZED, { u8"VXMESH_OPTIMIZED" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_RENDERCHANNELS, { u8"VXMESH_RENDERCHANNELS" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_HASTRANSPARENCY, { u8"VXMESH_HASTRANSPARENCY" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_PRELITMODE, { u8"VXMESH_PRELITMODE" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_WRAPU, { u8"VXMESH_WRAPU" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_WRAPV, { u8"VXMESH_WRAPV" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_FORCETRANSPARENCY, { u8"VXMESH_FORCETRANSPARENCY" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_TRANSPARENCYUPTODATE, { u8"VXMESH_TRANSPARENCYUPTODATE" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_UV_CHANGED, { u8"VXMESH_UV_CHANGED" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_NORMAL_CHANGED, { u8"VXMESH_NORMAL_CHANGED" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_COLOR_CHANGED, { u8"VXMESH_COLOR_CHANGED" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_POS_CHANGED, { u8"VXMESH_POS_CHANGED" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_HINTDYNAMIC, { u8"VXMESH_HINTDYNAMIC" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_GENNORMALS, { u8"VXMESH_GENNORMALS" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_PROCEDURALUV, { u8"VXMESH_PROCEDURALUV" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_PROCEDURALPOS, { u8"VXMESH_PROCEDURALPOS" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_STRIPIFY, { u8"VXMESH_STRIPIFY" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_MONOMATERIAL, { u8"VXMESH_MONOMATERIAL" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_PM_BUILDNORM, { u8"VXMESH_PM_BUILDNORM" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_BWEIGHTS_CHANGED, { u8"VXMESH_BWEIGHTS_CHANGED" } },
{ LibCmo::VxMath::VXMESH_FLAGS::VXMESH_ALLFLAGS, { u8"VXMESH_ALLFLAGS" } },
2023-09-22 16:40:10 +08:00
};
const GeneralReflectionArray<LibCmo::VxMath::VXMESH_LITMODE> VXMESH_LITMODE {
{ LibCmo::VxMath::VXMESH_LITMODE::VX_PRELITMESH, { u8"VX_PRELITMESH" } },
{ LibCmo::VxMath::VXMESH_LITMODE::VX_LITMESH, { u8"VX_LITMESH" } },
};
const GeneralReflectionArray<LibCmo::VxMath::VXCHANNEL_FLAGS> VXCHANNEL_FLAGS {
{ LibCmo::VxMath::VXCHANNEL_FLAGS::VXCHANNEL_ACTIVE, { u8"VXCHANNEL_ACTIVE" } },
{ LibCmo::VxMath::VXCHANNEL_FLAGS::VXCHANNEL_SAMEUV, { u8"VXCHANNEL_SAMEUV" } },
{ LibCmo::VxMath::VXCHANNEL_FLAGS::VXCHANNEL_NOTLIT, { u8"VXCHANNEL_NOTLIT" } },
{ LibCmo::VxMath::VXCHANNEL_FLAGS::VXCHANNEL_MONO, { u8"VXCHANNEL_MONO" } },
{ LibCmo::VxMath::VXCHANNEL_FLAGS::VXCHANNEL_RESERVED1, { u8"VXCHANNEL_RESERVED1" } },
{ LibCmo::VxMath::VXCHANNEL_FLAGS::VXCHANNEL_LAST, { u8"VXCHANNEL_LAST" } },
};
2023-09-22 16:40:10 +08:00
const GeneralReflectionArray<LibCmo::VxMath::VXTEXTURE_WRAPMODE> VXTEXTURE_WRAPMODE {
{ LibCmo::VxMath::VXTEXTURE_WRAPMODE::VXTEXTUREWRAP_NONE, { u8"VXTEXTUREWRAP_NONE" } },
{ LibCmo::VxMath::VXTEXTURE_WRAPMODE::VXTEXTUREWRAP_U, { u8"VXTEXTUREWRAP_U" } },
{ LibCmo::VxMath::VXTEXTURE_WRAPMODE::VXTEXTUREWRAP_V, { u8"VXTEXTUREWRAP_V" } },
{ LibCmo::VxMath::VXTEXTURE_WRAPMODE::VXTEXTUREWRAP_UV, { u8"VXTEXTUREWRAP_UV" } },
2023-09-22 16:40:10 +08:00
};
2023-02-08 22:57:31 +08:00
}
2023-08-26 20:34:51 +08:00
#pragma endregion
2023-02-08 22:57:31 +08:00
}