Color Blind Ultimate

by rycieos

Ultimate options for color blindness accessibility. Includes custom icons, sprites, icon and sprite overlays, text overlays, customizable wire colors, customizable game and map overlay colors, and customizable technology background colors. Everything is individually customizable. Can be removed without affecting save games.

Tweaks
19 days ago
1.1 - 2.0
672

i Agricultural Tower Visualization Color?

20 days ago
(updated 20 days ago)

When you are placing an agricultural tower, the planting grid (of 3x3 tile squares) is green when all 9 tiles are valid, yellow when at least one of the tiles is the "wetland-yumako" or "wetland-jellynut", and red if even a single tile in the 3x3 square is not one of these.

The problem is the difference between the green and yellow is so subtle that I can only see it when zoomed right in close, far too close for purposes of placement. Would it be possible to change the color? I'm not sure if agricultural_range_visualization_color would do it since the difference between green and yellow is the critical thing and I don't know how those colors are determined.

Edit: the visualization is only red if there is a tile type that cannot support artificial soil or overgrowth soil. So green if you can plant there now, and yellow if you could plant with the right added soil.

I've been using https://mods.factorio.com/mod/agricultural-tower-placement-helper to easily tell the difference at the individual tile level, but then you have to nudge it around while mentally comparing those tiles to the hard-to-see tower visualization grid to get 3x3 groupings.

20 days ago

Thanks for the request. This is something I am aware of.

Unfortunately, as far as I can tell, UtilityConstants::agricultural_range_visualization_color is not used for anything inside the game. It is set to {0.05, 0.1, 0.05, 0.15} by default, and I could not find anywhere that color is used related to agricultural towers.

The only way I was able to find to modify the visualization was through AgriculturalTowerPrototype::radius_visualisation_picture, which is the same API used for roboports, electric poles, etc. However, the huge problem is that the same picture is used for all 3 different visualization colors. So any patterns added or colors modified would not be any use for distinguishing the different colors. The 3 colors are baked into the engine as far as I can tell.

There is a forum post requesting that Wube fix this problem here that Wube has so far ignored. I requested that at the very least they allow for controlling the colors separately.

The mod you linked is very interesting. It overcomes the limitations by doing the modifications at runtime by adding custom render objects. This is certainly doable. Let me see if I can get something working.

20 days ago

So in the meantime, could I change some resource to change the visualization color theme across the board? This yellow being hard to see is not a new problem for me, certainly, so it might actually be a win for me to change it other places too.

20 days ago

So I learned that it's /data/core/graphics/white-square.png that is used (I edited it and could create patterns), but it looks like it's a mask that just gets tinted. Is there a way to change the tinting?

20 days ago

There is not. That is what I asked for in that thread: https://forums.factorio.com/viewtopic.php?p=638759#p638759

19 days ago

Added my support in that thread. Here's hoping they eventually listen.

19 days ago

I was able to get something working that I am happy with. When hovering an agricultural tower, it will show an icon in the center of each 3x3 grid. Each icon for a color is individually configurable on or off.

Due to no way to get the cursor position, there was no way to make it work for agricultural towers in the cursor. However, the mod you linked does nothing when hovering a tower, so my mod and that one are perfectly compatible. Obviously I prefer my solution, as it shows 1 icon for the 3x3 grid, and it shows icons instead of colored circles.

I added this feature in v2.4.0 just now. Let me know if you have any issue with it. Or if anyone knows how to get the map location of an entity that hasn't been placed yet (ie item in cursor, entity in blueprint that is in the cursor), please let me know.

This required runtime hacks, so hopefully Wube listens to our requests and exposes a way to make this a startup configurable feature.

18 days ago

Thank you! This is very helpful for validating placement after the fact, working well with that other mod as an aid. Fingers crossed (but not breath held) that they add better support for changing the tinting, or even make vanilla changes to make life easier for us colorblind people.

18 days ago

I just noticed that it does not recognize when other buildings block would-be good spots: https://i.imgur.com/jQu8VSN.jpeg

18 days ago

I just noticed that it does not recognize when other buildings block would-be good spots: https://i.imgur.com/jQu8VSN.jpeg

Unless my eyes are completely worthless, the vanilla colored boxes do not either: https://i.imgur.com/VEpejo9.jpeg

My intention was to duplicate the logic that the game uses, which leads to some misleading indications, like this one. The other is if you have a 3x3 square with both yumako and jellynut soil in it, the game will color it green, even though an agricultural tower will be able to plant neither type of tree in that spot.

I could fix that for my icons, but that would be a much more costly check (find entities in that bounding box, check each of them to see if they would collide with a plant), or for the mixed soil, 3 times as many tile checks. Both are doable, but my intention is not to change gameplay mechanics, only to improve graphics of ones that already exist. And arguably one might want to see a grid as green even with a blocking entity, so they know that the grid is valid and they should remove the entity. I think both ways would be valid.

18 days ago

Doh! You're absolutely correct. This is how feature-creep gets you. lol

Your argument about blocking entity not turning it "red" is sound, assuming that's what you mean. Though I would argue that this would be a natural fit for your "caution" overlay, same idea as "you can build here if you change the ground appropriately". But your intention of just aiding the existing visualization rather than adding additional behavior is definitely valid.

New response