This is an elusive one. I found if I disable AAI, the error disappears. If I disable deadlock, the error disappears. When I disabled another set of mods that didn't have AAI, bobs, deadlock, or whistlestop, the error also disappears, so based on that it seems like this error is being caused by at least 5+ mods working together to sabotage your game.
I've written another mod that will help me selectively dump the data.raw contents during various points in the game loading.
What I think is happening is that some combination of mods is TEMPORARILY leaving a recipe icon in a malformed state. Then my mod runs and copies that bad icon data to an item for use as a map tag. Then, another mod comes in and fixes the bad recipe icon during data final fixes. That is my main theory. This also could be related to the fact that some tables in data.raw share the same pointer, so changing a table value for one entry may inadvertently change it for a bunch of entries.
The problem recipe is deadlock-packrecipe-glass which has:
icon_size = 64,
icons = {
{
icon = "__DeadlockCrating__/graphics/icons/crate-32.png",
icon_size = 32
},
{
icon = "__bobplates__/graphics/icons/glass.png",
icon_size = 64,
scale = 0.35,
shift = {
2,
2
},
tint = {
0,
0,
0,
0.75
}
},
{
icon = "__bobplates__/graphics/icons/glass.png",
icon_size = 64,
scale = 0.35
},
{
icon = "__DeadlockCrating__/graphics/icons/arrow-d-64.png",
icon_size = 64,
scale = 0.25,
shift = {
0,
8
}
}
},
Note that I don't think (or don't know) if the 32 for some icons and 64 for others is the problem. That may be fine. I think the problem is that glass.png is only 32x32, but somehow its being labeled as size=64 at this stage.
EDIT: Looks like the "fix" is done by another mod simply completely deleting data.raw.recipes["deadlock-packrecipe-glass"] later in the data final fixes.