BepisPlugins
BepisPlugins copied to clipboard
WIP: [AI] Adding Housing Support
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
-
[x] Loading housing information from the CSV file in the zipmod files.
- [x] Housing Zone Data
- [x] Housing Zone Type Data
- [x] Housing Furniture Data
- [x] Housing Category Data
-
[x] Adding Extended Save for the main-game files
- [x] Extended Save for the Housing Card Data
-
[x] Housing Item Sideloader ID Resolver
- [ ] Embedding GUID and LocalSlot Data to the Housing Card Data
- [x] Embedding GUID and LocalSlot Data to the Current Housing Zone Data
- [x] Resolving Furniture ID when Saving/Loading housing information (Card Load/Game Load)
Testing
Downloading AI_MapIntegrationPlugin and the AI POC mod https://mega.nz/folder/po0QRaSZ#xrXPDDynGtS81LqCgyIXYA
- Housing Item Category, Housing Zone, Housing Zone Type does not need requires ID resolving feature. - they'll be manually reviewed by the mod creators.
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 The housing data and the main-game save data are glued together!
Well finally, analysis of the AI Shoujyo's Save File is done. It's bit weird but i'll try to post the structure of file
@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.
@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.
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.