102 lines
2.7 KiB
C
102 lines
2.7 KiB
C
/* (c) Ubi Studios 1996*/
|
|
/* See Vincent Greco for any comment or question*/
|
|
|
|
|
|
#ifndef __HIEMTSTK_H__
|
|
#define __HIEMTSTK_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* extern"C" because HieMtStk.cpp include it directely (all the other files inlude it throught HieExt.h ...).*/
|
|
|
|
/* For DLL using these function :*/
|
|
#include "cpa_expt.h"
|
|
|
|
/*typedef struct POS_stCompletePosition * GEO_tdxHandleToMatrix;*/
|
|
|
|
/* Oliv'*/
|
|
#if defined(U64)
|
|
#define HIE_C_lMaxMatrixInStack 20
|
|
#else
|
|
#define HIE_C_lMaxMatrixInStack 50
|
|
#endif
|
|
/* EndOfOliv'*/
|
|
#define HIE_C_lStackFull 200
|
|
#define HIE_C_lStackEmpty 201
|
|
|
|
#define OK 1
|
|
#define NOK 0
|
|
/*#define C_hInvalid ((void *)0)*/
|
|
|
|
|
|
/*not for export ?*/
|
|
extern GEO_tdxHandleToMatrix HIE_g_a_hMatrixStack[HIE_C_lMaxMatrixInStack];
|
|
extern GEO_tdxHandleToMatrix HIE_g_hCurrentMatrix ;
|
|
extern long HIE_g_lNbMatrixInStack ;
|
|
|
|
|
|
extern CPA_EXPORT
|
|
void HIE_fn_vCreateMatrixStack(void);
|
|
|
|
extern CPA_EXPORT
|
|
void HIE_fn_vDestroyMatrixStack(void);
|
|
|
|
|
|
extern CPA_EXPORT void
|
|
HIE_fn_vInitMatrixStack(void) ; /*marc*/
|
|
|
|
extern CPA_EXPORT ACP_tdxBool
|
|
HIE_fn_bLoadIdentity(void); /*new*/
|
|
|
|
extern CPA_EXPORT ACP_tdxBool
|
|
HIE_fn_bPopMatrix(void);
|
|
|
|
extern CPA_EXPORT ACP_tdxBool
|
|
HIE_fn_bLoadMatrix(GEO_tdxHandleToMatrix _hMatrix);
|
|
|
|
extern CPA_EXPORT void
|
|
HIE_fn_vResetMatrixStack(void);
|
|
|
|
extern CPA_EXPORT GEO_tdxHandleToMatrix
|
|
GEO_fn_hCreateMatrix(void);
|
|
|
|
extern CPA_EXPORT void
|
|
GEO_fn_vDestroyMatrix(GEO_tdxHandleToMatrix _hMatrix);
|
|
|
|
#define GEO_M_vCopyMatrix(a,b) {POS_fn_vCopyMatrix((a),(b));}
|
|
|
|
|
|
extern CPA_EXPORT ACP_tdxBool
|
|
HIE_fn_bStoreMatrix( GEO_tdxHandleToMatrix _hMatrix );
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////////////////////////////////*/
|
|
/*//////////////////////////////////////////////////////////////////////////////////////////////////////*/
|
|
/* New stack used to push the camera matrix first*/
|
|
/*//////////////////////////////////////////////////////////////////////////////////////////////////////*/
|
|
/*//////////////////////////////////////////////////////////////////////////////////////////////////////*/
|
|
|
|
extern CPA_EXPORT ACP_tdxBool
|
|
HIE_fn_bInitCameraMatrixStack(GLD_tdxHandleToViewportAttributes _hVpt);
|
|
|
|
extern CPA_EXPORT ACP_tdxBool
|
|
HIE_fn_bPushOnCameraMatrixStack(GEO_tdxHandleToMatrix _hMatrix);
|
|
|
|
extern CPA_EXPORT ACP_tdxBool
|
|
HIE_fn_bStoreOnCameraMatrixStack(GEO_tdxHandleToMatrix _hMatrix);
|
|
|
|
extern CPA_EXPORT ACP_tdxBool
|
|
HIE_fn_bPopOnCameraMatrixStack();
|
|
|
|
extern CPA_EXPORT void HIE_fn_vSetCurrentInCamCoordsMatrix (POS_tdstCompletePosition *p_stMatrix);
|
|
|
|
extern CPA_EXPORT POS_tdstCompletePosition * HIE_fn_pGetCurrentInCamCoordsMatrix (void);
|
|
|
|
#ifdef __cplusplus
|
|
}/* extern "C" */
|
|
#endif
|
|
|
|
#endif /* __HIEMTSTK_H__*/
|
|
|