Commit Graph

301 Commits

Author SHA1 Message Date
Luke Usher 9416f41ae8
Remove x64 target from MSVC Solution (#1537)
* Remove x64 target from MSVC Solution

Cxbx-Reloaded currently is not able to be compiled as a 64-bit binary,
in part due to it's method of direct code execution.

To avoid confusion, this commit removes the x64 build target from the
solution.
2019-01-25 14:51:10 +00: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 27f2316507 Revert "Enable LLE USB + add SDL submodule"
This reverts commit 2daca74be7bc93a0818233fd2023a1c07757bbb0.
2019-01-12 18:13:52 +01: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 0fc2a7c3b2 Enable LLE USB + add SDL submodule 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
ergo720 77b449b340 Renamed CxbxVSBC -> vsbc 2018-12-15 14:29:59 +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 385e0c612d Oops 2018-09-02 06:55:23 -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 54f95fc33b Merge branch 'develop' of https://github.com/Cxbx-Reloaded/Cxbx-Reloaded into logger 2018-08-15 23:16:16 +02:00
Luke Usher c62519932a Let the compiler automatically generate parallel code where possible. 2018-08-14 10:08:51 +01:00
ergo720 26c61b5381 Added log window to GUI 2018-08-13 20:50:54 +02:00
ergo720 00ed9cfe00 Allow cxbxr to build with new logging 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 9cdc318d18 Merge remote-tracking branch 'upstream/develop' into OHCI_LLE 2018-08-01 00:48:48 +02:00
ergo720 169806b2ed Added some comments 2018-08-01 00:36:05 +02:00
ergo720 a42a114583 Disabled LLE USB 2018-07-31 21:44:10 +02:00
Luke Usher 4ac161da82 Fix compilation of D3D9 build
With this, the Debug_Direct3D9 build now compiles and successfully runs
basic XDK samples (Gamepad, Tutorials, etc)

Known Issues:
1. Vertex Shaders are completely broken, any titles using vertex shaders
WILL crash
2. Vertex conversion is completely broken, any titles using Xbox
specific data types WILL crash

This is NOT ready for use in any shape or form, just a step towards the
eventual D3D9 port.
2018-07-25 11:23:39 +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