reman3/Rayman_X/cpa/public/SPO/HieMtStk.h

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__*/