CustomPalettes
Add custom Palettes to the game using json files and pngs!
Date uploaded | 3 months ago |
Version | 1.0.0 |
Download link | AuriRex-CustomPalettes-1.0.0.zip |
Downloads | 57 |
Dependency string | AuriRex-CustomPalettes-1.0.0 |
This mod requires the following mods to function
BepInEx-BepInExPack_GTFO
BepInEx pack for GTFO. Preconfigured and includes Unity Base DLLs.
Preferred version: 1.5.0AuriRex-Clonesoft_Json
Library - Newtonsoft.Json but in a renamed namespace.
Preferred version: 13.0.0README
GTFO_CustomPalettes
A GTFO mod that lets you add custom color palettes using json files, no Unity or DataBlock fiddling required!
Custom Plaettes go into the BepInEx/Assets/CustomPalettes/
folder (created upon starting the game once with the mod installed).
Additionally a template json file will be generated inside of that folder.
Make sure to copy and rename this template to something else, the template won't be loaded itself.
MTFO Hot-Reloading is supported for palettes and texture files, just place them in the folder and hit reload.
Custom Palettes json file
Textures and colors are applied multiplicative, that means if you want your image texture to properly show make sure to set your color to white / #FFF
If you set your color to green (#00FF00
) and choose a rainbow texture examples/rainbow.png
, then only the parts that are green are gonna show up in game, which results in a stripped pattern alternating green and black.
Also because of this you can treat textures like patterns, where white equals full color and black no color.
Check the examples
folder in this repo to see a few different patterns.
Things to be aware of
To avoid conflicts with other palettes I'd recommend making sure your custom palette json files have a unique name;
Maybe include your name, something like AuriRex_MyCoolPalette1.json
should do the trick.
The same thing goes for textures, I'd recommend creating a folder with the same name as your json file and putting all your textures in there.
Don't forget to include the folder in your TextureFile
field: AuriRex_MyCoolPalette1/custom_texture1.png
.
Tone Reference
Fields
Name
: The name displayed in game in the palettes selection menu.Author
: The palette author, your name most likely (not shown in game atm).SortingName
: A string used in the palette sorting process, you can change this to move your palette up and down (alphabetically sorted)Data
: Contains all the important things:TextureTiling
: How often the texture should tile. (Bigger number = smaller pattern)<?>Tone
: The five different parts of a paletteHexColor
: A HEX string denoting this tones color.
Supported Formats:- #RRGGBB
- #RRGGBBAA
- #RGB
- #RGBA
- The literal strings:
red
,cyan
,blue
,darkblue
,lightblue
,purple
,yellow
,lime
,fuchsia
,white
,silver
,grey
,black
,orange
,brown
,maroon
,green
,olive
,navy
,teal
,aqua
,magenta
.
TextureFile
: The (relative) path to an image file (.png or .jpg)MaterialOverride
: Used to override the material used on this tone, leave as -1 if unsure.
A few example palettes:
Colors only
{
"Name": "My Cool Palette",
"Author": "AuriRex",
"SortingName": "SomethingHere",
"Data": {
"PrimaryTone": {
"HexColor": "#FF0000",
"TextureFile": "",
"MaterialOverride": -1
},
"SecondaryTone": {
"HexColor": "#007700",
"TextureFile": "",
"MaterialOverride": 1
},
"TertiaryTone": {
"HexColor": "#1c0000",
"TextureFile": "",
"MaterialOverride": -1
},
"QuaternaryTone": {
"HexColor": "#010101",
"TextureFile": "",
"MaterialOverride": -1
},
"QuinaryTone": {
"HexColor": "#810093",
"TextureFile": "",
"MaterialOverride": 2
},
"TextureTiling": 20
}
}
With Images
In this example, the icon.png
file has been placed into the folder AuriRex_MyCoolPalette
, next to our palette json file.
{
"Name": "My Cool Textured Palette",
"Author": "AuriRex",
"SortingName": "SomethingHere",
"Data": {
"PrimaryTone": {
"HexColor": "#FFFFFF",
"TextureFile": "AuriRex_MyCoolPalette/icon.png",
"MaterialOverride": -1
},
"SecondaryTone": {
"HexColor": "#007700",
"TextureFile": "AuriRex_MyCoolPalette/icon.png",
"MaterialOverride": 1
},
"TertiaryTone": {
"HexColor": "#1c0000",
"TextureFile": "AuriRex_MyCoolPalette/icon.png",
"MaterialOverride": -1
},
"QuaternaryTone": {
"HexColor": "#013101",
"TextureFile": "AuriRex_MyCoolPalette/icon.png",
"MaterialOverride": -1
},
"QuinaryTone": {
"HexColor": "#310093",
"TextureFile": "AuriRex_MyCoolPalette/icon.png",
"MaterialOverride": 2
},
"TextureTiling": 20
}
}