Commit Graph

261 Commits

Author SHA1 Message Date
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
ergo720 2680f4b6e8 Added usb packet logging solution configuration 2018-07-14 17:00:05 +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 8afea9fe77 Fixed MSB8004: Intermediate Directory does not end with a trailing slash. 2018-06-19 00:46:43 -05:00
RadWolfie 1623068193 Compile builds are using msvcrt, not libcmt.
See `C/C++ > Code Generation >Runtime Library` for all builds.
2018-06-19 00:11:50 -05:00
RadWolfie 7327793b28 Remove minimal rebuild option
Enabling minimal rebuild does not work with multi-processor compilation (/MP).
2018-06-18 14:21:04 -05:00
RadWolfie 4182e7aea0 Remove old code 2018-06-16 20:42:39 -05: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
Luke Usher 95c2a5ec74 Fix an issue where AppVeyor build script would not take tags into account 2018-06-14 14:08:20 +01:00
Luke Usher 39289ad143 Temporarily remove D3D8to9: Fixes missing graphics in some titles (Lego Star Wars) 2018-06-06 19:47:15 +01:00
Luke Usher c1bc34eb80 Update Submodules 2018-05-29 18:03:19 +01:00
Luke Usher 1684bf4565
Oops: Fix typo 2018-05-29 14:56:02 +01:00
Luke Usher 9eb7df406f
Retarget CxbxVSBC to $(DefaultPlatformToolset) and SDK 8.1
This keeps it consistent with the rest of Cxbx-Reloaded
2018-05-29 14:26:25 +01: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
blueshogun96 a81db113ee Cleanup duplicated handles for APCs 2018-05-26 12:14:03 -07:00
Luke Usher e864f301a7 Oops 2018-05-25 23:08:11 +01:00
Luke Usher f86d3d9509 Even more aggressive optimization (Use LTCG) 2018-05-25 22:59:57 +01:00
Luke Usher e6013ba225 Tweak optimization settings: This should give a (slight) speed boost for some users 2018-05-25 22:39:39 +01:00
PatrickvL 0682970e42 Project fixups 2018-05-24 10:36:24 +02:00
PatrickvL 356b7c5a27 xbdm : Initial commit; Thunk table + importing (2 functions already imported by debugchannel.xbe XDK sample) 2018-05-22 15:09:58 +02:00
RadWolfie ccff183600 Editorconfig second revision
* Apply only for src and resource directories.

With this setup, it should work as intended only for Cxbx-Reloaded's source code without affecting third-party projects.
2018-05-16 10:20:48 -05:00
RadWolfie eec4e065bb Another fix for sln file 2018-05-12 07:24:10 -05:00
RadWolfie 8b0d1f3893 Fix sln file 2018-05-12 07:24:10 -05:00
RadWolfie 5e4aedd764 Fix build attempt to access invalid files 2018-05-12 07:24:10 -05:00
RadWolfie ed263d7dbc Start using XbSymbolDatabase library
It does not fully transfer everything yet and D3D8 depending on OOVPA signature directly are currently disabled for time being.
2018-05-12 07:24:10 -05:00
RadWolfie 4344f5db58 Remove HLEDatabase files
Moving into new project.
2018-05-12 07:24:10 -05:00
Luke Usher 317b9dfe00
Revert "Replace EmuX86's interpreter with Unicorn" 2018-04-29 20:16:03 +01:00
ergo720 125bc23d4f Pool manager initialization 2018-04-28 22:05:06 +02:00
ergo720 55d0d36d3e Merge remote-tracking branch 'upstream/master' into eeprom_viewer 2018-04-26 11:06:09 +02:00
Luke Usher bb65ee7ae4 Fix build dependancy order 2018-04-23 19:51:44 +01:00
Luke Usher 640d5570f1 Rebase on latest master 2018-04-23 10:57:55 +01:00
Luke Usher a24cb08566 Replace EmuX86/Distorm interpreter with Unicorn 2018-04-23 09:51:04 +01:00
ergo720 4ecfc4d5d4 Started to write eeprom menu 2018-04-19 19:56:20 +02:00
PatrickvL ffceb1600a
Merge pull request #1076 from ergo720/signature
Xbe signature validation
2018-04-19 09:25:40 +02:00