Revamped Barrens biome

Alright, time for weekly updates! Lots of little bits, as usual mostly for World Forge.

  • Clustering of vegetation. Somebody noted that my forest densities are a bit all over the place. I revisited the biome generation code and I realised that, indeed, it was almost white-noise-random. So I replaced it with some good ol' simplex, so that in practice forests should look a bit more gradual and clustered.
  • Settings screen. I've started working on a settings screen, but it's nowhere near ready. This would be for audio, keybindings, things like that.
  • Roads not crossing mines anymore. Another comment I got at some point was that it looked bad when mines were generated on road tiles. Well, that doesn't happen anymore. When I'm doing automatic route calculation, I add a hefty negative weight to tiles with rare resources.
  • Revisited biome distributions. Made a grid for biome distributions, for my visual assistance basically. The biomes need to cover rectangular areas as in my current implementation I use min/max values of temperature and humidity to define each biome's range. I think it looks reasonable!
  • World Forge: holding button and painting adjust rather than sets values. I'm basically trying to emulate a nice brush, so that for example you can paint an area slightly warmer than it currently is, rather than setting an explicit value. The implementation works, but with a large brush radius it becomes useless as lots of tiles are revisited multiple times very quickly. Need to think of a different approach to achieve that, with a larger brush radius; maybe use a falloff or something like that.
  • Penalty for water routes. When generating routes that connect cities, I've added an overall penalty for water routes - I already had a penalty for changing to/from water.
  • Show route erasure line. This is tricky to explain. Basically you can paint and erase routes, and both work using start/end tile, which used to be adjacent only. That's because when we paint a route, we really want to paint a direction rather than this tile is connected to ALL adjacent route tiles. To paint a direction we need a source tile. This source tile so far was not visually communicated, and now I'm highlighting this. And to top things up, for quicker mouse movements, source/target tiles don't even have to be adjacent - if they're not, we're applying the same process in all tiles in the bresenham line between the points
  • Music in worldforge mode. Previously I didn't have music for the overworld, just ambience. Ambience now does not make sense since we don't have a player moving around, so I've added yet another royalty-free track.
  • TextureWatcher works again, on Linux. After I moved to Linux, I kept getting crashes in the TextureWatcher so I disabled it. For some sprite work I needed to reenable it and it somehow works fine now?? All good I suppose (suspicious...).
  • Sprite work on Barrens biome. I hated how the barrens biome looked, and that's why there are few screenshots/videos that focus on that. It looked like blended lentils. On top of that, the blocking elements of that biome are some bad-looking rocks. So this got an art refactor treatment with DIY aseprite art, to add some cracked terrain and some dead trees. Art is slightly janky as usual, but at least it's mine and it's better (imo) than what it was before. At least it communicates better the biome I had in mind.

That's all for now, have a nice weekend!