-
Notifications
You must be signed in to change notification settings - Fork 195
added CabbyCodes 1.4.0 #2290
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
added CabbyCodes 1.4.0 #2290
Conversation
|
question: was this tested in addition to other mods available on modlinks? |
|
I ran a compass mod at the same time as this one to test it. I don't know if there's mod compatibility issues out there, but for the most part this works using the game's internals directly or adds hooks before/after existing game methods. |
|
Our stance on Harmony/Bepinex is that it should not be used in HK Modding API mods, as we have the Modding API itself alongside MonoMod's hooks for mod interoperability. And for HK specifically it's a bit eh imo to recommend an unsupported way to use mods (bepinex) over the way the rest of the community creates and uses mods (HK-MAPI), especially in speedrunning circles. |
|
I hear you but there's still a very large community using BepInEx5, and this is a way to get support for all modloaders currently requested by the community users of this mod. I've had friends who speedrun this as well use the bepinex5 version because of some features that are handy, such as flag resets, save anywhere, teleportation, etc. As this was built first for BepInEx, it could be a substantial rewrite considering the size of the codebase to change the underlying mechanism for hooking. Is that worth it to get onto the modlist? |
|
I'll do it if needed, just asking before I start diving in to rewriting it for lumafly users |
|
Bepinex breaks a number of mods on Lumafly because of how it interacts with the modding API. We explicitly do not want mods on Lumafly to be recommending people to install bepinex in the readme for this reason |
|
Ah, makes sense but unfortunate circumstance. I'll see what I can do. Would you prefer to close this PR and start a new one when I'm ready? |
|
Also a point of clarity. I will of course want to continue supporting the other modloaders for the other users out there. As long as the lumafly version does not use bepinex/harmony in that zip, is it ok that the bepinex is still in the codebase for the other zips created? I don't want confusion around that, and want to make sure we're on the same page. Thanks |
There's separate installation instructions per version in the readme, but yeah the harmony dll is packaged with the mod so kinda same |
|
Yes I don't think it's a problem for you to use it in other builds of the mod if you wish to do that, honestly I'm not even sure that harmonyx is necessarily a problem (extensive testing would be needed but allegedly it should work with monomod); the main objection is really primarily the readme recommending that bepinex is the recommended way to install it, since it actively breaks things to have both HK mapi and bepinex installed, which has been a common cause of support issues since silksong launched and there has been an uptick of people creating mods with bepinex rather than following along with the rest of the community. Really the primary goal is just to avoid the user confusion and related technical problems around that; obviously we would generally like to discourage additional usage of bepinex in general since the HK approach pre-dates it and is the established community recommendation but we can't really control what people do outside modlinks |
|
Yeah I only used BepInEx because I mod other Unity games as well, I wasn't aware of lumafly until way later in the project. My intention was to update the readme once the modlinks were updated. I would change the recommended way to lumafly and mention bepinex as an alternative. As far as I know, we use nothing bepinex related for the lumafly version, only harmony is used for hooking. But then again I'm not as much an expert in this field so let me know if that's incorrect. But just for clarity, you still want me to have a version without harmony, and if we're in agreement, I'll update the readme once I get the modlinks published or around the same time. |
|
Trying to share the readme for 3 versions does make it a little tricky to provide "recommended", but will see what I can do to keep it clear. |
|
To support both bepinex and HK mapi on the same codebase probably the simplest approach is just to use MonoMod hooks directly (no harmony or hookgen) if you want to continue down that path. Obviously you'll have to rewrite your hooks some and not forget to call orig(self) but it ends you up in a place where theoretically you don't have to maintain 2 different versions of the same code at least |
|
I appreciate the advice. I'll get that going now and see what it looks like. |
|
I believe I was successful at migrating to MonoMod and removing all the BepInEx and Harmony usage. I also went ahead and updated the readme to recommend lumafly. |
|
@SFGrenade @BadMagic100 thank you both for the advice in getting this in. Appreciated |
CabbyCodes is a comprehensive game flag manager as well as many other QoL features and cheats. All of this is available through an in game UI. Please see my nexusmods page and repo readme for more details.
https://github.com/SirCabby/HKCabbyCodes
https://www.nexusmods.com/hollowknight/mods/87?tab=description