371 lines
14 KiB
C
Executable File
371 lines
14 KiB
C
Executable File
#ifndef __PARAMTYPE__
|
|
#define __PARAMTYPE__
|
|
|
|
// Parameter types
|
|
// several of these types fold to the same underlying value type but provide
|
|
// either a more complete description of the type or imply non-standard dimensions that are
|
|
// automatically applied.
|
|
|
|
#define TYPE_TAB 0x0800 // flags the type as a Tab<>
|
|
// following bits for FnPub use only
|
|
#define TYPE_BY_REF 0x1000 // flags the parameter as being delivered by reference (&)
|
|
#define TYPE_BY_VAL 0x2000 // flags the parameter as being delivered by value (via a local copy owned by the FPValue)
|
|
#define TYPE_BY_PTR 0x4000 // flags the parameter as being delivered by pointer (*)
|
|
|
|
// Built in data types
|
|
enum ParamType {
|
|
TYPE_FLOAT,
|
|
TYPE_INT,
|
|
TYPE_RGBA,
|
|
TYPE_POINT3,
|
|
TYPE_BOOL,
|
|
|
|
// We can add types up to 32 total.
|
|
TYPE_USER,
|
|
};
|
|
|
|
enum ParamType2
|
|
{
|
|
// TYPE_FLOAT, // these are defined in original ParamType...
|
|
// TYPE_INT,
|
|
// TYPE_RGBA,
|
|
// TYPE_POINT3,
|
|
// TYPE_BOOL,
|
|
TYPE_ANGLE = TYPE_BOOL + 1,
|
|
TYPE_PCNT_FRAC,
|
|
TYPE_WORLD,
|
|
TYPE_STRING,
|
|
TYPE_FILENAME,
|
|
TYPE_HSV,
|
|
TYPE_COLOR_CHANNEL,
|
|
TYPE_TIMEVALUE,
|
|
TYPE_RADIOBTN_INDEX,
|
|
TYPE_MTL,
|
|
TYPE_TEXMAP,
|
|
TYPE_BITMAP,
|
|
TYPE_INODE,
|
|
TYPE_REFTARG,
|
|
// new for R4...
|
|
TYPE_INDEX,
|
|
TYPE_MATRIX3,
|
|
TYPE_PBLOCK2,
|
|
|
|
// only for published function parameter types, not pblock2 parameter types...
|
|
TYPE_ENUM,
|
|
TYPE_VOID,
|
|
TYPE_INTERVAL,
|
|
TYPE_ANGAXIS,
|
|
TYPE_QUAT,
|
|
TYPE_RAY,
|
|
TYPE_POINT2,
|
|
TYPE_BITARRAY,
|
|
TYPE_CLASS,
|
|
TYPE_MESH,
|
|
TYPE_OBJECT,
|
|
TYPE_CONTROL,
|
|
TYPE_POINT,
|
|
TYPE_TSTR,
|
|
TYPE_IOBJECT,
|
|
TYPE_INTERFACE,
|
|
TYPE_HWND,
|
|
TYPE_NAME,
|
|
TYPE_COLOR,
|
|
TYPE_FPVALUE,
|
|
TYPE_VALUE,
|
|
TYPE_DWORD,
|
|
TYPE_bool,
|
|
|
|
// Tab<>s of above (MUST be in same order as base types)
|
|
TYPE_FLOAT_TAB = TYPE_FLOAT + TYPE_TAB,
|
|
TYPE_INT_TAB,
|
|
TYPE_RGBA_TAB,
|
|
TYPE_POINT3_TAB,
|
|
TYPE_BOOL_TAB,
|
|
TYPE_ANGLE_TAB,
|
|
TYPE_PCNT_FRAC_TAB,
|
|
TYPE_WORLD_TAB,
|
|
TYPE_STRING_TAB,
|
|
TYPE_FILENAME_TAB,
|
|
TYPE_HSV_TAB,
|
|
TYPE_COLOR_CHANNEL_TAB,
|
|
TYPE_TIMEVALUE_TAB,
|
|
TYPE_RADIOBTN_INDEX_TAB,
|
|
TYPE_MTL_TAB,
|
|
TYPE_TEXMAP_TAB,
|
|
TYPE_BITMAP_TAB,
|
|
TYPE_INODE_TAB,
|
|
TYPE_REFTARG_TAB,
|
|
// new for R4...
|
|
TYPE_INDEX_TAB,
|
|
TYPE_MATRIX3_TAB,
|
|
TYPE_PBLOCK2_TAB,
|
|
|
|
// only for published function parameter types, not pblock2 parameter types...
|
|
TYPE_ENUM_TAB,
|
|
TYPE_VOID_TAB,
|
|
TYPE_INTERVAL_TAB,
|
|
TYPE_ANGAXIS_TAB,
|
|
TYPE_QUAT_TAB,
|
|
TYPE_RAY_TAB,
|
|
TYPE_POINT2_TAB,
|
|
TYPE_BITARRAY_TAB,
|
|
TYPE_CLASS_TAB,
|
|
TYPE_MESH_TAB,
|
|
TYPE_OBJECT_TAB,
|
|
TYPE_CONTROL_TAB,
|
|
TYPE_POINT_TAB,
|
|
TYPE_TSTR_TAB,
|
|
TYPE_IOBJECT_TAB,
|
|
TYPE_INTERFACE_TAB,
|
|
TYPE_HWND_TAB,
|
|
TYPE_NAME_TAB,
|
|
TYPE_COLOR_TAB,
|
|
TYPE_FPVALUE_TAB,
|
|
TYPE_VALUE_TAB,
|
|
TYPE_DWORD_TAB,
|
|
TYPE_bool_TAB,
|
|
|
|
// pass by-ref types, implies & parameters, int& & float& are passed via .ptr fields, only for FnPub use
|
|
TYPE_FLOAT_BR = TYPE_FLOAT + TYPE_BY_REF,
|
|
TYPE_INT_BR = TYPE_INT + TYPE_BY_REF,
|
|
TYPE_BOOL_BR = TYPE_BOOL + TYPE_BY_REF,
|
|
TYPE_ANGLE_BR = TYPE_ANGLE + TYPE_BY_REF,
|
|
TYPE_PCNT_FRAC_BR = TYPE_PCNT_FRAC + TYPE_BY_REF,
|
|
TYPE_WORLD_BR = TYPE_WORLD + TYPE_BY_REF,
|
|
TYPE_COLOR_CHANNEL_BR = TYPE_COLOR_CHANNEL + TYPE_BY_REF,
|
|
TYPE_TIMEVALUE_BR = TYPE_TIMEVALUE + TYPE_BY_REF,
|
|
TYPE_RADIOBTN_INDEX_BR = TYPE_RADIOBTN_INDEX + TYPE_BY_REF,
|
|
TYPE_INDEX_BR = TYPE_INDEX + TYPE_BY_REF,
|
|
TYPE_RGBA_BR = TYPE_RGBA + TYPE_BY_REF,
|
|
TYPE_BITMAP_BR = TYPE_BITMAP + TYPE_BY_REF,
|
|
TYPE_POINT3_BR = TYPE_POINT3 + TYPE_BY_REF,
|
|
TYPE_HSV_BR = TYPE_HSV + TYPE_BY_REF,
|
|
TYPE_REFTARG_BR = TYPE_REFTARG + TYPE_BY_REF,
|
|
TYPE_MATRIX3_BR = TYPE_MATRIX3 + TYPE_BY_REF,
|
|
TYPE_ENUM_BR = TYPE_ENUM + TYPE_BY_REF,
|
|
TYPE_INTERVAL_BR = TYPE_INTERVAL + TYPE_BY_REF,
|
|
TYPE_ANGAXIS_BR = TYPE_ANGAXIS + TYPE_BY_REF,
|
|
TYPE_QUAT_BR = TYPE_QUAT + TYPE_BY_REF,
|
|
TYPE_RAY_BR = TYPE_RAY + TYPE_BY_REF,
|
|
TYPE_POINT2_BR = TYPE_POINT2 + TYPE_BY_REF,
|
|
TYPE_BITARRAY_BR = TYPE_BITARRAY + TYPE_BY_REF,
|
|
TYPE_MESH_BR = TYPE_MESH + TYPE_BY_REF,
|
|
TYPE_POINT_BR = TYPE_POINT + TYPE_BY_REF,
|
|
TYPE_TSTR_BR = TYPE_TSTR + TYPE_BY_REF,
|
|
TYPE_COLOR_BR = TYPE_COLOR + TYPE_BY_REF,
|
|
TYPE_FPVALUE_BR = TYPE_FPVALUE + TYPE_BY_REF,
|
|
TYPE_DWORD_BR = TYPE_DWORD + TYPE_BY_REF,
|
|
TYPE_bool_BR = TYPE_bool + TYPE_BY_REF,
|
|
|
|
// pass by-ref Tab<> types
|
|
TYPE_FLOAT_TAB_BR = TYPE_FLOAT + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_INT_TAB_BR = TYPE_INT + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_RGBA_TAB_BR = TYPE_RGBA + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_POINT3_TAB_BR = TYPE_POINT3 + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_BOOL_TAB_BR = TYPE_BOOL + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_ANGLE_TAB_BR = TYPE_ANGLE + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_PCNT_FRAC_TAB_BR = TYPE_PCNT_FRAC + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_WORLD_TAB_BR = TYPE_WORLD + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_STRING_TAB_BR = TYPE_STRING + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_FILENAME_TAB_BR = TYPE_FILENAME + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_HSV_TAB_BR = TYPE_HSV + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_COLOR_CHANNEL_TAB_BR = TYPE_COLOR_CHANNEL + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_TIMEVALUE_TAB_BR = TYPE_TIMEVALUE + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_RADIOBTN_INDEX_TAB_BR = TYPE_RADIOBTN_INDEX + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_MTL_TAB_BR = TYPE_MTL + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_TEXMAP_TAB_BR = TYPE_TEXMAP + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_BITMAP_TAB_BR = TYPE_BITMAP + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_INODE_TAB_BR = TYPE_INODE + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_REFTARG_TAB_BR = TYPE_REFTARG + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_INDEX_TAB_BR = TYPE_INDEX + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_MATRIX3_TAB_BR = TYPE_MATRIX3 + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_TSTR_TAB_BR = TYPE_TSTR + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_ENUM_TAB_BR = TYPE_ENUM + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_INTERVAL_TAB_BR = TYPE_INTERVAL + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_ANGAXIS_TAB_BR = TYPE_ANGAXIS + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_QUAT_TAB_BR = TYPE_QUAT + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_RAY_TAB_BR = TYPE_RAY + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_POINT2_TAB_BR = TYPE_POINT2 + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_BITARRAY_TAB_BR = TYPE_BITARRAY + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_CLASS_TAB_BR = TYPE_CLASS + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_MESH_TAB_BR = TYPE_MESH + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_OBJECT_TAB_BR = TYPE_OBJECT + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_CONTROL_TAB_BR = TYPE_CONTROL + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_POINT_TAB_BR = TYPE_POINT + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_IOBJECT_TAB_BR = TYPE_IOBJECT + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_INTERFACE_TAB_BR = TYPE_INTERFACE + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_HWND_TAB_BR = TYPE_HWND + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_NAME_TAB_BR = TYPE_NAME + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_COLOR_TAB_BR = TYPE_COLOR + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_FPVALUE_TAB_BR = TYPE_FPVALUE + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_VALUE_TAB_BR = TYPE_VALUE + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_DWORD_TAB_BR = TYPE_DWORD + TYPE_TAB + TYPE_BY_REF,
|
|
TYPE_bool_TAB_BR = TYPE_bool + TYPE_TAB + TYPE_BY_REF,
|
|
|
|
// pass by-value types, implies dereferencing the (meaningful) pointer-based values, only for FnPub use
|
|
TYPE_RGBA_BV = TYPE_RGBA + TYPE_BY_VAL,
|
|
TYPE_POINT3_BV = TYPE_POINT3 + TYPE_BY_VAL,
|
|
TYPE_HSV_BV = TYPE_HSV + TYPE_BY_VAL,
|
|
TYPE_INTERVAL_BV = TYPE_INTERVAL + TYPE_BY_VAL,
|
|
TYPE_BITMAP_BV = TYPE_BITMAP + TYPE_BY_VAL,
|
|
TYPE_MATRIX3_BV = TYPE_MATRIX3 + TYPE_BY_VAL,
|
|
TYPE_ANGAXIS_BV = TYPE_ANGAXIS + TYPE_BY_VAL,
|
|
TYPE_QUAT_BV = TYPE_QUAT + TYPE_BY_VAL,
|
|
TYPE_RAY_BV = TYPE_RAY + TYPE_BY_VAL,
|
|
TYPE_POINT2_BV = TYPE_POINT2 + TYPE_BY_VAL,
|
|
TYPE_BITARRAY_BV = TYPE_BITARRAY + TYPE_BY_VAL,
|
|
TYPE_MESH_BV = TYPE_MESH + TYPE_BY_VAL,
|
|
TYPE_POINT_BV = TYPE_POINT + TYPE_BY_VAL,
|
|
TYPE_TSTR_BV = TYPE_TSTR + TYPE_BY_VAL,
|
|
TYPE_COLOR_BV = TYPE_COLOR + TYPE_BY_VAL,
|
|
TYPE_FPVALUE_BV = TYPE_FPVALUE + TYPE_BY_VAL,
|
|
TYPE_CLASS_BV = TYPE_CLASS + TYPE_BY_VAL,
|
|
|
|
// pass by-val Tab<> types
|
|
TYPE_FLOAT_TAB_BV = TYPE_FLOAT + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_INT_TAB_BV = TYPE_INT + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_RGBA_TAB_BV = TYPE_RGBA + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_POINT3_TAB_BV = TYPE_POINT3 + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_BOOL_TAB_BV = TYPE_BOOL + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_ANGLE_TAB_BV = TYPE_ANGLE + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_PCNT_FRAC_TAB_BV = TYPE_PCNT_FRAC + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_WORLD_TAB_BV = TYPE_WORLD + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_STRING_TAB_BV = TYPE_STRING + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_FILENAME_TAB_BV = TYPE_FILENAME + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_HSV_TAB_BV = TYPE_HSV + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_COLOR_CHANNEL_TAB_BV = TYPE_COLOR_CHANNEL + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_TIMEVALUE_TAB_BV = TYPE_TIMEVALUE + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_RADIOBTN_INDEX_TAB_BV = TYPE_RADIOBTN_INDEX + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_MTL_TAB_BV = TYPE_MTL + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_TEXMAP_TAB_BV = TYPE_TEXMAP + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_BITMAP_TAB_BV = TYPE_BITMAP + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_INODE_TAB_BV = TYPE_INODE + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_REFTARG_TAB_BV = TYPE_REFTARG + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_INDEX_TAB_BV = TYPE_INDEX + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_MATRIX3_TAB_BV = TYPE_MATRIX3 + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_PBLOCK2_TAB_BV = TYPE_PBLOCK2 + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_VOID_TAB_BV = TYPE_VOID + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_TSTR_TAB_BV = TYPE_TSTR + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_ENUM_TAB_BV = TYPE_ENUM + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_INTERVAL_TAB_BV = TYPE_INTERVAL + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_ANGAXIS_TAB_BV = TYPE_ANGAXIS + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_QUAT_TAB_BV = TYPE_QUAT + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_RAY_TAB_BV = TYPE_RAY + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_POINT2_TAB_BV = TYPE_POINT2 + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_BITARRAY_TAB_BV = TYPE_BITARRAY + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_CLASS_TAB_BV = TYPE_CLASS + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_MESH_TAB_BV = TYPE_MESH + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_OBJECT_TAB_BV = TYPE_OBJECT + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_CONTROL_TAB_BV = TYPE_CONTROL + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_POINT_TAB_BV = TYPE_POINT + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_IOBJECT_TAB_BV = TYPE_IOBJECT + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_INTERFACE_TAB_BV = TYPE_INTERFACE + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_HWND_TAB_BV = TYPE_HWND + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_NAME_TAB_BV = TYPE_NAME + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_COLOR_TAB_BV = TYPE_COLOR + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_FPVALUE_TAB_BV = TYPE_FPVALUE + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_VALUE_TAB_BV = TYPE_VALUE + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_DWORD_TAB_BV = TYPE_DWORD + TYPE_TAB + TYPE_BY_VAL,
|
|
TYPE_bool_TAB_BV = TYPE_bool + TYPE_TAB + TYPE_BY_VAL,
|
|
|
|
// pass by-pointer types for int & float types, implies * parameters, int* & float* are passed via .ptr fields, only for FnPub use
|
|
TYPE_FLOAT_BP = TYPE_FLOAT + TYPE_BY_PTR,
|
|
TYPE_INT_BP = TYPE_INT + TYPE_BY_PTR,
|
|
TYPE_BOOL_BP = TYPE_BOOL + TYPE_BY_PTR,
|
|
TYPE_ANGLE_BP = TYPE_ANGLE + TYPE_BY_PTR,
|
|
TYPE_PCNT_FRAC_BP = TYPE_PCNT_FRAC + TYPE_BY_PTR,
|
|
TYPE_WORLD_BP = TYPE_WORLD + TYPE_BY_PTR,
|
|
TYPE_COLOR_CHANNEL_BP = TYPE_COLOR_CHANNEL + TYPE_BY_PTR,
|
|
TYPE_TIMEVALUE_BP = TYPE_TIMEVALUE + TYPE_BY_PTR,
|
|
TYPE_RADIOBTN_INDEX_BP = TYPE_RADIOBTN_INDEX + TYPE_BY_PTR,
|
|
TYPE_INDEX_BP = TYPE_INDEX + TYPE_BY_PTR,
|
|
TYPE_ENUM_BP = TYPE_ENUM + TYPE_BY_PTR,
|
|
TYPE_DWORD_BP = TYPE_DWORD + TYPE_BY_PTR,
|
|
TYPE_bool_BP = TYPE_bool + TYPE_BY_PTR,
|
|
|
|
// there are no specific by-pointer Tab<> types, all Tab<> types are by-pointer by default
|
|
|
|
TYPE_MAX_TYPE,
|
|
|
|
// MAXScript internal types
|
|
TYPE_KEYARG_MARKER = 253,
|
|
TYPE_MSFLOAT,
|
|
TYPE_UNSPECIFIED,
|
|
|
|
};
|
|
|
|
// UI control types
|
|
#include <custcont.h>
|
|
|
|
enum ControlType {
|
|
TYPE_SPINNER,
|
|
TYPE_RADIO,
|
|
TYPE_SINGLECHEKBOX,
|
|
TYPE_MULTICHEKBOX,
|
|
TYPE_COLORSWATCH,
|
|
};
|
|
|
|
enum ControlType2
|
|
{
|
|
// TYPE_SPINNER, these are defined in original ControlType...
|
|
// TYPE_RADIO,
|
|
// TYPE_SINGLECHEKBOX,
|
|
// TYPE_MULTICHEKBOX,
|
|
// TYPE_COLORSWATCH,
|
|
TYPE_EDITBOX = TYPE_COLORSWATCH + 1,
|
|
TYPE_CHECKBUTTON,
|
|
TYPE_PICKNODEBUTTON,
|
|
TYPE_TEXMAPBUTTON,
|
|
TYPE_MTLBUTTON,
|
|
TYPE_BITMAPBUTTON,
|
|
TYPE_FILEOPENBUTTON,
|
|
TYPE_FILESAVEBUTTON,
|
|
TYPE_INTLISTBOX,
|
|
TYPE_FLOATLISTBOX,
|
|
TYPE_STRINGLISTBOX,
|
|
TYPE_NODELISTBOX,
|
|
TYPE_MAPLISTBOX,
|
|
// begin - mjm 12.19.98
|
|
TYPE_SLIDER,
|
|
// end - mjm 12.19.98
|
|
// new for R4
|
|
TYPE_BUTTON,
|
|
TYPE_POINT3LISTBOX, // nac 11.12.00
|
|
};
|
|
|
|
// param definition optional info tags
|
|
enum ParamTags
|
|
{
|
|
// make them large -ve for crude validation
|
|
p_default = -(1<<30), // default value (for UI creation)
|
|
p_ms_default, // default value when constructed by scripts
|
|
p_range, // allowable ranges, used in MS validation and spinner/slider setup
|
|
p_ui, // associated UI rollout control IDs, etc.,
|
|
p_validator, // validator object
|
|
p_accessor, // accessor object
|
|
p_vals, // radio button values in button order if non-ordinal
|
|
// p_subanim_order, // overrides sequential subanim order
|
|
p_refno, // specifies reference # in owner for this reference param, base refo in case of a Tab<>
|
|
p_subtexno, // for Texmap items in Mtls, defines the SubText index for this Texmap in the owner Mtl
|
|
p_submtlno, // for Mtl items in Mtls, defines the SubMtl index for this Mtl in the owner Mtl
|
|
p_dim, // supply dimension for this parameter
|
|
p_classID, // class ID validator for the various reftarg params (used by scripter, picknode filter, etc.)
|
|
p_sclassID, // superclass ID " " " " "
|
|
p_enabled, // associated UI controls are disabled by default
|
|
p_enable_ctrls, // for TYPE_BOOLs, lists which other params would be automatically UI enabled/disabled by this param
|
|
p_prompt, // status line prompt string res ID for various picker buttons
|
|
p_caption, // caption string res ID for open/save file dlgs
|
|
p_init_file, // initial filename for open/save file dlgs
|
|
p_file_types, // file types string res ID for open/save file dlgs (in MAXScript type: form)
|
|
p_ctrl_ids, // <used internally> sets the ctrl_id array for the parameter
|
|
// new for R4
|
|
p_uix, // map ID if param is in more than one map, can have more than one of these
|
|
|
|
end = p_default + 1024,
|
|
properties,
|
|
enums,
|
|
};
|
|
|
|
#endif
|
|
|