Merge pull request #1814 from RadWolfie/organize-directsound-plugin
Organize DirectSound Plugin (Part 1)
This commit is contained in:
commit
195795bd23
|
@ -140,6 +140,7 @@ file (GLOB CXBXR_HEADER_EMU
|
|||
"${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbVertexBuffer.h"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbVertexShader.h"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSound.hpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSoundGlobal.hpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSoundInline.hpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSoundLogging.hpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/XbDSoundLogging.hpp"
|
||||
|
@ -271,7 +272,12 @@ file (GLOB CXBXR_SOURCE_EMU
|
|||
"${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbVertexBuffer.cpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/D3D8/XbVertexShader.cpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSound.cpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSound3DCalculator.cpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSoundBuffer.cpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSoundGlobal.cpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSoundLogging.cpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/DirectSoundStream.cpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/DirectSound/XFileMediaObject.cpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/DSOUND/XbDSoundLogging.cpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/Intercept.cpp"
|
||||
"${CXBXR_ROOT_DIR}/src/core/hle/Patches.cpp"
|
||||
|
|
135
resource/Cxbx.rc
135
resource/Cxbx.rc
|
@ -55,7 +55,24 @@ BEGIN
|
|||
|
||||
IDD_LOGGING_CFG, DIALOG
|
||||
BEGIN
|
||||
BOTTOMMARGIN, 322
|
||||
VERTGUIDE, 12
|
||||
VERTGUIDE, 66
|
||||
VERTGUIDE, 121
|
||||
VERTGUIDE, 178
|
||||
VERTGUIDE, 234
|
||||
VERTGUIDE, 246
|
||||
BOTTOMMARGIN, 347
|
||||
HORZGUIDE, 54
|
||||
HORZGUIDE, 69
|
||||
HORZGUIDE, 84
|
||||
HORZGUIDE, 99
|
||||
HORZGUIDE, 114
|
||||
HORZGUIDE, 126
|
||||
HORZGUIDE, 140
|
||||
HORZGUIDE, 155
|
||||
HORZGUIDE, 168
|
||||
HORZGUIDE, 182
|
||||
HORZGUIDE, 195
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
@ -378,81 +395,85 @@ BEGIN
|
|||
PUSHBUTTON "Reset",IDC_EE_RESET,13,251,40,14,BS_FLAT
|
||||
END
|
||||
|
||||
IDD_LOGGING_CFG DIALOGEX 0, 0, 259, 350
|
||||
IDD_LOGGING_CFG DIALOGEX 0, 0, 258, 355
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Cxbx-Reloaded : Logging Configuration"
|
||||
FONT 8, "Verdana", 0, 0, 0x1
|
||||
BEGIN
|
||||
COMBOBOX IDC_EVENT_LV,57,9,50,10,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP
|
||||
CTEXT "Event Level",IDC_STATIC,10,11,40,10,0,WS_EX_RIGHT
|
||||
GROUPBOX "Emulator Event",IDC_CXBXR_EVENTS,13,25,235,182,WS_GROUP,WS_EX_CLIENTEDGE
|
||||
GROUPBOX "Emulator Event",IDC_CXBXR_EVENTS,12,26,234,186,WS_GROUP,WS_EX_CLIENTEDGE
|
||||
CONTROL "Enable all",IDC_LOG_ENABLE_GENERAL,"Button",BS_AUTORADIOBUTTON | BS_LEFTTEXT,19,39,47,10
|
||||
CONTROL "Disable all",IDC_LOG_DISABLE_GENERAL,"Button",BS_AUTORADIOBUTTON | BS_LEFTTEXT,71,39,50,10
|
||||
CONTROL "Custom",IDC_LOG_CUSTOM_GENERAL,"Button",BS_AUTORADIOBUTTON | BS_LEFTTEXT,134,39,41,10
|
||||
CONTROL "CXBXR",IDC_LOG_CXBXR,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,27,54,39,10
|
||||
CONTROL "XBE",IDC_LOG_XBE,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,92,54,29,10
|
||||
CONTROL "INIT",IDC_LOG_INIT,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,145,54,30,10
|
||||
CONTROL "INIT",IDC_LOG_INIT,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,148,54,30,10
|
||||
CONTROL "VMEM",IDC_LOG_VMEM,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,199,54,35,10
|
||||
CONTROL "PMEM",IDC_LOG_PMEM,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,32,69,34,10
|
||||
CONTROL "GUI",IDC_LOG_GUI,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,92,69,29,10
|
||||
CONTROL "EEPR",IDC_LOG_EEPR,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,142,69,33,10
|
||||
CONTROL "EEPR",IDC_LOG_EEPR,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,145,69,33,10
|
||||
CONTROL "RSA",IDC_LOG_RSA,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,204,69,30,10
|
||||
CONTROL "POOLMEM",IDC_LOG_POOLMEM,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,18,84,48,10
|
||||
CONTROL "D3D8",IDC_LOG_D3D8,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,87,84,34,10
|
||||
CONTROL "D3DST",IDC_LOG_D3DST,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,136,84,39,10
|
||||
CONTROL "D3DST",IDC_LOG_D3DST,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,139,84,39,10
|
||||
CONTROL "D3DCVT",IDC_LOG_D3DCVT,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,190,84,44,10
|
||||
CONTROL "DSOUND",IDC_LOG_DSOUND,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,21,99,45,10
|
||||
CONTROL "XAPI",IDC_LOG_XAPI,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,89,99,32,10
|
||||
CONTROL "XACT",IDC_LOG_XACT,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,141,99,34,10
|
||||
CONTROL "XGRP",IDC_LOG_XGRP,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,200,99,34,10
|
||||
CONTROL "XONLINE",IDC_LOG_XONLINE,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,21,114,45,10
|
||||
CONTROL "FS",IDC_LOG_FS,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,97,114,24,10
|
||||
CONTROL "PSHB",IDC_LOG_PSHB,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,141,114,34,10
|
||||
CONTROL "PXSH",IDC_LOG_PXSH,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,200,114,34,10
|
||||
CONTROL "VTXSH",IDC_LOG_VTXSH,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,28,129,38,10
|
||||
CONTROL "VTXB",IDC_LOG_VTXB,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,87,129,34,10
|
||||
CONTROL "DINP",IDC_LOG_DINP,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,142,129,33,10
|
||||
CONTROL "XINP",IDC_LOG_XINP,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,202,129,32,10
|
||||
CONTROL "SDL",IDC_LOG_SDL,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,33,144,33,10
|
||||
CONTROL "FILE",IDC_LOG_FILE,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,91,144,30,10
|
||||
CONTROL "X86",IDC_LOG_X86,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,146,144,29,10
|
||||
CONTROL "HLE",IDC_LOG_HLE,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,206,144,28,10
|
||||
CONTROL "NET",IDC_LOG_NET,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,37,159,29,10
|
||||
CONTROL "MCPX",IDC_LOG_MCPX,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,86,159,35,10
|
||||
CONTROL "NV2A",IDC_LOG_NV2A,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,141,159,34,10
|
||||
CONTROL "SMC",IDC_LOG_SMC,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,203,159,31,10
|
||||
CONTROL "OHCI",IDC_LOG_OHCI,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,32,174,34,10
|
||||
CONTROL "USB",IDC_LOG_USB,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,91,174,30,10
|
||||
CONTROL "HUB",IDC_LOG_HUB,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,145,174,30,10
|
||||
CONTROL "XIDCTRL",IDC_LOG_XIDCTRL,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,188,174,46,10
|
||||
CONTROL "ADM",IDC_LOG_ADM,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,35,189,31,10
|
||||
CONTROL "INPSYS",IDC_LOG_INPSYS,"Button",BS_AUTOCHECKBOX|BS_LEFTTEXT|WS_TABSTOP,80,189,41,10
|
||||
GROUPBOX "Kernel Event",IDC_KERNEL_EVENTS,13,212,235,110,WS_GROUP,WS_EX_CLIENTEDGE
|
||||
CONTROL "Enable all",IDC_LOG_ENABLE_KERNEL,"Button",BS_AUTORADIOBUTTON | BS_LEFTTEXT,19,226,47,10
|
||||
CONTROL "Disable all",IDC_LOG_DISABLE_KERNEL,"Button",BS_AUTORADIOBUTTON | BS_LEFTTEXT,71,226,50,10
|
||||
CONTROL "Custom",IDC_LOG_CUSTOM_KERNEL,"Button",BS_AUTORADIOBUTTON | BS_LEFTTEXT,134,226,41,10
|
||||
CONTROL "KRNL",IDC_LOG_KRNL,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,33,241,33,10
|
||||
CONTROL "LOG",IDC_LOG_LOG,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,91,241,30,10
|
||||
CONTROL "XBOX",IDC_LOG_XBOX,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,140,241,35,10
|
||||
CONTROL "XBDM",IDC_LOG_XBDM,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,199,241,35,10
|
||||
CONTROL "AV",IDC_LOG_AV,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,41,256,25,10
|
||||
CONTROL "DBG",IDC_LOG_DBG,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,90,256,31,10
|
||||
CONTROL "EX",IDC_LOG_EX,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,150,256,25,10
|
||||
CONTROL "FSC",IDC_LOG_FSC,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,205,256,29,10
|
||||
CONTROL "HAL",IDC_LOG_HAL,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,37,271,29,10
|
||||
CONTROL "IO",IDC_LOG_IO,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,97,271,24,10
|
||||
CONTROL "KD",IDC_LOG_KD,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,149,271,26,10
|
||||
CONTROL "KE",IDC_LOG_KE,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,209,271,25,10
|
||||
CONTROL "KI",IDC_LOG_KI,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,43,286,23,10
|
||||
CONTROL "MM",IDC_LOG_MM,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,95,286,26,10
|
||||
CONTROL "NT",IDC_LOG_NT,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,150,286,25,10
|
||||
CONTROL "OB",IDC_LOG_OB,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,208,286,26,10
|
||||
CONTROL "PS",IDC_LOG_PS,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,41,302,25,10
|
||||
CONTROL "RTL",IDC_LOG_RTL,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,93,302,28,10
|
||||
CONTROL "XC",IDC_LOG_XC,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,149,302,26,10
|
||||
CONTROL "XE",IDC_LOG_XE,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,209,302,25,10
|
||||
PUSHBUTTON "Cancel",IDC_LOG_CANCEL,161,327,40,14,BS_FLAT
|
||||
PUSHBUTTON "Accept",IDC_LOG_ACCEPT,208,327,40,14,BS_FLAT
|
||||
CONTROL "DSBUFFER",IDC_LOG_DSBUFFER,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,71,99,50,10
|
||||
CONTROL "DSSTREAM",IDC_LOG_DSSTREAM,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,125,99,53,10
|
||||
CONTROL "DS3DCALC",IDC_LOG_DS3DCALC,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,181,99,53,10
|
||||
CONTROL "XMO",IDC_LOG_XMO,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,35,114,31,10
|
||||
CONTROL "XAPI",IDC_LOG_XAPI,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,89,114,32,10
|
||||
CONTROL "XACT",IDC_LOG_XACT,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,144,114,34,10
|
||||
CONTROL "XGRP",IDC_LOG_XGRP,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,200,114,34,10
|
||||
CONTROL "XONLINE",IDC_LOG_XONLINE,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,21,126,45,10
|
||||
CONTROL "FS",IDC_LOG_FS,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,97,126,24,10
|
||||
CONTROL "PSHB",IDC_LOG_PSHB,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,144,126,34,10
|
||||
CONTROL "PXSH",IDC_LOG_PXSH,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,200,126,34,10
|
||||
CONTROL "VTXSH",IDC_LOG_VTXSH,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,28,140,38,10
|
||||
CONTROL "VTXB",IDC_LOG_VTXB,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,87,140,34,10
|
||||
CONTROL "DINP",IDC_LOG_DINP,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,145,140,33,10
|
||||
CONTROL "XINP",IDC_LOG_XINP,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,202,140,32,10
|
||||
CONTROL "SDL",IDC_LOG_SDL,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,33,155,33,10
|
||||
CONTROL "FILE",IDC_LOG_FILE,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,91,155,30,10
|
||||
CONTROL "X86",IDC_LOG_X86,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,149,155,29,10
|
||||
CONTROL "HLE",IDC_LOG_HLE,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,206,155,28,10
|
||||
CONTROL "NET",IDC_LOG_NET,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,37,168,29,10
|
||||
CONTROL "MCPX",IDC_LOG_MCPX,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,86,168,35,10
|
||||
CONTROL "NV2A",IDC_LOG_NV2A,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,144,168,34,10
|
||||
CONTROL "SMC",IDC_LOG_SMC,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,203,168,31,10
|
||||
CONTROL "OHCI",IDC_LOG_OHCI,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,32,182,34,10
|
||||
CONTROL "USB",IDC_LOG_USB,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,91,182,30,10
|
||||
CONTROL "HUB",IDC_LOG_HUB,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,148,182,30,10
|
||||
CONTROL "XIDCTRL",IDC_LOG_XIDCTRL,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,188,182,46,10
|
||||
CONTROL "ADM",IDC_LOG_ADM,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,35,195,31,10
|
||||
CONTROL "INPSYS",IDC_LOG_INPSYS,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,80,195,41,10
|
||||
GROUPBOX "Kernel Event",IDC_KERNEL_EVENTS,12,218,234,110,WS_GROUP,WS_EX_CLIENTEDGE
|
||||
CONTROL "Enable all",IDC_LOG_ENABLE_KERNEL,"Button",BS_AUTORADIOBUTTON | BS_LEFTTEXT,19,232,47,10
|
||||
CONTROL "Disable all",IDC_LOG_DISABLE_KERNEL,"Button",BS_AUTORADIOBUTTON | BS_LEFTTEXT,71,232,50,10
|
||||
CONTROL "Custom",IDC_LOG_CUSTOM_KERNEL,"Button",BS_AUTORADIOBUTTON | BS_LEFTTEXT,134,232,41,10
|
||||
CONTROL "KRNL",IDC_LOG_KRNL,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,33,247,33,10
|
||||
CONTROL "LOG",IDC_LOG_LOG,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,91,247,30,10
|
||||
CONTROL "XBOX",IDC_LOG_XBOX,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,141,247,35,10
|
||||
CONTROL "XBDM",IDC_LOG_XBDM,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,199,247,35,10
|
||||
CONTROL "AV",IDC_LOG_AV,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,41,262,25,10
|
||||
CONTROL "DBG",IDC_LOG_DBG,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,90,262,31,10
|
||||
CONTROL "EX",IDC_LOG_EX,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,150,262,25,10
|
||||
CONTROL "FSC",IDC_LOG_FSC,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,205,262,29,10
|
||||
CONTROL "HAL",IDC_LOG_HAL,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,37,277,29,10
|
||||
CONTROL "IO",IDC_LOG_IO,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,97,277,24,10
|
||||
CONTROL "KD",IDC_LOG_KD,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,149,277,26,10
|
||||
CONTROL "KE",IDC_LOG_KE,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,209,277,25,10
|
||||
CONTROL "KI",IDC_LOG_KI,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,43,292,23,10
|
||||
CONTROL "MM",IDC_LOG_MM,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,95,292,26,10
|
||||
CONTROL "NT",IDC_LOG_NT,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,150,292,25,10
|
||||
CONTROL "OB",IDC_LOG_OB,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,208,292,26,10
|
||||
CONTROL "PS",IDC_LOG_PS,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,41,308,25,10
|
||||
CONTROL "RTL",IDC_LOG_RTL,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,93,308,28,10
|
||||
CONTROL "XC",IDC_LOG_XC,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,149,308,26,10
|
||||
CONTROL "XE",IDC_LOG_XE,"Button",BS_AUTOCHECKBOX | BS_LEFTTEXT | WS_TABSTOP,209,308,25,10
|
||||
PUSHBUTTON "Cancel",IDC_LOG_CANCEL,161,333,40,14,BS_FLAT
|
||||
PUSHBUTTON "Accept",IDC_LOG_ACCEPT,206,333,40,14,BS_FLAT
|
||||
END
|
||||
|
||||
|
||||
|
|
|
@ -75,6 +75,10 @@ const char* g_EnumModules2String[to_underlying(CXBXR_MODULE::MAX)] = {
|
|||
"XIDCTRL ",
|
||||
"ADM ",
|
||||
"INPSYS ",
|
||||
"DSBUFFER",
|
||||
"DSSTREAM",
|
||||
"DS3DCALC",
|
||||
"XMO ",
|
||||
"KRNL ",
|
||||
"LOG ",
|
||||
"XBOX ",
|
||||
|
|
|
@ -83,6 +83,10 @@ typedef enum class _CXBXR_MODULE: unsigned int {
|
|||
XIDCTRL,
|
||||
ADM,
|
||||
INPSYS,
|
||||
DSBUFFER,
|
||||
DSSTREAM,
|
||||
DS3DCALC,
|
||||
XMO,
|
||||
// kernel
|
||||
KRNL,
|
||||
LOG,
|
||||
|
|
|
@ -93,7 +93,7 @@ const static int8_t IndexTable[16] = {
|
|||
-1, -1, -1, -1, 2, 4, 6, 8
|
||||
};
|
||||
|
||||
int TXboxAdpcmDecoder_DecodeSample(int Code, TAdpcmState *State) {
|
||||
static int TXboxAdpcmDecoder_DecodeSample(int Code, TAdpcmState *State) {
|
||||
int Delta,
|
||||
Result;
|
||||
|
||||
|
@ -111,7 +111,7 @@ int TXboxAdpcmDecoder_DecodeSample(int Code, TAdpcmState *State) {
|
|||
return(Result);
|
||||
}
|
||||
|
||||
int TXboxAdpcmDecoder_Decode_Memory(uint8_t *in, int inlen, uint8_t *out, const int FChannels) {
|
||||
static int TXboxAdpcmDecoder_Decode_Memory(uint8_t *in, int inlen, uint8_t *out, const int FChannels) {
|
||||
TAdpcmState FAdpcmState[2];
|
||||
int16_t Buffers[2][8];
|
||||
uint32_t CodeBuf;
|
||||
|
@ -150,7 +150,7 @@ int TXboxAdpcmDecoder_Decode_Memory(uint8_t *in, int inlen, uint8_t *out, const
|
|||
}
|
||||
return(outlen * XBOX_ADPCM_DSTSIZE * FChannels);
|
||||
}
|
||||
int TXboxAdpcmDecoder_guess_output_size(int SourceSize) {
|
||||
static int TXboxAdpcmDecoder_guess_output_size(int SourceSize) {
|
||||
return((SourceSize / XBOX_ADPCM_SRCSIZE) * XBOX_ADPCM_DSTSIZE);
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -18,7 +18,7 @@
|
|||
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
|
||||
// *
|
||||
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
|
||||
// * (c) 2017-2018 RadWolfie
|
||||
// * (c) 2017-2020 RadWolfie
|
||||
// *
|
||||
// * All rights reserved
|
||||
// *
|
||||
|
|
|
@ -0,0 +1,94 @@
|
|||
// This is an open source non-commercial project. Dear PVS-Studio, please check it.
|
||||
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
|
||||
// ******************************************************************
|
||||
// *
|
||||
// * This file is part of the Cxbx project.
|
||||
// *
|
||||
// * Cxbx and Cxbe are free software; you can redistribute them
|
||||
// * and/or modify them under the terms of the GNU General Public
|
||||
// * License as published by the Free Software Foundation; either
|
||||
// * version 2 of the license, or (at your option) any later version.
|
||||
// *
|
||||
// * This program is distributed in the hope that it will be useful,
|
||||
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// * GNU General Public License for more details.
|
||||
// *
|
||||
// * You should have recieved a copy of the GNU General Public License
|
||||
// * along with this program; see the file COPYING.
|
||||
// * If not, write to the Free Software Foundation, Inc.,
|
||||
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
|
||||
// *
|
||||
// * (c) 2019 Luke Usher
|
||||
// * (c) 2019-2020 RadWolfie
|
||||
// *
|
||||
// * All rights reserved
|
||||
// *
|
||||
// ******************************************************************
|
||||
#define LOG_PREFIX CXBXR_MODULE::DS3DCALC
|
||||
|
||||
// prevent name collisions
|
||||
namespace xboxkrnl {
|
||||
#include <xboxkrnl/xboxkrnl.h>
|
||||
};
|
||||
|
||||
#include <dsound.h>
|
||||
#include "DirectSoundGlobal.hpp" // Global variables
|
||||
|
||||
#include "Logging.h"
|
||||
#include "DirectSoundLogging.hpp"
|
||||
#include "..\XbDSoundLogging.hpp"
|
||||
|
||||
|
||||
// TODO: Tasks need to do for DirectSound HLE
|
||||
// * Ixxxxx_ patch might not be a requirement.
|
||||
// * IDirectSound3DCalculator_GetMixBinVolumes
|
||||
// * IDirectSound3DCalculator_GetPanData
|
||||
|
||||
#include "DirectSoundInline.hpp"
|
||||
|
||||
/* ------------- Sorted relative functions begin ------------------*/
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: CDirectSound3DCalculator_Calculate3D
|
||||
// ******************************************************************
|
||||
VOID WINAPI XTL::EMUPATCH(CDirectSound3DCalculator_Calculate3D)
|
||||
(
|
||||
DWORD a1,
|
||||
DWORD a2
|
||||
)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(a1)
|
||||
LOG_FUNC_ARG(a2)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: CDirectSound3DCalculator_GetVoiceData
|
||||
// ******************************************************************
|
||||
VOID WINAPI XTL::EMUPATCH(CDirectSound3DCalculator_GetVoiceData)
|
||||
(
|
||||
DWORD a1,
|
||||
DWORD a2,
|
||||
DWORD a3,
|
||||
DWORD a4,
|
||||
DWORD a5
|
||||
)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(a1)
|
||||
LOG_FUNC_ARG(a2)
|
||||
LOG_FUNC_ARG(a3)
|
||||
LOG_FUNC_ARG(a4)
|
||||
LOG_FUNC_ARG(a5)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,55 @@
|
|||
// This is an open source non-commercial project. Dear PVS-Studio, please check it.
|
||||
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
|
||||
// ******************************************************************
|
||||
// *
|
||||
// * This file is part of the Cxbx project.
|
||||
// *
|
||||
// * Cxbx and Cxbe are free software; you can redistribute them
|
||||
// * and/or modify them under the terms of the GNU General Public
|
||||
// * License as published by the Free Software Foundation; either
|
||||
// * version 2 of the license, or (at your option) any later version.
|
||||
// *
|
||||
// * This program is distributed in the hope that it will be useful,
|
||||
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// * GNU General Public License for more details.
|
||||
// *
|
||||
// * You should have recieved a copy of the GNU General Public License
|
||||
// * along with this program; see the file COPYING.
|
||||
// * If not, write to the Free Software Foundation, Inc.,
|
||||
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
|
||||
// *
|
||||
// * (c) 2017-2020 RadWolfie
|
||||
// *
|
||||
// * All rights reserved
|
||||
// *
|
||||
// ******************************************************************
|
||||
|
||||
// prevent name collisions
|
||||
namespace xboxkrnl {
|
||||
#include <xboxkrnl/xboxkrnl.h>
|
||||
};
|
||||
|
||||
#include <dsound.h>
|
||||
#include "DirectSoundGlobal.hpp"
|
||||
|
||||
Settings::s_audio g_XBAudio = { 0 };
|
||||
std::recursive_mutex g_DSoundMutex;
|
||||
|
||||
//Currently disabled since below may not be needed since under -6,400 is just silence yet accepting up to -10,000
|
||||
// Xbox to PC volume ratio format (-10,000 / -6,400 )
|
||||
//#define XBOX_TO_PC_VOLUME_RATIO 1.5625
|
||||
|
||||
vector_ds_buffer g_pDSoundBufferCache;
|
||||
vector_ds_stream g_pDSoundStreamCache;
|
||||
LPDIRECTSOUND8 g_pDSound8 = nullptr; //This is necessary in order to allow share with EmuDSoundInline.hpp
|
||||
LPDIRECTSOUNDBUFFER g_pDSoundPrimaryBuffer = nullptr;
|
||||
//TODO: RadWolfie - How to implement support if primary does not permit it for DSP usage?
|
||||
LPDIRECTSOUNDBUFFER8 g_pDSoundPrimaryBuffer8 = nullptr;
|
||||
LPDIRECTSOUND3DLISTENER8 g_pDSoundPrimary3DListener8 = nullptr;
|
||||
int g_bDSoundCreateCalled = FALSE;
|
||||
unsigned int g_iDSoundSynchPlaybackCounter = 0;
|
||||
// Managed memory xbox audio variables
|
||||
DWORD g_dwXbMemAllocated = 0;
|
||||
DWORD g_dwFree2DBuffers = 0;
|
||||
DWORD g_dwFree3DBuffers = 0;
|
|
@ -0,0 +1,75 @@
|
|||
// ******************************************************************
|
||||
// *
|
||||
// * This file is part of the Cxbx project.
|
||||
// *
|
||||
// * Cxbx and Cxbe are free software; you can redistribute them
|
||||
// * and/or modify them under the terms of the GNU General Public
|
||||
// * License as published by the Free Software Foundation; either
|
||||
// * version 2 of the license, or (at your option) any later version.
|
||||
// *
|
||||
// * This program is distributed in the hope that it will be useful,
|
||||
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// * GNU General Public License for more details.
|
||||
// *
|
||||
// * You should have recieved a copy of the GNU General Public License
|
||||
// * along with this program; see the file COPYING.
|
||||
// * If not, write to the Free Software Foundation, Inc.,
|
||||
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
|
||||
// *
|
||||
// * (c) 2017-2020 RadWolfie
|
||||
// *
|
||||
// * All rights reserved
|
||||
// *
|
||||
// ******************************************************************
|
||||
#pragma once
|
||||
|
||||
#include <dsound.h>
|
||||
|
||||
#include <thread>
|
||||
#include "core/kernel/support/Emu.h"
|
||||
#include "common/win32/EmuShared.h"
|
||||
#include "core/hle/D3D8/Direct3D9/Direct3D9.h" // For D3D_OK
|
||||
#include "core/hle/DSOUND/DirectSound/DirectSound.hpp"
|
||||
#include "common/Settings.hpp"
|
||||
|
||||
extern Settings::s_audio g_XBAudio;
|
||||
extern std::recursive_mutex g_DSoundMutex;
|
||||
#define DSoundMutexGuardLock std::lock_guard<std::recursive_mutex> guard(g_DSoundMutex)
|
||||
|
||||
//Currently disabled since below may not be needed since under -6,400 is just silence yet accepting up to -10,000
|
||||
// Xbox to PC volume ratio format (-10,000 / -6,400 )
|
||||
//#define XBOX_TO_PC_VOLUME_RATIO 1.5625
|
||||
|
||||
// Xbox maximum synch playback audio
|
||||
#define DSOUND_MAX_SYNCHPLAYBACK_AUDIO 29
|
||||
|
||||
#define vector_ds_buffer std::vector<XTL::X_CDirectSoundBuffer*>
|
||||
#define vector_ds_stream std::vector<XTL::X_CDirectSoundStream*>
|
||||
extern vector_ds_buffer g_pDSoundBufferCache;
|
||||
extern vector_ds_stream g_pDSoundStreamCache;
|
||||
extern LPDIRECTSOUND8 g_pDSound8; //This is necessary in order to allow share with EmuDSoundInline.hpp
|
||||
extern LPDIRECTSOUNDBUFFER g_pDSoundPrimaryBuffer;
|
||||
//TODO: RadWolfie - How to implement support if primary does not permit it for DSP usage?
|
||||
extern LPDIRECTSOUNDBUFFER8 g_pDSoundPrimaryBuffer8;
|
||||
extern LPDIRECTSOUND3DLISTENER8 g_pDSoundPrimary3DListener8;
|
||||
extern int g_bDSoundCreateCalled;
|
||||
extern unsigned int g_iDSoundSynchPlaybackCounter;
|
||||
// Managed memory xbox audio variables
|
||||
extern DWORD g_dwXbMemAllocated;
|
||||
extern DWORD g_dwFree2DBuffers;
|
||||
extern DWORD g_dwFree3DBuffers;
|
||||
|
||||
// size of DirectSound cache max size
|
||||
#define X_DIRECTSOUND_CACHE_MAX 0x800
|
||||
|
||||
#define X_DIRECTSOUND_CACHE_COUNT (g_pDSoundBufferCache.size() + g_pDSoundStreamCache.size())
|
||||
|
||||
#define RETURN_RESULT_CHECK(hRet) { \
|
||||
static bool bPopupShown = false; if (!bPopupShown && hRet) { bPopupShown = true; \
|
||||
printf("Return result report: 0x%08X\nIn %s (%s)\n", hRet, __func__, __FILE__); \
|
||||
EmuLog(LOG_LEVEL::WARNING, "An issue has been found. Please report game title and console's output of return result," \
|
||||
" function, and file name to https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/issues/485"); } return hRet; }
|
||||
|
||||
extern void DirectSoundDoWork_Buffer(xboxkrnl::LARGE_INTEGER& time);
|
||||
extern void DirectSoundDoWork_Stream(xboxkrnl::LARGE_INTEGER& time);
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,435 @@
|
|||
// This is an open source non-commercial project. Dear PVS-Studio, please check it.
|
||||
// PVS-Studio Static Code Analyzer for C, C++ and C#: http://www.viva64.com
|
||||
// ******************************************************************
|
||||
// *
|
||||
// * This file is part of the Cxbx project.
|
||||
// *
|
||||
// * Cxbx and Cxbe are free software; you can redistribute them
|
||||
// * and/or modify them under the terms of the GNU General Public
|
||||
// * License as published by the Free Software Foundation; either
|
||||
// * version 2 of the license, or (at your option) any later version.
|
||||
// *
|
||||
// * This program is distributed in the hope that it will be useful,
|
||||
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// * GNU General Public License for more details.
|
||||
// *
|
||||
// * You should have recieved a copy of the GNU General Public License
|
||||
// * along with this program; see the file COPYING.
|
||||
// * If not, write to the Free Software Foundation, Inc.,
|
||||
// * 59 Temple Place - Suite 330, Bostom, MA 02111-1307, USA.
|
||||
// *
|
||||
// * (c) 2002-2003 Aaron Robinson <caustik@caustik.com>
|
||||
// * (c) 2020 RadWolfie
|
||||
// *
|
||||
// * All rights reserved
|
||||
// *
|
||||
// ******************************************************************
|
||||
#define LOG_PREFIX CXBXR_MODULE::XMO
|
||||
|
||||
// prevent name collisions
|
||||
namespace xboxkrnl {
|
||||
#include <xboxkrnl/xboxkrnl.h>
|
||||
};
|
||||
|
||||
#include <dsound.h>
|
||||
#include "DirectSoundGlobal.hpp" // Global variables
|
||||
|
||||
#include "Logging.h"
|
||||
#include "DirectSoundLogging.hpp"
|
||||
#include "..\XbDSoundLogging.hpp"
|
||||
|
||||
#include "DirectSoundInline.hpp"
|
||||
|
||||
// TODO: Tasks need to do for DirectSound HLE
|
||||
// * Need create patches
|
||||
// * Ac97CreateMediaObject (Need OOVPA)
|
||||
// - WmaCreateDecoder (Need OOVPA, not require) Test case: WMAStream sample
|
||||
// - WmaCreateDecoderEx (Is just a forward to WmaCreateDecoder, nothing else)
|
||||
// - WmaCreateInMemoryDecoder (Need OOVPA, not require) Test case: WMAInMemory sample
|
||||
// - WmaCreateInMemoryDecoderEx (Is just a forward to WmaCreateInMemoryDecoder, nothing else)
|
||||
// * XWmaDecoderCreateMediaObject (Need OOVPA)
|
||||
|
||||
XTL::X_XFileMediaObject::_vtbl XTL::X_XFileMediaObject::vtbl =
|
||||
{
|
||||
&XTL::EMUPATCH(XFileMediaObject_AddRef), // 0x00
|
||||
&XTL::EMUPATCH(XFileMediaObject_Release), // 0x04
|
||||
&XTL::EMUPATCH(XFileMediaObject_GetInfo), // 0x08
|
||||
&XTL::EMUPATCH(XFileMediaObject_GetStatus), // 0x0C
|
||||
&XTL::EMUPATCH(XFileMediaObject_Process), // 0x10
|
||||
&XTL::EMUPATCH(XFileMediaObject_Discontinuity), // 0x14
|
||||
0xBEEFD007, // 0x18
|
||||
&XTL::EMUPATCH(XFileMediaObject_Seek), // 0x1C
|
||||
0xBEEFD009, // 0x20
|
||||
&XTL::EMUPATCH(XFileMediaObject_DoWork), // 0x24
|
||||
};
|
||||
|
||||
/* NOTE: SUCCEEDED define is only checking for is equal or greater than zero value.
|
||||
And FAILED check for less than zero value. Since DS_OK is only 0 base on DirectSound documentation,
|
||||
there is chance of failure which contain value greater than 0.
|
||||
*/
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XAudioCreateAdpcmFormat
|
||||
// ******************************************************************
|
||||
VOID WINAPI XTL::EMUPATCH(XAudioCreateAdpcmFormat)
|
||||
(
|
||||
WORD nChannels,
|
||||
DWORD nSamplesPerSec,
|
||||
LPXBOXADPCMWAVEFORMAT pwfx)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(nChannels)
|
||||
LOG_FUNC_ARG(nSamplesPerSec)
|
||||
LOG_FUNC_ARG(pwfx)
|
||||
LOG_FUNC_END;
|
||||
|
||||
// Fill out the pwfx structure with the appropriate data
|
||||
pwfx->wfx.wFormatTag = WAVE_FORMAT_XBOX_ADPCM;
|
||||
pwfx->wfx.nChannels = nChannels;
|
||||
pwfx->wfx.nSamplesPerSec = nSamplesPerSec;
|
||||
pwfx->wfx.nAvgBytesPerSec = (nSamplesPerSec*nChannels * 36) / 64;
|
||||
pwfx->wfx.nBlockAlign = nChannels * 36;
|
||||
pwfx->wfx.wBitsPerSample = 4;
|
||||
pwfx->wfx.cbSize = 2;
|
||||
pwfx->wSamplesPerBlock = 64;
|
||||
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XAudioDownloadEffectsImage
|
||||
// ******************************************************************
|
||||
HRESULT WINAPI XTL::EMUPATCH(XAudioDownloadEffectsImage)
|
||||
(
|
||||
LPCSTR pszImageName,
|
||||
LPVOID pImageLoc,
|
||||
DWORD dwFlags,
|
||||
LPVOID* ppImageDesc)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(pszImageName)
|
||||
LOG_FUNC_ARG(pImageLoc)
|
||||
LOG_FUNC_ARG(dwFlags)
|
||||
LOG_FUNC_ARG(ppImageDesc)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_NOT_SUPPORTED();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XAudioSetEffectData
|
||||
// ******************************************************************
|
||||
HRESULT WINAPI XTL::EMUPATCH(XAudioSetEffectData)
|
||||
(
|
||||
DWORD dwEffectIndex,
|
||||
void* pDesc,
|
||||
void* pRawDesc)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(dwEffectIndex)
|
||||
LOG_FUNC_ARG(pDesc)
|
||||
LOG_FUNC_ARG(pRawDesc)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_NOT_SUPPORTED();
|
||||
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XFileCreaeMediaObject
|
||||
// ******************************************************************
|
||||
HRESULT WINAPI XTL::EMUPATCH(XFileCreateMediaObject)
|
||||
(
|
||||
LPCSTR pstrFileName,
|
||||
DWORD dwDesiredAccess,
|
||||
DWORD dwShareMode,
|
||||
DWORD dwCreationDisposition,
|
||||
DWORD dwFlagsAndAttributes,
|
||||
OUT void** ppMediaObject)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(pstrFileName)
|
||||
LOG_FUNC_ARG(dwDesiredAccess)
|
||||
LOG_FUNC_ARG(dwShareMode)
|
||||
LOG_FUNC_ARG(dwCreationDisposition)
|
||||
LOG_FUNC_ARG(dwFlagsAndAttributes)
|
||||
LOG_FUNC_ARG_OUT(ppMediaObject)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XFileCreateMediaObjectAsync
|
||||
// ******************************************************************
|
||||
// NOTE: Does not require a patch.
|
||||
HRESULT WINAPI XTL::EMUPATCH(XFileCreateMediaObjectAsync)
|
||||
(
|
||||
HANDLE hFile,
|
||||
DWORD dwMaxPackets,
|
||||
OUT void** ppMediaObject)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(hFile)
|
||||
LOG_FUNC_ARG(dwMaxPackets)
|
||||
LOG_FUNC_ARG_OUT(ppMediaObject)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
*ppMediaObject = new X_XFileMediaObject();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XFileCreaeMediaObjectEx
|
||||
// ******************************************************************
|
||||
HRESULT WINAPI XTL::EMUPATCH(XFileCreateMediaObjectEx)
|
||||
(
|
||||
HANDLE hFile,
|
||||
OUT void** ppMediaObject)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(hFile)
|
||||
LOG_FUNC_ARG_OUT(ppMediaObject)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XWaveFileCreateMediaObject
|
||||
// ******************************************************************
|
||||
// NOTE: Does not require any patch.
|
||||
HRESULT WINAPI XTL::EMUPATCH(XWaveFileCreateMediaObject)
|
||||
(
|
||||
LPCSTR pszFileName,
|
||||
LPCWAVEFORMATEX* ppwfxFormat,
|
||||
OUT void** ppMediaObject) //XFileMediaObject, include XMediaObject interface
|
||||
{
|
||||
//
|
||||
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(pszFileName)
|
||||
LOG_FUNC_ARG(ppwfxFormat)
|
||||
LOG_FUNC_ARG_OUT(ppMediaObject)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XWaveFileCreateMediaObjectEx
|
||||
// ******************************************************************
|
||||
// NOTE: Does not require a patch.
|
||||
HRESULT WINAPI XTL::EMUPATCH(XWaveFileCreateMediaObjectEx)
|
||||
(
|
||||
LPCSTR pszFileName,
|
||||
HANDLE hFile,
|
||||
OUT void** ppMediaObject) //XWaveFileMediaObject, include XFileMediaObject and XMediaObject interfaces
|
||||
{
|
||||
//
|
||||
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(pszFileName)
|
||||
LOG_FUNC_ARG(hFile)
|
||||
LOG_FUNC_ARG_OUT(ppMediaObject)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XFileMediaObject_Seek
|
||||
// ******************************************************************
|
||||
// NOTE: Does not require a patch.
|
||||
HRESULT WINAPI XTL::EMUPATCH(XFileMediaObject_Seek)
|
||||
(
|
||||
X_XFileMediaObject* pThis,
|
||||
LONG lOffset,
|
||||
DWORD dwOrigin,
|
||||
LPDWORD pdwAbsolute)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(pThis)
|
||||
LOG_FUNC_ARG(lOffset)
|
||||
LOG_FUNC_ARG(dwOrigin)
|
||||
LOG_FUNC_ARG(pdwAbsolute)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XFileMediaObject_DoWork
|
||||
// ******************************************************************
|
||||
// NOTE: Does not require a patch.
|
||||
VOID WINAPI XTL::EMUPATCH(XFileMediaObject_DoWork)(X_XFileMediaObject* pThis)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_ONE_ARG(pThis);
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XFileMediaObject_GetStatus
|
||||
// ******************************************************************
|
||||
// NOTE: Does not require a patch.
|
||||
HRESULT WINAPI XTL::EMUPATCH(XFileMediaObject_GetStatus)
|
||||
(
|
||||
X_XFileMediaObject* pThis,
|
||||
OUT LPDWORD pdwStatus)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(pThis)
|
||||
LOG_FUNC_ARG_OUT(pdwStatus)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
return DS_OK;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XFileMediaObject_GetInfo
|
||||
// ******************************************************************
|
||||
// NOTE: Does not require a patch.
|
||||
HRESULT WINAPI XTL::EMUPATCH(XFileMediaObject_GetInfo)
|
||||
(
|
||||
X_XFileMediaObject* pThis,
|
||||
OUT XMEDIAINFO* pInfo)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(pThis)
|
||||
LOG_FUNC_ARG_OUT(pInfo)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
return DS_OK;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XFileMediaObject_Process
|
||||
// ******************************************************************
|
||||
// NOTE: Does not require a patch.
|
||||
HRESULT WINAPI XTL::EMUPATCH(XFileMediaObject_Process)
|
||||
(
|
||||
X_XFileMediaObject* pThis,
|
||||
LPXMEDIAPACKET pInputBuffer,
|
||||
LPXMEDIAPACKET pOutputBuffer)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_BEGIN
|
||||
LOG_FUNC_ARG(pThis)
|
||||
LOG_FUNC_ARG(pInputBuffer)
|
||||
LOG_FUNC_ARG(pOutputBuffer)
|
||||
LOG_FUNC_END;
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
return DS_OK;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XFileMediaObject_AddRef
|
||||
// ******************************************************************
|
||||
// NOTE: Does not require a patch.
|
||||
ULONG WINAPI XTL::EMUPATCH(XFileMediaObject_AddRef)
|
||||
(
|
||||
X_XFileMediaObject* pThis)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_ONE_ARG(pThis);
|
||||
|
||||
ULONG Ret = 0;
|
||||
|
||||
if (pThis) { // TODO : this should be an assert()
|
||||
Ret = ++(pThis->EmuRefCount);
|
||||
}
|
||||
|
||||
return Ret;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XFileMediaObject_Release
|
||||
// ******************************************************************
|
||||
// NOTE: Does not require a patch.
|
||||
ULONG WINAPI XTL::EMUPATCH(XFileMediaObject_Release)
|
||||
(
|
||||
X_XFileMediaObject* pThis)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_ONE_ARG(pThis);
|
||||
|
||||
ULONG Ret = 0;
|
||||
|
||||
if (pThis) { // TODO : this should be an assert()
|
||||
Ret = --(pThis->EmuRefCount);
|
||||
if (Ret == 0) {
|
||||
delete pThis;
|
||||
}
|
||||
}
|
||||
|
||||
return Ret;
|
||||
}
|
||||
|
||||
// ******************************************************************
|
||||
// * patch: XFileMediaObject_Discontinuity
|
||||
// ******************************************************************
|
||||
// NOTE: Does not require a patch.
|
||||
HRESULT WINAPI XTL::EMUPATCH(XFileMediaObject_Discontinuity)
|
||||
(
|
||||
X_XFileMediaObject *pThis)
|
||||
{
|
||||
DSoundMutexGuardLock;
|
||||
|
||||
LOG_FUNC_ONE_ARG(pThis);
|
||||
|
||||
LOG_UNIMPLEMENTED();
|
||||
|
||||
return DS_OK;
|
||||
}
|
||||
|
|
@ -34,6 +34,11 @@ namespace XTL {
|
|||
// Such as uint32_t, uint16_t, etc.
|
||||
|
||||
#define WAVE_FORMAT_XBOX_ADPCM 0x0069
|
||||
|
||||
// Xbox SGE Memory layout
|
||||
#define XTL_DS_SGE_COUNT_MAX 2047
|
||||
#define XTL_DS_SGE_PAGE_MAX (4 * ONE_KB)
|
||||
#define XTL_DS_SGE_SIZE_MAX (XTL_DS_SGE_COUNT_MAX * XTL_DS_SGE_PAGE_MAX)
|
||||
|
||||
// XDSMIXBIN Flags
|
||||
#define XDSMIXBIN_FRONT_LEFT 0
|
||||
|
|
|
@ -74,6 +74,10 @@ static int g_DlgIndexes[] = {
|
|||
IDC_LOG_XIDCTRL,
|
||||
IDC_LOG_ADM,
|
||||
IDC_LOG_INPSYS,
|
||||
IDC_LOG_DSBUFFER,
|
||||
IDC_LOG_DSSTREAM,
|
||||
IDC_LOG_DS3DCALC,
|
||||
IDC_LOG_XMO,
|
||||
// Kernel
|
||||
IDC_LOG_KRNL,
|
||||
IDC_LOG_LOG,
|
||||
|
@ -324,63 +328,67 @@ INT_PTR CALLBACK DlgLogConfigProc(HWND hWndDlg, UINT uMsg, WPARAM wParam, LPARAM
|
|||
}
|
||||
break;
|
||||
|
||||
case IDC_LOG_CXBXR:
|
||||
case IDC_LOG_CXBXR:
|
||||
case IDC_LOG_XBE:
|
||||
case IDC_LOG_INIT:
|
||||
case IDC_LOG_VMEM:
|
||||
case IDC_LOG_PMEM:
|
||||
case IDC_LOG_GUI:
|
||||
case IDC_LOG_EEPR:
|
||||
case IDC_LOG_RSA:
|
||||
case IDC_LOG_POOLMEM:
|
||||
case IDC_LOG_D3D8:
|
||||
case IDC_LOG_D3DST:
|
||||
case IDC_LOG_D3DCVT:
|
||||
case IDC_LOG_DSOUND:
|
||||
case IDC_LOG_XAPI:
|
||||
case IDC_LOG_XACT:
|
||||
case IDC_LOG_XGRP:
|
||||
case IDC_LOG_XONLINE:
|
||||
case IDC_LOG_FS:
|
||||
case IDC_LOG_PSHB:
|
||||
case IDC_LOG_PXSH:
|
||||
case IDC_LOG_VTXSH:
|
||||
case IDC_LOG_VTXB:
|
||||
case IDC_LOG_DINP:
|
||||
case IDC_LOG_INIT:
|
||||
case IDC_LOG_VMEM:
|
||||
case IDC_LOG_PMEM:
|
||||
case IDC_LOG_GUI:
|
||||
case IDC_LOG_EEPR:
|
||||
case IDC_LOG_RSA:
|
||||
case IDC_LOG_POOLMEM:
|
||||
case IDC_LOG_D3D8:
|
||||
case IDC_LOG_D3DST:
|
||||
case IDC_LOG_D3DCVT:
|
||||
case IDC_LOG_DSOUND:
|
||||
case IDC_LOG_DSBUFFER:
|
||||
case IDC_LOG_DSSTREAM:
|
||||
case IDC_LOG_DS3DCALC:
|
||||
case IDC_LOG_XMO:
|
||||
case IDC_LOG_XAPI:
|
||||
case IDC_LOG_XACT:
|
||||
case IDC_LOG_XGRP:
|
||||
case IDC_LOG_XONLINE:
|
||||
case IDC_LOG_FS:
|
||||
case IDC_LOG_PSHB:
|
||||
case IDC_LOG_PXSH:
|
||||
case IDC_LOG_VTXSH:
|
||||
case IDC_LOG_VTXB:
|
||||
case IDC_LOG_DINP:
|
||||
case IDC_LOG_XINP:
|
||||
case IDC_LOG_SDL:
|
||||
case IDC_LOG_FILE:
|
||||
case IDC_LOG_X86:
|
||||
case IDC_LOG_HLE:
|
||||
case IDC_LOG_NET:
|
||||
case IDC_LOG_MCPX:
|
||||
case IDC_LOG_NV2A:
|
||||
case IDC_LOG_SMC:
|
||||
case IDC_LOG_OHCI:
|
||||
case IDC_LOG_USB:
|
||||
case IDC_LOG_HUB:
|
||||
case IDC_LOG_XIDCTRL:
|
||||
case IDC_LOG_FILE:
|
||||
case IDC_LOG_X86:
|
||||
case IDC_LOG_HLE:
|
||||
case IDC_LOG_NET:
|
||||
case IDC_LOG_MCPX:
|
||||
case IDC_LOG_NV2A:
|
||||
case IDC_LOG_SMC:
|
||||
case IDC_LOG_OHCI:
|
||||
case IDC_LOG_USB:
|
||||
case IDC_LOG_HUB:
|
||||
case IDC_LOG_XIDCTRL:
|
||||
case IDC_LOG_ADM:
|
||||
case IDC_LOG_INPSYS:
|
||||
case IDC_LOG_KRNL:
|
||||
case IDC_LOG_LOG:
|
||||
case IDC_LOG_XBOX:
|
||||
case IDC_LOG_XBDM:
|
||||
case IDC_LOG_AV:
|
||||
case IDC_LOG_DBG:
|
||||
case IDC_LOG_EX:
|
||||
case IDC_LOG_FSC:
|
||||
case IDC_LOG_HAL:
|
||||
case IDC_LOG_IO:
|
||||
case IDC_LOG_KD:
|
||||
case IDC_LOG_KE:
|
||||
case IDC_LOG_KI:
|
||||
case IDC_LOG_MM:
|
||||
case IDC_LOG_NT:
|
||||
case IDC_LOG_OB:
|
||||
case IDC_LOG_PS:
|
||||
case IDC_LOG_RTL:
|
||||
case IDC_LOG_XC:
|
||||
case IDC_LOG_KRNL:
|
||||
case IDC_LOG_LOG:
|
||||
case IDC_LOG_XBOX:
|
||||
case IDC_LOG_XBDM:
|
||||
case IDC_LOG_AV:
|
||||
case IDC_LOG_DBG:
|
||||
case IDC_LOG_EX:
|
||||
case IDC_LOG_FSC:
|
||||
case IDC_LOG_HAL:
|
||||
case IDC_LOG_IO:
|
||||
case IDC_LOG_KD:
|
||||
case IDC_LOG_KE:
|
||||
case IDC_LOG_KI:
|
||||
case IDC_LOG_MM:
|
||||
case IDC_LOG_NT:
|
||||
case IDC_LOG_OB:
|
||||
case IDC_LOG_PS:
|
||||
case IDC_LOG_RTL:
|
||||
case IDC_LOG_XC:
|
||||
case IDC_LOG_XE:
|
||||
if (HIWORD(wParam) == BN_CLICKED) {
|
||||
g_bHasChanges = true;
|
||||
|
|
|
@ -87,6 +87,10 @@
|
|||
#define IDC_LOG_XC 955
|
||||
#define IDC_LOG_XE 956
|
||||
#define IDC_LOG_INPSYS 957
|
||||
#define IDC_LOG_DSBUFFER 958
|
||||
#define IDC_LOG_DSSTREAM 959
|
||||
#define IDC_LOG_DS3DCALC 960
|
||||
#define IDC_LOG_XMO 961
|
||||
#define IDC_SET_MOTOR 999
|
||||
#define IDC_SET_X 1000
|
||||
#define IDC_SET_Y 1001
|
||||
|
|
Loading…
Reference in New Issue