/* * Copyright (c) 1993-1995 by Argonaut Technologies Limited. All rights reserved. * * $Id: fmt.h 1.3 1996/12/04 11:30:05 alistair Exp $ * $Locker: $ * * Definitions for foreign file format support */ #ifndef _FMT_H_ #define _FMT_H_ /* * Structure for passing results back from foreign format loaders */ typedef struct br_fmt_results { /* * Pointers to tables of pointers to converted items */ br_actor **actors; br_model **models; br_light **lights; br_camera **cameras; br_vector4 **clip_planes; br_bounds3 **bounds; br_bounds3 **bounds_correct; br_material **materials; br_pixelmap **pixelmaps; /* * Size of each array */ br_uint_32 nactors; br_uint_32 nmodels; br_uint_32 nlights; br_uint_32 ncameras; br_uint_32 nclip_planes; br_uint_32 nbounds; br_uint_32 nbounds_correct; br_uint_32 nmaterials; br_uint_32 npixelmaps; } br_fmt_results; /* * General options structure passed to all foreign format loaders */ typedef struct br_fmt_options { /* * Flags determining which items to convert */ br_uint_32 convert_flags; } br_fmt_options; /* * Type of items to convert */ enum { BR_FMT_ACTORS = 0x0001, BR_FMT_MODELS = 0x0002, BR_FMT_LIGHTS = 0x0004, BR_FMT_CAMERAS = 0x0008, BR_FMT_CLIP_PLANES = 0x0010, BR_FMT_BOUNDS = 0x0020, BR_FMT_BOUNDS_CORRECT = 0x0040, BR_FMT_MATERIALS = 0x0080, BR_FMT_PIXELMAPS = 0x0100, BR_FMT_CONVERT_ALL = 0x7fff }; /* * Type definition for a message reporting callback */ typedef void BR_CALLBACK br_fmt_report_cbfn(char *string); /* * Options structure passed to 3DS format loader */ typedef struct br_3ds_options { /* * Conversion flags */ br_uint_32 flags; /* * Camera hither and yon values */ br_scalar hither; br_scalar yon; /* * Scaling applied to models and hierarchy */ br_scalar scale; /* * Optional function pointer for reporting conversion messages */ br_fmt_report_cbfn *report; } br_3ds_options; /* * 3DS conversion flags */ enum { BR_3DS_FLAT_HIERARCHY = 0x00000001, BR_3DS_SET_PERSPECTIVE = 0x00000002, BR_3DS_CORRECT_AXES = 0x00000004, BR_3DS_APPLY_MESH_MATRIX = 0x00000008, BR_3DS_APPLY_PIVOT = 0x00000010, BR_3DS_DUMMY_LIGHTS = 0x00000020, BR_3DS_DUMMY_CAMERAS = 0x00000040, BR_3DS_SET_HITHER = 0x00000080, BR_3DS_SET_YON = 0x00000100, BR_3DS_APPLY_SCALE = 0x00000200, BR_3DS_KEEP_REPEATED_MODELS = 0x00000400, }; #ifndef _FMT_P_H_ #include "fmt_p.h" #endif #endif