There’s a number of things missing or wrong, I think.
Here’s the basic save game setup:
Notice, you have to read the save game, update it, and write back out.
As far as I can tell you’re making a new save game each time, which will mean what was previously there will get overwritten.
Each house needs to control it’s own door bool in the save game. When the player opens the door, it should update the save game. When the game is restarted, each house needs to check it’s down door bool. If the bool is true, set the door to open, otherwise leave it closed.
This means each house needs an ID ( just an int ), so it knows which bool belongs to it.
It’s ok to keep all the door bools in an array, each house can use it’s ID to read and write the correct bool. Another way is to have a ‘house save game struct’ which includes the door bools and everything else conerned with the state of the house.
Hope that makes some sense.