diff --git a/src/CxbxKrnl/EmuXInput.cpp b/src/CxbxKrnl/EmuXInput.cpp new file mode 100644 index 000000000..097cb1e9a --- /dev/null +++ b/src/CxbxKrnl/EmuXInput.cpp @@ -0,0 +1,102 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->EmuDInput.cpp +// * +// * 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 +// * +// * All rights reserved +// * +// ****************************************************************** +#define _CXBXKRNL_INTERNAL +#define _XBOXKRNL_DEFEXTRN_ + +#include "Emu.h" +#include "EmuXTL.h" +#include "EmuShared.h" +#include "EmuXInput.h" + +// +// Prevent naming collisions +// +#undef XINPUT_GAMEPAD_DPAD_UP +#undef XINPUT_GAMEPAD_DPAD_DOWN +#undef XINPUT_GAMEPAD_DPAD_LEFT +#undef XINPUT_GAMEPAD_DPAD_RIGHT +#undef XINPUT_GAMEPAD_START +#undef XINPUT_GAMEPAD_BACK +#undef XINPUT_GAMEPAD_LEFT_THUMB +#undef XINPUT_GAMEPAD_RIGHT_THUMB +#undef XINPUT_GAMEPAD_LEFT_SHOULDER +#undef XINPUT_GAMEPAD_RIGHT_SHOULDER +#undef XINPUT_GAMEPAD_A +#undef XINPUT_GAMEPAD_B +#undef XINPUT_GAMEPAD_X +#undef XINPUT_GAMEPAD_Y + +#include + + +// ****************************************************************** +// * Static Variable(s) +// ****************************************************************** +static XINPUT_STATE g_Controller; +static XINPUT_VIBRATION g_Vibration; +static BOOL g_bXInputInitialized = FALSE; + + +// ****************************************************************** +// * func: EmuXInputPoll +// ****************************************************************** +void XTL::EmuXInputPCPoll( XTL::PXINPUT_STATE Controller ) +{ + // + // Get the PC's XInput values + // + + if( XInputGetState( 0, &g_Controller ) != ERROR_SUCCESS ) + return; + + // + // Now convert those values to Xbox XInput + // + + Controller->Gamepad.sThumbLX = g_Controller.Gamepad.sThumbLX; + Controller->Gamepad.sThumbLY = g_Controller.Gamepad.sThumbLY; + Controller->Gamepad.sThumbRX = g_Controller.Gamepad.sThumbRX; + Controller->Gamepad.sThumbRY = g_Controller.Gamepad.sThumbRY; + + Controller->Gamepad.wButtons = g_Controller.Gamepad.wButtons & 0x00FF; + + Controller->Gamepad.bAnalogButtons[0] = (g_Controller.Gamepad.wButtons & 0x1000) ? 1 : 0; + Controller->Gamepad.bAnalogButtons[1] = (g_Controller.Gamepad.wButtons & 0x2000) ? 1 : 0; + Controller->Gamepad.bAnalogButtons[2] = (g_Controller.Gamepad.wButtons & 0x4000) ? 1 : 0; + Controller->Gamepad.bAnalogButtons[3] = (g_Controller.Gamepad.wButtons & 0x8000) ? 1 : 0; + Controller->Gamepad.bAnalogButtons[4] = (g_Controller.Gamepad.wButtons & 0x0100) ? 1 : 0; + Controller->Gamepad.bAnalogButtons[5] = (g_Controller.Gamepad.wButtons & 0x0200) ? 1 : 0; + Controller->Gamepad.bAnalogButtons[6] = g_Controller.Gamepad.bLeftTrigger; + Controller->Gamepad.bAnalogButtons[7] = g_Controller.Gamepad.bRightTrigger; +} \ No newline at end of file diff --git a/src/CxbxKrnl/EmuXInput.h b/src/CxbxKrnl/EmuXInput.h new file mode 100644 index 000000000..8a69339fb --- /dev/null +++ b/src/CxbxKrnl/EmuXInput.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->EmuXInput.h +// * +// * 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 +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef EMUXINPUT_H +#define EMUXINPUT_H + +// ****************************************************************** +// * func: EmuXInputPoll +// ****************************************************************** +void EmuXInputPCPoll( XTL::PXINPUT_STATE Controller ); + +#endif \ No newline at end of file diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.h b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.h new file mode 100644 index 000000000..e057d68a0 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.4134.h +// * +// * 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 +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef DSOUND_1_0_4134_H +#define DSOUND_1_0_4134_H + +#include "OOVPA.h" + +extern OOVPATable DSOUND_1_0_4134[]; +extern uint32 DSOUND_1_0_4134_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl new file mode 100644 index 000000000..925ae257c --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/DSound.1.0.4134.inl @@ -0,0 +1,706 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->DSound.1.0.4134.cpp +// * +// * 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 +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * DirectSoundCreate +// ****************************************************************** +SOOVPA<9> DirectSoundCreate_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + -1, // XRef Not Saved + 0, // XRef Not Used + + { + // DirectSoundCreate+0x0B : movzx esi, al + { 0x0B, 0x0F }, // (Offset,Value)-Pair #1 + { 0x0C, 0xB6 }, // (Offset,Value)-Pair #2 + { 0x0D, 0xF0 }, // (Offset,Value)-Pair #3 + + // DirectSoundCreate+0x12 : call [addr] + { 0x12, 0xE8 }, // (Offset,Value)-Pair #4 + + // DirectSoundCreate+0x1B : jl +0x13 + { 0x1B, 0x7C }, // (Offset,Value)-Pair #5 + { 0x1C, 0x13 }, // (Offset,Value)-Pair #6 + + // DirectSoundCreate+0x27 : sbb ecx, ecx + { 0x27, 0x1B }, // (Offset,Value)-Pair #7 + { 0x28, 0xC9 }, // (Offset,Value)-Pair #8 + + // DirectSoundCreate+0x43 : leave + { 0x43, 0xC9 }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * IDirectSound8_CreateSoundBuffer +// ****************************************************************** +SOOVPA<9> IDirectSound8_CreateSoundBuffer_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + -1, // XRef Not Saved + 0, // XRef Not Used + + { + // IDirectSound8_CreateSoundBuffer+0x2A : push 0x24 + { 0x2A, 0x6A }, // (Offset,Value)-Pair #1 + { 0x2B, 0x24 }, // (Offset,Value)-Pair #2 + + // IDirectSound8_CreateSoundBuffer+0x3C : call [addr] + { 0x3C, 0xE8 }, // (Offset,Value)-Pair #3 + + // IDirectSound8_CreateSoundBuffer+0x4A : and esi, 0x7FF8FFF2 + { 0x4A, 0x81 }, // (Offset,Value)-Pair #4 + { 0x4B, 0xE6 }, // (Offset,Value)-Pair #5 + { 0x4C, 0xF2 }, // (Offset,Value)-Pair #6 + { 0x4D, 0xFF }, // (Offset,Value)-Pair #7 + { 0x4E, 0xF8 }, // (Offset,Value)-Pair #8 + { 0x4F, 0x7F }, // (Offset,Value)-Pair #9 + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetHeadroom +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundVoice_SetHeadroom, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x03, 0x04 }, + { 0x08, 0x48 }, + { 0x0D, 0x24 }, + { 0x12, 0x48 }, + { 0x17, 0x8B }, + { 0x1F, 0x5E }, + { 0x21, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetHeadroom +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetHeadroom, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetHeadroom }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetHeadroom +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetHeadroom_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + -1, // Xref Not Saved + 1, // Xref Is Used + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetHeadroom }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_Lock +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_Lock_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + -1, // Xref Not Saved + 0, // Xref Not Used + + { + { 0x04, 0x75 }, + { 0x0A, 0x75 }, + { 0x10, 0x1C }, + { 0x16, 0x18 }, + { 0x1C, 0x1B }, + { 0x22, 0xC8 }, + { 0x2C, 0x5D }, + { 0x2E, 0x20 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetVolume +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoice_SetVolume_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DirectSound_CDirectSoundVoice_SetVolume, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x02, 0x24 }, + { 0x06, 0x10 }, + { 0x0A, 0x08 }, + { 0x0E, 0x89 }, + { 0x12, 0x49 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetVolume +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetVolume_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSoundBuffer_SetVolume, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x32, XREF_DirectSound_CDirectSoundVoice_SetVolume }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetVolume +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetVolume_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + -1, // Xref Not Saved + 1, // Xref Is Used + + { + { 0x15, XREF_DirectSound_CDirectSoundBuffer_SetVolume }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::SetI3DL2Listener +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSound_SetI3DL2Listener_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETI3DL2LISTENER, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x1E, 0x15 }, + { 0x3E, 0x88 }, + { 0x5E, 0x5A }, + { 0x7E, 0x89 }, + { 0x9E, 0x20 }, + { 0xBE, 0x00 }, + { 0xDE, 0x75 }, + } +}; + +// ****************************************************************** +// * IDirectSound_SetI3DL2Listener +// ****************************************************************** +SOOVPA<9> IDirectSound_SetI3DL2Listener_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + -1, // Xref Not Saved + 1, // Xref Is Used + + { + { 0x19, XREF_DSSETI3DL2LISTENER }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetBufferData +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundBuffer_SetBufferData_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETBUFFERDATA2, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x14, 0x0C }, + { 0x2A, 0xB6 }, + { 0x40, 0xB8 }, + { 0x56, 0x8B }, + { 0x6C, 0x8B }, + { 0x82, 0x7C }, + { 0x98, 0x5E }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetBufferData +// ****************************************************************** +SOOVPA<9> IDirectSoundBuffer_SetBufferData_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + -1, // Xref Not Saved + 1, // Xref Is Used + + { + { 0x19, XREF_DSSETBUFFERDATA2 }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0xFF }, + { 0x0E, 0x83 }, + { 0x12, 0xD9 }, + { 0x16, 0xC8 }, + { 0x1D, 0xC2 }, + { 0x1E, 0x0C }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSound::GetEffectData +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSound_GetEffectData_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DirectSound_CDirectSound_GetEffectData, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x0A, 0x3D }, + { 0x16, 0xF6 }, + { 0x24, 0xB8 }, + { 0x2E, 0x8B }, + { 0x3A, 0x14 }, + { 0x46, 0x85 }, + { 0x52, 0x15 }, + { 0x5E, 0x00 }, + } +}; + +// ****************************************************************** +// * IDirectSound_GetEffectData +// ****************************************************************** +SOOVPA<9> IDirectSound_GetEffectData_1_0_4134 = +{ + 0, // Large == 0 + 9, // Count == 9 + + -1, // Xref Not Saved + 1, // Xref Is Used + + { + { 0x1F, XREF_DirectSound_CDirectSound_GetEffectData }, + + { 0x03, 0xFF }, + { 0x08, 0x08 }, + { 0x0D, 0xC8 }, + { 0x12, 0xC0 }, + { 0x17, 0xF7 }, + { 0x1C, 0xC8 }, + { 0x23, 0x5D }, + { 0x26, 0x00 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoiceSettings::SetMixBins +// ****************************************************************** +SOOVPA<7> DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_4134 = +{ + 0, // Large == 0 + 7, // Count == 7 + + XREF_DSSETMIXBINSC, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x0E, 0xB8 }, + { 0x22, 0x83 }, + { 0x2E, 0x71 }, + { 0x3E, 0xB6 }, + { 0x4E, 0x41 }, + { 0x5E, 0x00 }, + { 0x6E, 0x00 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundVoice::SetMixBins +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundVoice_SetMixBins_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETMIXBINSB, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x0D, XREF_DSSETMIXBINSC }, + + { 0x02, 0x74 }, + { 0x06, 0x74 }, + { 0x0A, 0x4E }, + { 0x11, 0x8B }, + { 0x12, 0x4E }, + { 0x19, 0x5E }, + { 0x1A, 0xC2 }, + } +}; + +// ****************************************************************** +// * DirectSound::CDirectSoundBuffer::SetMixBins +// ****************************************************************** +SOOVPA<8> DirectSound_CDirectSoundBuffer_SetMixBins_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_DSSETMIXBINSA, // Xref Is Saved + 1, // Xref Is Used + + { + { 0x32, XREF_DSSETMIXBINSB }, + + { 0x0C, 0x00 }, + { 0x12, 0x85 }, + { 0x1C, 0x15 }, + { 0x26, 0xEB }, + { 0x30, 0x10 }, + { 0x3A, 0x74 }, + { 0x47, 0x8B }, + } +}; + +// ****************************************************************** +// * IDirectSoundBuffer_SetMixBins +// ****************************************************************** +SOOVPA<8> IDirectSoundBuffer_SetMixBins_1_0_4134 = +{ + 0, // Large == 0 + 8, // Count == 8 + + -1, // Xref Not Saved + 1, // Xref Is Used + + { + { 0x15, XREF_DSSETMIXBINSA }, + + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x83 }, + { 0x0E, 0xD9 }, + { 0x12, 0xC8 }, + { 0x19, 0xC2 }, + { 0x1A, 0x08 }, + } +}; + +// ****************************************************************** +// * DirectSoundCreate_1_0_4134 +// ****************************************************************** +OOVPATable DSound_1_0_4134[] = +{ + // DirectSoundCreate + { + (OOVPA*)&DirectSoundCreate_1_0_4134, + + XTL::EmuDirectSoundCreate, + + #ifdef _DEBUG_TRACE + "EmuDirectSoundCreate" + #endif + }, + // IDirectSound8::AddRef (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_AddRef_1_0_3936, + + XTL::EmuIDirectSound8_AddRef, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_AddRef" + #endif + }, + // IDirectSound8::Release (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_Release_1_0_3936, + + XTL::EmuIDirectSound8_Release, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_Release" + #endif + }, + // IDirectSound8::DownloadEffectsImage (* unchanged since 3936 *) + { + (OOVPA*)&IDirectSound8_DownloadEffectsImage_1_0_3936, + + XTL::EmuIDirectSound8_DownloadEffectsImage, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_DownloadEffectsImage" + #endif + }, + // IDirectSound8::CreateSoundBuffer + { + (OOVPA*)&IDirectSound8_CreateSoundBuffer_1_0_4134, + + XTL::EmuIDirectSound8_CreateSoundBuffer, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_CreateSoundBuffer" + #endif + }, + // DirectSound::CDirectSoundVoice::SetHeadroom (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetHeadroom_1_0_4134, + 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetHeadroom (XREF)" + #endif + }, + // DirectSound::CDirectSoundBuffer::SetHeadroom (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetHeadroom_1_0_4134, + 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetHeadroom (XREF)" + #endif + }, + // IDirectSoundBuffer_SetHeadroom + { + (OOVPA*)&IDirectSoundBuffer_SetHeadroom_1_0_4134, + XTL::EmuIDirectSoundBuffer8_SetHeadroom, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetHeadRoom" + #endif + }, + // IDirectSoundBuffer8::Lock + { + (OOVPA*)&IDirectSoundBuffer_Lock_1_0_4134, + + XTL::EmuIDirectSoundBuffer8_Lock, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_Lock" + #endif + }, + // DirectSound::CDirectSoundVoice::SetVolume (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetVolume_1_0_4134,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetVolume (XREF)" + #endif + }, + // DirectSound::CDirectSoundBuffer::SetVolume (XREF) + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetVolume_1_0_4134,0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetVolume (XREF)" + #endif + }, + // IDirectSoundBuffer_SetVolume (XREF) + { + (OOVPA*)&IDirectSoundBuffer_SetVolume_1_0_4134, + XTL::EmuIDirectSoundBuffer8_SetVolume, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetVolume" + #endif + }, + // CDirectSound_SetI3DL2Listener + { + (OOVPA*)&DirectSound_CDirectSound_SetI3DL2Listener_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::SetI3DL2Listener (XREF)" + #endif + }, + // IDirectSound8_SetI3DL2Listener + { + (OOVPA*)&IDirectSound_SetI3DL2Listener_1_0_4134, + + XTL::EmuIDirectSound8_SetI3DL2Listener, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_SetI3DL2Listener" + #endif + }, + // CDirectSound_GetEffectData + { + (OOVPA*)&DirectSound_CDirectSound_GetEffectData_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "CDirectSound::GetEffectData" + #endif + }, + // IDirectSound8_SetI3DL2Listener + { + (OOVPA*)&IDirectSound_GetEffectData_1_0_4134, + + XTL::EmuIDirectSound8_GetEffectData, + + #ifdef _DEBUG_TRACE + "EmuIDirectSound8_GetEffectData" + #endif + }, + // CDirectSoundBuffer::SetBufferData + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetBufferData_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer_SetBufferData (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetBufferData + { + (OOVPA*)&IDirectSoundBuffer_SetBufferData_1_0_4134, + + XTL::EmuIDirectSoundBuffer8_SetBufferData, + + #ifdef _DEBUG_TRACE + "IDirectSoundBuffer8_SetBufferData" + #endif + }, + // CDirectSoundVoiceSettings::SetMixBins + { + (OOVPA*)&DirectSound_CDirectSoundVoiceSettings_SetMixBins_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoiceSettings::SetMixBins (XREF)" + #endif + }, + // CDirectSoundVoice::SetMixBins + { + (OOVPA*)&DirectSound_CDirectSoundVoice_SetMixBins_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundVoice::SetMixBins (XREF)" + #endif + }, + // CDirectSoundBuffer::SetMixBins + { + (OOVPA*)&DirectSound_CDirectSoundBuffer_SetMixBins_1_0_4134, 0, + + #ifdef _DEBUG_TRACE + "CDirectSoundBuffer::SetMixBins (XREF)" + #endif + }, + // IDirectSoundBuffer8::SetMixBins + { + (OOVPA*)&IDirectSoundBuffer_SetMixBins_1_0_4134, + + XTL::EmuIDirectSoundBuffer8_SetMixBins, + + #ifdef _DEBUG_TRACE + "EmuIDirectSoundBuffer8_SetMixBins" + #endif + }, +}; + +// ****************************************************************** +// * DSound_1_0_4134_SIZE +// ****************************************************************** +uint32 DSound_1_0_4134_SIZE = sizeof(DSound_1_0_4134); diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.4034.h b/src/CxbxKrnl/HLEDataBase/XG.1.0.4034.h new file mode 100644 index 000000000..220d2b62b --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.4034.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.4034.h +// * +// * 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 +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XG_1_0_4034_H +#define XG_1_0_4034_H + +#include "OOVPA.h" + +extern OOVPATable XG_1_0_4034[]; +extern uint32 XG_1_0_4034_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.4034.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.4034.inl new file mode 100644 index 000000000..81aca0c94 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.4034.inl @@ -0,0 +1,210 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.4034.inl +// * +// * 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 +// * +// * All rights reserved +// * +// ****************************************************************** + +#if 0 +// ****************************************************************** +// * XGIsSwizzledFormat +// ****************************************************************** +SOOVPA<7> XGIsSwizzledFormat_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + -1, // Xref Not Saved + 0, // Xref Not Used + + { + { 0x07, 0x7F }, + { 0x10, 0x7C }, + { 0x19, 0x0B }, + { 0x22, 0xF8 }, + { 0x2B, 0x83 }, + { 0x34, 0x0A }, + { 0x3D, 0x7F }, + } +}; + +// ****************************************************************** +// * XGSwizzleRect +// ****************************************************************** +SOOVPA<8> XGSwizzleRect_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + -1, // Xref Not Saved + 0, // Xref Not Used + + { + { 0x1E, 0x03 }, + { 0x3E, 0x89 }, + { 0x5E, 0x83 }, + { 0x7E, 0x6C }, + { 0x9E, 0xFF }, + { 0xBE, 0xFF }, + { 0xDE, 0x89 }, + { 0xFE, 0x89 }, + } +}; + +// ****************************************************************** +// * XGSwizzleBox +// ****************************************************************** +SOOVPA<8> XGSwizzleBox_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + -1, // Xref Not Saved + 0, // Xref Not Used + + { + { 0x1E, 0x75 }, + { 0x3E, 0x4D }, + { 0x5E, 0x48 }, + { 0x7E, 0x04 }, + { 0x9E, 0xD8 }, + { 0xC0, 0x83 }, + { 0xDE, 0xAF }, + { 0xFE, 0x45 }, + } +}; + +// ****************************************************************** +// * XGUnswizzleRect +// ****************************************************************** +SOOVPA<8> XGUnswizzleRect_1_0_3911 = +{ + 0, // Large == 0 + 8, // Count == 8 + + -1, // Xref Not Saved + 0, // Xref Not Used + + { + { 0x1E, 0x03 }, + { 0x3E, 0x00 }, + { 0x5E, 0xD2 }, + { 0x7E, 0x75 }, + { 0x9E, 0x70 }, + { 0xC1, 0xE9 }, + { 0xDE, 0x89 }, + { 0xFE, 0x60 }, + } +}; + +// ****************************************************************** +// * XGWriteSurfaceOrTextureToXPR +// ****************************************************************** +SOOVPA<7> XGWriteSurfaceOrTextureToXPR_1_0_3911 = +{ + 0, // Large == 0 + 7, // Count == 7 + + -1, // Xref Not Saved + 0, // Xref Not Used + + { + { 0x1E, 0x3D }, + { 0x3E, 0xE0 }, + { 0x5E, 0x75 }, + { 0x7E, 0x33 }, + { 0x9E, 0xC2 }, + { 0xBE, 0xF0 }, + { 0xDE, 0xFC }, + } +}; +#endif + +// ****************************************************************** +// * XG_1_0_4034 +// ****************************************************************** +OOVPATable XG_1_0_4034[] = +{ + // XGIsSwizzledFormat + /*{ + (OOVPA*)&XGIsSwizzledFormat_1_0_3911, + + XTL::EmuXGIsSwizzledFormat, + + #ifdef _DEBUG_TRACE + "XGIsSwizzledFormat" + #endif + },*/ + // XGSwizzleRect (* unchanged since 3911 *) + { + (OOVPA*)&XGSwizzleRect_1_0_3911, + + XTL::EmuXGSwizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleRect" + #endif + }, + // XGUnswizzleRect + /*{ + (OOVPA*)&XGUnswizzleRect_1_0_3911, + + XTL::EmuXGUnswizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGUnswizzleRect" + #endif + },*/ + // XGSwizzleBox (* unchanged since 3911 *) + { + (OOVPA*)&XGSwizzleBox_1_0_3911, + + XTL::EmuXGSwizzleBox, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleBox" + #endif + }, + // XGWriteSurfaceOrTextureToXPR + /*{ + (OOVPA*)&XGWriteSurfaceOrTextureToXPR_1_0_3911, + + XTL::EmuXGWriteSurfaceOrTextureToXPR, + + #ifdef _DEBUG_TRACE + "EmuXGWriteSurfaceOrTextureToXPR" + #endif + },*/ +}; + +// ****************************************************************** +// * XG_1_0_3911_SIZE +// ****************************************************************** +uint32 XG_1_0_4034_SIZE = sizeof(XG_1_0_4034); \ No newline at end of file diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.4432.h b/src/CxbxKrnl/HLEDataBase/XG.1.0.4432.h new file mode 100644 index 000000000..b24db8186 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.4432.h @@ -0,0 +1,42 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.4432.h +// * +// * 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 +// * +// * All rights reserved +// * +// ****************************************************************** +#ifndef XG_1_0_4432_H +#define XG_1_0_4432_H + +#include "OOVPA.h" + +extern OOVPATable XG_1_0_4432[]; +extern uint32 XG_1_0_4432_SIZE; + +#endif diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.4432.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.4432.inl new file mode 100644 index 000000000..9cddacbc3 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.4432.inl @@ -0,0 +1,67 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.4432.cpp +// * +// * 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 +// * +// * All rights reserved +// * +// ****************************************************************** + + + +// ****************************************************************** +// * XG_1_0_4432 +// ****************************************************************** +OOVPATable XG_1_0_4432[] = +{ + // XGIsSwizzledFormat (* unchanged since 4361 *) + { + (OOVPA*)&XGIsSwizzledFormat_1_0_4361, + + XTL::EmuXGIsSwizzledFormat, + + #ifdef _DEBUG_TRACE + "XGIsSwizzledFormat" + #endif + }, + // XGSwizzleRect (* unchanged since 4361 *) + { + (OOVPA*)&XGSwizzleRect_1_0_4361, + + XTL::EmuXGSwizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleRect" + #endif + }, +}; + +// ****************************************************************** +// * XG_1_0_4432_SIZE +// ****************************************************************** +uint32 XG_1_0_4432_SIZE = sizeof(XG_1_0_4432); diff --git a/src/CxbxKrnl/HLEDataBase/XG.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/XG.1.0.5849.inl new file mode 100644 index 000000000..c4c8ec8ba --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XG.1.0.5849.inl @@ -0,0 +1,140 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XG.1.0.5849.cpp +// * +// * 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 +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XGSwizzleBox +// ****************************************************************** +SOOVPA<10> XGSwizzleBox_1_0_5849 = +{ + 0, // Large == 0 + 10, // Count == 10 + + -1, // XRef Not Saved + 0, // XRef Not Used + + { + // XGSwizzleBox+0x60 : sub ecx, [eax] + { 0x60, 0x2B }, // (Offset,Value)-Pair #1 + { 0x61, 0x08 }, // (Offset,Value)-Pair #2 + + // XGSwizzleBox+0x8E : lea ecx, [ebp+0xD8] + { 0x8E, 0x8D }, // (Offset,Value)-Pair #3 + { 0x8F, 0x4D }, // (Offset,Value)-Pair #4 + { 0x90, 0xD8 }, // (Offset,Value)-Pair #5 + + // XGSwizzleBox+0xD5 : shl eax, 2 + { 0xD5, 0xC1 }, // (Offset,Value)-Pair #6 + { 0xD6, 0xE0 }, // (Offset,Value)-Pair #7 + { 0xD7, 0x02 }, // (Offset,Value)-Pair #8 + + // XGSwizzleBox+0xE2 : test ebx, ebx + { 0xE2, 0x85 }, // (Offset,Value)-Pair #9 + { 0xE3, 0xDB }, // (Offset,Value)-Pair #10 + } +}; + +// ****************************************************************** +// * XFONT_OpenBitmapFontFromMemory +// ****************************************************************** +SOOVPA<8> XFONT_OpenBitmapFontFromMemory_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + -1, // Xref Not Saved + 0, // Xref Not Used + + { + { 0x0B, 0x75 }, + { 0x1A, 0x8B }, + { 0x28, 0x8B }, + { 0x32, 0x08 }, + { 0x3F, 0x8B }, + { 0x4C, 0x8B }, + { 0x59, 0x45 }, + { 0x66, 0x0C }, + } +}; + +// ****************************************************************** +// * XG_1_0_5849 +// ****************************************************************** +OOVPATable XG_1_0_5849[] = +{ + // XGIsSwizzledFormat (* unchanged since 4361 *) + { + (OOVPA*)&XGIsSwizzledFormat_1_0_4361, + + XTL::EmuXGIsSwizzledFormat, + + #ifdef _DEBUG_TRACE + "XGIsSwizzledFormat" + #endif + }, + // XGSwizzleRect (* unchanged since 5558 *) + { + (OOVPA*)&XGSwizzleRect_1_0_5558, + + XTL::EmuXGSwizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGSwizzleRect" + #endif + }, + // XGUnswizzleRect (* unchanged since 5558 *) + { + (OOVPA*)&XGUnswizzleRect_1_0_5558, + + XTL::EmuXGUnswizzleRect, + + #ifdef _DEBUG_TRACE + "EmuXGUnswizzleRect" + #endif + }, + // XFONT_OpenBitmapFontFromMemory + /*{ + (OOVPA*)&XFONT_OpenBitmapFontFromMemory_1_0_5849, + + XTL::EmuXFONT_OpenBitmapFontFromMemory, + + #ifdef _DEBUG_TRACE + "EmuXFONT_OpenBitmapFontFromMemory" + #endif + },*/ +}; + +// ****************************************************************** +// * XG_1_0_5849_SIZE +// ****************************************************************** +uint32 XG_1_0_5849_SIZE = sizeof(XG_1_0_5849); diff --git a/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl new file mode 100644 index 000000000..daba42240 --- /dev/null +++ b/src/CxbxKrnl/HLEDataBase/XOnline.1.0.5849.inl @@ -0,0 +1,173 @@ +// ****************************************************************** +// * +// * .,-::::: .,:: .::::::::. .,:: .: +// * ,;;;'````' `;;;, .,;; ;;;'';;' `;;;, .,;; +// * [[[ '[[,,[[' [[[__[[\. '[[,,[[' +// * $$$ Y$$$P $$""""Y$$ Y$$$P +// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo, +// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm, +// * +// * Cxbx->Win32->CxbxKrnl->XOnline.1.0.5849.inl +// * +// * 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 +// * +// * All rights reserved +// * +// ****************************************************************** + +// ****************************************************************** +// * XnInit +// ****************************************************************** +SOOVPA<8> XnInit_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + XREF_XNINIT, // Xref Is Saved + 0, // Xref Not Used + + { + { 0x1E, 0x3B }, + { 0x3E, 0x45 }, + { 0x5E, 0x00 }, + { 0x81, 0x57 }, + { 0xA2, 0x57 }, + { 0xC0, 0x33 }, + { 0xDE, 0xFE }, + { 0xFE, 0x48 }, + } +}; + +// ****************************************************************** +// * XNetStartup +// ****************************************************************** +SOOVPA<8> XNetStartup_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + -1, // Xref Not Saved + 0, // Xref Not Used + + { + { 0x01, 0xC0 }, + { 0x04, 0x50 }, + { 0x07, 0x24 }, + { 0x0A, 0x68 }, + { 0x0F, 0xE8 }, + { 0x14, 0xC2 }, + { 0x15, 0x04 }, + { 0x16, 0x00 }, + } +}; + +// ****************************************************************** +// * WSAStartup +// ****************************************************************** +SOOVPA<7> WSAStartup_1_0_5849 = +{ + 0, // Large == 0 + 7, // Count == 7 + + -1, // Xref Not Saved + 0, // Xref Not Used + + { + { 0x02, 0x24 }, + { 0x06, 0x24 }, + { 0x0A, 0x6A }, + { 0x0E, 0x68 }, + { 0x13, 0xE8 }, + { 0x18, 0xC2 }, + { 0x1A, 0x00 }, + } +}; + +// ****************************************************************** +// * XNetGetEthernetLinkStatus +// ****************************************************************** +SOOVPA<8> XNetGetEthernetLinkStatus_1_0_5849 = +{ + 0, // Large == 0 + 8, // Count == 8 + + -1, // Xref Not Saved + 0, // Xref Not Used + + { + { 0x08, 0x33 }, + { 0x10, 0x8A }, + { 0x19, 0x00 }, + { 0x22, 0x56 }, + { 0x2B, 0xFF }, + { 0x34, 0xF0 }, + { 0x3D, 0x24 }, + { 0x46, 0x5B }, + } +}; + +// ****************************************************************** +// * XOnline_1_0_5849 +// ****************************************************************** +OOVPATable XOnline_1_0_5849[] = +{ + // XNetStartup + { + (OOVPA*)&XNetStartup_1_0_5849, + + XTL::EmuXNetStartup, + + #ifdef _DEBUG_TRACE + "EmuXNetStartup" + #endif + }, + // WSAStartup + { + (OOVPA*)&WSAStartup_1_0_5849, + + XTL::EmuWSAStartup, + + #ifdef _DEBUG_TRACE + "EmuWSAStartup" + #endif + }, + // XnInit (XREF) + { + (OOVPA*)&XnInit_1_0_5849, 0, + + #ifdef _DEBUG_TRACE + "XnInit (XRef)" + #endif + }, + // XNetGetEthernetLinkStatus + { + (OOVPA*)&XNetGetEthernetLinkStatus_1_0_5849, + XTL::EmuXNetGetEthernetLinkStatus, + + #ifdef _DEBUG_TRACE + "EmuXNetGetEthernetLinkStatus" + #endif + }, +}; + +// ****************************************************************** +// * XOnline_1_0_5849_SIZE +// ****************************************************************** +uint32 XOnline_1_0_5849_SIZE = sizeof(XOnline_1_0_5849);