Line 563: |
Line 563: |
| | | |
| ===Small changes=== | | ===Small changes=== |
| + | * ☑ Change all remaining <code>internal class</code> and <code>private class</code> to <code>public class</code> to simplify mod access. |
| * ☑ Change <code>Utility.isMale(name)</code> to check the NPC info instead of a hardcoded switch, so it works with custom NPCs. | | * ☑ Change <code>Utility.isMale(name)</code> to check the NPC info instead of a hardcoded switch, so it works with custom NPCs. |
| * ☑ Change <samp>IslandLocation.DrawParallaxHorizon</samp> to support custom sunset times that aren't on the hour, by using <samp>Utility.CalculateMinutesBetweenTimes</samp> instead of calculating the time manually. | | * ☑ Change <samp>IslandLocation.DrawParallaxHorizon</samp> to support custom sunset times that aren't on the hour, by using <samp>Utility.CalculateMinutesBetweenTimes</samp> instead of calculating the time manually. |
| * ☑ Remove <samp>Woods.stumps</samp> and use the new <samp>location.resourceClumps</samp> field instead. | | * ☑ Remove <samp>Woods.stumps</samp> and use the new <samp>location.resourceClumps</samp> field instead. |
− | <ul>
| + | * ☑ Tweak accessibility modifiers. <small>(Stardew Valley 1.6 marks a large number of methods <samp>virtual</samp> and <samp>public</samp>/<samp>protected</samp>, too many to list here.)</small> |
− | <li>☑ Tweak accessibility modifiers:
| |
− | {| class="wikitable"
| |
− | |-
| |
− | ! class
| |
− | ! changes
| |
− | |-
| |
− | | <samp>FarmerRenderer</samp>
| |
− | |  
| |
− | * make field public: <samp>recolorOffsets</samp>.
| |
− | |-
| |
− | | <samp>Locations\AdventureGuild</samp>
| |
− | |  
| |
− | * make fields public: <samp>Gil</samp>, <samp>talkedToGil</samp>.
| |
− | |-
| |
− | | <samp>Locations\MovieTheater</samp>
| |
− | |  
| |
− | * add <samp>ClearCachedConcessionTastes()</samp> method to reset <samp>_concessionTastes</samp>.
| |
− | |-
| |
− | | <samp>Locations\ForgeMenu</samp>
| |
− | |  
| |
− | * make methods virtual: <samp>CraftItem</samp>, <samp>GenerateHighlightDictionary</samp>, <samp>IsValidCraft</samp>, and <samp>IsValidCraftIngredient</samp>.
| |
− | |-
| |
− | | <samp>Menus\JunimoNoteMenu</samp>
| |
− | |  
| |
− | * make fields public: <samp>heldItem</samp>, <samp>hoveredItem</samp>.
| |
− | |-
| |
− | | <samp>Menus\InventoryPage</samp>
| |
− | |  
| |
− | * make fields public: <samp>hoveredItem</samp>, <samp>hoverAmount</samp>, <samp>hoverText</samp>, <samp>hoverTitle</samp>.
| |
− | |-
| |
− | | <samp>Menus\ItemGrabMenu</samp>
| |
− | |  
| |
− | * make field public: <samp>sourceItem</samp>.
| |
− | |-
| |
− | | <samp>Menus\ShopMenu</samp>
| |
− | |  
| |
− | * make field public: <samp>hoverText</samp>.
| |
− | |-
| |
− | | <samp>NPC</samp>
| |
− | |  
| |
− | * make method public and virtual: <samp>pathfindToNextScheduleLocation</samp>.
| |
− | |-
| |
− | | <samp>Objects\Chest</samp>
| |
− | |  
| |
− | * make fields public: <samp>currentLidFrame</samp>, <samp>frameCounter</samp>, <samp>_shippingBinFrameCounter</samp>, <samp>_farmerNearby</samp>.
| |
− | |-
| |
− | | <samp>TemporaryAnimatedSprite</samp>
| |
− | |  
| |
− | * make field public: <samp>textureName</samp>.
| |
− | |-
| |
− | | <samp>TerrainFeatures\Tree</samp>
| |
− | |  
| |
− | * make method public: <samp>resetTexture</samp>.
| |
− | |}
| |
− | </li>
| |
− | </ul> | |
| | | |
| ===Medium changes=== | | ===Medium changes=== |
| * ☑ Some XNB files have a separate display name field, but only in non-English. Using display names consistently regardless of language would let mods rename things without breaking keys: | | * ☑ Some XNB files have a separate display name field, but only in non-English. Using display names consistently regardless of language would let mods rename things without breaking keys: |
| ** ☑ <samp>Data\Boots</samp> | | ** ☑ <samp>Data\Boots</samp> |
| + | ** ☑ <samp>Data\Bundles</samp> |
| ** ☑ <samp>Data\CraftingRecipes</samp> | | ** ☑ <samp>Data\CraftingRecipes</samp> |
| ** ☑ <samp>Data\CookingRecipes</samp> | | ** ☑ <samp>Data\CookingRecipes</samp> |
| ** ☑ <samp>Data\Furniture</samp> | | ** ☑ <samp>Data\Furniture</samp> |
| ** ☑ <samp>Data\Weapons</samp> | | ** ☑ <samp>Data\Weapons</samp> |
| + | * ☑ Remove hardcoded logic that ignores display names when playing in English (e.g. for NPC gift taste dialogues). That causes a bug where renamed NPCs still show their internal name in some places. |
| | | |
| ===Refactoring=== | | ===Refactoring=== |