Skip to content

building-plan material filters broken in reclaimed fort - probably persistence api #5716

@ab9rf

Description

@ab9rf

Something goes wrong in building plan (and possibly other tools) when loading a reclaimed fort for the first time. The material filter options on the "Global settings" tab of the building plan filter dialogs are inoperative immediately after reclaiming a site. Clicking any of these buttons results in no change on the screen and the message "all contruction materials disabled; resetting config" is printed to the console each time a button is pressed.

Furthermore, during initial fortress load, the following errors are logged to the console, during or immediately after running onLoad.init

<path>\hack\lua\dfhack.lua:804: unable to save data in key 'autotraining'
stack traceback:
        [C]: in field '?'
        <path>\hack\lua\dfhack.lua:804: in upvalue 'persistent_saveData'
        <path>\hack\lua\dfhack.lua:818: in field 'saveSiteData'
        <path>/hack/scripts/autotraining.lua:51: in global 'persist_state'
        <path>/scripts/autotraining.lua:90: in function <E:/Kelly/DF/df_53_10_steam/hack/scripts/autotraining.lua:72>
true
<path>\hack\lua\dfhack.lua:804: unable to save data in key 'buildingplan/quick-filters'
stack traceback:
        [C]: in field '?'
        <path>\hack\lua\dfhack.lua:804: in upvalue 'persistent_saveData'
        <path>\hack\lua\dfhack.lua:818: in field 'saveSiteData'
        <path>\hack\lua\plugins\buildingplan\planneroverlay.lua:490: in function <<path>\hack\lua\plugins\buildingplan\planneroverlay.lua:477>

I don't know where that "true" came from. That itself is kinda weird. The fact that autotraining is also generating an error suggests that the problem is with the common API both use rather than with either tool itself.

Best guess this is an issue with the persistence API not working correctly in a newly reclaimed fort. The problem resolves when the fortress is saved and reloaded, so this is likely due to something along the lines of that a reclaimed procedurally generated fortress doesn't have a cosave yet, but the API is expecting there to be be one.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions