Commit Graph

145 Commits

Author SHA1 Message Date
RadWolfie 90339f1f58 Include DSound log macros 2019-02-19 22:09:11 -06:00
RadWolfie 55132da6a7 Move Xbox DSound types into its own header file. 2019-02-19 22:09:11 -06:00
a.miles.nz@gmail.com 962b500c03 Add SSE WalkIndexBuffer implementation:
- SSE4.1 WalkIndexBuffer implementation
- SSE level detection
- Auto-select WalkIndexBuffer implementation
2019-01-17 20:07:27 +13:00
ergo720 b2a1dc2507 Fix building issues 2019-01-12 18:13:52 +01:00
ergo720 c1df95b324 NtSetSystemTime and KeSetSystemTime 2019-01-12 18:13:52 +01:00
ergo720 ef385087a8 Implemented des functions + XcCryptService 2018-12-18 14:01:33 +01:00
ergo720 1234df190e Merged CxbxCommon with CxbxUtil 2018-12-15 20:43:22 +01:00
ergo720 813975a6c2 Moved ResourceTracker.h + renamed HLE -> hle 2018-12-15 19:26:47 +01:00
ergo720 ef70b6a33d Created support folder 2018-12-15 18:48:19 +01:00
ergo720 19f5829d28 Created exports folder 2018-12-15 18:24:11 +01:00
ergo720 c6c0791bf0 Created init folder 2018-12-15 18:05:57 +01:00
ergo720 42004654a2 Created memory-manager folder 2018-12-15 17:47:08 +01:00
ergo720 e6e93a2d4a Renamed some folders + moved EmuShared.h 2018-12-15 17:28:01 +01:00
ergo720 c5e7824475 Created util folder 2018-12-15 16:58:51 +01:00
ergo720 864e2422ac Created crypto folder 2018-12-15 16:21:52 +01:00
ergo720 0cb83f9cc8 Renamed Cxbx -> gui folder 2018-12-15 15:45:59 +01:00
ergo720 980e073c8a Moved Timer.h 2018-12-15 15:25:31 +01:00
ergo720 1cbeef42cf Created x86 folder 2018-12-15 15:13:30 +01:00
ergo720 3d46f35174 Created xbe folder 2018-12-15 14:59:34 +01:00
ergo720 b0523ecae5 Moved CxbxXbdm + renamed Common -> common 2018-12-15 14:40:40 +01:00
PatrickvL 28c672ac0c Rearranged header files (introducing nv2a_regs.h) 2018-10-05 21:52:57 +02:00
RadWolfie de1633dab5 Move D3D8 and Direct3D9 files into its own folder 2018-09-02 09:10:30 -05:00
RadWolfie a2c667f706 Final clean up except for D3D8 files. 2018-09-01 14:49:03 -05:00
RadWolfie a89f702d1e Add D3D8 filter to visual studio 2018-09-01 14:23:18 -05:00
RadWolfie f083da6666 Move XGraphic to its own folder 2018-09-01 14:22:58 -05:00
RadWolfie 81d3ae8510 Move XOnline files to its own folder 2018-09-01 14:11:37 -05:00
RadWolfie dc24c3f1c1 Move XActEng files to its own folder 2018-09-01 13:34:50 -05:00
RadWolfie ba9dd0b399 Move XInput plugin in OHCI folder 2018-09-01 12:47:53 -05:00
RadWolfie a650e1e4f3 Move Xapi, XInput, and DInput into their own folder
Both XInput and DInput are migrated together. It's best to keep them in XInput folder.

As for Xapi files, may not require any plugin? Or possible put into their own folder?
2018-09-01 11:54:58 -05:00
RadWolfie 5ff6e9e6b5 Move DirectSound plugin to its own folder
Will eventually need to separate the APIs and its classes into a generic class.
2018-09-01 11:54:58 -05:00
RadWolfie ce67dea010 Move HLE's Intercept and Patches to their own folder
First step to organize the filesystem! (Beside hardware files has its own directory, good job!)
2018-09-01 11:54:58 -05:00
Luke Usher b00ab30648 Split Symbol scanning and patching phases
This allows for both steps to be completely disconnected, easily
allowing patches to be turned on or off based on a set of flags, as well
as preventing the need to clear the HLE cache when switching from
HLE->LLE.

This also allows patches to be seen/modifed from a central location,
no more searching through the codebase to determine if a function should
be patched or not, and no more 'FUNC_EXPORTS/GetProcAddress' magic!

Currently, this is used for HLE only, but could really shine when
extended to introduce optional detour based logging even when LLE is
enabled.

For example We could easily add a LLE_D3D_DETOUR flag, which when
enabled, patches functions with a wrapper, which simply logs input and
output, calling the original xbox function via a trampoline.

This would be great for debugging, as we'd get a full call trace from
the API level, even when not implementing HLE.

There's also the possibility of mixing in some patches even with LLE
enabled: for a hybrid HLE/LLE solution of the same functionality,
but there are no plans to implement that at this moment of time.
2018-08-28 16:23:53 +01:00
RadWolfie a185690160 Implement IPC interface support 2018-08-16 16:12:18 -05:00
ergo720 26c61b5381 Added log window to GUI 2018-08-13 20:50:54 +02:00
Luke Usher 4412fef9bb
Initial D3D9 port (#1375) 2018-08-08 09:08:50 +01:00
RadWolfie 07a05f0e52 Use settings ini file method (#1370)
* Import SimpleIni module

* Rename XBController to DInputController

Since it's only about configure DirectInput support.

* Append to previous 2 commits

* Initialize Settings class

* Append to previous commit

* Properly use EmuXTL header instead of EmuShared

* Move audio variables into setting class

* Move video variables into Settings class

* Append to previous commit

* Move hack variables into Settings class

* Append previous commit

* Append to third previous commit

* Move xbox controller port map to Settings class

* Append to second previous commit

* Move DirectInput Controller map to Settings class

* Remove old XInput member variable

* Append to second previous commit

* Tiny Fixup

* Remove Load/Save from EmuShared class

* Move both GUI and emulate/core to Settings class

* Oops, append to DirectInput controller's commit(s)

* Fix spaces to tab plus remove useless extra spaces

* Code format fixes

* Fix EmuShared's Set____ function to include const type.

Then "set" functions are supportive for both const and non-const variables.

* Add Sync and GetDataLocation functions to Settings class

* Move include filesystem into root header file.

* Introduce Verify function in Settings class

* Fix old bug for console remains open

* Making some adjustments...

* Append

* Another fix for any output prints crash.

* Add Delete function to Settings class

Plus keep save's file path if has given one.

* Fix LLE_USB to set into Settings class' member variable.

* No longer rely on GUI's end to reset LLE flags for multi-xbe titles.

* Simulate what GUI will do except in standalone kernel mode support.

* Move m_StorageLocation into Settings class as central.

Plus optimization for GetDataLocation function.

* Update sentence...

* Remove m_XbePath from EmuShared class.

Since kernel process is launching by on its own without rely on GUI process.

* Update copyright

* Fix DirectInput config not responding message

* Implement new feature: Bypass running as admin warning message

* Rename Emulate Settings to Core Settings

Plus move AllowAdminPrivilage option to core.

* Add reserve space for Settings' structure to integrate into EmuShared

* Ensure all reserves are set to 0 by default.

* Append to "Rename Emulate Settings to Core Settings" commit

* Fix rebase loss.

* Fix kernel mode process's window screen

* Correction: use bool for allowAdminPrivilege and add a save data

* Few fixes for allowAdminPrivilege

* Implement support to prevent tamper shared memory between GUI processes.

NOTE: Kernel process will be using same shared memory since guiProcessID will remain as 0.

* Various improvement

* Use std library functions
* Use single column spaces for align support on different tab size
* Include failsafe if custom and file path string values are bad format

Apparently ARRAYSIZE isn't define on other compilers.

* Last ARRAYSIZE replacement plus buffer overflow protection

* Replace WinAPI to std library's filesystem

* Revert support for 2+ emulation process at same time.

Emulation's graphic screen has corruption between both windows. Not even a wrapper to D3D9 will fix it.
2018-08-07 08:30:07 +01:00
ergo720 87e1833941 Allow cxbxr to build with LLE USB 2018-07-20 18:29:58 +02:00
ergo720 f47c481ee6 Introduced InputDeviceManager 2018-07-16 23:55:55 +02:00
ergo720 e1a76b643c Added SDL2 submodule 2018-07-14 23:32:18 +02:00
ergo720 45f4f32790 Amend previous rebasing 2018-07-14 17:19:34 +02:00
ergo720 f4c47fddc9 Implemented xid gamepad device + updates to hub 2018-07-14 16:58:30 +02:00
ergo720 0691b8bfb4 More hub init + some refactoring 2018-07-14 16:56:49 +02:00
ergo720 138e103ca4 Some refactoring + started Hub device work 2018-07-14 16:54:18 +02:00
ergo720 36c60e7ca7 Isochronous TD + changed usb folder structure 2018-07-14 16:52:11 +02:00
ergo720 828822c695 OHCI_GetFrameRemaining 2018-07-14 16:45:32 +02:00
ergo720 6aafb25dee Virtual and real timers 2018-07-14 16:39:55 +02:00
ergo720 403f9cb710 MMIO support for USB devices 2018-07-14 16:37:42 +02:00
ergo720 46a03cb442 Created USB devices 2018-07-14 16:22:25 +02:00
RadWolfie 05be1dd4bd Create inline function file for Windows
Plus linux filter folder for future linux support.
2018-06-16 20:18:22 -05:00
jackchentwkh 6edf293699 Add controller port configuration GUI and support virtual SB controller with feedback status (#1196)
* Add XB_ prefix for xbox XInput related structures and variables to prevent mis-use host equivalent.
Add newly findings for device table related info.

* Revert g_Controller ZeroMemory() calls.
now the XINPUT_STATE is correctly refering to host type, no need to specify the name space.

* Add X_CONTROLLER_HOST_BRIDGE structure type.
Prepare for configurabale host input, and virtual xbox controller.

* Fix DeviceInfo initialization when device table is not found.
always set state to enable rumble.

* experimenting virtual SteelBatalion controller.
using console as controller output.
using XInput and direct input combined keys

* first attem to emulat SteelBatalion controller works.

* add dialog file to solution

* Restore missing dialog files and functions

* Minor fix

* fix dialog control grouping
now registry works.

* refine some controller related constants

* Using Dialog for showing
SBC controller feedback
add possibility of using same dialog for virtual controller input.

* using EmuUpdateTickCount() as modeless dialog message handler.
sort of working.
revert the dlg message handling from wnd.cpp

* Finally the dialog for virtual SB controller feedback status works!
modeless dialog got issues. modal dialog will occupy focus. only way is to use a DLL, load the DLL when cxbx-r emulation child process started, and create a dummy window from DLL then create a modal dialog.
lots of code change and clean up.

* fix debug build,  use same character set setting for all configurations.

* restore C++ optimiztion setting in master

* remove unitended included ribbon resources

* removed necessary official document mentioning

* Add src/CxbxVSBC/Release and src/CxbxVSBC/Debug to .gitignore

* Move Host Port assignment related code to src/common/win32

* fix merge confliction

* oops, fix merge conflictions again.

* Add OLD_XINPUT mark for those marked out old XInput code. need to be reviewed in the future.

* remove unintended binary files

* fix debug build, again.
revert unindteded changes to submodule

* rever unintended submodule change

* Relocate project to build/Win32 folder

Co-Authored-By: anita999 <anita999@ms12.hinet.net>

* Restore sln file base on master

* Include project dependency to build

* Final fixup for sln file

* Restore original new line code

* Update Wnd.cpp

* Remove old include

* Include CxbxVSBC.dll into AppVeyor

This should be the last fixup for pull request.

* Fix merge-conflict

* Fix files encode format to UTF-8

* treat .rc file as text instead of binary

* Revert "treat .rc file as text instead of binary"

This reverts commit 034039d723.
2018-05-29 13:33:01 +01:00