Add rayman2 source files
This commit is contained in:
222
Rayman_X/cpa/tempgrp/SND/inc/generic/SNDHARD.H
Normal file
222
Rayman_X/cpa/tempgrp/SND/inc/generic/SNDHARD.H
Normal file
@@ -0,0 +1,222 @@
|
||||
#ifndef _SNDHARD_H_
|
||||
#define _SNDHARD_H_
|
||||
|
||||
#if (defined(__cplusplus)&& !defined(CPA_ForceCplusplus))
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
|
||||
/*
|
||||
//////////////////////////////////////////////////////
|
||||
// SNDHARD.H - Librairie SOUNDxd version 2.0 //
|
||||
//////////////////////////////////////////////////////
|
||||
// D<>finitions des types et constantes utilis<69>es //
|
||||
// par tous les modules de SOUNDxD mais orient<6E>s //
|
||||
// pour chaque machine (seuls les noms sont communs//
|
||||
//////////////////////////////////////////////////////
|
||||
*/
|
||||
|
||||
#define SNDBANK_FORMAT2 //pour utiliser le format 2 des banques binaires (un moteur
|
||||
//compil<69> en format 2 ne peut plus lire le format 1 - un moteur compil<69> en format 1
|
||||
//peut lire les 2 formats
|
||||
//---type communs <20> d<>finitions variables
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
//**********************************************************
|
||||
//*** Sound Bank Management structures ********
|
||||
//**********************************************************
|
||||
|
||||
typedef enum _tdeBankState
|
||||
{
|
||||
BANK_NOT_LOADED, //bank isn't in memory, and no need to be
|
||||
BANK_LOADED, //bank is in memory
|
||||
BANK_LOADING, //bank is being loaded
|
||||
BANK_WAITING, //bank wait to know if it will remain in memory
|
||||
BANK_TO_BE_LOADED, //banl must be load
|
||||
BANK_FOR_ALIGNEMENT=SND_ENUM_ALIGNEMENT
|
||||
} tdeBankState;
|
||||
|
||||
|
||||
struct _tdstSndBankHeader
|
||||
{
|
||||
long lVersion;
|
||||
};
|
||||
|
||||
typedef struct _tdstSndBankPolyRes tdstSndBankPolyRes;
|
||||
typedef struct _tdstSndBankPolyEvent tdstSndBankPolyEvent;
|
||||
|
||||
struct _tdstSndBankPolyRes
|
||||
{
|
||||
SNDLST2_M_StaticParentDeclaration(tduBlockResource*)
|
||||
};
|
||||
|
||||
struct _tdstSndBankPolyEvent
|
||||
{
|
||||
SNDLST2_M_StaticParentDeclaration(SND_tdstBlockEvent*)
|
||||
};
|
||||
|
||||
#define SND_BNM_VERSIONCHECK_1 0x24
|
||||
#define SND_BNM_VERSIONCHECK_2 0x28
|
||||
#define SND_BNM_GETVERSION(ptdstBankHead) ((long)*((long*)(ptdstBankHead)+1))
|
||||
|
||||
struct _tdstSndBankHead
|
||||
{
|
||||
tdstSndBankHeader stHeader;
|
||||
tdstSndBankPolyEvent stEventList;
|
||||
tdstSndBankPolyRes stResList;
|
||||
unsigned long ulOffsetMPEG;
|
||||
unsigned long ulOffsetMidi;
|
||||
unsigned long ulOffsetSample;
|
||||
#ifdef SNDBANK_FORMAT2
|
||||
unsigned long ulOffsetADPCM;
|
||||
#endif
|
||||
unsigned long ulTotalSize;
|
||||
};
|
||||
|
||||
struct _tdstSndBankDescriptor
|
||||
{
|
||||
char czFilename[13];
|
||||
unsigned long ulDataSize;
|
||||
tdeBankState eState;
|
||||
tdstSndBankHead* pData;
|
||||
};
|
||||
|
||||
|
||||
//--------------------------------------------------- MIDI
|
||||
|
||||
//param<61>tres d'une ressource midi (donn<6E>es sur disk)
|
||||
struct _tdstTypeMidiDisk {
|
||||
SndBool bStream; //streamer ou en m<>moire
|
||||
SndBool bVolable; //peut-on changer le volume
|
||||
SndBool bLoop; //bouclant ou non
|
||||
unsigned long ulNbLoops; //nombre de r<>p<EFBFBD>tition de cet <20>l<EFBFBD>ment
|
||||
unsigned long ulStartLoop; //point de rebouclage
|
||||
unsigned long ulEndLoop; //longueur de la boucle
|
||||
char czFileName[13];
|
||||
} ;
|
||||
|
||||
//param<61>tres d'une ressource midi en m<>moire
|
||||
struct _tdstMidiMemory {
|
||||
// void* pvPtrFirst ;//adresse du 1<> octet
|
||||
// int iLoop; //point de bouclage
|
||||
// int iLast; //indice du dernier evt.
|
||||
//MCIDEVICEID uiMidiDeviceId;
|
||||
unsigned long ulLength;
|
||||
unsigned long ulNbLoops;
|
||||
} ;
|
||||
|
||||
//param<61>tres d'une ressource midi <20> streamer
|
||||
struct _tdstMidiStreaming {
|
||||
char fichier[13] ; //nom du fichier
|
||||
unsigned long Offset ; //Offest des datas dans le fichier
|
||||
int iLoop; //indice du point de bouclage
|
||||
int iLast; //indice du dernier evt
|
||||
} ;
|
||||
|
||||
//union des desciption dedata midi
|
||||
union _tduDataMidi {
|
||||
tdstMidiMemory stMem;
|
||||
tdstMidiStreaming stStream;
|
||||
} ;
|
||||
|
||||
//param<61>tres d'une ressource midi (donn<6E>e en m<>moire)
|
||||
struct _tdstTypeMidiMem {
|
||||
SndBool bStream; //streamer ou en m<>moire
|
||||
SndBool bVolable; //peut-on changer le volume
|
||||
SndBool bLoop; //bouclant ou non
|
||||
unsigned long ulNbLoops; //nombre de r<>p<EFBFBD>tition de cet <20>l<EFBFBD>ment
|
||||
unsigned long ulStartLoop; //point de rebouclage
|
||||
unsigned long ulEndLoop; //longueur de la boucle
|
||||
tduDataMidi uData ;
|
||||
} ;
|
||||
|
||||
//--------------------------------------------------- CD-AUDIO
|
||||
|
||||
//param<61>tre d'une ressource CD (donn<6E>es en mem ou sur disk)
|
||||
struct _tdstTypeCD {
|
||||
short wTrackId; //id de la track CD
|
||||
SndBool bVolable; //peut-on changer son volume
|
||||
SndBool bLoop; //doit-elle looper
|
||||
unsigned long ulNbLoops; //nombre de tours
|
||||
unsigned long ulStartLoop; //point de rebouclage
|
||||
unsigned long ulEndLoop; //longeur de la boucle
|
||||
unsigned long ulStartingFrame; // La piste commence
|
||||
unsigned long ulEndingFrame; // La piste termine
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
//--------------------------------------------------- SAMPLE
|
||||
//param<61>tre d'une ressource sample (donn<6E>e sur disk)
|
||||
struct _tdstTypeSampleDisk {
|
||||
SndBool bPitchable; //peut-on changer le pitch du sample
|
||||
SndBool bVolable; //peut-on changer son volume
|
||||
SndBool bPanable; //peut le paner
|
||||
SndBool bSpacable; //peut-on lui appliquer un effet space
|
||||
SndBool bReverbable; //peut-on (ou doit-on) le reverber
|
||||
SndBool bStream; //streming ou en m<>moire
|
||||
SndBool bLoop; //loope-t-il
|
||||
unsigned long ulStartLoop; //point de rebouclage en octets
|
||||
unsigned long ulLoopLength; //longueur de la boucle en octets
|
||||
unsigned long ulFreq; //fr<66>quence par d<>faut
|
||||
unsigned short uwResolution; //nb de bits (8 ou 16)
|
||||
unsigned short uwNbChannels; //nb de canaux(mono, st<73>reo ...)
|
||||
tdeTypeZip eZip;
|
||||
char czFileName[13]; //nom du fichier associ<63>
|
||||
} ;
|
||||
|
||||
//param<61>tre d'une ressource sample en m<>moire
|
||||
struct _tdstSampleMemory {
|
||||
void* pvPtrFirst ; //adresse du 1<> octet
|
||||
unsigned long ulNbEchLoop; //indice de l'ech du point de bouclage
|
||||
unsigned long ulNbEch; //indice du dernier ech
|
||||
} ;
|
||||
|
||||
//param<61>tre d'une ressource sample <20> streamer
|
||||
struct _tdstSampleStreaming {
|
||||
char szFileName[13] ;//nom du fichier
|
||||
unsigned long ulOffsetFirst; //Offest des datas dans le fichier
|
||||
unsigned long ulOffsetLoop; //offset du point de bouclage en octets
|
||||
unsigned long ulOffsetLast; //offset du dernier octets.
|
||||
} ;
|
||||
|
||||
//union de la description du sample
|
||||
union _tduDataSample{
|
||||
tdstSampleMemory stMem ;
|
||||
tdstSampleStreaming stStream ;
|
||||
} ;
|
||||
|
||||
//param<61>tres d'une ressource sample (donn<6E>es en mem)
|
||||
struct _tdstTypeSampleMem {
|
||||
SndBool bPitchable; //peut-on changer le pitch du sample
|
||||
SndBool bVolable; //peut-on changer son volume
|
||||
SndBool bPanable; //peut le paner
|
||||
SndBool bSpacable; //peut-on lui appliquer un effet space
|
||||
SndBool bReverbable; //peut-on (ou doit-on) le reverber
|
||||
SndBool bStream; //streming ou en m<>moire
|
||||
SndBool bLoop; //loope-t-il
|
||||
tduDataSample uData; //description du sample
|
||||
unsigned long ulInc0 ; //p<>riode en echantillons
|
||||
unsigned long ulFreq; //frequence
|
||||
unsigned short uwResolution; //nb de bits (8 ou 16)
|
||||
unsigned short uwNbChannels; //nb de canaux(mono, st<73>reo ...)
|
||||
tdeTypeZip eZip;
|
||||
} ;
|
||||
|
||||
//extern tduRefRes SND_RES_FANTOME;
|
||||
|
||||
//---callback pour buffers clients
|
||||
//typedef void (WINAPI *td_pfn_vRefreshBufferClient)(long id_buffer,unsigned long first,unsigned long nb,void* ptr_first_sample);
|
||||
//id_buffer=id/voie du biffer client concern<72>
|
||||
//first=id du 1<> sample <20> rafraichir (pas en octets)
|
||||
//nb=nb de samples <20> calculer
|
||||
//ptr_first_sample=adresse cible
|
||||
|
||||
|
||||
|
||||
#if (defined(__cplusplus)&& !defined(CPA_ForceCplusplus))
|
||||
}
|
||||
#endif // __cplusplus
|
||||
|
||||
#endif //_SNDHARD_H_
|
||||
|
59
Rayman_X/cpa/tempgrp/SND/inc/generic/SNDLD_BN.H
Normal file
59
Rayman_X/cpa/tempgrp/SND/inc/generic/SNDLD_BN.H
Normal file
@@ -0,0 +1,59 @@
|
||||
#ifndef _SNDLD_BN_H_
|
||||
#define _SNDLD_BN_H_
|
||||
|
||||
//***************************************************************
|
||||
//* *
|
||||
//* SNDLD_S.H Version 1.0 *
|
||||
//* *
|
||||
//* Private sound data load&reference functions *
|
||||
//* Binary version *
|
||||
//* *
|
||||
//***************************************************************
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif // __cplusplus
|
||||
|
||||
#ifdef M_SET_ALIGNMENT
|
||||
#pragma pack(push)
|
||||
#pragma pack(M_SET_ALIGNMENT)
|
||||
#endif
|
||||
|
||||
#ifndef NO_ACP_LDBIN
|
||||
|
||||
typedef struct _tdstSndBankDescriptorElement *p_tdstSndBankDescriptorElement;
|
||||
|
||||
SNDLST2_M_DynamicUseListOf(p_tdstSndBankDescriptorElement);
|
||||
|
||||
struct _tdstSndBankDescriptorElement
|
||||
{
|
||||
int iId; //Id of bank
|
||||
unsigned long iLevel; //level (for StartLoadBank2
|
||||
char czFileName[13]; //file name of bank
|
||||
long lBNMCheckVersion; //BNM version (value of CheckVersion)
|
||||
//signed long ulDataSize; //size of
|
||||
tdeBankState eState; //current of bank (loading, to be loaded...)
|
||||
tdstSndBankHead* pData; //pointer to main data (malloc)
|
||||
void *pDataPrimary; //pointer to primary data (CPA list for Theme, Seq...)
|
||||
void *pDataMPEG; //pointer to MPEG data
|
||||
void *pDataMidi; //pointer to Midi data
|
||||
void *pDataSample; //pointer to Sampel data
|
||||
void *pDataADPCM; //pointer to Sampel data
|
||||
SNDLST2_M_DynamicElementDeclaration(p_tdstSndBankDescriptorElement)
|
||||
} tdstSndBankDescriptorElement;
|
||||
|
||||
extern tdstSndBankDescriptorList SND_g_dBankDescriptionList;
|
||||
p_tdstSndBankDescriptorElement fn_pstGetBankDescriptor(int _iBankNum);
|
||||
|
||||
#endif //NO_ACP_LDBIN
|
||||
|
||||
#ifdef M_SET_ALIGNMENT
|
||||
#pragma pack(pop)
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif // __cplusplus
|
||||
|
||||
#endif //_SNDLD_BN_H_
|
160
Rayman_X/cpa/tempgrp/SND/inc/generic/snddbg.h
Normal file
160
Rayman_X/cpa/tempgrp/SND/inc/generic/snddbg.h
Normal file
@@ -0,0 +1,160 @@
|
||||
#define SUPERVISATER
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "sndlst2.h"
|
||||
|
||||
#undef DLL_IMPEXP
|
||||
#ifdef _DLL_COMPILATION_MODE
|
||||
#define DLL_IMPEXP __declspec(dllexport)
|
||||
#else
|
||||
#define DLL_IMPEXP
|
||||
#endif
|
||||
|
||||
typedef struct dbgMICRO_DESCRIPTION_ *pdbgMICRO_DESCRIPTION;
|
||||
|
||||
SNDLST2_M_DynamicUseListOf(pdbgMICRO_DESCRIPTION);
|
||||
|
||||
typedef struct dbgMICRO_DESCRIPTION_{
|
||||
long Id;
|
||||
long sndId;
|
||||
MicroParam par;
|
||||
SNDLST2_M_DynamicElementDeclaration(pdbgMICRO_DESCRIPTION)
|
||||
}dbgMICRO_DESCRIPTION;
|
||||
|
||||
typedef struct dbgLISTE_MICRO_{
|
||||
SNDLST2_M_DynamicAnchorDeclaration(pdbgMICRO_DESCRIPTION) pList;
|
||||
}dbgLISTE_MICRO;
|
||||
|
||||
|
||||
//-------stockage des associations
|
||||
typedef struct dbgSND_tdstEvtStruct_ *pdbgSND_tdstEvtStruct;
|
||||
SNDLST2_M_DynamicUseListOf(pdbgSND_tdstEvtStruct);
|
||||
|
||||
typedef struct dbgSND_tdstEvtStruct_
|
||||
{
|
||||
SND_tduRefEvt evt;
|
||||
long asso;
|
||||
SNDLST2_M_DynamicElementDeclaration(pdbgSND_tdstEvtStruct)
|
||||
} dbgSND_tdstEvtStruct;
|
||||
|
||||
/* */
|
||||
|
||||
typedef struct dbgLISTE_EVT_{
|
||||
SNDLST2_M_DynamicAnchorDeclaration(pdbgSND_tdstEvtStruct) pList;
|
||||
} dbgLISTE_EVT;
|
||||
|
||||
typedef struct dbgSND_tdstObjectStruct_ *pdbgSND_tdstObjectStruct;
|
||||
SNDLST2_M_DynamicUseListOf(pdbgSND_tdstObjectStruct);
|
||||
|
||||
/* */
|
||||
typedef struct dbgSND_tdstObjectStruct_
|
||||
{
|
||||
//long asso; //id de l'asso SOUND3D
|
||||
long indice; //id de l'objet
|
||||
SoundParam par;
|
||||
dbgLISTE_EVT evts;
|
||||
SNDLST2_M_DynamicElementDeclaration(pdbgSND_tdstObjectStruct)
|
||||
} dbgSND_tdstObjectStruct;
|
||||
|
||||
typedef struct dbgLISTE_OBJECT_{
|
||||
SNDLST2_M_DynamicAnchorDeclaration(pdbgSND_tdstObjectStruct) pList;
|
||||
} dbgLISTE_OBJECT;
|
||||
|
||||
/***************** pour diversSND *****************************************/
|
||||
//resource view-list
|
||||
typedef struct dbgVOLUMELINE_DESCRIPTION_ *pdbgVOLUMELINE_DESCRIPTION;
|
||||
|
||||
SNDLST2_M_DynamicUseListOf(pdbgVOLUMELINE_DESCRIPTION);
|
||||
|
||||
typedef struct dbgVOLUMELINE_DESCRIPTION_{
|
||||
long id;
|
||||
long vol;
|
||||
SNDLST2_M_DynamicElementDeclaration(pdbgVOLUMELINE_DESCRIPTION)
|
||||
}dbgVOLUMELINE_DESCRIPTION;
|
||||
|
||||
|
||||
typedef struct dbgLISTE_VOLUMELINE_{
|
||||
SNDLST2_M_DynamicAnchorDeclaration(pdbgVOLUMELINE_DESCRIPTION) pList;
|
||||
}dbgVOLUMELINE_MICRO;
|
||||
|
||||
|
||||
/***************** pour VISUSND *****************************************/
|
||||
typedef struct dbgVISUSND_ELEMENT_ *pdbgVISUSND_ELEMENT;
|
||||
|
||||
SNDLST2_M_DynamicUseListOf(pdbgVISUSND_ELEMENT);
|
||||
|
||||
typedef struct dbgVISUSND_ELEMENT_{
|
||||
long id;
|
||||
tduRefRes res;
|
||||
SoundParam par;
|
||||
SNDLST2_M_DynamicElementDeclaration(pdbgVISUSND_ELEMENT)
|
||||
}dbgVISUSND_ELEMENT;
|
||||
|
||||
typedef struct dbgVISUSND_LISTE_{
|
||||
SNDLST2_M_DynamicAnchorDeclaration(pdbgVISUSND_ELEMENT) pList;
|
||||
}dbgVISUSND_LISTE;
|
||||
|
||||
#define TAILLE_HISTORIC 256
|
||||
|
||||
typedef struct {
|
||||
// u64 time;
|
||||
SND_tduRefEvt evt;
|
||||
long obj;
|
||||
long asso;
|
||||
} historic_element;
|
||||
|
||||
|
||||
//variables
|
||||
extern dbgLISTE_MICRO dbg_micros;//liste des micros (utiliser pas SynchroSonore)
|
||||
extern dbgLISTE_OBJECT dbg_objects; //description des associations courantes
|
||||
extern dbgVISUSND_LISTE dbg_visusnd;
|
||||
extern dbgVOLUMELINE_MICRO dbgVolumeLineSnd;
|
||||
extern SndBool dbg_micros_init;
|
||||
extern SndBool dbg_objects_init;
|
||||
extern historic_element historic[TAILLE_HISTORIC];
|
||||
extern int next_histo_element;
|
||||
|
||||
//fonctions g<>n<EFBFBD>rales
|
||||
void SND_CALL SND_fn_vSetSupervisaterActive(SndBool active);
|
||||
void SND_CALL SND_fn_vLaunchSupervisater(SND_tdstInitStruct *pInitStruct);
|
||||
void SND_CALL SND_fn_vKillSupervisater();
|
||||
|
||||
|
||||
//suivi des objets
|
||||
void SND_CALL dbgSND_fn_vAddEventToObject(long indice,long type,long asso,SND_tduRefEvt evt);
|
||||
void SND_CALL SND_CALL dbgSND_fn_vKillEventToObject(long indice,long asso);
|
||||
void SND_CALL dbgSND_fn_vSetPosObject(long indice,SoundParam* par);
|
||||
|
||||
//suivi des micros
|
||||
void SND_CALL dbgSND_fn_vAddMicro(long indice);
|
||||
void SND_CALL dbgSND_fn_vKillMicro(long indice);
|
||||
void SND_CALL dbgSND_fn_vSetPosMicro(long indice,MicroParam* par);
|
||||
|
||||
//historique des events
|
||||
void SND_CALL dbgSND_fn_vAddHistoric(SND_tduRefEvt evt,long indice,long type_obj,long asso,tdstBlockResourceMem* res);
|
||||
//ligne de volume
|
||||
void SND_CALL dbgSND_fn_vKillVolumeLine(long line);
|
||||
void SND_CALL dbgSND_fn_vAddVolumeLine(long line);
|
||||
void SND_CALL dbgSND_fn_vSetVolumeLine(long line,long vol);
|
||||
|
||||
//bank
|
||||
void SND_CALL dbgSND_LoadBank(int iId);
|
||||
void SND_CALL dbgSND_UnLoadBank(int iId);
|
||||
|
||||
//sndvirt
|
||||
//DLL_IMPEXP void SND_CALL dbgSND_fn_vRajListesSxdVirtual(virtual_voice_list* VV,audible_voice_list* VA,dead_voice_list* VD);
|
||||
DLL_IMPEXP void SND_CALL dbgSND_fn_vRajListesSxdVirtual2(SND_tdhVirtualModule p_virtual_module);
|
||||
DLL_IMPEXP void SND_CALL dbgSND_fn_vInitListesSxdVirtual(long p_virtual_module,char* descrpition);
|
||||
|
||||
//snd
|
||||
DLL_IMPEXP void SND_CALL dbgSND_fn_vAddVoiceSample(long id,tduRefRes res,SampleParam *par);
|
||||
DLL_IMPEXP void SND_CALL dbgSND_fn_vSetParVoiceSample(long id,SampleParam *par);
|
||||
DLL_IMPEXP void SND_CALL dbgSND_fn_vDelVoiceSample(long id);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
7
Rayman_X/cpa/tempgrp/SND/inc/generic/sndini.h
Normal file
7
Rayman_X/cpa/tempgrp/SND/inc/generic/sndini.h
Normal file
@@ -0,0 +1,7 @@
|
||||
//gestion des options
|
||||
#include "snd.h"
|
||||
|
||||
void SND_fn_vInitOptions(SND_tdstInitStruct *pInitStruct);
|
||||
void SND_fn_vDesInitOptions(void);
|
||||
|
||||
|
20
Rayman_X/cpa/tempgrp/SND/inc/generic/sndstrm.h
Normal file
20
Rayman_X/cpa/tempgrp/SND/inc/generic/sndstrm.h
Normal file
@@ -0,0 +1,20 @@
|
||||
// module de gestion des ressources samples PCM stream<61>es
|
||||
// multi plateforme (commun <20> directX, WinMM,...)
|
||||
|
||||
long SND_fn_lPlaySxdStream(tduRefRes res,SoundParam *par,long prio,SND_td_pfn_vSoundCallback fn_callback,long par_callback);
|
||||
void SND_fn_vRemoveCallbackSxdStream(long voice);
|
||||
SndBool SND_fn_bSetParamSxdStream(long voice,SoundParam *par);
|
||||
SndBool SND_fn_bTestIsPlayingSxdStream(long voice);
|
||||
void SND_fn_vStopSxdStream(long voice);
|
||||
void SND_fn_vPauseSxdStream(long voice);
|
||||
void SND_fn_vResumeSxdStream(long voice);
|
||||
int SND_fn_iInitSxdStream(SND_tdstInitStruct *pInitStruct);
|
||||
SndBool SND_fn_bTestInitSxdStream(void);
|
||||
void SND_fn_vDesInitSxdStream(void);
|
||||
SndReal SND_fn_rGetPosSxdStream(long voice);
|
||||
SndReal SND_fn_rGetLengthSxdStream(long voice);
|
||||
SndBool SND_fn_bLoadResScriptSxdStream(tdstBlockResourceDisk *disk,tdstBlockResourceMem *mem);
|
||||
SndBool SND_fn_bLoadResBinarySxdStream(tdstBlockResourceDisk *_pBRDisk,tdstBlockResourceMem *_pBRMem,char *pDataBloc);
|
||||
void SND_fn_vUnLoadResSxdStream(tdstBlockResourceMem* mem);
|
||||
|
||||
|
Reference in New Issue
Block a user