Whistle Stop Factories


Spawns massive furnaces and assembly machines around the map to make the game all about building trains to connect them

Content
3 years ago
0.16 - 1.1
2.90K
Manufacturing

b Will not load with latest bobs

5 years ago
 898.726 Mods to disable:Failed to load mods: The given sprite rectangle (left_top=0x0, right_bottom=64x64) is outside the actual sprite size (left_top=0x0, right_bottom=32x32).
Sprite name: __bobplates__/graphics/icons/glass.png.
If this is being used as an icon you may need to define the icon_size property.: __bobplates__/graphics/icons/glass.png

Mods to be disabled:
• WhistleStopFactories

When WSF is disabled then it loads fine, otherwise the above error.

I'm guessing that it is pulling in the HR version of the image for non-HR mode based on what is happening. Consequently to reproduce it then you need to run in low quality graphics mode I would guess.

5 years ago

So I'm running Factorio 0.17.38, WhistleStop 0.1.16, Bobplates 0.17.4 (latest on everything, and also a bunch of other bobs mods too) and I get no crash, so I think it might be a more complicated interaction? I was on normal sprite resolution too. I'm not able to replicate this error.

I'm guessing this has to do with where I turn RECIPES icons into ITEMS, because map tags are only allowed for items, but I want to do it for recipes so I can tag each giant factory with a map tag of its current recipe. If that guess is accurate, my issue is somewhere in this code:

local function tagIcons()
for k,v in pairs(data.raw.recipe) do
    if type(v) == "table" then
        if v.icon or v.icons then
            data:extend({{
                name = v.name .. "_tagicon",
                type = "item",
                icon = v.icon,
                icons = v.icons,
                icon_size = v.icon_size,
                stack_size = 1,
                flags = {"hidden"}
            }})
        end
    end
end
end

tagIcons()

When I mess with recipes (to make my 50x recipes), I mostly duplicate the recipe and don't need to do anything with icon or icons. This is the only area of my code where I mess with icons and only applies to recipes that have separately specified icons (otherwise it'll just use the icon of the main product). And as you can see I'm explicitly coping icon, icons, and icon_size.

I believe this should account for both valid icon specifications: https://wiki.factorio.com/Types/IconSpecification

I'm not sure what the issue is. Not having access to the two data.raw files is problematic. That error doesn't even tell me which element of data raw is the issue.

5 years ago

I'm not sure what the issue is. Not having access to the two data.raw files is problematic. That error doesn't even tell me which element of data raw is the issue.

Yeah otherwise I would have debugged into it myself... ^.^;

Here's a savegame of everything except WSF, just add WSF to it (after synching mods to it that is) and it will fail to load:
https://overminddl1.com/Factorio/saves/Test-20190515a.zip

5 years ago

Just updated all mods since bob's updated, no change:

 457.043 Factorio initialised
 457.098 Mods to disable:Failed to load mods: The given sprite rectangle (left_top=0x0, right_bottom=64x64) is outside the actual sprite size (left_top=0x0, right_bottom=32x32).
Sprite name: __bobplates__/graphics/icons/glass.png.
If this is being used as an icon you may need to define the icon_size property.: __bobplates__/graphics/icons/glass.png

Mods to be disabled:
• WhistleStopFactories
5 years ago
(updated 5 years ago)

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.

5 years ago

Tested and confirmed, it seems to be deadlocks stacking beltboxes and compat loaders, reported it to them at:
https://mods.factorio.com/mod/deadlock-beltboxes-loaders/discussion/5ce1768fd24548000cd76d4f

5 years ago

Same Problem with Angelssmelting:
Bobplates is updated for HD textures in the latest version. Downgrade bobplates to 0.17.6 can solve this problem.
https://mods.factorio.com/mod/bobplates/discussion/5ce44cc815f10c000c668a57
https://mods.factorio.com/mod/bobplates/discussion/5ce443eac83fea000bbadee5

5 years ago

Problem may have something to do with both AAII and Bob having an item named glass, with AAII having it as a 64 size icon and Bob as a 32 size.

AAII is supposed to not add glass if it already exists, though, so it may also be a problem with load order.

New response