Commit Graph

5171 Commits

Author SHA1 Message Date
ergo720 524fb1f06d Forgot to use to_underlying in some places 2018-08-13 23:10:29 +02:00
ergo720 1810c4dae0 Small fixes 2018-08-13 21:51:07 +02:00
ergo720 469f7e9f43 Improvements 2018-08-13 20:50:54 +02:00
ergo720 ca1bda76c8 Bug fixes 2018-08-13 20:50:54 +02: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
ergo720 069767174c Huge logging refactoring (doesn't build yet) 2018-08-13 20:50:54 +02:00
ergo720 47f79d29d7 Damn, also update these ones 2018-08-13 20:50:54 +02:00
ergo720 c66426b6b3 Finished logging refactoring 2018-08-13 20:50:54 +02:00
ergo720 af8e8526dc Refactoring logging (in progress) 2018-08-13 20:50:54 +02:00
ergo720 85ac039e62 Added logging leven and module 2018-08-13 20:50:54 +02:00
RadWolfie 1926e0428b
Merge pull request #1386 from PatrickvL/SetVertexData_fixes
Set vertex data fixes
2018-08-13 12:53:03 -05:00
PatrickvL d501ac0745 Set default vertex colors according to persistent usage vertex shader flags. 2018-08-13 11:29:04 +02:00
PatrickvL 4a44af0d03 Introduced and used VshHandleToXboxVertexShader(), preventing a potential issue loosing the high-bit 2018-08-13 11:26:40 +02:00
RadWolfie d58d2b29cb Possible permanent solution commit 2018-08-13 09:23:30 +02:00
RadWolfie 463c208cb1 Minor fixup for extra and missing tabs from pull request. 2018-08-12 12:02:30 -05:00
PatrickvL 95899d648e
Merge pull request #1384 from Voxel9/SetVertexData-Hotfix
D3D: Fix vertex diffuse colors not initializing properly
2018-08-12 18:54:58 +02:00
Voxel f3f8d5d0a3 Get rid of global variable. 2018-08-12 16:54:02 +01:00
Voxel 738daf8bae Tab spacing consistency 2018-08-12 14:10:33 +01:00
Voxel 9c3a3e8d58 Fix vertex diffuse colors not initializing properly/use proper diffuse values. 2018-08-12 13:04:20 +01:00
PatrickvL 46f900f88c
Merge pull request #1383 from revel8n/shader_improvements
Shader improvements
2018-08-11 18:34:31 +02:00
revel8n 257f48f3f3
Initial change to improve compilation of pixel shaders
- Update enumeration with initial handler of 'texld' instruction for ps version 1.4
- Changed fake register assignments to be against 't#' registers as they become read-only in ps version > 1.4 and need to be replaced by the increased number temporary ('r#') registers in arithmetic instructions in all cases
- Added check for "constant with modifier" optimization within 'CombineInstructions' to resolve conflict with 'FixConstantModifiers' optimizations
- Moved call to 'CombineInstructions' earlier in the optimizations in order to catch cases created during xbox specific instruction translations before they are modified by other optimizations that then made the patterns unrecognizable
2018-08-11 08:22:10 -05:00
revel8n 7b2e001cff
Ensure usage index is set on position declaration to ensure validity when more than one is used 2018-08-11 07:59:21 -05:00
PatrickvL d9c0145d84
Merge pull request #1380 from RadWolfie/dinput-hotfix
Fix controller's input conflict between DInput and XInput controllers
2018-08-11 06:40:18 +02:00
RadWolfie c9d68118d4 Fix controller input conflict between DInput and XInput controllers 2018-08-10 16:13:46 -05:00
Luke Usher 5ba5da9617
Merge pull request #1377 from revel8n/vertex_shader_improvements
Vertex shader improvements
2018-08-09 19:34:26 +01:00
Luke Usher 114041f3a8 Fix Zapper! 2018-08-09 19:21:41 +01:00
Luke Usher 5b45eba1a9 Implement dcl overrides: Fixes VertexShaders XDK sample 2018-08-09 15:50:53 +01:00
revel8n 9e0e367d15
Update vertex shader compilation to version 2.x
- Added define for max temporary register count
- Added define for max instruction counts
- Updated address register accesses to use 'mova' instruction
- Updated shader versions to '2.x'
- Updated shader instruction truncation logic to use max instruction define
- Updated register usage arrays to use max temporary register define
- Updated register usage logic to make use of 'NumTemps' vertex shader caps
2018-08-09 05:11:43 -05:00
revel8n aebfde5df5
Ensure correct swizzle is used for instructions that only allow for a single swizzle component
- Updated commented out DXBX method to work with current code structure
- Default swizzle to .x component per direct3d documentation (needs further verification)
- Updated logic to only apply RSQ swizzle when not already referencing a single component
2018-08-09 05:04:43 -05:00
revel8n 5c801b2a05
Ensure write masks are excluded for oPts register 2018-08-09 04:56:20 -05:00
revel8n 26f1176cec
Ensure token traversal does not overrun declaration size
- Updated parameters to include DeclarationSize in order to ensure accesses do not go beyond allocated memory
2018-08-09 04:53:14 -05:00
RadWolfie 99fb143a04
Merge pull request #1376 from RadWolfie/settings-ini-hotfix
Settings class hotfix
2018-08-08 16:22:09 -05:00
RadWolfie d5a9a3ece1 Do not append string twice 2018-08-08 16:11:06 -05:00
RadWolfie 1f0c6bda5f Fix load default settings on first run.
Confirmed tested on my computer with default value.
2018-08-08 16:00:16 -05:00
RadWolfie 4182df723f Fix to support other compilers by include experimental path 2018-08-08 15:29:35 -05:00
RadWolfie 0a5789228a convert 2 dupliate methods into a function
Plus use std::string instead of char array for prevent buffer overflow.
2018-08-08 15:28:53 -05:00
RadWolfie 91168833f1 Enforce use string terminate after strncpy call. 2018-08-08 14:32:11 -05:00
Luke Usher dd32032426 oops 2018-08-08 16:19:55 +01:00
Luke Usher 424417f665 Fix an issue where Recent XBE didn't work in Debug builds 2018-08-08 15:52:12 +01:00
Luke Usher 03002ca8fa Better dcl generation: Dolphin works again, BumpDemo improved, CompressedVerticies now renders 2018-08-08 15:44:00 +01:00
Luke Usher 26fe73e273 Fix Cartoon sample 2018-08-08 13:49:49 +01:00
Luke Usher 8891db87d7 DolphinClassic works, but scales instead of swims. Dolphin has missing dolphin but no longer crashes 2018-08-08 13:42:21 +01:00
Luke Usher b5fcc7a543 Fix compilation issue in Dolphin, still crashes. 2018-08-08 13:33:56 +01: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
PatrickvL bdd929ef04
Merge pull request #1374 from ergo720/kernel_crypto
Kernel function XcDESKeyParity implementation
2018-08-05 16:12:47 +02:00
ergo720 110090ff08 Implemented XcDESKeyParity 2018-08-05 14:37:13 +02:00
PatrickvL f0399b9ba5
Merge pull request #1373 from ergo720/kernel_crypto
XcUpdateCrypto implementation + refactored kernel crypto functions
2018-08-04 21:04:46 +02:00
ergo720 a7daa7f00c Correct previous commit 2018-08-04 15:46:17 +02:00