Add rayman2 source files

This commit is contained in:
2024-09-18 02:33:44 +08:00
parent bcc093f8ed
commit fb036c54fd
14339 changed files with 2596224 additions and 0 deletions

View File

@@ -0,0 +1,101 @@
# Microsoft Developer Studio Project File - Name="MnuSND commun" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 5.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Static Library" 0x0104
CFG=MnuSND commun - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "MnuSND.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "MnuSND.mak" CFG="MnuSND commun - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "MnuSND commun - Win32 Release" (based on\
"Win32 (x86) Static Library")
!MESSAGE "MnuSND commun - Win32 Debug" (based on "Win32 (x86) Static Library")
!MESSAGE
# Begin Project
# PROP Scc_ProjName ""$/cpa/tempgrp/msn", BODAAAAA"
# PROP Scc_LocalPath "."
CPP=cl.exe
!IF "$(CFG)" == "MnuSND commun - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /G5 /MD /W3 /GX /O2 /I "x:\cpa\public" /I "x:\cpa\tempgrp\msn" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
# SUBTRACT CPP /Fr /YX
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"x:\cpa\lib\MSNwinVR.lib"
!ELSEIF "$(CFG)" == "MnuSND commun - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /G5 /MD /W3 /GX /Z7 /Od /I "x:\cpa\public" /I "x:\cpa\tempgrp\msn" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
# SUBTRACT CPP /Fr /YX
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LIB32=link.exe -lib
# ADD BASE LIB32 /nologo
# ADD LIB32 /nologo /out:"x:\cpa\lib\MSNwinVD.lib"
!ENDIF
# Begin Target
# Name "MnuSND commun - Win32 Release"
# Name "MnuSND commun - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\win95\mnusnd.c
# End Source File
# Begin Source File
SOURCE=.\win95\mnusnd.h
# End Source File
# Begin Source File
SOURCE=..\..\Public\msn\msn_main.h
# End Source File
# Begin Source File
SOURCE=..\..\Public\SND\SOUND3D.H
# End Source File
# End Group
# End Target
# End Project

View File

@@ -0,0 +1,96 @@
//gestion du menu ED (module MNU) pour
// target MW
//!!!! aucune fonction en peut <20>tre appel<65>e
//seuls les prototypes sont exploit<69>s
#include "cpa_std.h"
#include "acp_base.h"
#include "hdl.h"
#include "mth.h"
#include "pos.h"
#include "geo.h"
#include "gli.h"
#include "gld.h"
#include "fon.h"
#include "mnu.h"
#include "SND.h"
#include "mnusnd.h"
//!!!!!!! les conventions d'appel ne sont pas les m<>mes pour toutes les fonctions
// d<>finir DLLCALL avec la valeur ad<61>quat avant d'utiliser SND_DefinePointerx
//definitions des fct MNU
#define DLLCALL
SND_DefinePointer_void2(MNU_fn_vAddCallback,void,MNU_tdpfn_Callback,char*);
SND_DefinePointer1(MNU_fn_lGetValue,long,MNU_tdxHandleOfSlider);
SND_DefinePointer2(MNU_fn_bSetValue,BOOL,MNU_tdxHandleOfSlider,short);
//defintions des fct SND
SND_DefinePointer0(SND_fn_bGetReverseStereoSound,SndBool);
SND_DefinePointer_void1(SND_fn_vSetReverseStereoSound,void,SndBool);
#undef DLLCALL
#define DLLCALL WINAPI
SND_DefinePointer0(SND_fn_bGetDolbySample,SndBool);
SND_DefinePointer_void1(SND_fn_vSetDolbySample,void,SndBool);
SND_DefinePointer0(SND_fn_vGetHModuleWav,HMODULE);
void fn_vMenuSon_InitStereo(struct MNU_stMenuItem_ *hMenuItem,char *szText[])
{
SndBool stereo;
stereo=SND_fn_bGetReverseStereoSound();
MNU_fn_bSetValue(hMenuItem->uItem.hSlider,(short)(stereo ? 2 : 1));
}
void fn_vMenuSon_ChangeStereo(struct MNU_stMenuItem_ *hMenuItem,char *szText[])
{
long stereo;
stereo=MNU_fn_lGetValue(hMenuItem->uItem.hSlider);
SND_fn_vSetReverseStereoSound((stereo==2) ? TRUE : FALSE);
}
void fn_vMenuSon_InitDolby(struct MNU_stMenuItem_ *hMenuItem,char *szText[])
{
SndBool dolby;
dolby=SND_fn_bGetDolbySample();
MNU_fn_bSetValue(hMenuItem->uItem.hSlider,(short)(dolby ? 2 : 1));
}
void fn_vMenuSon_ChangeDolby(struct MNU_stMenuItem_ *hMenuItem,char *szText[])
{
long dolby;
dolby=MNU_fn_lGetValue(hMenuItem->uItem.hSlider);
SND_fn_vSetDolbySample((dolby==2) ? TRUE : FALSE);
}
//Init g<>n<EFBFBD>
__declspec(dllexport) void SNDMNUInit(HINSTANCE hinst)
{
HMODULE hWavModule;
//init des pointeurs de fonctions MNU
DLLpfn_MNU_fn_vAddCallback=(DLLtdpfn_MNU_fn_vAddCallback)GetProcAddress(hinst,"MNU_fn_vAddCallback");
DLLpfn_MNU_fn_lGetValue=(DLLtdpfn_MNU_fn_lGetValue)GetProcAddress(hinst,"MNU_fn_lGetValue");
DLLpfn_MNU_fn_bSetValue=(DLLtdpfn_MNU_fn_bSetValue)GetProcAddress(hinst,"MNU_fn_bSetValue");
//init des pointeurs de fonctions SND
DLL_M_GetProcAddress(SND_fn_bGetReverseStereoSound,hinst);
DLL_M_GetProcAddress(SND_fn_vSetReverseStereoSound,hinst);
DLL_M_GetProcAddressDecored(SND_fn_vGetHModuleWav,hinst);
hWavModule=SND_fn_vGetHModuleWav();
DLL_M_GetProcAddressDecored(SND_fn_bGetDolbySample,hWavModule);
DLL_M_GetProcAddressDecored(SND_fn_vSetDolbySample,hWavModule);
//init des callback MNU
MNU_fn_vAddCallback(fn_vMenuSon_InitStereo,"InitStereo");
MNU_fn_vAddCallback(fn_vMenuSon_ChangeStereo,"ChangeStereo");
MNU_fn_vAddCallback(fn_vMenuSon_InitDolby,"InitDolby");
MNU_fn_vAddCallback(fn_vMenuSon_ChangeDolby,"ChangeDolby");
}

View File

@@ -0,0 +1,110 @@
# Microsoft Developer Studio Project File - Name="MnuSNDmw" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 5.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=MnuSNDmw - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "MnuSNDmw.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "MnuSNDmw.mak" CFG="MnuSNDmw - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "MnuSNDmw - Win32 Release" (based on\
"Win32 (x86) Dynamic-Link Library")
!MESSAGE "MnuSNDmw - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "MnuSNDmw - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
# ADD BASE RSC /l 0x40c /d "NDEBUG"
# ADD RSC /l 0x40c /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
!ELSEIF "$(CFG)" == "MnuSNDmw - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "x:\cpa\public" /I "x:\cpa\tempgrp\msn\win95" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
# ADD BASE RSC /l 0x40c /d "_DEBUG"
# ADD RSC /l 0x40c /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"x:\cpa\exe\main\dll\MnuSNDmw.DLL" /pdbtype:sept
!ENDIF
# Begin Target
# Name "MnuSNDmw - Win32 Release"
# Name "MnuSNDmw - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\win95\mnusnd.h
# End Source File
# Begin Source File
SOURCE=.\MnuSNDmw.c
# End Source File
# End Group
# Begin Group "Script Menus"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\..\exe\main\GameData\Menus\mnusonMW.mnu
# End Source File
# End Group
# End Target
# End Project

View File

@@ -0,0 +1,5 @@
SCC = This is a Source Code Control file
[MnuSNDmw.dsp]
SCC_Aux_Path = "\\srvprojets-ma\Rayman4_DS\Versions\Rayman4DS\Tools"
SCC_Project_Name = "$/CPA/tempgrp/msn/MnuSNDmw", CGNAAAAA

View File

@@ -0,0 +1,113 @@
# Microsoft Developer Studio Project File - Name="MnuSNDpw" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 5.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=MnuSNDpw - Win32 Debug
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "MnuSNDpw.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "MnuSNDpw.mak" CFG="MnuSNDpw - Win32 Debug"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "MnuSNDpw - Win32 Release" (based on\
"Win32 (x86) Dynamic-Link Library")
!MESSAGE "MnuSNDpw - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP Scc_ProjName ""
# PROP Scc_LocalPath ""
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "MnuSNDpw - Win32 Release"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 0
# PROP BASE Output_Dir "Release"
# PROP BASE Intermediate_Dir "Release"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 0
# PROP Output_Dir "Release"
# PROP Intermediate_Dir "Release"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /G5 /MD /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c
# SUBTRACT CPP /Fr /YX
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /o NUL /win32
# ADD BASE RSC /l 0x40c /d "NDEBUG"
# ADD RSC /l 0x40c /d "NDEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /machine:I386
!ELSEIF "$(CFG)" == "MnuSNDpw - Win32 Debug"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug"
# PROP BASE Intermediate_Dir "Debug"
# PROP BASE Target_Dir ""
# PROP Use_MFC 0
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "Debug"
# PROP Intermediate_Dir "Debug"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /G5 /MD /W3 /Gm /GX /Zi /Od /I "x:\cpa\public" /I "x:\cpa\tempgrp\msn\win95" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /FD /c
# SUBTRACT CPP /Fr /YX
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
# ADD BASE RSC /l 0x40c /d "_DEBUG"
# ADD RSC /l 0x40c /d "_DEBUG"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"x:\cpa\exe\main\dll\MnuSNDpw.dll" /pdbtype:sept
!ENDIF
# Begin Target
# Name "MnuSNDpw - Win32 Release"
# Name "MnuSNDpw - Win32 Debug"
# Begin Group "Source Files"
# PROP Default_Filter ""
# Begin Source File
SOURCE=.\win95\mnusnd.h
# End Source File
# Begin Source File
SOURCE=.\MnuSNDpw\MnuSNDpw.c
# End Source File
# End Group
# Begin Group "Script Menus"
# PROP Default_Filter ""
# Begin Source File
SOURCE=..\..\exe\main\GameData\Menus\mnusonPW.mnu
# End Source File
# End Group
# End Target
# End Project

View File

@@ -0,0 +1,65 @@
//gestion du menu ED (module MNU) pour
// target PW
//!!!! aucune fonction en peut <20>tre appel<65>e
//seuls les prototypes sont exploit<69>s
#include "cpa_std.h"
#include "acp_base.h"
#include "hdl.h"
#include "mth.h"
#include "pos.h"
#include "geo.h"
#include "gli.h"
#include "gld.h"
#include "fon.h"
#include "mnu.h"
#include "SND.h"
#include "mnusnd.h"
//definitions des fct MNU
//!!!!!!! les conventions d'appel ne sont pas les m<>mes pour toutes les fonctions
// d<>finir DLLCALL avec la valeur ad<61>quat avant d'utiliser SND_DefinePointerx
#define DLLCALL
SND_DefinePointer_void2(MNU_fn_vAddCallback,void,MNU_tdpfn_Callback,char*);
SND_DefinePointer1(MNU_fn_lGetValue,long,MNU_tdxHandleOfSlider);
SND_DefinePointer2(MNU_fn_bSetValue,BOOL,MNU_tdxHandleOfSlider,short);
//defintions des fct SND
SND_DefinePointer0(SND_fn_bGetReverseStereoSound,SndBool);
SND_DefinePointer_void1(SND_fn_vSetReverseStereoSound,void,SndBool);
void fn_vMenuSon_InitStereo(struct MNU_stMenuItem_ *hMenuItem,char *szText[])
{
SndBool stereo;
stereo=SND_fn_bGetReverseStereoSound();
MNU_fn_bSetValue(hMenuItem->uItem.hSlider,(short)(stereo ? 2 : 1));
}
void fn_vMenuSon_ChangeStereo(struct MNU_stMenuItem_ *hMenuItem,char *szText[])
{
long stereo;
stereo=MNU_fn_lGetValue(hMenuItem->uItem.hSlider);
SND_fn_vSetReverseStereoSound((stereo==2) ? TRUE : FALSE);
}
//Init g<>n<EFBFBD>
__declspec(dllexport) void SNDMNUInit(HINSTANCE hinst)
{
//init des pointeurs de fonctions MNU
DLLpfn_MNU_fn_vAddCallback=(DLLtdpfn_MNU_fn_vAddCallback)GetProcAddress(hinst,"MNU_fn_vAddCallback");
DLLpfn_MNU_fn_lGetValue=(DLLtdpfn_MNU_fn_lGetValue)GetProcAddress(hinst,"MNU_fn_lGetValue");
DLLpfn_MNU_fn_bSetValue=(DLLtdpfn_MNU_fn_bSetValue)GetProcAddress(hinst,"MNU_fn_bSetValue");
//init des pointeurs de fonctions SND
DLL_M_GetProcAddress(SND_fn_bGetReverseStereoSound,hinst);
DLL_M_GetProcAddress(SND_fn_vSetReverseStereoSound,hinst);
//init des callback MNU
MNU_fn_vAddCallback(fn_vMenuSon_InitStereo,"InitStereo");
MNU_fn_vAddCallback(fn_vMenuSon_ChangeStereo,"ChangeStereo");
}

View File

@@ -0,0 +1,9 @@
SCC = This is a Source Code Control file
[MnuSND.dsp]
SCC_Aux_Path = "\\srvprojets-ma\Rayman4_DS\Versions\Rayman4DS\Tools"
SCC_Project_Name = "$/CPA/tempgrp/msn", AGNAAAAA
[MnuSNDpw.dsp]
SCC_Aux_Path = "\\srvprojets-ma\Rayman4_DS\Versions\Rayman4DS\Tools"
SCC_Project_Name = "$/CPA/tempgrp/msn", AGNAAAAA

View File

@@ -0,0 +1,47 @@
// gestion des menus
#include "acp_base.h"
#include "MSN.H"
#define NO_ACP_SCRIPT
#include "SND.h"
#include "mnusnd.h"
//variables globales
char szTargetLabel[8];
char szTargetDLLName[256];
HINSTANCE hDLL=NULL;
HMODULE hModule=NULL;
//fonctions import<72>es
#define DLLCALL
SND_DefinePointer1(SNDMNUInit,ACP_tdxBool,HINSTANCE);
//fonctions publiques
ACP_tdxBool MSN_fn_vInit()
{
//obtention de la target
memset(szTargetLabel,0,sizeof(szTargetLabel));
SND_fn_vGetTargetLabelSound(szTargetLabel,sizeof(szTargetLabel));
strcpy(szTargetDLLName,SND_fn_szGetSoftDirectory());
strcat(szTargetDLLName,"\\MNUSND");
strcat(szTargetDLLName,szTargetLabel);
strcat(szTargetDLLName,".DLL");
if ((hDLL=LoadLibrary(szTargetDLLName))!=NULL)
{//importation des fonctions de MNUSND.DLL
hModule=GetModuleHandle(NULL);
DLLpfn_SNDMNUInit=(DLLtdpfn_SNDMNUInit)GetProcAddress(hDLL,"SNDMNUInit");
SNDMNUInit(hModule);
}
if (hDLL==NULL)
return FALSE;
else
return TRUE;
}

View File

@@ -0,0 +1,271 @@
#ifndef _MNUDLL_H_
#define _MNUDLL_H_
#define SND_DefinePointer0(FunctionName,ret) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(void); \
ret (DLLCALL *DLLpfn_##FunctionName)(void)=NULL; \
ret DLLCALL FunctionName(void) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
return (*DLLpfn_##FunctionName)(); \
} \
ret DLLCALL Fake##FunctionName(void) \
{ \
ret fake=(ret)0; \
return fake; \
} \
char cz##FunctionName##[] = "_" #FunctionName "@0";
#define SND_DefinePointer1(FunctionName,ret,typ1) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1)=NULL; \
ret DLLCALL FunctionName(typ1 par1) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
return (*DLLpfn_##FunctionName)(par1); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1) \
{ \
ret fake=(ret)0; \
return fake; \
} \
char cz##FunctionName##[] = "_" #FunctionName "@4";
#define SND_DefinePointer1_def(FunctionName,ret,typ1,def_ret) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1)=NULL; \
ret DLLCALL FunctionName(typ1 par1) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
return (*DLLpfn_##FunctionName)(par1); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1) \
{ \
ret fake=def_ret; \
return fake; \
} \
char cz##FunctionName##[] = "_" #FunctionName "@4";
#define SND_DefinePointer2(FunctionName,ret,typ1,typ2) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1,typ2); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1,typ2)=NULL; \
ret DLLCALL FunctionName(typ1 par1,typ2 par2) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
return((*DLLpfn_##FunctionName)(par1,par2)); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1,typ2 par2) \
{ \
ret fake=(ret)0; \
return fake; \
} \
char cz##FunctionName##[] = "_" #FunctionName "@8";
#define SND_DefinePointer3(FunctionName,ret,typ1,typ2,typ3) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1,typ2,typ3); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1,typ2,typ3)=NULL; \
ret DLLCALL FunctionName(typ1 par1,typ2 par2,typ3 par3) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
return (*DLLpfn_##FunctionName)(par1,par2,par3); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3) \
{ \
ret fake=(ret)0; \
return fake; \
} \
char cz##FunctionName##[] = "_" #FunctionName "@12";
#define SND_DefinePointer3_def(FunctionName,ret,typ1,typ2,typ3,def_ret) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1,typ2,typ3); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1,typ2,typ3)=NULL; \
ret DLLCALL FunctionName(typ1 par1,typ2 par2,typ3 par3) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
return (*DLLpfn_##FunctionName)(par1,par2,par3); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3) \
{ \
ret fake=def_ret; \
return fake; \
} \
char cz##FunctionName##[] = "_" #FunctionName "@12";
#define SND_DefinePointer4(FunctionName,ret,typ1,typ2,typ3,typ4) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1,typ2,typ3,typ4); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1,typ2,typ3,typ4)=NULL; \
ret DLLCALL FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
return (*DLLpfn_##FunctionName)(par1,par2,par3,par4); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \
{ \
ret fake=(ret)0; \
return fake; \
} \
char cz##FunctionName##[] = "_" #FunctionName "@16";
#define SND_DefinePointer4_def(FunctionName,ret,typ1,typ2,typ3,typ4,def_ret) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1,typ2,typ3,typ4); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1,typ2,typ3,typ4)=NULL; \
ret DLLCALL FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
return (*DLLpfn_##FunctionName)(par1,par2,par3,par4); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \
{ \
ret fake=def_ret; \
return fake; \
} \
char cz##FunctionName##[] = "_" #FunctionName "@16";
#define SND_DefinePointer5(FunctionName,ret,typ1,typ2,typ3,typ4,typ5) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1,typ2,typ3,typ4,typ5); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1,typ2,typ3,typ4,typ5)=NULL; \
ret DLLCALL FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5)\
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
return (*DLLpfn_##FunctionName)(par1,par2,par3,par4,par5); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5) \
{ \
ret fake=(ret)0; \
return fake; \
} \
char cz##FunctionName##[] = "_" #FunctionName "@20";
#define SND_DefinePointer5_def(FunctionName,ret,typ1,typ2,typ3,typ4,typ5,def_ret) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1,typ2,typ3,typ4,typ5); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1,typ2,typ3,typ4,typ5)=NULL; \
ret DLLCALL FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5)\
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
return (*DLLpfn_##FunctionName)(par1,par2,par3,par4,par5); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5) \
{ \
ret fake=def_ret; \
return fake; \
} \
char cz##FunctionName##[] = "_" #FunctionName "@20";
#define SND_DefinePointer7(FunctionName,ret,typ1,typ2,typ3,typ4,typ5,typ6,typ7) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7)=NULL; \
ret DLLCALL FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5,typ6 par6,typ7 par7) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
return (*DLLpfn_##FunctionName)(par1,par2,par3,par4,par5,par6,par7); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5,typ6 par6,typ7 par7) \
{ \
ret fake=(ret)0; \
return fake; \
} \
char cz##FunctionName##[] = "_" #FunctionName "@28";
#define SND_DefinePointer_void0(FunctionName,ret) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(void); \
ret (DLLCALL *DLLpfn_##FunctionName)(void)=NULL; \
ret DLLCALL FunctionName(void) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
(*DLLpfn_##FunctionName)(); \
} \
ret DLLCALL Fake##FunctionName(void) \
{ \
} \
char cz##FunctionName##[] = "_" #FunctionName "@0";
#define SND_DefinePointer_void1(FunctionName,ret,typ1) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1)=NULL; \
ret DLLCALL FunctionName(typ1 par1) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
(*DLLpfn_##FunctionName)(par1); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1) \
{ \
} \
char cz##FunctionName##[] = "_" #FunctionName "@4";
#define SND_DefinePointer_void2(FunctionName,ret,typ1,typ2) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1,typ2); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1,typ2)=NULL; \
ret DLLCALL FunctionName(typ1 par1,typ2 par2) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
(*DLLpfn_##FunctionName)(par1,par2); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1,typ2 par2) \
{ \
} \
char cz##FunctionName##[] = "_" #FunctionName "@8";
#define SND_DefinePointer_void3(FunctionName,ret,typ1,typ2,typ3) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1,typ2,typ3); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1,typ2,typ3)=NULL; \
ret DLLCALL FunctionName(typ1 par1,typ2 par2,typ3 par3) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
(*DLLpfn_##FunctionName)(par1,par2,par3); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3) \
{ \
} \
char cz##FunctionName##[] = "_" #FunctionName "@12";
#define SND_DefinePointer_void4(FunctionName,ret,typ1,typ2,typ3,typ4) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1,typ2,typ3,typ4); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1,typ2,typ3,typ4)=NULL; \
ret DLLCALL FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
(*DLLpfn_##FunctionName)(par1,par2,par3,par4); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4) \
{ \
} \
char cz##FunctionName##[] = "_" #FunctionName "@16";
#define SND_DefinePointer_void5(FunctionName,ret,typ1,typ2,typ3,typ4,typ5) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1,typ2,typ3,typ4,typ5); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1,typ2,typ3,typ4,typ5)=NULL; \
ret DLLCALL FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5)\
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
(*DLLpfn_##FunctionName)(par1,par2,par3,par4,par5); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5) \
{ \
} \
char cz##FunctionName##[] = "_" #FunctionName "@20";
#define SND_DefinePointer_void7(FunctionName,ret,typ1,typ2,typ3,typ4,typ5,typ6,typ7) \
typedef ret (DLLCALL *DLLtdpfn_##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7); \
ret (DLLCALL *DLLpfn_##FunctionName)(typ1,typ2,typ3,typ4,typ5,typ6,typ7)=NULL; \
ret DLLCALL FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5,typ6 par6,typ7 par7) \
{ \
if (!DLLpfn_##FunctionName) DebugBreak(); \
(*DLLpfn_##FunctionName)(par1,par2,par3,par4,par5,par6,par7); \
} \
ret DLLCALL Fake##FunctionName(typ1 par1,typ2 par2,typ3 par3,typ4 par4,typ5 par5,typ6 par6,typ7 par7) \
{ \
} \
char cz##FunctionName##[] = "_" #FunctionName "@28";
#define DLL_M_GetProcAddress(FunctionName,module) \
DLLpfn_##FunctionName=(DLLtdpfn_##FunctionName)GetProcAddress(module,#FunctionName);
#define DLL_M_GetProcAddressDecored(FunctionName,module) \
DLLpfn_##FunctionName=(DLLtdpfn_##FunctionName)GetProcAddress(module,cz##FunctionName);
#endif _MNUDLL_H_