You might need to load the txt at start of frame on the test above as well, forgot to say
SDL Joystick Object release
Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.
A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.
Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!
Clickteam.
A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.
Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!
Clickteam.
-
-
Create a new mfa, add a counter, press a button and make notes of what button that is...
The controller mappings is just so it's consistent, so you don't have to worry about other controllers being completely different.Oh ok thanks.
This is what i did in first place, but for the PS4 pad only, without loading the map.Thanks again.
-
You might need to load the txt at start of frame on the test above as well, forgot to say
Yeah sure.
-
Ok buttons works as expected. Numbers are the same for PS4 and XBOX one controllers.
The d-pad is tricky.
For XBOX is a "Hat value", while for the PS4 is a button value (11-14), the same that i found before loading the map.I'll try to make some "or" statements...
-
Nope. Only the first four buttons (0-3) are the same.
Everything else is mixed up. So i think the loaded map isn't working.I can make the d-pad working with "hat value" (for xbox one) and button pressed (for PS4), but this is a workaround.
-
Nope. Only the first four buttons (0-3) are the same.
Everything else is mixed up. So i think the loaded map isn't working.I can make the d-pad working with "hat value" (for xbox one) and button pressed (for PS4), but this is a workaround.
Try using the example MFA that comes with SDL Joystick - it should say which buttons are being pressed. Modify it to load the game controller map file first, if you need to.It registering every input is most of the battle, though.
-
Try using the example MFA that comes with SDL Joystick - it should say which buttons are being pressed. Modify it to load the game controller map file first, if you need to.
It registering every input is most of the battle, though.
I tried it with and without map. Nothing changed. Buttons numbers are always the same.
I found out that the GUID is not in the map.
Is very similar to this:Quote030000005e040000ff02000000000000,Wired Xbox One Controller
with the last numbers being different (7200 instead of 0000).
So i tried to add it to the map copying the line, but nothin happens. Still the same button numbers... -
Yeah, I have the same issue as Pika with adding mapping files, it doesn't seem to do anything...
The buttons are still mixed up, DS4 doesn't return hat values and instead returns them as buttons from (11-14), analogue joysticks centers are 128/128, instead of 0,0 (though I at least found a workaround with this one: Please login to see this attachment.)
Which means I had to make a manual system that changes a virtual configuration based on the controller connected. and like it works. But doesn't seem like the right thing to do especially with the many controllers available out thereI tried to load the global mapping file, nothing changed, tried to make my own mapping file, same thing, so i'm really confused with this action
-
I tried to load the global mapping file, nothing changed, tried to make my own mapping file, same thing, so i'm really confused with this action
On closer inspection, that's for SDL GameController classes, not SDL Joystick classes. I will see if I can write the A/C/E for interacting with the GameController part, but it may not be for a while.
-
On closer inspection, that's for SDL GameController classes, not SDL Joystick classes. I will see if I can write the A/C/E for interacting with the GameController part, but it may not be for a while.
Wrote 'em. Will be out of testing next week, hopefully - I have an intermittent hard drive I'm trying to duplicate first though.
Please login to see this link. can get it early! -
I updated the original version of the extension, which you can download here: Please login to see this link.
Help wiki: Please login to see this link.Changelog:
-Rewritten with Fusion 2.5 SDK.
-The extension is now built for Unicode.
-Added support for basic rumble.
-Added debugger functionality (it's like a limited version of the example but available straight in the debugger).
-The SDL library stays in memory when the object is destroyed, and is unloaded only when the application ends. This allows for better input detection across frames.
-Added support for the GameController interface, a Game Controller check condition and an action to load controller mappings from a file. See the wiki for more information.
-The project is now compiled as Multi-Threaded by default. This allows for the extension to run without Visual C++ runtimes installed at the cost of a larger .mfx file.
-SDL2.dll is now registered as the extension's dependency. As a result, you don't need to worry about loading it manually, but you have to put SDL2.dll in Clickteam Fusion's main folder and in the Data\Runtime\Unicode folder. This should hopefully fix all the instability issues that affected earlier versions of this extension. When you build the application, SDL2.dll will be included in its executable automatically (you can use "Unpacked EXE" in application properties to have the DLL separately).
-Fixed broken conditions related to pushed and released buttons.
-Some failchecks have been added to prevent potential crashes.
-The object can now have Alterable Values, Flags and Alterable Strings.
-Updated documentation and example. Replaced the .chm file with a link to the wiki on GitHub.If you run into any bugs please let me know.
-
Thanks for the update!
Testing feedback:
The ps4 controller touchpad pressed state is not recognized, cant tell if problem is in sdl itself or the extension but thought I'd let you know. It worked in previous versions.
Also for ps4 controller, hat0 (dpad) is not recognized, the dpad button IDs work, but hat0 does not.Some questions:
Is loading a game controller database file needed on every frame, or is it enough to do once and it will keep in memory over frames?
Also is loading a game controller database file needed to recognize most common controller types or will they be recognized by sdl framework anyway? -
The DarkEdif port of SDL Joystick is now renamed to SDL Object as of build 10.
First build (b10) is publicly released following a lot of testing on Clickteam Discord.
• Updated internal SDL library from v2.0.20 to v3.0.0
• Added Gamepad interface
• Added ports for Android, iOS, HTML5 and Mac
• Added rumble
• Added accelerometer/gyroscope (controller tilt/movement detection)
• Added object properties for changing SDL behaviour
• Added 8/16/32-dir and angle conditions/expressions
• Added 360-movement X/Y intensity calculations
• Added stick/dpad changed direction conditions - ext will trigger when changed, you don't have to constantly check
• Added help file and example file
• Added controller touchpad
• Added controller battery power level reading
• Removed Joystick ball A/C/E (SDL2 only, was removed in SDL3)
• Fixed Fusion built-in keyboard delay/conflict - Control X should not be needed anymore
• Updated to DarkEdif SDK v18 - iOS fixes, Mac compatibility
• Fixed Nintendo Switch Pro conflicting with Steam - this was a Please login to see this link. fixed by SDL folks.To grab it, y'all just need to be a Please login to see this link. (and testers got it free once testing completed).
$5 per platform you want. -
What an impressive list of additions!
-
What an impressive list of additions!
Thank yew. I had a bunch of CT users help test, and thought about how I would want it designed for x and y games; stuff like 360 movement calculations are built-in, you can get controllers not tied to a player object ignored, D-Pad and sticks can be 32/8-dir/360 angle converted, etc.
Actually started work on it before PkR did his latest update, but figured it was best to rename if we're having two variants being maintained, which is something I tried to prevent. I used the rename to rework the Joystick stuff that PkR had already done. -
Thank yew. I had a bunch of CT users help test, and thought about how I would want it designed for x and y games; stuff like 360 movement calculations are built-in, you can get controllers not tied to a player object ignored, D-Pad and sticks can be 32/8-dir/360 angle converted, etc.
Actually started work on it before PkR did his latest update, but figured it was best to rename if we're having two variants being maintained, which is something I tried to prevent. I used the rename to rework the Joystick stuff that PkR had already done.Great that the community can help with these sort of projects!
Will you release it on Clickstore as well?
-
Will you release it on Clickstore as well?
Probably, but CS is a pain to write a page for. Otherwise, you can just message directly and pay with PayPal or something. -
This is great, but one of the (quite many) reasons I jumped ship to Godot (which is 100% free!) was the lack of controller support - why hasn't this been a priority for Clickteam to resolve with a supported built-in solution? Isn't "stable support for a modern controller for video games" deemed important for a game engine?
-
The original SDL Joystick extension has been updated to version 1.65.
Download: Please login to see this link.
Help wiki: Please login to see this link.-The object is now compatible with sub-applications.
-Updated SDL2 to 2.28.1. I'll consider the switch to SDL3 once there's an official release.
-Updated the "Load GameController database" action to reset the SDL library before loading new mappings to make sure they are actually used. I'll try to figure out a better solution eventually.
The ps4 controller touchpad pressed state is not recognized, cant tell if problem is in sdl itself or the extension but thought I'd let you know. It worked in previous versions.
Sorry for the late response!
Not sure about this one, but try the latest release which comes with the latest stable version of SDL2. Maybe it was fixed. As far as I know, there's a 'touchpad button' that works as a regular button so it should be supported. There's also a lot of other touchpad-related functionality in SDL but currently I have no plans to implement that.
Also for ps4 controller, hat0 (dpad) is not recognized, the dpad button IDs work, but hat0 does not.
That seems like a controller mapping issue. Might also be specific to SDL itself since the D-Pads on my controllers work fine. Unfortunately I don't own any Playstation controllers to tackle this directly.
Is loading a game controller database file needed on every frame, or is it enough to do once and it will keep in memory over frames?
You only need to do that once, ideally at the start of your application.
Also is loading a game controller database file needed to recognize most common controller types or will they be recognized by sdl framework anyway?
As far as I know, SDL comes with a mapping database by default, so you only need this for custom mappings or rare controllers.This is great, but one of the (quite many) reasons I jumped ship to Godot (which is 100% free!) was the lack of controller support - why hasn't this been a priority for Clickteam to resolve with a supported built-in solution? Isn't "stable support for a modern controller for video games" deemed important for a game engine?
Since the extension is open source and there are no license terms other than SDL's, Clickteam could make an integrated solution, though they might need to rework the code. As for Phi's version going paid and closed source, well, I kinda saw it coming. Anyway, the original version will remain free and open source. While I cannot promise a lot of features and support, the development should pick up a little because I am now using this extension in a game. -
Mac port?! So with this my fellow Mac gamers can actually play my games with controller support?
-
Participate now!
Don’t have an account yet? Register yourself now and be a part of our community!