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.
required to see the pretty colours I picked out; the theme will still work without Theme Manager but you'll miss out on some text colour and bar colour changes
The source for my mods, including Theme Manager, is currently under an All Rights Reserved license unless otherwise noted after CurseForge went against my wishes and allowed people to upload my mods without permission. See LICENSE.
I encourage and support:
Including my mods in mod packs via linking (not via including a file)
Making content packs that modify the look or behavior of my mods
Translating my mods into other languages
Contributing to the source with pull requests
Please do not:
Claim that my mods are your own work
Release copies of my mods while I'm still maintaining them
Publish my mods on other platforms
Post copies of my mods for translation purposes (I am more than happy to merge translations into the main mod)
File credits
This author has not credited anyone else in this file
Donation Points system
Please log in to find out whether this mod is receiving Donation Points
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.