Emulator Issues #1740
IR dots don't rotate
What steps will reproduce the problem?
1. Run Trauma Center Second Opinion
2. Get to the the stage "Nurse Angie->From Overseas"
3. Try to rotate the bone pieces while holding both A and B buttons (using
What is the expected output? What do you see instead?
expected: the bone pieces to be rotated
see instead: the bones doesn't rotate
What version of the product are you using? On what operating system?
Latest version on WinXP or Vista, but it doesn't matter. This function
never worked anyway and I think I discovered why. Not a big deal. More info
Please provide any additional information below.
I'm not a programmer but I'm good with logic. I've been looking in
dolphin's code, in the EmuDynamics.cpp of Plugin_Wiimote's source hoping to
find out what is wrong when you twist the emulated wiimote pointed to
screen and the bones never rotate. And I discovered the section "IR data
So after reading some code, I figured out there are 2 dots like in the real
hardware (4 coordinates been 2 for x and 2 for y, I guess) and it seems the
dots are always reordered based on it's x-values. And then there is this
part (line 417):
/* For the emulated Wiimote the y distance is always zero so then the
distance is the simple distance between the x dots, i.e. the sensor bar
So correct me if I'm wrong, but if y-distance is always zero, there is no
rotation of the wiimote IR sensor at all but only the accelerometer does
rotation. And if my assumption is correct, so to be able to twist/rotate
the bone pieces, there must be a distance between y dots to
detect/calculate rotation. In the real hardware, there is a IR camera-like
inside the wiimote, I think (based on sensor calibration observation).
Like I said, I'm not a programmer but my suggestion is: modify the code so
when emulated wiimote twist/rotate while pointed to the screen, the IR
twists/rotates too based in it's x and y axis, and not just x.
If I said a lot of bullshit above and the code modification is not possible
by some reason, I apologize.
Thanks for your hard work, Dolphin DEV Team o/
#3 Updated by ayuanx about 10 years ago
So what movements were you supposed to perform on that bone-rotation? I mean with a
From your description, you said you just needed to "hold A & B"? That's all?
I think you have to some special movement like roll left 45 degrees or so, don't you?
#4 Updated by rodiabloalmeida about 10 years ago
You have to point the wiimote to the screen, grab the bones by holding A and B
buttons (like a tweezer) and twist it like a door knob. Doing this, the bone rotates
like a clock pointer to the left or to the right. Here is a video showing what I mean.
btw, did you read my whole explanation and the .cpp code also?
Thanks for trying to help on this. ^
#6 Updated by rodiabloalmeida about 10 years ago
Of course it has to be with an analog stick. What I've been trying to say is that
this issue is as old as dolphin's wii emulation. I test dolphin since r27, ayuanx.
Doing "roll" with an analog stick does nothing with the bones because "roll" only
affects the acelerometer of the wiimote, but not the IR camera-sensor-whatever. If
only you had the game to test it...
btw, when you calibrate the wiimote on the real hardware, there are 2 dots on the tv
screen, and you can rotate then and zoom then. Most games don't use this, but uses
the accelerometer as reference instead. I hope I made this clear now ;)
#7 Updated by ayuanx about 10 years ago
Well, Could you have a test on this?
- Apply this patch http://forums.dolphin-emu.com/attachment.php?aid=1749
- Bind Tilt & Swing to Analog Stick
- Set Roll L/R to 90 degrees, set Pitch U/D to Free Swing
- Do that twist thing while pressing analog stick to left or right
#9 Updated by rodiabloalmeida about 10 years ago
Here is some feedback, ayuanx.
First of all, I just realized that you don't have to own Trauma Center SO to test
this thing. You can just load any wii game and press the HOME button to test the
rotation by looking at the little hand on the screen.
After some testing, I can confirm that if you set the roll to 90º, bind it to an
analog stick, set pitch to freeswing and try to rotate the IR dots, the result is the
described at the picture above:
You're almost there, ayuanx. Thanks very much for trying to solve this old issue.
#10 Updated by ayuanx about 10 years ago
rodiabloalmeida, I need you to do some tests with a Real Wiimote.
With a real wiimote, in the home menu, when you roll the real wiimote to left/right,
what will happen to the hand cursor on screen? Does its coordination change in this
I mean can you make the hand cursor rotate while maintaining its coordination on the
I suspect that you can't rotate the hand cursor without changing its coordination,
unless the hand cursor lies right in the center of the screen, is it so?
#11 Updated by rodiabloalmeida about 10 years ago
I can not do this test you are asking me to do until February 2010 because when my
nephew goes to school vacation, I usually borrow my Wii for him and he lives in
another city. But I can almost assure you that when you rotate the wiimote, the hand
rotates together and you can even move the pointer around the screen with the hand
rotated without losing control of it. I mean, the hand follows the IR position on the
screen (the spot you're pointing the wiimote to) and can do this with the hand in any
position ( the hand's finger ponting to the bottom of the screen, pointing to the
left, to the right or whatever direction you points the hand's finger to).