About this mod
Seasonal Outfits 6.0 code rewritten to allow modularity and be less resource heavy for systems.
- Requirements
- Permissions and credits
- Changelogs
After the pains of realizing that I couldn't use the seasonal outfits variant of Slightly Cuter Aesthetic (SCA) with Nyapu's Portraits, I decided to finally put my college degree to good use.
I rewrote most of the code to give users more control over how much SCA changes and who SCA changes. From the config file, users are able to disable all portraits and/or all sprites as well as *disabling both portraits and sprites for individual characters (This was already a feature in the original mod). If you want to get into the finer details, you can crack open this mod's code folder and delete whatever and whichever .json file you desire. You have a mod that replaces Abigail's sprite? Just go into the code folder, find abigail's folder, then delete Abigails_Sprite.json. Have a portrait mod that turns Pam into a sexy bae? Code folder, Pam's folder, then delete Pam_Portrait.json. If ya lazy like me and don't want to open the config file, just delete the whole file of the character you don't want modified by SCA. The dark powers of control and manipulations are returned to your finger tips. Please use with care.
Customization not your style or maybe you just want some bug fixes, I got you. SCA would load, at least, 28 different textures (a portrait and sprite) per marriageable and 16 for non marriageable NPCs at the start of each day. This does not change regardless of the setting enabled/disabled in the config file. The most this mod will run at once is 14 different textures from Harvey, and that's if you hit every condition needed for all the outfits to load. Most NPCs will have a default, beach, Winter Out, Winter In, and festival which is 10 textures in total. Winter outfits only load during winter, and festival outfits only load during festivals. This brings the total number to 4 different textures loaded on the average non wintry day. 6 for people like Harvey that have a work outfit added by SCA. Plus, your config file does make a difference on what textures are loaded or not if you wish to run things very minimally.
Disclaimer
- Deleting anything outside of the code folder will break this mod. Don't do it unless you know what you are doing.
Installation
- Download Seasonal Outfits - Slightly Cuter Aesthetic with all its requirements.
- Open SCA's assets folder and delete the 'Code' folder. (You can skip this step, but it will make your code folder cluttered since I don't directly replace them)
- Download this mod.
- Drop into your mods folder. (This should overwrite SCA's content.json and replace the Code folder if you delete it)
- Delete or backup your config.json file if you already had one.
- Go into [CP] Seasonal Cute Characters/assets/Code/ and modify however you like
NPC_Portrait.json - This is the portrait file. Deleting this will remove all instances of SCA portrait for this npc.
NPC_Sprite.json - This is the sprite file. Deleting this will remove all instances of SCA sprite for this npc.
Configs
- Some items have been modified and new ones were added. I would advise resetting and reconfiging your config file.
- Many NPCs left in the misc and extra npc file were added to allow individual customization.
"EnablePortraits": "True, False"
Enables every NPC's Seasonal Portraits.
"EnableSprites": "True, False",
Enables every NPC's Seasonal Sprites
"PennyFreckles": "Disabled, AllYear, NotWinter, Summer",
SCA originally had freckles for Penny's portrait just for summer. This allows you to sorta modify when Penny has freckles or if you want none at all.
"EnableFestivalOutfits": "True, False",
This is just a name change for clarification. Its behavior remains the same.
"EnableWinterIndoorOutfits": "True, False",
I simplified this a bit. Since vanilla outfits use outdoor wear for generic winter outfit, I just allow the option for indoor winter wear as well.
"EnableExtraOutfits": "True, False",
This is just a name change for clarification. Its behavior remains the same.
"SeasonalFarmerBases": "True, False",
This function was rewritten. All other config options related to this are replaced with EnableWarmOutfit, EnableColdOutfit, and IslandSummerClothes.
"EnableWarmOutfit": "Spring, Summer, Fall, Winter",
Multiple values are allowed. Enabled summer clothes for the seasons, Will overwrite EnableColdOutfit.
"EnableColdOutfit": "Spring, Summer, Fall, Winter",
Multiple values are allowed. Enabled winter clothes for the seasons, Will be overwritten by EnableWarmOutfit.
"IslandSummerClothes": "True, False",
Allows the use of summer clothes at Ginger Island.
The rest of the configs can be found on SCA description page.
Compatibility
- This mod inherits the compatibility of the original mod with the exception of the inability to select portrait and sprite independently. Now, it is truly compatible with any other sprite and portrait mod.
- There is a caveat to this. Based on how the original code was written, This mod might caused issues with every compatibility mod made for SCA since 6.0. I haven't tested this, so I might be wrong.
- Any mods that modify the internal code names for vanilla festivals. This will cause the festival outfit not to load resulting in either the NPC default outfit or a different extra outfit for that festival. This isn't an issue with the original mod.
Known Issues
- Because I unload assets, SMAPI tends to be a bit cluttered with warnings. I'm not sure if there is a way to silence SMAPI for a particular mod.
- Some assets seems to be incomplete. Marlon using his looking down asset during the year 2 flower dance or Maru missing a glassesless portrait.
FAQ
- Other than EastScarp, I don't have an interest on bringing this code to other mod expansions. Though, you are free to use this code as a bases for your own patches. I plan on releasing a template that explains what everything does with more clarity. This should make patch creation easier to understand. Spoiler:ShowEach npc are roughly the same with some special tweaks based on the npc. Bachelors have an outfit for each festival while non marriageable only have flower dance and halloween outfits. Lastly, npc won't use extra outfits at the start of their day if the asset for it wasn't already loaded the previous day. I assume this has more to do with the order Content Patcher patches data. Npc will load in before the outfit gets injected. I worked around this by making the extra outfit replace the default outfit and the normal default outfit the extra outfit for that day.
Technical Jumble
In addition, at lot of assets are set to reload per change of location. I'm unsure why at the moment. Things like map tiles and character icons that seem to only change with seasons were constantly being reloaded per location. Things that made sense like seasonal farmer would end up causing issues because it needed the base farmer constantly reloaded. This normally wouldn't be an issue, but the default farmer model was constantly reloading itself even when you had seasonal farmer disabled. Currently, nothing seems to break when removing it, and like the previous issue, it seems to just be reloading unnecessary amount of assets that shouldn't be reloaded.
Credit
Special thanks to Agent Lyoko for writing the code of this mod. Even though you wrote "I don't know what I'm doing. This is all guess work.", you still wrote code that worked, and that allowed me to understand and build on top of the foundation you create.
Thanks to Poltergeister for Seasonal Outfits - Slightly Cuter Aesthetic and all the artistic that made the assets for this mod.
Thanks to Pathoschild for their mods and literally everything else they do in this community.