Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A few issues with the SteamInput interface and constants. #40

Open
KingKrouch opened this issue Aug 22, 2024 · 0 comments
Open

A few issues with the SteamInput interface and constants. #40

KingKrouch opened this issue Aug 22, 2024 · 0 comments
Assignees
Labels
api API related issues bug Something isn't working

Comments

@KingKrouch
Copy link

KingKrouch commented Aug 22, 2024

Hello! I just wanted to submit an issue ticket regarding a few issues that I noticed with these C# bindings while I was bringing over some of my Unity code for SteamInput support.

One thing that I noticed with the bindings is that the Steam.GetConnectedControllers(), Steam.GetInputTypeForHandle() function cannot take an InputHandle_t type (in the case of what the code for these bindings use, a ulong) as an input:
image

Likewise, Steam.GetAnalogActionData() cannot take an ActionHandle as an input unless it's converted from a ulong to a long.

Steam.GetDigitalActionHandle() returns the incorrect type that's needed to run the Steam.GetDigitalActionData() function (in this case, a long, rather than a ulong). I'm unsure if simply casting the variable to the correct type using (long) would fix this or not.

The current usage of dictionaries for GetAnalogActionData does not allow me to grab the mode used, which would be the InputSourceMode, or if the action data is active. The same applies with GetDigitalActionData, but with the addition of State on top of Active.

Right now, I don't think there's a way of accessing constants (at least in these bindings) that are declared in GodotSteam's constants file. For example, in my use case for SteamInput, I would need to access:

STEAM_INPUT_MAX_COUNT
STEAM_INPUT_MAX_ANALOG_ACTIONS
STEAM_INPUT_MAX_DIGITAL_ACTIONS`` STEAM_INPUT_MAX_ORIGINS STEAM_INPUT_MAX_ACTIVE_LAYERS`
image

There is a typo with the XboxOrigin enumerator with LeftStickDpadEast, which is spelled like DpadEat:

https://github.com/LauraWebdev/GodotSteam_CSharpBindings/blob/main/addons/godotsteam_csharpbindings/Steam.Generated.Data.cs#L200

@LauraWebdev LauraWebdev self-assigned this Aug 22, 2024
@LauraWebdev LauraWebdev added bug Something isn't working api API related issues labels Aug 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api API related issues bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants