To correct myself here after some testing; it’s not a problem of load order, but actually that a once defined tile cannot be redefined…
Alright, I was really, really close to admit my failure here… nonetheless, I’ve managed to get it working.
This isn’t the cleanest solution (and I’m pushing the boundaries), but it works.
Here we go:
- Create a new folder inside the data/mods or mods folder, call it however you like (I suggest to name it so you’ll find it again later).
- Inside that folder, create a file called
modinfo.json
(or copy one over from an other mod). - Copy-paste the following text into that file:
[
{
"type": "MOD_INFO",
"id": "better_cursor",
"name": "Ultica cursor replacement",
"description": "Changes the cursor of the UltiCa tileset.",
"category": "graphical",
"dependencies": [ "dda" ]
},
{
"type": "mod_tileset",
"compatibility": [ "UltimateCataclysm" ],
"tiles-new": [
{
"file": "ultica_cursor.png",
"tiles": [
{ "id": "cursor_season_spring", "fg": 0 },
{ "id": "cursor_season_summer", "fg": 0 },
{ "id": "cursor_season_autumn", "fg": 0 },
{ "id": "cursor_season_winter", "fg": 0 }
]
}
]
}
]
- Open the graphic editor of your choise (that supports transparency), create a new image with dimensions of 32 x 32 pixel, design a cursor of your choice and save it as
ultica_cursor.png
into the same folder the modinfo.json sits in. - (Re-)start your game, create a new world and add in the mod called
Ultica cursor replacement
.- Alternatively, you can modify the
mods.json
of an existing world and add in thebetter_cursor
mod.
- Alternatively, you can modify the
What this does is replacing the default cursor with one for every season.
This would also allow you to just overwrite it for the winter (as an example) if you remove all entries save for "cursor_season_winter"
.
While unlikely, it is possible that this hack will at some point cease to function, either because the support for what I’ve done here is dropped or because UltiCa adds seasonal cursors on its own.
I do hope that at that point we’ll have another way to do this, maybe an overwrite function for tiles…