#ifndef _SNDREAL_H_ #define _SNDREAL_H_ #ifdef __cplusplus extern "C" { #endif /* __cplusplus*/ /* ////////////////////////////////////////////////////// // SNDREAL.H - Librairie SOUNDxd version 2.0 // ////////////////////////////////////////////////////// // Définitions des types et fonctions de gestion // // des pseudo-réels // ////////////////////////////////////////////////////// */ #undef DLL_IMPEXP #undef CPA_EXPORT #ifdef _DLL_COMPILATION_MODE #define DLL_IMPEXP __declspec(dllexport) #define CPA_EXPORT #else #define DLL_IMPEXP /****************************************/ #if defined(CPA_WANTS_IMPORT) #define CPA_EXPORT __declspec(dllimport) #elif defined(CPA_WANTS_EXPORT) #define CPA_EXPORT __declspec(dllexport) #else #define CPA_EXPORT #endif /****************************************/ #endif /**************************************************************************************/ #define M_MulIntRealSnd(i,r) ((i)*(r)) #define M_RealToDoubleSnd(r) (((double)r)/(0x10000)) #define M_DoubleToRealSnd(d) ((SndReal)((d)*0x10000)) #define M_DivIntIntRealSnd(a,b) ((SndReal)(((a)<<16)/(b))) #define M_RealToIntSnd(r) ((r)>>16) #define M_IntToRealSnd(r) ((r)<<16) #define M_Fixed1616ToRealSnd(r) (r) #define M_HighestIntAbsValueRealSnd (0x7FFF) /*plus grand entier convertible en SndReal*/ #define M_LowestDoubleAbsValueRealSnd (0.0000153) /*plus petit réel convertible en SndReal*/ #if defined(_DLL_COMPILATION_MODE) && !defined(SNDDLL_MODULE) #pragma message("-> sndreal : pointeurs de fonctions definis dans SNDDLL.H") #else #if defined(PSX) && !defined(WIN32) DLL_IMPEXP CPA_EXPORT asm SndReal SND_CALL SND_fn_rMulRealRealSnd(SndReal r1,SndReal r2); DLL_IMPEXP CPA_EXPORT asm SndReal SND_CALL SND_fn_rMulRealRealQuickSnd(SndReal r1,SndReal r2); DLL_IMPEXP CPA_EXPORT asm SndReal SND_CALL SND_fn_rAbsRealSnd(SndReal r); DLL_IMPEXP CPA_EXPORT asm SndReal SND_CALL SND_fn_rDivRealRealSnd(SndReal r1,SndReal r2); #else DLL_IMPEXP CPA_EXPORT SndReal SND_CALL SND_fn_rDivRealRealSnd(SndReal r1,SndReal r2); DLL_IMPEXP CPA_EXPORT SndReal SND_CALL SND_fn_rMulRealRealSnd(SndReal r1,SndReal r2); DLL_IMPEXP CPA_EXPORT SndReal SND_CALL SND_fn_rMulRealRealQuickSnd(SndReal r1,SndReal r2); DLL_IMPEXP CPA_EXPORT SndReal SND_CALL SND_fn_rAbsRealSnd(SndReal r); #endif DLL_IMPEXP CPA_EXPORT SndReal SND_CALL SND_fn_rSqrtRealSnd(SndReal r); DLL_IMPEXP CPA_EXPORT SndReal SND_CALL SND_fn_rPseudoNormeRealSnd(SndReal r1,SndReal r2,SndReal r3); DLL_IMPEXP CPA_EXPORT void SND_CALL SND_fn_vSndRealTwinToSndReal(SndRealTwin,SndReal*,SndReal*); DLL_IMPEXP CPA_EXPORT SndRealTwin SND_CALL SND_fn_rtSndRealToSndRealTwin(SndReal,SndReal); #endif #ifdef __cplusplus } #endif /* __cplusplus*/ #endif /*_SNDREAL_H_*/