reman3/Rayman_X/cpa/Appli/Max23Dos/inc/SpoLoad.h

94 lines
2.7 KiB
C

/*=========================================================================
*
* SpoLoad.h - Loading functions for SPO file
*
* Version 1.0
* Revision date
*
*=======================================================================*/
#ifndef __SpoLOAD_H__
#define __SpoLOAD_H__
//--- Includes --------------------------------------------------------
#include "SCR.h"
#include "typedef.h"
#include "sprobj.h"
//----------------------------------------------------------------------
#ifdef _WINDOWS
/********************************************************/
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
/********************************************************/
#endif // _WINDOWS
//--- structures --------------------------------------------------------
typedef struct MLT_tdstSPOFlags_
{
char szFlag[5];
short sFlag;
}
MLT_tdstSPOFlags;
//--- Globals ---------------------------------------------------------
extern BOOL g_bSubFile;
extern MLT_tdstSPOFlags g_stSPOFlags[32];
extern int g_iEditorSPOFlags[32];
extern int g_iNbEditorSPOFlags;
//--- Functions ---------------------------------------------------------
// init
extern void MLT_vInitSPOLoad (void);
// loading
extern SCR_tde_Anl_ReturnValue MLT_xLoadSuperObject (SCR_tdst_File_Description *p_fFile, char *szAction, char *szParams[], SCR_tde_Anl_Action cType);
extern SCR_tde_Anl_ReturnValue MLT_xLoadMatrix (SCR_tdst_File_Description *p_fFile, char *szAction, char *szParams[], SCR_tde_Anl_Action cType);
// SPO flags
extern void MLT_vReadSPOFlagsFile (xString sRawData);
extern void MLT_vSetSPOFlags (unsigned long *p_ulSPOFlags, float *p_fTransparency, xString *sIdent);
extern int MLT_iGetIndexSPOFlags (char *szFlag);
// geometric propertie
extern void MLT_vGeomProp (int * p_iGeomProp, xString *sIdent, char *p_cGeom, double* p_fGeom, char * p_sConstraintAxis[4]);
// hierarchy
extern void MLT_vLoadHierarchy (MLT_tdxHandleToSuperObject *p_hRoot);
extern void MLT_vCheckHierarchy (MLT_tdxHandleToSuperObject *p_hRoot);
extern void MLT_vDeleteHierarchy (MLT_tdxHandleToSuperObject hSprObj);
// search functions
extern MLT_tdxHandleToSuperObject MLT_hFindInHierarchy (char *sName, MLT_tdxHandleToSuperObject hSprObj);
extern MLT_tdxHandleToSuperObject MLT_hFindInHierarchySector (char *sName, MLT_tdxHandleToSuperObject hSprObj);
extern BOOL MLT_bIsNotSameSector (char *sName, char *sSector);
// file parameters
extern double MLT_dGetUnitInMeterInFile (char *szGeometricFile);
#ifdef _WINDOWS
/********************************************************/
#ifdef __cplusplus
}
#endif // __cplusplus
/********************************************************/
#endif // _WINDOWS
#endif // __SpoLOAD_H__