-
Notifications
You must be signed in to change notification settings - Fork 82
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
WIP: [AI] Adding Housing Support #122
base: master
Are you sure you want to change the base?
Conversation
Leave a comment when it looks like going wrong. |
@hooh-hooah Looks good so far, but needs some more work before it's fully usable like you've mentioned. Thanks for working on this! |
Ye it's not going to be done in a short time but I expect it's going to be done in a month I guess. Summarizing the concepts and milestones before adding id resolve on furniture. |
Aww heck |
Update fork codebase
� Conflicts: � src/AI_ExtensibleSaveFormat/AI.ExtendedSave.Hooks.cs
Well finally, analysis of the AI Shoujyo's Save File is done. |
@ManlyMarco I have a question at this moment, Since my changes are solely for AI's main-game, am I going right direction with keeping asome resolvers and listloaders inside of "AI_Sideloader" instead of "Core_Sideloader"? I'm trying to match the style with rest of the code but this is the one of few things that makes me confused. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good work on the PR so far, thank you!
I noticed some things that could be improved, it would be great if you could give it a look. If you have any questions about my comments, you can ping me on discord whenever.
To add to the comments:
Since the main game and housing ext data code is for the most part stand-alone, it would be nice to have it be separated into separate .cs files, like I did with the main game save data in KK here https://github.com/IllusionMods/BepisPlugins/tree/c5916e67973a7bc01d4bd78e585b58c9972f9989/src/KK_ExtensibleSaveFormat
If you want, I can ask others to review the changes as well, so we can find issues and get it merged faster.
// Minimizing the interference between games to limiting the harmony hook initialization | ||
// MainGame Save/Load - PostFix | ||
harmony.Patch( | ||
typeof(SaveData).GetMethod("Load", new[] {typeof(BinaryReader)}), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Either use AccessTools or throw an exception on null when getting types like this, because if the type for some reason can't be found then it's impossible to know which type is missing without further debugging since all you get is a null reference exception. (AccessTools will log a warning to the log if a type can't be found, or you can do ?? throw new ArgumentException("Type.Method couldn't be found")
)
); | ||
|
||
// HousingData Save/Load - Transpiler | ||
// Based on 2021 Version |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does it work on the Steam version, and Japanese versions both with and without DX?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well currently I don't have multiple versions of AI atm. I need to figure out how to obtain old versions first
Yes, since it's only useful for AI it's better to keep it in the AI project. Like I mentioned in the massive dump above, you can separate this functionality into a bunch of new files so it's easy to refactor in the future if necessary. |
Thanks for the review, that was really helpful. I'll commit the fix when it's ready. |
Added more exception handlings for Main-Game ExtendedSave Data Serialization.
This is a Draft Pull Request. requires constant review of code until all checklists are checked
Adding Housing support for AI
Since AI's main game requires some nice touch when it comes to the main game, I decided to do some action to add some new features for the game.
But since this is the first time to be a contributor for the bepis plugins, I've made this "WIP" pull request.
Origin Branch
hooh-hooah:master
https://github.com/hooh-hooah/BepisPlugins
Related Plugin
https://github.com/hooh-hooah/IL_MapIntegrationPlugin
Checklists
Loading housing information from the CSV file in the zipmod files.
Adding Extended Save for the main-game files
Housing Item Sideloader ID Resolver
Testing
Downloading AI_MapIntegrationPlugin and the AI POC mod
https://mega.nz/folder/po0QRaSZ#xrXPDDynGtS81LqCgyIXYA