Line 508 and 509 in SaveBattleGame have the wrong scope.
They should be handled in the above "if", like in the old version.
This leads to the fact that the YAML node pointer is empty.
The pointer should only be emptied if there no mapsize bigger 0, indicating a battlescape save.
If this is right i do not know but _nodes.clear(), was before only called in the if statement.
Same goes for _mapDataSets.clear();
Edit: the forloop one line 504 also has wrong scope, being outside the above if.