CK_LOAD_ASCHARACTER=1<<2,/**< Load all the objects and create a character that contains them all . */
CK_LOAD_DODIALOG=1<<3,/**< Check object name unicity and warns the user with a dialog box when duplicate names are found. */
CK_LOAD_AS_DYNAMIC_OBJECT=1<<4,/**< Objects loaded from this file may be deleted at run-time or are temporary */
CK_LOAD_AUTOMATICMODE=1<<5,/**< Check object name unicity and automatically rename or replace according to the options specified in CKContext::SetAutomaticLoadMode */
CK_LOAD_CHECKDUPLICATES=1<<6,/**< Check object name unicity (The list of duplicates is stored in the CKFile class after a OpenFile call */
CK_LOAD_CHECKDEPENDENCIES=1<<7,/**< Check if every plugins needed are availables */
CK_LOAD_ONLYBEHAVIORS=1<<8,/**< */
};
/**
Options that will be used to create this object...
*/
enumclassCK_FO_OPTIONS:uint32_t{
CK_FO_DEFAULT=0,/**< Default behavior : a new object will be created with the name stored in CKFileObject */
CK_FO_RENAMEOBJECT,/**< Renaming : a new object will be created with the name stored in CKFileObject + a integer value XXX to ensure its uniqueness */
CK_FO_REPLACEOBJECT,/**< Do not create a new object, instead use an existing one which CK_ID is given by CreatedObject to load the chunk on */
CK_FO_DONTLOADOBJECT,/**< Object chunk will not be read either because it is a reference or because the loaded object already exist in the current level and the user choose to keep the existing one. */
CKPLUGIN_MOVIE_READER=6,/**< Movie (AVI,Mpeg) reader */
CKPLUGIN_EXTENSION_DLL=7,/**< Generic extension (definition of new parameter types or operations for ex.) */
};
/**
@remark CHUNK_OPTIONS in original Virtools header.
*/
enumclassCK_STATECHUNK_CHUNKOPTIONS:uint32_t{
CHNK_OPTION_IDS=0x01,/**< IDS are stored inside chunk */
CHNK_OPTION_MAN=0x02,/**< Managers ints are store inside chunk */
CHNK_OPTION_CHN=0x04,/**< Sub chunk are stored inside chunk */
CHNK_OPTION_FILE=0x08,/**< Chunk was written with indices relative to a file.... */
CHNK_OPTION_ALLOWDYN=0x10,/**< Dynamic object can be written in the chunk */
CHNK_OPTION_LISTBIG=0x20,/**< List are store in big Endian ? */
CHNK_DONTDELETE_PTR=0x40,/**< Data buffer stored in m_Buffer is not owned by CKStateChunk , it must not be deleted... */
CHNK_DONTDELETE_PARSER=0x80,/**< m_Parser Ptr is not owned by CKStateChunk , it must not be deleted... */
};
enumclassCK_STATECHUNK_CHUNKVERSION:uint32_t{
CHUNK_VERSIONBASE=0,
CHUNK_VERSION1=4,/**< equal to file version : WriteObjectID => table */
CHUNK_VERSION2=5,/**< add Manager Data */
CHUNK_VERSION3=6,/**< New ConvertToBuffer / ReadFromBuffer (file system changed to reflect this ) */
CHUNK_VERSION4=7,/**< New WriteObjectID when saving to a file */
};
enumclassCK_STATECHUNK_DATAVERSION:uint32_t{
CHUNKDATA_OLDVERSION=0,/**< Before any version was saved */
CHUNKDATA_BASEVERSION=1,/**< First version */
CHUNK_WAVESOUND_VERSION2=2,/**< Changes in wavesound format */
CHUNK_WAVESOUND_VERSION3=3,/**< Changes in wavesound format */
CHUNK_MATERIAL_VERSION_ZTEST=4,/**< Change in material save format */
CHUNK_MAJORCHANGE_VERSION=5,/**< Optimisations on many save functions */
CHUNK_MACCHANGE_VERSION=6,/**< Misc new Statechunk functions for macintosh (Big-Endian <-> Little Endian conversion ) */
CHUNK_WAVESOUND_VERSION4=7,/**< Changes in wavesound format (Added sound length) */
CHUNK_SCENECHANGE_VERSION=8,/**< Changes in sceneObjectDesc format (Remove lasttimevalue) */
CHUNK_MESHCHANGE_VERSION=9,/**< Changes in Mesh save format (primitives) */
CHUNK_DEV_2_1=10,/**< Changes in wavesound reading of inside, outside angles */
CHUNKDATA_CURRENTVERSION=CHUNK_DEV_2_1,
};
/**
CKObject Flags
@remark
+ Flags specifying special settings for basic objects.
+ Some of this flags are shared with sub-classes such as CKParameterIn,CKParameterOut and CKBehaviorIO.
+ You rarely need to modify directly this flags through CKObject::SetFlags or CKObject::ModifyObjectFlags instead
you should always use the specific acces function (given between ()) which may need to perform additionnal operations.
See also: CKObject, CKObject::GetObjectFlags, CKObject::ModifyObjectFlags
*/
enumclassCK_OBJECT_FLAGS:uint32_t{
CK_OBJECT_INTERFACEOBJ=0x00000001,/**< Reserved for Inteface Use */
CK_OBJECT_PRIVATE=0x00000002,/**< The object must not be displayed in interface (Lists,Level view,etc...),nor should it be saved. (CKObject::IsPrivate() */
CK_OBJECT_INTERFACEMARK=0x00000004,
CK_OBJECT_FREEID=0x00000008,/**< ID of this object can be released safely and is free to be reused by future CKobjects. */
CK_OBJECT_TOBEDELETED=0x00000010,/**< This object is being deleted */
CK_OBJECT_NOTTOBESAVED=0x00000020,/**< This object must not be saved */
CK_OBJECT_VISIBLE=0x00000040,/**< This object is visible (CKObject::Show) */
CK_OBJECT_NAMESHARED=0x00000080,/**< This object has its name from another entity */
CK_OBJECT_DYNAMIC=0x00000108,/**< This object may be created or deleted at run-time, it also contails CK_OBJECT_FREEID. (CKObject::IsDynamic,CKContext::CreateObject) */
CK_OBJECT_HIERACHICALHIDE=0x00000200,/**< This object hides all its hierarchy (CKObject::Show) */
CK_OBJECT_NOTTOBEDELETED=0x00002000,/**< This object must not be deleted in a clear all */
CK_OBJECT_APPDATA=0x00004000,/**< This object has app data */
CK_OBJECT_SINGLEACTIVITY=0x00008000,/**< this object has an information of single activity */
CK_OBJECT_LOADSKIPBEOBJECT=0x00010000,/**< When loading this object the CKBeObject part should be skipped */
CK_OBJECT_NOTTOBELISTEDANDSAVED=0x00000023,/**< Combination of Private and Not To Be Saved The following flags are specific to parameters (they are stored here for object's size purposes ) */
CK_PARAMETEROUT_SETTINGS=0x00400000,
CK_PARAMETEROUT_PARAMOP=0x00800000,/**< This parameter is the output of a CKParameterOperation (Automatically set by Engine) */
CK_PARAMETERIN_DISABLED=0x01000000,/**< Parameter In or Out is disabled (CKBehavior::EnableInputParameter,CKBehavior::DisableInputParameter) */
CK_PARAMETERIN_THIS=0x02000000,/**< Special parameter type : its value and type are always equal to its owner (CKParameter::SetAsMyselfParameter) */
CK_PARAMETERIN_SHARED=0x04000000,
CK_PARAMETEROUT_DELETEAFTERUSE=0x08000000,/**< When adding parameters to CKMessage, they can be automatically deleted when message is released (CKMessage::AddParameter) */
CK_OBJECT_PARAMMASK=0x0FC00000,/**< Mask for options specific to parameters The Following flags are specific for Behavior ios (CKBehaviorIO) */
CK_BEHAVIORIO_IN=0x10000000,/**< This BehaviorIO is a behavior input (CKBehaviorIO::SetType} */
CK_BEHAVIORIO_OUT=0x20000000,/**< This BehaviorIO is a behavior output (CKBehaviorIO::SetType) */
CK_BEHAVIORIO_ACTIVE=0x40000000,/**< This BehaviorIO is a currently active (CKBehaviorIO::Activate} */
CK_OBJECT_IOTYPEMASK=0x30000000,
CK_OBJECT_IOMASK=0xF0000000,/**< The Following flags are specific for Behavior ios (CKBehaviorIO) */
CKBEHAVIORLINK_RESERVED=0x10000000,/**< This BehaviorIO is a behavior input (CKBehaviorIO::SetType} */
CKBEHAVIORLINK_ACTIVATEDLASTFRAME=0x20000000,/**< This link had been activated last frame */