whitedragon0000 / OpenBOR_PLUS

OpenBOR PLUS is the ultimate 2D side scrolling engine for beat em' ups, shooters, and more! This version has all official features plus new features!
http://www.chronocrash.com
BSD 3-Clause "New" or "Revised" License
49 stars 8 forks source link

Wiimote only controls not working correctly on latest OpenBOR PLUS (Classic Controller & GCN Controller works) #92

Closed saulfabregwiivc closed 1 year ago

saulfabregwiivc commented 1 year ago

Please complete the following template to help us investigate your issue. Developer time is very limited - incomplete issue reports may be ignored and deleted.

Note: Legacy builds are not supported. Any fixes will be applied to the latest engine builds.

Description

On latest version of OpenBOR PLUS Wii (v4.0 Build 474) the controls (input) on the Wii Remote (Wiimote) doesn't work correctly.

For be exact: when using Wiimote only (sideways), when you press the D-Pad one time to any direction, OpenBOR PLUS Wii strangely detects that you have pressed the input twice (two times). This happens on EVERY game (BOR engine port issues i think?), and also it happens on ALL models of Wiimotes (including the Wii Remote Plus with built-in Wii MotionPlus). The other controllers (Wii Classic Controller, GameCube Controller) works fine, only issue with input is with the Wiimote.

PD: Only D-Pad is affected on Wiimote, the rest of buttons work just fine.

This happens on real Wii console, but oddly it doesn't happen on Dolphin Emulator.

Debugging

Reproduce

Provide step by step instructions to reproduce the behavior. Include any text files, scripts, etc., along with the engine log. In some cases, we may need a download link to your entire module:

  1. Load OpenBOR PLUS Wii with Wiimote only (no CC/GCN controller connected)
  2. Load any game (i used Streets Of Rage 4 HD Edition)
  3. Press the D-Pad to any direction, you'll notice that OpenBOR Wii will register your one-press input as twice press input, which shouldn't happen. (all rest of the buttons work fine their inputs)

Expected behavior

The Wiimote input (in this case the directional pad) responding as pressed only one time (see video below).

Screenshots

(The videos were recorded on original Wii hardware, but the game was loaded automatically from a forwarder channel, with meta.xml arguments for autoload a .pak game on OpenBOR PLUS Wii from SD/USB)

Expected: Last version of OpenBOR PLUS Wii without D-Pad input issue: (OpenBOR PLUS Wii v4.0 Build 469)

https://user-images.githubusercontent.com/66485640/203681894-698fb0d6-4d73-464e-921d-2af88981c34a.mp4

Issue: Latest OpenBOR PLUS Wii with D-Pad input issue: (OpenBOR PLUS Wii v4.0 Build 474)

https://user-images.githubusercontent.com/66485640/203681917-93255d15-481d-467a-b62b-5b3c40807e9a.mp4

Version

Please provide the SPECIFIC version the issue first appeared. This is very important, it is nearly impossible for us to pour through the entire code base to find singular issues without a starting point.

Since last version of OpenBOR PLUS Wii without the D-Pad input issue was v4.0 Build 469, latest v4.0 Build 474 caused the issue.

Additional context

No additional context.

saulfabregwiivc commented 1 year ago

Updated some info for be more exact in this issue.

francesco-durante-eng commented 1 year ago

Thanks for the detailed explanation. I can't replicate the bug... I'm using dolphin emulator anyway. Have you tried deleting the whole folder save and trying again after the update?

Looking at the code, there doesn't seem to be anything wrong because one device is being used rather than another. There are no coincidences.

Would you be able to reproduce the same bug on Dolphin as well?

However it is possible that deleting the folder saves you can solve.

Thanks

saulfabregwiivc commented 1 year ago

Thanks for the detailed explanation. I can't replicate the bug... I'm using dolphin emulator anyway. Have you tried deleting the whole folder save and trying again after the update?

Looking at the code, there doesn't seem to be anything wrong because one device is being used rather than another. There are no coincidences.

Would you be able to reproduce the same bug on Dolphin as well?

However it is possible that deleting the folder saves you can solve.

Thanks

I already told that in Dolphin this issue oddly doesn't occurs, but it happens on real Wii hardware.

francesco-durante-eng commented 1 year ago

Hi @saulfabregwiivc, I figured out why it's not reproducing the problem in the emulator. I reactivated my old Wii (had to fix the sensor bar for that). The Wii ALWAYS sees the GC gamepads connected.

I uploaded a new beta boot.dol in the zip file. Could you please test and see if everything works? Always remember to delete the folder saves.

I also greatly improved the RUMBLE functionality by adding a new function in the openbor script to activate it also via script.

boot.zip

If you tell me everything is ok, I'll make a new release. Thanks

saulfabregwiivc commented 1 year ago

Sorry for a bit late response :P

After me and my friend tested this build on real Wii hardware, the controls and input are now working as should.

Tested on all models of Wiimotes (including Plus) and now it's working as expected. Closing this issue since it is solved, but needs to add the fixes to the code, and release a new version with the stuff you fixed.

Thanks!!! :)

francesco-durante-eng commented 1 year ago

Glad I fixed it, thanks for the detailed info. New version released!