Merge pull request #1814 from RadWolfie/organize-directsound-plugin

Organize DirectSound Plugin (Part 1)
This commit is contained in:
Luke Usher 2020-01-10 17:34:07 +00:00 committed by GitHub
commit 195795bd23
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 4637 additions and 4310 deletions

View File

@ -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"

View File

@ -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

View File

@ -75,6 +75,10 @@ const char* g_EnumModules2String[to_underlying(CXBXR_MODULE::MAX)] = {
"XIDCTRL ",
"ADM ",
"INPSYS ",
"DSBUFFER",
"DSSTREAM",
"DS3DCALC",
"XMO ",
"KRNL ",
"LOG ",
"XBOX ",

View File

@ -83,6 +83,10 @@ typedef enum class _CXBXR_MODULE: unsigned int {
XIDCTRL,
ADM,
INPSYS,
DSBUFFER,
DSSTREAM,
DS3DCALC,
XMO,
// kernel
KRNL,
LOG,

View File

@ -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

View File

@ -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
// *

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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;
}

View File

@ -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

View File

@ -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;

View File

@ -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