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

Add 1.9.0 SteamSharedLibraryLoader as SteamLibraryLoaderLegacy #130

Closed
wants to merge 3 commits into from

Conversation

Rizato
Copy link
Contributor

@Rizato Rizato commented Jun 21, 2023

Adds the original loader as a legacy loader module.

The old loader works with mac with gradle where gdx, and lwjgl3 currently do not.

The changes to the old loader are minimal, just enough to implement the SteamLibraryLoader interface.

Tested on Windows, Intel Mac, and Linux.

Restores the mac & gradle compatible loader from previous versions as a legacy loader.
Uses the new SteamLibraryLoader interface
@Rizato
Copy link
Contributor Author

Rizato commented Jun 21, 2023

See #117 #127 #129

@WinterAlexander
Copy link

WinterAlexander commented Jun 27, 2023

Very useful, thank you.

A bit pedantic but I would call it the "LegacyLoader" and not the "LoaderLegacy" since Loader is the noun and Legacy is the adjective, but that's just me.

Also it would be great if the "new way of doing things" was documented or explained somewhere. I'm not keen on writing my own loader just to boost to version 1.10 and this LegacyLoader is most convenient to me at the moment. I do not use LWJGL3

@Rizato
Copy link
Contributor Author

Rizato commented Jun 27, 2023

A bit pedantic but I would call it the "LegacyLoader" and not the "LoaderLegacy" since Loader is the noun and Legacy is the adjective, but that's just me.

It matches the existing naming pattern set by SteamLibraryLoaderGdx, and SteamLibraryLoaderLwjgl. I don’t know the original reason, but I would guess it’s so IDE autocomplete shows all the options.

Also it would be great if the "new way of doing things" was documented or explained somewhere. I'm not keen on writing my own loader just to boost to version 1.10 and this LegacyLoader is most convenient to me at the moment. I do not use LWJGL3

Yea, writing a loader feels out of scope for projects using steamworks4j. It’s not like writing a callback to use the library, it’s writing an essential piece of the library itself. I do appreciate the new loader interface, and think it's great that loading can be customized to match the frameworks people are using. However, I think the library should still have a default loader.

I’m assuming updated docs will come with the official 1.10.0 release.

@noblemaster
Copy link

I tried and this legacy loader is the only one that works on Mac OS with M1/M2 CPU! I also propose +1 to have this added back. Given, this is old, maybe we can add a @Deprecated annotation to the class?

@Rizato
Copy link
Contributor Author

Rizato commented Jul 24, 2023

I tried and this legacy loader is the only one that works on Mac OS with M1/M2 CPU! I also propose +1 to have this added back. Given, this is old, maybe we can add a @Deprecated annotation to the class?

Thanks for trying it out. Stoked to see it works on new Macs as well.

Agree on @Deprecated, will add.

@Rizato
Copy link
Contributor Author

Rizato commented Sep 27, 2023

Found a better solution for loading the libraries on macOS. Closing this.

@Rizato Rizato closed this Sep 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants