Update Steamworks API to 1.6.2
Attempted to follow the instructions in CodeGen/README.md, and then updated the dll/so/dylib files and the info in Version.cs.
I might have missed a step, please double-check this all looks good :/ Additionally, this was done on Windows (and thus there are unfortunately line ending changes in this), so I assume it's preferable to just have someone more connected to the project do it directly on Linux :/
But figured I would try to contribute a version update since I was asking for it in https://github.com/rlabrecque/Steamworks.NET/issues/687 - hopefully this is helpful!
(It's worth noting that some parts of the API seem to have been deprecated/removed in this version update - those functions look less common, but still worth calling out)
Unfortunately when testing this locally, it looks like the auto code gen made some errors in generating the new files?
I am not sure if I followed the directions incorrectly, or this is a Windows/linux difference thing, or something else went wrong.
Is there a particular timeframe by when the core library can be updated to 1.6.2? If that's relatively soon, I can revert this pull request
I'll try to get to it this weekend
I'll try to get to it this weekend
Thank you very much!
FWIW I have been trying to test these changes locally, updated this pull request with a commit that gets things working/functional. (I am still unsure if the typos in question from the code autogen are windows-specific or something)
I would also call out that changing the "out RemotePlayInput_t" native call to "RemotePlayInput_t[]" (which from what I see online should be fine?) does not seem to cause the structs within the array to actually have their data populated (or at least, I'm getting only unknown type events, though the number returned seems accurate). Not sure if I've just changed the type to a wrong thing though :/
Alright, I think I understand the core issue - the union in the RemotePlayInput_t c struct needs to be very explicitly handled in C#. Took my best crack at fixing it, and it seems to handle mouse movement now but other event types are still failing.
As an update, this did actually fix the c#<>c struct issues - have been able to play fully remote mouse + keyboard with it. (An unrelated bug in my integration code was impacting other events 9_9)
Could you try this out, and potentially try rebasing this PR onto the wip/v1.62 branch just to see how our changes line up? https://github.com/rlabrecque/Steamworks.NET/commit/cc3402dfc34c079b9410a5a46a9e576babb121fd EDIT: This change is missing the .meta files!
For the RemotePlayInput_t struct, I ended up going with a Custom Type, and following some of your lead with the explicit Size for the padding. But I also aligned it to be closer to some of our other union based types like SteamNetworkingConfigValue_t. We originally did this just so that it's a little more explicit that they are all one value and you're only supposed to access one; and to be able to grab the whole unions size as a whole for the struct size.
Updated! I had to remove a duplicate struct declaration but other than that it appears to work fine!
Sorry for the delay, was dealing with a number of things on my end :/
@MindsEyeGames How production-ready is your PR in its current state? I was hopping of using your branch as a substitute to the official merge/update till it will come on later
@MindsEyeGames How production-ready is your PR in its current state? I was hopping of using your branch as a substitute to the official merge/update till it will come on later
So I believe it is fully functional (and am using it in the current multiplayer playtest I'm running for INTO EVIL https://store.steampowered.com/app/1893440/INTO_EVIL/) - so far no issues in testing.
You should obviously test for yourself tho
@MindsEyeGames It seems that if you were to use your PR as a package with a GIT URL, you are going to be getting these errors since there is a .meta file missing for one of the new scripts added
Hopefully this is done via #721
Tagged a new release with 1.61 right before merging this in, and I'll try to get another new release with 1.62 out as soon as a couple people give enough of a thumbs up that things aren't broken.
It would be worth rebasing this branch on top of master just to see what those differences are, hopefully just whitespace and such.