====== Variable Data Types ====== Most data in //Zeolite// is managed by dynamically-typed variables, represented by [[zeolite:types:ZVAR]] handles, and manipulated using the set of functions listed on the [[zeolite:functions|function reference page]]. The tables below present the list of valid variable types (including [[#classes]]) by their 'token' (defined in the ''Zeolite_defines.h''), the numeric value of that token, and by the string returned by the [[zeolite:functions:ztype_GetName|ztype_GetName]] function. ===== Basic types ===== ^ Name string ^ Token ^ VarID ^ Description ^ | [NULL] | VarID_INVALID | 0 | Used for invalid variable handles, or uninitialised variables. | | "void" | VarID_void | 1 | A variable with no data (but has a name). | | "variant" | VarID_variant | 2 | A variable whose value is another variable, the type of which is free to change. This data type is and should only be used for variable input extension functions. | | "bool" | VarID_bool | 3 | Boolean value. Data is a C/C++ 'bool' type. | | "char" | VarID_char | 4 | 8-bit signed integer and/or ASCII character. | | "byte" | VarID_byte | 5 | 8-bit unsigned integer. | | "ubyte" | VarID_ubyte | 5 | Same as 'byte'. | | "sbyte" | VarID_sbyte | 104 | 8-bit signed integer. | | "short" | VarID_short | 6 | 16-bit signed integer. | | "ushort" | VarID_ushort | 105 | 16-bit unsigned integer. | | "int" | VarID_int | 7 | 32-bit signed integer. | | "uint" | VarID_uint | 106 | 32-bit unsigned integer. | | "int64" | VarID_int64 | 8 | 64-bit integer. | | "float" | VarID_float | 9 | 32-bit floating-point variable. | | "double" | VarID_double | 10 | 64-bit floating-point variable. | | "colour" | VarID_colour | 13 | 24-bit colour variable. Data is a [[zeolite:types:ColourPixel]] struct. | | "vector3c" | VarID_vector3c | 101 | A three-component 8-bit signed integer vector. Data is a [[zeolite:types:vector3c]] struct.| | "vector3i" | VarID_vector3i | 102 | A three-component 32-bit signed integer vector. Data is a [[zeolite:types:vector3i]] struct.| | "vector3f" | VarID_vector3f | 14 | A three-component floating-point vector. Data is a [[zeolite:types:vector3f]] struct.| | "vector3d" | VarID_vector3d | 103 | A three-component double-precision floating-point vector. Data is a [[zeolite:types:vector3d]] struct.| | "vector4c" | VarID_vector4c | 107 | A four-component 8-bit signed integer vector. Data is a [[zeolite:types:vector4c]] struct.| | "vector4i" | VarID_vector4i | 108 | A four-component 32-bit signed integer vector. Data is a [[zeolite:types:vector4i]] struct.| | "vector4f" | VarID_vector4f | 109 | A four-component floating-point vector. Data is a [[zeolite:types:vector4f]] struct.| | "vector4d" | VarID_vector4d | 110 | A four-component double-precision floating-point vector. Data is a [[zeolite:types:vector4d]] struct.| | "matrix3f" | VarID_matrix3f | 111 | A 3x3-component single precision floating point matrix. Data is a [[zeolite:types:matrix3f]] struct.| | "voidptr" | VarID_voidptr | 20 | Memory address (32 bit). Data is a C/C++ 'void*' type. | | "varid" | VarID_varid | 23 | A 32-bit integer, containing one of the VarID values enumerated in this table. | | "hvar" | VarID_hvar | 25 | A variable handle. Data is a [[zeolite:types:ZVAR]] handle to another variable. | ===== Classes ===== ^ Name string ^ Token ^ VarID ^ Wrapper class ^ Description ^ | "map" | VarID_map | 60 | [[zeolite:classes:CzMap]] | Map variable. | | "varlist" | VarID_varlist | 31 | [[zeolite:classes:CzList]] | List variable. | | "string" | VarID_string | 11 | [[zeolite:classes:CzStr]] | String variable. | | "format" | VarID_format | 100 | [[zeolite:classes:CzFormat]] | File format variable. | | "buffer" | VarID_buffer | 15 | [[zeolite:classes:CzBuffer]] | Buffer variable. | | "filesel" | VarID_filesel | 300 | [[zeolite:classes:CzFileSel]] | A file open/save dialog box with filter options, default directories, etc. | | "dirsel" | VarID_dirsel | 301 | [[zeolite:classes:CzDirSel]] | Dialog box by which users can browse for a directory of the file system. | | "combosel" | VarID_combosel | 302 | [[zeolite:classes:CzComboSel]] | Dialog box by which users can select from a list of options. | | "climate" | VarID_climate | 340 | [[zeolite:classes:CzClimate]] | Climate variable. | | "landtype" | VarID_landtype | 341 | [[zeolite:classes:CzLandType]] |LandType variable. | | "progbox" | VarID_progbox | 600 | [[zeolite:classes:CzProgBox]] | Dialog box for displaying progress. | | "zeofunc" | VarID_zeofunc | 510 | [[zeolite:classes:CzFunc]] | Wrapper for a Zeolite extension function. |