Commit Graph

105 Commits

Author SHA1 Message Date
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
Glenn Rice 63d296fcba Take care of a few more compiler warnings.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5388 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-04-19 03:39:26 +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
Glenn Rice dc7029e7f4 Remove HaveFocus, and put that code into IsFocus. Thanks ayuanx.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5058 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-14 14:48:19 +00:00
Glenn Rice e5afde67ce In linux only read keyboard and mouse input when the emulator window has focus.
Also other code clean up.


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5053 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-13 23:56:24 +00:00
Glenn Rice 5e6eecf0af Ok, this really does it.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5052 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-13 21:19:41 +00:00
Glenn Rice 24a4d1a1e0 Ok, now the mac build should be fixed
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5051 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-13 21:12:16 +00:00
Glenn Rice 47609c4524 Mac build fix to the issue caused by my last commit.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5050 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-02-13 21:06: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
Glenn Rice 10192a9a4b Change default wiimote emulation key settings to lowercase in linux
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4969 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-27 13:46:30 +00:00
Glenn Rice 36a5015bc0 Make arrow and home keys work in wiimote emulator.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4967 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-27 02:39:59 +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
Glenn Rice b17c5f3cf3 Fix the linux keyboard.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4951 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-24 18:23:47 +00:00
ayuanx f60c3e8445 Fixes Issue 1910
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4886 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-01-19 09:54:21 +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
ayuanx 6f1efd4873 Rearranged EmuWiimote & nJoy. Wow they can share one pad at the same time, and they also can be enabled/disabled separately.
So as long as the game supports, you can toggle controller input between them on the fly.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4691 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-14 02:23:14 +00:00
ayuanx d476048359 Made Roll & Pitch independent from each other, you can set one to free swing while keeping the other in degrees.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4685 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-13 01:03:36 +00:00
ayuanx cca6f75110 Changed "Wiimote On" to "Input Active", so you can bypass Wiimote input when you want to use GC controller instead, even though their buttons are binded to the same keys/pads.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4681 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-11 13:57:25 +00:00
bztdlinux 851962977e Oops, fix shake which I broke :(
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4666 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-09 20:47:50 +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 80601f70c5 Makes IR dots rotate accordingly when EmuWiiMote rolling is performed, this function should be able to fix Issue 1740, but needs verification yet.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4657 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-07 18:51:20 +00:00
ayuanx 0238727c52 Wiimote cleanup, especially for Roll & Pitch, now accelerometer axes should be correct.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4654 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-06 18:26:20 +00:00
ayuanx db98709de0 Implemented Pad Rumble for Emu WiiMote, Currently this function is still quite basic and rough.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4649 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-06 01:15:13 +00:00
ayuanx 973441d703 Revert "shake" to the previous fierce one. Yes, some games require you to shake as hard as you possibly can. So better keep shake always hard.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4643 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-05 10:50:35 +00:00
ayuanx 24a785af59 With Roll & Pitch binding to "Keyboard" and both degrees setting to "Free Swing", the "Pitch Left" and "Pitch Right" keys on keyboard now work like "Swing to left" and "Swing to right".
This enables you to use knife on a keyboard instead of an analog stick in games of "Resident Evil: Umbrella Chronicles" and "Resident Evil: Darkside Chronicles".

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4642 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-04 21:13:27 +00:00
ayuanx c71adffa80 New Feature: Free Swing for EMU WiiMote
How to: First bind Roll & Pitch to "Analog 1" or "Analog 2", then set Roll Degree and Pitch Degree both to: "Free Swing".

Now in games, you can swing your emulated wiimote to Up/Down/Left/Right by simply pushing your binding analog stick to Up/Down/Left/Right.

PS:The swing direction will automatically adjust itself when "Upright Wiimote" option is checked.

Now you can play "Mad World" with emulated wiimote. :)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4641 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-04 16:36:24 +00:00
ayuanx 4d512ecba7 1. Fixed the unbearable noise in "Resident Evil: Umbrella Chronicles", "Resident Evil: Dark Chronicles", and many other games.
No need to use "Sound Loop Hack", so I just removed it.

2. Fixed the WAD game loading issue. What can I say, I have to go though and patch all the WII_IPC_HLE devices to take care of this.

3. Applied tomman's Linux keyboard patch, but I can't test here, no suitable environment.

4. Disabled configuration dialogs when game is running, you have to pause game first to be able to change any configuration. (Which prevents some accidental crash to happen.)

5. Other trivial fixes, no need to mention.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4632 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-12-01 15:39:37 +00:00
luisr142004 9e17ee5155 fix a linux wiimote compile error and apply some little changes to the dx plugin :P
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4631 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-30 03:48:59 +00:00
ayuanx 5ef159a971 Now WiiMote button mapping supports both Keyboard & Joypad, or even mixed, no need to bother Xpadder. :)
But I've only tested on Win32 SDL, don't know about Linux or 360pad.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4630 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-29 17:58:52 +00:00
ayuanx 3e287233e9 Shake in last revision works, but not that sensitive.
So just updated the keyboard "shake" function a bit, this can dramatically increase the shake key sensitivity.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4625 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-28 18:37:57 +00:00
ayuanx ff23c02795 Now "Wiimote/Nunchunk Shake" on Keyboard works(for Win only).
Just press the "Shake" key.

The shake involves all the three axes: X, Y, Z.
So when you press the shake key, you are actually shaking not only up-down, left-right, and forward-backward at the same time.
I did this becuse different games may require different directional shake, no need to seperate them to 3 keys I think.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4624 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-28 18:00:07 +00:00
ayuanx 29774c35e8 My first commit :)
Fixed more memory leaks when doing state load. Now all file devices(handles) are stored in state, and this will fix some crash after loading state.

Warning: Do NOT Save/Load state before game title is shown and controllable, or else you will get a corrupt state.

If you encounter "Emu WiiMote Desync" frequently, please report the condition
(PS: To recover from wiimote desync, just load a saved state)

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4608 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-24 17:10:38 +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 a5cde0d45b refine changes made in r4567
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4576 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-14 23:16:42 +00:00
Shawn Hoffman a60ad41d4d apply ayuanx's fix for classic controller events not being recognized if you are pressing certain combinations. fixes issue 1592
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4567 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-11-14 17:28:21 +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 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
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
John Peterson 53a8ca52b6 GUI: Fixed the render-to-main fullscreen mode and screen resizing
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4056 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-08-25 06:34:58 +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 3ad9b0a466 GH3 controller is now available to choose as an extension
joystick works from a pad, but doesnt work from the keyboard, maybe because of incorrect calibration values?


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3827 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-18 05:04:36 +00:00
LPFaint99 48f1c24cc9 Add gui for GH3 Controller, extension is still disabled currently
Analog stick and whammy still do not work for GH3 extension, frets, strum, and +/- work
some cleanup
Next commit will change the PadMapping gui to only show the controller mapping for the currently enabled extension

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3718 8ced0084-cf51-0410-be5f-012b33b47a6e
2009-07-09 03:58:53 +00:00