Xinput rumble support (Selaco has it already)
Moderator: GZDoom Developers
-
- 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)
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?
-
-
- Posts: 3159
- Joined: Sat May 28, 2016 1:01 pm
Re: Xinput rumble support (Selaco has it already)
For things to end up in GZDoom it requires the developers send in pull requests.
-
- Posts: 25
- Joined: Wed Mar 24, 2021 6:18 pm
- Graphics Processor: ATI/AMD with Vulkan/Metal Support
-
-
- Posts: 17937
- Joined: Fri Jul 06, 2007 3:22 pm
Re: Xinput rumble support (Selaco has it already)
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.
It not being a Github fork makes comparisons between codebases more difficult. Especially since that codeberg repository has only one commit.
-
-
- Posts: 3159
- Joined: Sat May 28, 2016 1:01 pm
Re: Xinput rumble support (Selaco has it already)
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.
-
- Lead GZDoom+Raze Developer
- Posts: 49211
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Xinput rumble support (Selaco has it already)
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.
-
- Posts: 13885
- Joined: Tue Jan 13, 2004 1:31 pm
- Preferred Pronouns: She/Her
Re: Xinput rumble support (Selaco has it already)
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.
-
- 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)
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
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?
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
I tried asking for a specific area of interest in the code, hopefully they remember where that specific code is.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
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?
-
-
- Posts: 17937
- Joined: Fri Jul 06, 2007 3:22 pm
Re: Xinput rumble support (Selaco has it already)
Yes, kinda.
What you could do is:
- Install everything needed to compile GZDoom
- Start porting the relevant code portions from pancake to GZDoom
- Test if it a. compiles, and b. works as intended
- Do a pull request with the code changes once satisfied
-
- Lead GZDoom+Raze Developer
- Posts: 49211
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Xinput rumble support (Selaco has it already)
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.
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.
-
- 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)
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?
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.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.
-
-
- Posts: 17937
- Joined: Fri Jul 06, 2007 3:22 pm
Re: Xinput rumble support (Selaco has it already)
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...
-
-
- Posts: 3159
- Joined: Sat May 28, 2016 1:01 pm
Re: Xinput rumble support (Selaco has it already)
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.
-
- 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)
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.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.
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.
-
- Posts: 256
- Joined: Mon Jan 09, 2023 2:02 am
- Graphics Processor: nVidia (Modern GZDoom)
Re: Xinput rumble support (Selaco has it already)
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.