Theme Manager has two main jobs. First, it makes it possible for content packs to modify hard-coded colors used in in-game UIs. Second, it makes it easy for other C# modders to allow content packs to modify their in-game UIs.
Optional, only needed if using Theme Manager for white text.
Permissions and credits
Credits and distribution permission
Other user's assetsThis author has not specified whether they have used assets from other authors or not
Upload permissionYou are not allowed to upload this file to other sites under any circumstances
Modification permissionYou must get permission from me before you are allowed to modify my files to improve it
Conversion permissionYou are not allowed to convert this file to work on other games under any circumstances
Asset use permissionYou must get permission from me before you are allowed to use any of the assets in this file
Asset use permission in mods/files that are being soldYou are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms
Asset use permission in mods/files that earn donation pointsYou are allowed to earn Donation Points for your mods if they use my assets
Author notes
This author has not provided any additional notes regarding file permissions
File credits
This author has not credited anyone else in this file
Donation Points system
This mod is opted-in to receive Donation Points
Changelogs
Version 0.7.0
Added: SpriteText colors can be changed. There is a new type of entry in game themes called `SpriteTextColorSets`, which let you override any specific color of SpriteText you would want to override. The global `*` color set applies to all calls, but it is possible to craft patches for method to make them use alternative color sets.
Added: When defining a color, you can prefix the color with `premultiply:` and Theme Manager will premultiply the color's alpha, which can improve rendering in some situations. This can be used in combination with variables.
Changed: `SpriteTextColors` in game themes have been renamed to `IndexedSpriteTextColors`.
Changed: The `tm_method_genpatch` method has slightly nicer output.
Changed: Update the built-in patches for better coverage of the existing game classes.
Fixed: The managed asset loader would incorrectly match on some asset names and log a useless error.
API: The C# API now functions! That's probably important.
API: Removed direct references to BmFont types from the API, allowing mods that don't reference BmFont to use the API.
Version 0.6.0
Update for 1.6.
Hello, players!
If you're here, it's probably because you've got another mod or a content pack that depends on Theme Manager. By itself, it doesn't do much.
Theme Manager has two main jobs:
Theme Manager makes it possible for content packs to modify hard-coded colors used in in-game UIs. Take the calendar, for example. It has a blue border that flashes around the current in-game day. It also draws gray squares over previous days to dim them. Theme Manager lets you change those colors. Check out this example:
Theme Manager makes it easy for other C# modders to allow content packs to modify their in-game UIs. This is the same technology used by my other mods, Better Crafting and Almanac, that let content packs modify their looks.
Download this mod and unzip it into Stardew Valley/Mods.
Run the game using SMAPI.
How to use Theme Manager adds a section to the Generic Mod Config Menu that lets you select a theme, configure the font changes, and enable some (excessive) debug logging if you wish. You probably won't even need to use this, but it's there.
If you don't have Generic Mod Config Menu, you can use the theme, retheme, and tm_repatch commands to control Theme Manager.
Compatibility
Works with Stardew Valley 1.6.3 on Linux/Mac/Windows.