Commit Graph

53 Commits

Author SHA1 Message Date
snzgoo bdeefd361a MotionPlus code clean up and small code improvements.
Removing and adding some elements, making it more readable for others.
Off-Topic: Have fun at the Grandprix! May the best win:P

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5536 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-29 19:06:18 +00:00
snzgoo 99d9aa0613 Small change to my last commit, thanks for Billiard passing me the proper checksum for the old used calibration data. cheers!
I changed the checksum in the new wiimote plugin as well.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5523 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-28 03:13:33 +00:00
snzgoo 58d64625f9 Stage2 is approaching: Redsteel2/WiiSportsResort is now working with Motionplus&Nunchuk, and the controls for the nunchuk are working now as well.
Apparently, motionplus games are very strict on calibration data checksums, they don't like invalid/0x00'd checksums(this is trackable via 0x01 writes to the active extension register at 0xA400F3). I'll keep all motion plus related stuff that I've discovered on my blog: http://snzgoo.blogspot.com
Next time I'll fix the disconnects, which are most likely caused by the sent motionplus empty/dummy data.
So stage2 might come sooner than u guys thought. Let me hear u scream;)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5522 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-28 02:45:10 +00:00
snzgoo 619dc12349 Stage1.continued: Introducing partial emulated MotionPlus+Nunchuk support, allowing us now for instance to get ingame on RedSteel2. However dont expect too much yet, since this is not completely finished. Wii Sports Resort with mp+nunchuk won't work yet and input from the nunchuk passed through the motionplus does not work properly either. Apart from that Stage1, is almost done.
Just minor stuff that needs to be finished: Dummy motionplus data needs to be kept dynamic(just like wiimote accel data), or it might cause disconnects after some time. Furthermore, there are 1-2 remaining register writes that have to be understood and emulated.(e.g. 0x00F3/F4). In the end just minor stuff. I'll address that in my next commit.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5476 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-26 15:41:47 +00:00
snzgoo 7742e1a6dd Stage1: Introducing MotionPlus as emulated extension, allowing us to boot games that require the MotionPlus itself.
I also already implemented most of the needed data structures and datareport handling for the motionplus-nunchuk passthrough mode, which I'll add up next as well.

Wii Sports Resort is now bootable by just using an emulated wiimote (only working under the old wiimote plugin atm,
I asked billiard to port my commit into his plugin since he knows his plugin better than me and its less work for him than for me,
I kept most parts of my code in modules to simplify that task).

Upcoming stage2: Faking the motionplus on the fly on real wiimotes, that means you will be able to play, e.g.  Redsteel2 with a real wiimote and nunchuk or wii sports resort with just your real wiimote.
and nunchuk, but w/o the need of having a real motionpluscontroller connected. The new Zelda 2010 will benefit by that, since it will require a motionplus controller.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5438 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-05-07 22:39:06 +00:00
dapetcu21 fe5fb76fd4 Added UDPWii (iPhone WiiMote) support.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5351 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-13 01:34:11 +00:00
death2droid 1a07772c8f Commit some work based off of James333's auto reconnect patch.
This still requires more work, like making the option only per Wiimote then rather the first one counting for them all.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5241 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-03-27 04:21:19 +00:00
Glenn Rice c2e0c75c93 EXPERIMENTAL
Removed X event loops from GCPad and Wiimote plugins, and implemented an asynchronous check for keyboard and mouse buttons.
Also added an X event loop in core that handles events while the emulator is paused.  Prevents unexpected behavior from events that occur while the emulator is paused.
Now there is only one event loop running at a time (besides those hidden in SDL).
I will revert this commit if other devs are unhappy with it.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5048 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-13 20:47:23 +00:00
ayuanx fdaa0e8d4c Fixes Issue 2164
Conflicts are due to same file name when omitting full path

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4982 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-29 04:42:19 +00:00
Glenn Rice 727283c4de Added mouse support for linux. It is still rather crude, but it works.
Unfortunately the mouse pointer doesn't match up very well with the IR pointer yet.
Also, I had to add the PointerMotionMask to XSelectInput which adds overhead to the already stressed X event loops.  Five event loops by my count, really?


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4961 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-26 00:11:45 +00:00
ayuanx 68a4eacb62 Merged PadSimple with nJoy
(Linux build could be broken, X360Pad support could be broken)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4924 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-22 23:19:16 +00:00
ayuanx 516f7a4ca1 An attempt to fix Issue 1919 (Multi-Wiimote Freezing)
Please test.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4787 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-05 17:39:06 +00:00
ayuanx 92ef4f1156 1. Fixed the freeze issue in "Super Mario Galaxy" and other games, which was introduced since r4762
2. Fixed Issue 1909
   Multi-Nunchuck control problem

3. Updated SYSCONF, which should enable games that require MotionPlus, such as "Wii Sports Resort"

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4773 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-02 05:15:36 +00:00
ayuanx 25abd0f944 Small code cleanup
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4768 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-01 03:19:46 +00:00
ayuanx d62d6b0c33 Now Dolphin officially supports Multi-WiiMote (up to 4)
* You can connect/disconnect one or more WiiMote from Menu->Tools any time (must pause game first)

* Up to 4 Emulated Wiimotes can work together at the same timer

(PS: "Wiimote_Real" needs to be rewritten to support Multi-WiiMote, and it could be broken already now)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4736 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-27 19:31:02 +00:00
ayuanx 4240cf9053 Wiimote: More work, don't ask, no answer
nJoy: Maybe this could reactivate multi-pad?

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4729 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-25 22:10:56 +00:00
ayuanx 7d1fdb85f3 Implemented Nunchuck Roll/Pitch
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4702 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-17 14:15:56 +00:00
bztdlinux 828bf052f0 Keyboard Wiimote emulation cleanup, phase one
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4665 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-09 16:33:32 +00:00
ayuanx c9f98d8f2b Reorganized Wiimote Config Dialog a bit to make it more compact
Fixed many wrongly named variables
Deleted many unreferenced variables

wxWidgets cleanup

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4663 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-09 14:52:30 +00:00
ayuanx 48896c7de2 1. Fixed a silly bug that prevented IR rotation in last rev from working, now IR rotation works fine, verified.
2. Added Roll Left/Right key mappings for keyboard.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4659 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-08 19:58:19 +00:00
ayuanx d919a641c1 Makes "Shake by Mouse Middle Button" work again
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4640 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-04 12:22:36 +00:00
Shawn Hoffman 8405c4049d Commit better wiiuse compiles, the ones in last commit may have been switched around by git on me. Add MotionPlus to the statesave so it won't be a bother later, and uncomment some things so accessing it doesn't cause PanicAlerts
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4612 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-26 05:01:24 +00:00
Shawn Hoffman 6a46befc2a commit ayuanx's patch from issue 1634. Fixes quite a few IPC + IPC_HLE + IPC_HLE_USB + wiimote problems, see the issue for full details
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4606 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-24 05:03:47 +00:00
Shawn Hoffman 06aa62504c revert to r4531, but keep the changes from the following revisions: 4533,4550-4551,4556-4559
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4566 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-14 17:08:32 +00:00
John Peterson ee88afce58 Gamepad (minor) > Disabled LiveUpdates, it's not stable in the current form
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4552 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-13 01:52:15 +00:00
John Peterson 71506bc0f7 Wiimote and nJoy > Gamepad changes
1. Added LiveUpdates, while the configuration window is open nJoy and Wiimote will check for connected/disconnected pads
2. Removed the 'Nintendo RVL-CNT-01' device from the device list, and other SDL devices with no axes/buttons
3. Added SDL (from the current SVN) to get debugging information for SDL.dll
4. Added 'Upright Wiimote' option to emulated Wiimote options

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4534 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-12 18:57:35 +00:00
Shawn Hoffman 0b30b23719 give wiimote + extensions more sane (to me...) default keys. make order of all directions be left, right, up, down, instead of having different orderings
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4525 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-09 07:46:43 +00:00
LPFaint99 c8d46de541 fix for issue 1585
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4524 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-09 05:32:33 +00:00
Shawn Hoffman 65b6b15c6e normalize wiimote logging: no more crazy newlines, plugin logs to...wiimote plugin log, ipc wiimote stuff logs to...WII_IPC_WIIMOTE
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4270 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-15 02:12:55 +00:00
hrydgard 0a576c7508 Linux: Tons of warning cleanup plus workaround a nasty crash problem in StatusBarMessage.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4234 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-09-08 21:16:05 +00:00
Sonicadvance1 8fd481fdfa Commit lpfaint99\'s Emulated Wiimote Fix for Linux. Works, haven't tested any extension emulation, but should work
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3927 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-02 08:53:54 +00:00
XTra.KrazzY c86d2e5129 Now ALL copyright dates are fixed to the legally correct year: The year in which the project began. Now we don't have to change it every year :)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3898 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-28 21:32:10 +00:00
LPFaint99 b6a43c5db8 Steps to simplify pad mappings for wiimote plugin
simplified ini saving
misc cleanup;
My next few commits will change the config gui to only show the pad mappings for the currently connected extension, more cleanup/simplification, GH3 controller config options; I just have no more time tonight :P

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3708 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-08 07:16:26 +00:00
LPFaint99 c921fe1c13 New Wiimote Plugin Config GUI
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3676 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-05 04:29:00 +00:00
LPFaint99 86a51e0c57 Some Work on the Guitar extension for Wiimote, untested, no gui yet
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3674 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-04 07:28:48 +00:00
Shawn Hoffman 2301d072a6 nakee's new logmanager. added a console window for windows builds (prints to parent console on non-win32). also fix some random wxw bugs: main window's position is saved when using debugger, disabling windows from the tools menu are saved settings, some other small fixes
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2675 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-03-18 17:17:58 +00:00
John Peterson 4bcb9b5834 Emulated Wiimote IR pointer: Made it compatible with the new aspect ratio options in the OpenGL plugin. It will now load the same settings that the OpenGL plugin use. So if you change the settings there, you'll have to open the Wiimote configuration window so that the new settings are loaded for it to.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2439 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-26 00:11:51 +00:00
John Peterson b739dd3817 Emulated Wiimote: Added Classic Controller analog gamepad support, and added its keyboard configuration to the GUI
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2400 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-24 02:40:17 +00:00
John Peterson 489816dce7 Emulated Wiimote: Updated the accelerometer recording to record the gravity forces in all directions instead of recording raw data, to bypass problem of different Wiimotes having different neutral values
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2316 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-20 09:57:17 +00:00
John Peterson 59734ddc86 Emulated Wiimote: Added game specific Wiimote cursor configuration. The IR pointer settings will be saved for the ISO id of the ISO that is loaded. This is necessary because there is no common way of treating the IR pointer positions. The IR data use a virtual resolution of 1024 x 768, but there is no consistency of where such a point is on the screen.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2314 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-20 03:13:22 +00:00
John Peterson 55b7e79d49 Emulated Wiimote: Collected all system specific keyboard input functions to one multi system function
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2270 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-15 22:23:59 +00:00
John Peterson 1fbebb4ce1 Wiimote: Configure gamepad in Wiimote plugin
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2172 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-09 13:10:29 +00:00
John Peterson 2757dbe2a8 InputCommon and Wiimote: Detect pads in the Wiimote plugin
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2151 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-08 15:39:28 +00:00
John Peterson fcdd2a8e17 Wiimote:
1. Fixed the dual mode. You should now be able to change between the real and emulated Wiimote at any time, even when the Nunchuck is connected. It also supports third party Wireless Nunchucks that never sends any calibration values. The Nunchuck status should be automatically updated. The Nunchuck stick may get stuck, but that should fix itself if you disconnect and reconnect again. The only important problems seems to be that the real Wiimote fails to answer sometimes so that the Core functions disconnect it.

2. Began looking at how to reconnect the Wiimote after an unwanted HCI disconnect command

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2129 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-07 03:16:41 +00:00
John Peterson cf303e70e9 Wiimote: Show the decrypted Nunchuck calibration values in the log when a real Wiimote and Nunchuck is used. Fixed an earlier bug that made the neutral emulated nunchuck accelerometer values zero, now they are back to 0x80,0x80,0xb3.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2104 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-04 06:40:05 +00:00
John Peterson 220eafad0e Wiimote: The first working IR recording, use Alt + the numerical HotKey to play back the IR data associated with a recording
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2078 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-03 00:59:26 +00:00
John Peterson e9036455d6 Wiimote: Fixed the shared eeprom settings, now the first 42 bytes are shared in dual mode. I'm only copying the data from the Wiimote. I'm not changing anything on the Wiimote eeprom.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2056 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-01 14:58:44 +00:00
John Peterson 888465868d Wiimote: Fixed the switching between real and emulated wiimote, the reporting mode is now shared in real/emu dual mode, the accelerator neutral values are shared, the extension is somewhat shared but still doesn't support unplugging and reinserting the extension during gameplay in dual mode. Improved debugging, fixed a bug in movement recording, fixed a bug in report 0x21 eeprom reading so that the game reads the accelerator neutral values from it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2048 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-02-01 13:01:50 +00:00
John Peterson a35579c40b Wiimote:
1. First test version of movement recording (play back recordings with Shift + 0-9 or Ctrl + 0-9)

2. Really fixed the problem that the Wiimote get stuck on rumble when a game is stopped (sorry about that)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2033 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-29 08:35:29 +00:00
John Peterson ae9cfbd8e3 Common: Moved Windows console functions to common
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1887 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-01-17 14:28:09 +00:00