How to change colour of cursor (ultica tileset)

Hi , so it’s hella snowy on the map right now, and the white cursor on white snow is making it super dangerous for us to drive on high speeds, rigged a motorcycle to do over 200mph and it’s downright deadly when you can’t see where you’re aiming without being hella zoomed in lol. was wondering if I could just change the colour of the cursor to be able see it better. If someone could walk me through step by step on how to do that , I would be extremely grateful. :slight_smile:

Well, let me quickly write up a guide for this…
This guide assumes that you’re playing on the newest experimental version of the game as of now (build 0.E-11133). A different version might doesn’t have the stuff at the place where I state that they are, but should behave similar.

  • Navigate to your Cataclysm: DDA folder.
  • Open the gfx folder and the UltimateCataclysm inside of it.
  • Open the normal.png file in a graphic editor that can handle transparent layers (Photoshop or Gimp are fine, Paint.NET should support them too as far as I know, Paint on Windows 7 - and maybe other Windows versions - does not).
    • This file might just be called normal, if you don’t have file extentions turned on.
  • In the 15th row and 4th column there’s your crossair - change the color to something of your liking and save/overwrite the file.
    • Depending on the game’s version, this might be in a different place in that file. You might have to search for a bit, but it should be close to other (coloured) cursors.
  • Switch to a different tileset and back or restart Cataclysm, if you had it running.

Since you’re an artist, I’m sure you have a software that supports transparency, but just in case someone else wants to follow this guide I’ve included the hint nonetheless.

1 Like

Awesome :smiley: thank you , I really appreciate this. :black_heart:yeah I’m pretty sure I’m running the most recent experimental version so these instructions should help alot. I’ll mess with it tomorrow and let you know if I have any other questions :slightly_smiling_face: great instructions by the way

1 Like

Ultica cursor is the single (and therefore, most) horrible part of the tileset. It’s the singular reason I’m still on RD+.

@Valase it worked perfectly, cursor is teal colored now :blue_heart: thanks again.

@GiggleGrassGatherer it was surprisingly easy to change, took all of half a minute to do once I knew how to do it. I thought it would be alot more complicated, as I’ve never modded anything in my life.

1 Like

the problem is, every time you update the game, you have to fix it again

You could make it into a mod, similar to how “sees-player icon”-mods do it…

and then, when Ultica is updated, I won’t have those updates because normal.png contains pretty much all of the tileset…

I think you misunderstood. You can literaly make a mod, separate from the normal.png, that adds these stuff in.

Let me… I’ll write one up, but I need to grab some food that will keep me awake for at least a few more minutes…
'Be right back. Falling asleep, will take longer.

How do you make a mod that applies changes to only a part of a .png file?
I know you can make a mod that changes an item but even that replaces the item as a whole - if the item is changed in main game, you’d still have your old modded version.
I thought it’s the same thing here - the only way to make a mod that changes a .png is to make a new .png with your edits. Which of course will be used instead of main .png even if that main was updated.

Well, as stated, I imagined something similar as the “sees-player icon” mods (take a look at the “sees_player_hitbutton” and “sees_player_retro” folders inside the mod folder to get a closer look): They add in just a single tile, not overwrite all; just one (or four) specific tile(s) that gets changed and is independent from how the tileset evolves.

However, as I was writing up the guide to do that, I noticed a flaw in my plan: It seems like already set tiles can not be overwritten by this method, only previously undefined ones.

I’ll try some more things and ways to bypass this, but not right now, as I’m really tired and will fall asleep on my keyboard, if I’d play around a bit more right now…

Edit:
I just realized something before drifting away into my dreams; the tileset is loaded after the mods. This means the problem isn’t that the mod can’t overwrite the tileset, but that it gets overwritten by the tileset.
I doubt that I can do anything about that, but I’ll check… when I wake up.

Just checked, and “tiles-new” in mod_tileset.json doesn’t work for tiles defined in original tileset. Just “tiles” doesn’t work either. Only direct editing of the source file has an effect.

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 the better_cursor mod.

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…

2 Likes

So, it’s… uh… strange. I made this file
ultica_cursor
with cursor and a line dot (because default line is effectively invisible too).
This is my “tiles” part of config:

    "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 },
          { "id": "animation_line_season_spring", "fg": 1 },
          { "id": "animation_line_season_summer", "fg": 1 },
          { "id": "animation_line_season_autumn", "fg": 1 },
          { "id": "animation_line_season_winter", "fg": 1 }
    ]

edit: okay, it still doesn’t quite work. it replaces the line but not the cursor. Ideas?
edit2: wait a minute. look cursor is replaced. “V” menu uses different cursor than ‘x’ menu? So, what’s its name, then? Judging by original tileset and it being a yellow cursor, it should have index 431 but there’s nothing in UltiCa’s tile_config.json with that index…

Sigh, why do you always come up with stuff like this when I want to go to bed? Or no, actually, why do I always want to answer questions like this on my way to bed?

Yes, “cursor” is shared for “x”, “;”, shifted views and the orientation indication while driving, but not for shooting or throwing (which actually show both cursors at the same time), or the “V” menu.

Anyway, you’re probably looking for “line_target” (index 432, “cursor” is 435 (as of build 0.E-11133)).

1 Like

*sigh* which I should’ve already understood based on my experience (see 1st edit of previous post). Oh, well. At least it is working now. Thanks again :slight_smile:

1 Like

You monster, using your cursor in CDDA instead of just your keyboard. Heresy I say, HERESY!

Oh, don’t worry, I use the keyboard, not the mouse. But I do use the cursor symbol that shows up to aim the vehicles and avoid obstacles. It’s just a little white square about six tiles ahead of my vehicle that shows where it’s heading next. Maybe cursor wasnt the right word to use idk, everyone seemed to understand what I meant lol

Well, even the game calls it cursor, so it is the right word…
Unless whoever has programmed that used the wrong word for it and everyone just rolled with it (which I doubt, see below).

Joke aside, the “blinking position indicator” in a keyboard only console is called cursor. So even with the first Commodore 64 and no mouse support you had to use the cursor if you used the computer at all…

2 Likes