Descriptions are stored in assets/new-character-appearance-descriptions.json.
If file can't be found or is corrupted, fallback on old behavior of just reading numbers.
Functions support a `lessInfo` variable that also turns off the descriptions, though the config option is not yet implemented.
Reduced number of calls to `isCollidingAtTile` as it calls a StardewValley function that takes ~30 ms to complete.
Optimize `getFarmAnimalAt` in `TileInfo`.
Refactor `getResourceClumpAtTile` and `getStumpsInWoods`.
`StaticTiles` now uses `System.Text.Json` and supports conditional and mod-based maps with efficient dictionary lookups. Dictionary can be reloaded as needed, typically once per game day.
`CATEGORY` allows runtime addition of new categories, with an indexer function for retrieval, and retains static properties for compiled categories.
* Build tile dictionary at game launch to speed up tile lookups during gameplay.
* Add GameLaunched event to setup new dictionary after other mods loaded.
* Change `StaticTiles.getStaticTileInfoAtWithCategory` to use new dictionary for lookup.
* Various typo fixes and other code cleanup
Causes text boxes to report their content instead of " text box" when text was already entered.
E.G. after entering a name, "Farmer's Name Text Box" becomes "Farmer's Name: <name>"
Added accessible buttons to rotate the farmer, change skin tone, hair style, shirt, pants style, and accessory choice.
Added new accessible slider controls to adjust hue, saturation and value for eye, hair and pants color.
Up/Down to adjust 1%; PageUp/PageDown to adjust by 10%.
Changed spoken modifiable fields (such as current pet, current shirt) to only announce when relevant controls have focus.
This includes Random Skin Button for appearance controls.
Added toggle key (LeftControl + Space) to show / hide the appearance controls; hidden by default.
Added announcement when entering customization menu to inform of toggle key.