May 16, 2018, 12:58 PM | |
Phantom controller input
Hi folks. Some people have reported receiving constant input from controllers or controller-like devices that do not seem to correspond to things they are intentionally doing, e.g. their rabbit constantly tries to move down and right.
plus_controller_patches.zip This is the latest release of JJ2+, but edited to add some prospective fixes to phantom movement problems, and people in this thread have been reporting this works for them. (A fix for people with mouse movement issues instead is also in the works but it wasn't feasible to get it into the same branch as this code, sorry.) If you're still having problems, before making your report, please instead use the plus.dll from plus_controller_diagnostics_3.zip, which has a minimal modification to constantly show all controller input information. (Only while ingame--if your phantom controller makes it impossible for you to navigate the menu system, load JJ2 directly into a level by command line/drag+drop.) If you experience such phantom input, please a) explain what your specific problem is, b) compare your experience to your experience using regular unpatched JJ2, c) post a screenshot of the various numbers in their base state (i.e. when you are not intentionally doing anything), and d) report how the numbers are affected by any related experiments you choose to do. Thanks! Last edited by Violet CLM; May 2, 2020 at 04:04 PM. |
Jun 17, 2018, 02:36 PM | |
![]()
You know, I'm using the latest WINE stable release (3.9) to run Jazz Jackrabbit 2 and I'm have some really bad problems with my Sanmos TWIN SHOCK gamepad.
One one the symptoms just happens to be "mouse pointer constantly moving to the left", so I figured that I'd report the problem here. Another problem is that the player always looks up unless I move the stick into the up direction. From what I could gather, it seems that the stick only returns integers, which explains why the directional button works erratically; and dwPOV return numbers from 0 to 31500, being 65535 when nothing is pressed. This is what is being reported when nothing is pressed: https://i.imgur.com/yQ3FDXm.png This is what reports when the Button 2 is being pressed: https://i.imgur.com/rkwBTdi.png And this is when I move the left stick to it's left-up position and the right stick to it's right-down position: https://i.imgur.com/jyrFEoq.png Though I might report this to the WINE team as well since in WINE's Joystick configuration panel, the 1, 2, 3 and 4 buttons flicker when holding them pressed, instead of just staying pressed and I recieve this message in the terminal: 0029:err:hid_report: process_hid_report Device reports coming in too fast, last report not read yet! And here's the video of WINE's control panel bug: https://youtu.be/3jqli888hRs |
Jun 22, 2018, 05:19 PM | |
Report from Genstar, who I guess is having J2O account problems:
Combination of WINE and TWINSHOCK controller "moves the mouse cursor to the left in-game and some buttons work too fast on menus, directional keys don't even work properly and only the jump button works" "In control joy.cpl, the 1,2,3 and 4 buttons flicker when pressed instead of just staying pressed... Also got the "device reporting too fast" error on the terminal when running WINE control joy.cpl" Nothing pressed: ![]() Button 2 pressed: ![]() "when left stick is up-left and right stick is down-right": ![]() "dwPOV shows from 0 to 31500, being 65535 when nothing is being pressed on the POV" |
Aug 17, 2018, 03:21 PM | |
So, whenever I select a level from Home Cooked, and only from Home Cooked, the controller constantly registers movement right and down (EDIT: I have tested this further, and found this behaviour if I use the command line loading, but only for A Generic SP Episode II. My own custom levels seem to not be affected by this. Perhaps it's memory usage related?). This includes it making me stomp whenever I'm in the air, for instance if I've jumped. It also doesn't let me manually move down or right at all.
TSF level 1, working normally: ![]() HH '17 loaded from its custom J2E episode, working normally: ![]() A custom level I was working on a few years ago, loaded from a command line argument, working normally: ![]() Same custom level, not working normally; stuck moving down and right: ![]() Different custom level, same problem: ![]() |
Aug 29, 2018, 04:55 AM | |
![]()
I can confirm that such incidence happens with Jazz Jackrabbit 2 1.23, JJ2+ 5.6 via Lutris (Wine-Staging 3.10 i386) on Linux Mint 19 (x64) Mate with Logitech F310 Xinput/DirectInput. As the game is started with Jazz2.exe -menu -windowed -nolog -nospy executable and arguments, mouse cursor immediately moves left even in OS level. When a map is started, the character looks up as it is shown in previous posts. I found related lines in the readme of the latest release of JJ2+:
"Improved support for DirectInput/XInput (read: XBox-style) controllers: JJ2+ should now ignore corrupted controller data instead of seeming to constantly press the left and up keys." https://docs.jj2.plus/ It looks like some Windows and WINE setups fail to "gnore corrupted controller data." When -nojoy argument is added, problem disappears but as it disables controller support, it's a bit pointless. Alternatively, Linux users can emulate keyboard buttons on controller with AntiMicro but that would be a dirty solution to be honest. Here are the Lutris page and code of the installer script: https://lutris.net/games/jazz-jackrabbit-2/ https://lutris.net/games/install/2782/view |
Aug 29, 2018, 08:48 AM | |
Okay. Did you get any data from the plus_controller_diagnostics.zip I linked prominently in the opening post? Also, does your character constantly look up in regular JJ2 (without the JJ2+ patch applied) as well, or is your problem unique to JJ2+ v5.6?
|
Sep 3, 2018, 10:45 AM | ||
Quote:
Sorry for late reply. Unfortunately I am not competent enough to make plus_controller_diagnostics.zip or regular v5.6 version of JJ2+ run with WINE manually. Lutris script that automates installation makes use of additional tools some of are AutoHotkey, Helper. Merging and overwriting Lutris installation with your diagnostics tool didn't provide the additional data shown in previous posts. As I installed JJ2 via WINE manually, JJ2 1.23 without JJ2+ doesn't have phantom controller issues that I experienced with JJ2+ v5.6. Here are my findings; JJ2 1.23 without JJ2+ (controller is active): - Characters do not constantly look up. - Controller buttons work without a problem, they can also be remapped. - No mouse cursor capture and/or shifting issue occurs. JJ2 1.23 with JJ2+ v5.6 (controller is active): - Characters do look up constantly. - Most of controller buttons do not work. If up button is pressed, character stops looking up, but when you stop pressing, it returns to looking up. Jump, fire, pause, menu buttons work but down, left, right buttons do not work. Buttons cannot be remapped since up button is being constantly pressed. Up button works in menus but other direction keys do not work. - Mouse cursor moves left in OS level if it is on the window of JJ2. Even if the cursor leaves JJ2 window, it keeps moving to the left edge of the desktop. |
Mar 31, 2019, 04:53 AM | |
![]()
As March 2019, phantom controller input as well as moving mouse cursor issues with JJ2+ v5.6 still exist on Linux. By curiosity, I manually installed the game with WINE, applied 1.23 patch and JJ2+ v5.6 to bypass AutoHotkey, Helper files that Lutris script uses; the bugs are still there.
Today, I found plus.zip version of JJ2+ v5.5 on archive.org; edited Lutris script to replaced JJ2+ v5.6 URL with v5.5 URL, installed the game via edited Lutris script; lo and behold... And it worked without phantom controller input and moving mouse cursor issues! https://web.archive.org/web/20171223...2plus/plus.zip https://lutris.net/games/install/2782/view |
Apr 10, 2019, 10:22 AM | |
(You don't really need archive.org, by the way, we link to all the older versions in the first post of the general JJ2+ thread.)
|
Jul 16, 2019, 12:15 AM | |
![]()
Hello,
Here is my analysis of what happens with my gamepad, using the debugging JJ2+ version given by Violet CLM. I’m playing TSF on Windows 7. I’ve got a very simple gamepad which is called ‘P220’ in other pieces of software: ![]() You’ve got four arrows on the left with button 7 above, and six buttons on the right with button 8 above. In the middle you’ve got a scale of five steps 0–25–50–75–100 and you can move on it with + and − buttons to light up the LEDs (I’ve never really understood its meaning). My gamepad works perfectly with JJ2 vanilla. I’ve configured the controls like this: ![]() Trying to change these controls does not work with JJ2+, i.e. I can press Enter or a button of my gamepad to ask for changing the control, but then pressing a button or an arrow has no effect and I must press Escape (or button 7) to get back. Here is what happens when I start the game: ![]() Then using the buttons changes the values in the following ways.
Now regarding the effects in the game:
Effects in the menu:
So here is the straightforward analysis. Violet CLM, do you need more, i.e. do you want to see what happens if I change the controls from JJ2 vanilla and I get back to JJ2+? Or should I test something else with my gamepad? Thanks in advance. Last edited by French; Jul 16, 2019 at 12:29 AM. Reason: Add JJ2 version and OS version |
Sep 10, 2019, 10:06 PM | ||
Quote:
Personally, I'm not sure how it's relevant, but -- 65535 is also the ID # of all static objects displayed in the Sound & Music Properties popup dialog in JJ2+ drop-down menu. I'd thus just guess that 65535 is a default ID # for static objects used in JJ2+ .EXE file resources, according to ResEdit ("a resource editor for Windows programs"). |
Jan 20, 2020, 06:52 PM | |
I've made a prospective fix (also in the first post). This fix is limited to the issue of players moving constantly while ingame and does not attempt to solve anyone's individual issues with mouse movement (should be an easy fix but I'm working on it separately) or menu navigation (I don't know what's going on there).
|
Feb 3, 2020, 05:12 AM | |
Obviously the "diagnostics" part of the dll is now showing even more information in the HUD than before, so can you share what that looks like for you now?
|
Mar 9, 2020, 08:29 PM | |
Okay, here's my current theory. Your controller doesn't have an actual directional pad--what it has is an analog stick that looks a lot like a directional pad. Annoyingly, the number it sends to your computer for directional pad data is the same number that a regular controller would use to say that its directional pad is pointing upwards. Vanilla JJ2 isn't affected by this issue because vanilla JJ2 can't be controlled by directional pads at all, only by analog sticks, but JJ2+ introduces directional pad support, and that's interacting badly with your controller. Fortunately, I think I was able to find a windows function to test if controllers actually have directional pads, to avoid querying their directions when the data would be incorrect. Does this work?
|
Apr 23, 2020, 01:49 PM | ||
Quote:
I just got an older PC that I've installed Windows XP on for playing old games like these. Anyway, JJ2+ didn't want to recognize my joypad at all, and when I tried using Joy2Key my rabbit kept looking up. I then tried that DLL you posted there and now everything works perfect and my joypad is recognized to start with, this is working great. However, you know, there's a bunch of debug information cluttering the screen. Is there a way to turn it off, or can you make an update without the debug mode? |
May 2, 2020, 10:06 AM | |
Hello Violet CLM. Sorry for having missed your last message, it looks like I didn’t get the email notification for it. Happens sometimes… And thank you for having continued the process to fix this bug.
Yes, it works! There’s still a minimal problem though: pressing button 7 during game opens the ingame menu. Usually, I use this button to run. I’ve also configured button 4 to run and it works, but it is less handy. In menu screens, button 7 gets back to the previous screen and selects ‘Quit’ in the main menu — so you guess it acts like the Escape key. In Vanilla JJ2, button 7 had no particular effect. Buttons 1, 2, 3 and 4 act like Enter and this was already the case in Vanilla JJ2. So my joypad has an analog stick, you say? Wow, that’s weird. I never noticed it anywhere, but you might be right (I don’t use my joypad for many things, actually). What does JJ2+ brings with its directional pad support? I don’t see anything about it in the readme… |
May 2, 2020, 04:00 PM | |
French: So, let's take a look at a more common controller model:
On the top left is the left (primary) analog stick, and below it is the directional pad. Vanilla JJ2 only accepts direction input from the analog stick, but JJ2+ accepts direction input from either one. Your controller only has the area you call "arrows," which from what I can tell sends data coded the same way that the controller above sends analog stick input, rather than the way it sends directional pad input. So, physically it's not a stick, but internally it seems to work the same way as one. Regarding button 7... from what I recall, vanilla JJ2 did not have any way of pressing Esc using a controller at all? The button I chose to have the Esc functionality is what's commonly represented on other controllers as either Back or Select, rather than being another standard numbered button like on yours. On some level it would be nice to let people rebind it but I think we'll need to have the controls menu recoded first. Anyway! I'm thrilled to hear the game is working for people now! We'll incorporate these fixes into the next JJ2+ release, which is still being worked on, but in the meantime, here's a 5.6 build that should work with people's controllers more: i.e. it's the same as the plus_controller_diagnostics_3.zip build but without all the debug information getting in the way. |
![]() |
«
Previous Thread
|
Next Thread
»
Thread Tools | |
|
|
All times are GMT -8. The time now is 05:37 PM.
Jazz2Online © 1999-INFINITY (Site Credits). Jazz Jackrabbit, Jazz Jackrabbit 2, Jazz Jackrabbit Advance and all related trademarks and media are ™ and © Epic Games. Lori Jackrabbit is © Dean Dodrill. J2O development powered by Loops of Fury and Chemical Beats. Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Original site design by Ovi Demetrian. DrJones is the puppet master. Eat your lima beans, Johnny.