Xinput rumble support (Selaco has it already)

Remember, just because you request it, that doesn't mean you'll get it.

Moderator: GZDoom Developers

Muusi
Posts: 25
Joined: Wed Mar 24, 2021 6:18 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Xinput rumble support (Selaco has it already)

Post by Muusi »

Selaco runs in GZDoom and it does controller rumble like nobody's business, why isn't that a feature in regular GZDoom? Or is Selaco a more or less it's own beast now?
dpJudas
 
 
Posts: 3159
Joined: Sat May 28, 2016 1:01 pm

Re: Xinput rumble support (Selaco has it already)

Post by dpJudas »

For things to end up in GZDoom it requires the developers send in pull requests.
Muusi
Posts: 25
Joined: Wed Mar 24, 2021 6:18 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: Xinput rumble support (Selaco has it already)

Post by Muusi »

dpJudas wrote: Thu Sep 19, 2024 9:11 am For things to end up in GZDoom it requires the developers send in pull requests.
I have no idea what a pull request is :D
Gez
 
 
Posts: 17937
Joined: Fri Jul 06, 2007 3:22 pm

Re: Xinput rumble support (Selaco has it already)

Post by Gez »

For reference, Selaco's source code is found over there: https://codeberg.org/sag/pancake-engine

It not being a Github fork makes comparisons between codebases more difficult. Especially since that codeberg repository has only one commit.
dpJudas
 
 
Posts: 3159
Joined: Sat May 28, 2016 1:01 pm

Re: Xinput rumble support (Selaco has it already)

Post by dpJudas »

Muusi wrote: Thu Sep 19, 2024 11:36 am I have no idea what a pull request is :D
It is how open source developers share and exchange code.

@Gez: The Selaco devs effectively chose to do their own thing and as such you might as well see that thing as a permanent fork. Being able to view their code or not is not really the issue here.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49211
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Xinput rumble support (Selaco has it already)

Post by Graf Zahl »

No developer is going to sift through a possibly heavily modified forked codebase without any commit history or other hints that help point out the changes that need to be ported.
User avatar
Rachael
Posts: 13885
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her

Re: Xinput rumble support (Selaco has it already)

Post by Rachael »

Graf Zahl wrote: Thu Sep 19, 2024 1:45 pm No developer is going to sift through a possibly heavily modified forked codebase without any commit history or other hints that help point out the changes that need to be ported.
This is generally how I feel too.

No commit history, it might as well be a haystack. They don't even have a reference against which GZDoom commit their code is based on.
Muusi
Posts: 25
Joined: Wed Mar 24, 2021 6:18 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: Xinput rumble support (Selaco has it already)

Post by Muusi »

https://codeberg.org/sag/pancake-engine ... ne/m_joy.h

m_joy starts talking about vibration at line 60. Of course i have no idea how any of this stuff works so maybe there's a 100 files where vibration needs to be worked on lol. I asked Nexxtic about it too but haven't yet gotten a response other than
It can be found in the source code! We rewrote significant portions of the gamepad code to be up to modern standards.

If a modder / GZDoom developer wants to put it in stock GZDoom, they are free to do so! We're just too busy to be doing such things ourselves at the moment
I tried asking for a specific area of interest in the code, hopefully they remember where that specific code is.

EDIT: the cvar for the vibration is called "joy_feedback". Am I wasting my time if I myself search for every single file for mentions of joy_feedback and paste it here?
Gez
 
 
Posts: 17937
Joined: Fri Jul 06, 2007 3:22 pm

Re: Xinput rumble support (Selaco has it already)

Post by Gez »

Muusi wrote: Thu Sep 19, 2024 8:53 pm Am I wasting my time if I myself search for every single file for mentions of joy_feedback and paste it here?
Yes, kinda.

What you could do is:
  1. Install everything needed to compile GZDoom
  2. Start porting the relevant code portions from pancake to GZDoom
  3. Test if it a. compiles, and b. works as intended
  4. Do a pull request with the code changes once satisfied
Note that if the developers don't have rumbly controllers, they can't do that themselves because they can't test it! It's the same problem with VR stuff.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49211
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Xinput rumble support (Selaco has it already)

Post by Graf Zahl »

To cut it short:

There is no proper rumble implementation in the engine, just an interface being controlled from their own game code. None of the rumble functions ever get called from inside the engine.

An no, I do not have a rumble capable controller. All I got is a 12 year old gamepad I once needed for implementing controller support in a professional project.
Muusi
Posts: 25
Joined: Wed Mar 24, 2021 6:18 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: Xinput rumble support (Selaco has it already)

Post by Muusi »

Gez wrote: Thu Sep 19, 2024 11:35 pm
Muusi wrote: Thu Sep 19, 2024 8:53 pm Am I wasting my time if I myself search for every single file for mentions of joy_feedback and paste it here?
What you could do is:
  1. Install everything needed to compile GZDoom
  2. Start porting the relevant code portions from pancake to GZDoom
  3. Test if it a. compiles, and b. works as intended
  4. Do a pull request with the code changes once satisfied
The problem is i have no idea how to compile anything. Would comparing the files between Selaco an GZDoom and pointing out the changes to you smarter people help any?
Graf Zahl wrote: Thu Sep 19, 2024 11:42 pm To cut it short:

There is no proper rumble implementation in the engine, just an interface being controlled from their own game code. None of the rumble functions ever get called from inside the engine.

An no, I do not have a rumble capable controller. All I got is a 12 year old gamepad I once needed for implementing controller support in a professional project.
If you ever have the spare time to start tackling the controller rumble support, message me and i will immediately donate you the amount of money + shipping for a wired Xbox 360 controller which is a perfect controller for PC.
Gez
 
 
Posts: 17937
Joined: Fri Jul 06, 2007 3:22 pm

Re: Xinput rumble support (Selaco has it already)

Post by Gez »

Muusi wrote: Thu Sep 19, 2024 11:53 pm The problem is i have no idea how to compile anything. Would comparing the files between Selaco an GZDoom and pointing out the changes to you smarter people help any?
Not really, it's something that can be done easily with programs like WinMerge.

The issue is not so much finding what changed, than filtering these changes out to just what is actually needed. It can be more than it appears at first glance; but it can also be less! Then there's the question of motivation. Never forget that GZDoom is a hobby project. The developers work on what they want to work on. The Selaco devs may get paid to work on Selaco, but the GZDoom devs don't get paid to work on GZDoom...
dpJudas
 
 
Posts: 3159
Joined: Sat May 28, 2016 1:01 pm

Re: Xinput rumble support (Selaco has it already)

Post by dpJudas »

Muusi wrote: Thu Sep 19, 2024 8:53 pm "If a modder / GZDoom developer wants to put it in stock GZDoom, they are free to do so! We're just too busy to be doing such things ourselves at the moment"
This is why I don't like the Selaco devs. They make it seem like they are being generous here, but the truth is they are doing NOTHING themselves, only doing the absolute minimum required to be compliant with the GPL license. They even bragged at one point about how much they were helping GZDoom. So let me reply in kind:

If Selaco wants their changes to end up in GZDoom, they are free to do so! We're just too busy to be doing such things ourselves at the moment...

I'm sorry Muusi, but any changes you see in Selaco was done in such a way to only serve their own game. It is their right to do that per the license, but it ultimately also means their stuff will most likely never end up in GZDoom proper until someone else implements the same thing in a proper way that meets the quality standards required to survive as a PR.
Muusi
Posts: 25
Joined: Wed Mar 24, 2021 6:18 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: Xinput rumble support (Selaco has it already)

Post by Muusi »

dpJudas wrote: Fri Sep 20, 2024 1:45 am I'm sorry Muusi, but any changes you see in Selaco was done in such a way to only serve their own game. It is their right to do that per the license, but it ultimately also means their stuff will most likely never end up in GZDoom proper until someone else implements the same thing in a proper way that meets the quality standards required to survive as a PR.
Ah dammit of course. There's also a VR fork called QuestZDoom but I guess with that too it was made in a way to only work with that specific version of the engine, even though the "haptic feedback" is just standard controller rumble.

If there's any interest by any dev to make normal everyday Xinput rumble happen in GZDoom, I will contribute with my wallet since I have absolutely 0 knowledge about coding myself. There's no way I'm the only one who would love that feature, especially with Steam Deck being so popular.
Professor Hastig
Posts: 256
Joined: Mon Jan 09, 2023 2:02 am
Graphics Processor: nVidia (Modern GZDoom)

Re: Xinput rumble support (Selaco has it already)

Post by Professor Hastig »

It is hard to tell what they did - there's too many random changes throughout the code which makes comparing it very hard, much less finding the commit where they branched off.

Return to “Feature Suggestions [GZDoom]”