#ifndef _SNDDEF_H_ #define _SNDDEF_H_ #if defined(U64) || defined(PSX) || defined(DREAMCAST) #define GAMECONSOLE #endif #if !defined(GAMECONSOLE) && defined(WIN32) #include "win95\SND_disable_warning.h" #include #include #endif #if !defined(GAMECONSOLE) #include #include #include #else /* GAMECONSOLE*/ #if (defined(U64)) #include #endif #if (defined(DREAMCAST)) #include #include #include "SND/dreamcast/dreaminc.h" #endif #if (defined(PSX)) #include #include #include #endif #endif /* GAMECONSOLE */ #if !defined(GAMECONSOLE) && !defined(GENERIC) /******************************** Version PC ***************************************/ /*OPTIONS SONS pour PC*/ /*#define NO_ACP_SCRIPT*/ /*#define NO_ACP_MEMORY*/ /*#define NO_ACP_ERROR*/ /*#define NO_ACP_LDBIN*/ /*#define DISABLE_MPEG*/ /*#define DISABLE_MIDI*/ /*#define DISABLE_CD*/ /*#define DISABLE_WAVE*/ /*#define DISABLE_THEME_WAVE*/ /*#define DISABLE_BUFFER_CLIENT*/ /*#define DISABLE_THEME_MIDI*/ /*#define DISABLE_SEQUENCE*/ /*#define DISABLE_ADPCM*/ /*#define DISABLE_SEQUENCE*/ /*#define DISABLE_SPLIT*/ /*#define DISABLE_MULTIWAVFORMAT*/ #define SUPERVISATER /*#define DISABLE_RECORD*/ /*#define USE_EAX */ #define SND_DISPLAY_ERROR_MESSAGE #define NB_MICRO_MAX 2 /******************************** Version PC ***************************************/ #endif #ifdef U64 /******************************** Version Ultra64 ***************************************/ /*OPTIONS SONS pour Ultra64*/ /*#define NO_ACP_SOUND //pour ne pas avoir le son*/ #define SND_BINARY_VERSION /*#define NO_ACP_SCRIPT*/ /*#define NO_ACP_MEMORY*/ /*#define NO_ACP_ERROR*/ /*#define NO_ACP_LDBIN*/ #define DISABLE_ADPCM #define DISABLE_MPEG /*#define DISABLE_MIDI*/ #define DISABLE_CD /*#define DISABLE_WAVE*/ #define DISABLE_THEME_WAVE #define DISABLE_BUFFER_CLIENT /*#define DISABLE_THEME_MIDI*/ #define DISABLE_SEQUENCE #define DISABLE_SNDSTRM #define DISABLE_MULTIWAVFORMAT #define SND_PROFILE #define RUN_TIME_LOADING #define DISABLE_RECORD /*#define SND_DISPLAY_ERROR_MESSAGE*/ #define NB_MICRO_MAX 2 /******************************** Version Ultra64 ***************************************/ #endif #ifdef PSX /******************************** Version PSX ***************************************/ /*OPTIONS SONS pour PSX-Sony*/ #define SND_BINARY_VERSION #define DISABLE_MULTIWAVFORMAT /*#define NO_ACP_SCRIPT*/ /*#define NO_ACP_MEMORY*/ /*#define NO_ACP_ERROR*/ /*#define NO_ACP_LDBIN*/ #define DISABLE_ADPCM #define DISABLE_MPEG #define DISABLE_MIDI #define DISABLE_SPLIT #define DISABLE_CD #define DISABLE_SEQUENCE #define DISABLE_SNDSTRM #define DISABLE_THEME_WAVE #define DISABLE_BUFFER_CLIENT #define DISABLE_WAVE #define DISABLE_THEME_MIDI /*add*/ #define SUPERVISATER #define DISABLE_RECORD /*#define SND_DISPLAY_ERROR_MESSAGE*/ #define NB_MICRO_MAX 2 /******************************** Version PSX ***************************************/ #endif #ifdef DREAMCAST /******************************** Version SEGA dreamcast***************************************/ /*OPTIONS SONS pour PC*/ /*#define NO_ACP_SOUND //pour ne pas avoir le son*/ #define SND_BINARY_VERSION /*#define NO_ACP_SCRIPT*/ /*#define NO_ACP_MEMORY*/ /*#define NO_ACP_ERROR*/ /*#define NO_ACP_LDBIN*/ #define DISABLE_MPEG #define DISABLE_MIDI #define DISABLE_CD #define DISABLE_WAVE #define DISABLE_THEME #define DISABLE_THEME_WAVE #define DISABLE_BUFFER_CLIENT #define DISABLE_THEME_MIDI #define DISABLE_SEQUENCE #define DISABLE_ADPCM #define DISABLE_SPLIT #define DISABLE_MULTIWAVFORMAT /*#define SUPERVISATER*/ #define DISABLE_RECORD #define SND_DISPLAY_ERROR_MESSAGE #define NB_MICRO_MAX 2 /******************************** Version SEGA dreamcast***************************************/ #endif /*mode generic*/ #ifdef GENERIC /******************************** Version Generic***************************************/ #define SND_BINARY_VERSION #define DISABLE_ADPCM #define DISABLE_MPEG #define DISABLE_SEQUENCE #define DISABLE_CD #define DISABLE_SNDSTRM #define SND_DISPLAY_ERROR_MESSAGE /******************************** Version Generic PC ***************************************/ #endif /*par défaut, on se met en mode hybride*/ #if !defined(SND_SCRIPT_VERSION) && !defined(SND_HYBRID_VERSION) && !defined(SND_BINARY_VERSION) #define SND_HYBRID_VERSION #endif #ifdef SND_SCRIPT_VERSION /*Mode Script pur*/ #define NO_ACP_LDBIN #if defined(NO_ACP_SCRIPT) || defined(SND_HYBRID_VERSION) || defined (SND_BINARY_VERSION) #error Macros not coherent #endif #endif #ifdef SND_HYBRID_VERSION /*Mode Hybride*/ #if defined(NO_ACP_LDBIN) || defined(NO_ACP_SCRIPT) || defined(SND_SCRIPT_VERSION) || defined(SND_BINARY_VERSION) #error Macros not coherent #endif #endif #ifdef SND_BINARY_VERSION /*Mode Binaire pur*/ #define NO_ACP_SCRIPT #if defined(NO_ACP_LDBIN) || defined(SND_HYBRID_VERSION) || defined(SND_SCRIPT_VERSION) #error Macros not coherent #endif #endif #if !defined(GAMECONSOLE) || defined(GENERIC) #define FILE_MODE_C_WIN95 #if (defined(_MSC_VER) && !defined(VISUAL)) || (defined(__WATCOMC__) && !defined(WATCOM)) #pragma message("Macros definitions are not homogenious") #endif #endif /*alignment directives*/ #if defined(GAMECONSOLE) #undef M_SET_ALIGNMENT #else #define M_SET_ALIGNMENT 4 #endif /*-----check coherence des Macros*/ #ifdef NO_ACP #undef NO_ACP_SCRIPT #define NO_ACP_SCRIPT #undef NO_ACP_MEMORY #define NO_ACP_MEMORY #undef NO_ACP_ERROR #define NO_ACP_ERROR #endif #ifdef NO_ACP_SOUND #define NO_ACP_SCRIPT #define NO_ACP_MEMORY #define NO_ACP_ERROR #define NO_ACP_LDBIN #define DISABLE_MPEG #define DISABLE_MIDI #define DISABLE_CD #define DISABLE_WAVE #endif #ifdef NO_ACP_ERROR #undef NO_ACP_MEMORY #define NO_ACP_MEMORY #endif #define SND_C_RES_FANTOME_PTR NULL #define SND_C_RES_FANTOME_ID -1 typedef struct _SND_tdstInitStruct { #if !defined(GAMECONSOLE) && !defined(GENERIC) HINSTANCE hProcessInstance; HWND hMainWindow; HANDLE hMutexDX; #else int bidon; /* le kit partner n'aime pas les structures de taille nulle*/ #endif } SND_tdstInitStruct; #if !defined(GAMECONSOLE) && defined(WIN32) /*#if defined(WIN32) || defined(__WINDOWS__)*/ #define SND_CALL WINAPI #else #define SND_CALL #endif /*id d'une resource*/ typedef unsigned long tdxId; /*callback*/ typedef void (SND_CALL *SND_td_pfn_vSoundCallback)(long par); /*type Booleen*/ #define UNINITIALIZED_VALUE 0x12345678 #ifdef PSX #define SndBool_field_decl(x) SndBool x:1 #define TRUE 1 /*here*/ #define FALSE 0 #define PSX_EDITOR_TRUE 1 typedef int SndBool; #else #define SndBool_field_decl(x) SndBool x #ifndef TRUE #define TRUE 1 #define FALSE 0 #endif typedef int SndBool; #endif /*alignement mini des enums*/ #define SND_ENUM_ALIGNEMENT (long)0x13245678 #ifndef max #define max(a,b) (((a) > (b)) ? (a) : (b)) #endif #ifndef min #define min(a,b) (((a) < (b)) ? (a) : (b)) #endif #ifdef PSX #define MEMCPY(a,b,c) Memcpy((unsigned char*)a,(unsigned char*)b,c) #endif #ifdef PSX #define MEMSET(a,b,c) memset((unsigned char*)a,(unsigned char)b,c) #endif #endif /*_SNDDEF_H_*/