A Patch modop that is functionally identical to the explicitMerge from #174 but does nor run recursively, instead using its own stack.
This iterates over the tree structure of a game and a patch node. Only a single patch node may be used, and all patch entries must exactly match the target structure.
This ModOp does not run recursively, but is not neccessarily more space efficient since all patch children still get put on a (local) stack. This was easiest to implement, since it's easy to use the next patch sibling on a successful patch, but not on a failed patch, since it would silently fail by empty stack, not patching any following patches.
Has the Unit tests from the (recursive) explicitMerge PR, just renamed to the patch ModOp.
There's some other small changes in this PR, since the gitignore did not previously ignore the visual studio state folder (.vs), only the VSCode state. Also made an enum into an enum class for the better type safety and fixed a wrong XML closing tag in a test file.
A Patch modop that is functionally identical to the explicitMerge from #174 but does nor run recursively, instead using its own stack.
This iterates over the tree structure of a game and a patch node. Only a single patch node may be used, and all patch entries must exactly match the target structure.
This ModOp does not run recursively, but is not neccessarily more space efficient since all patch children still get put on a (local) stack. This was easiest to implement, since it's easy to use the next patch sibling on a successful patch, but not on a failed patch, since it would silently fail by empty stack, not patching any following patches.
Has the Unit tests from the (recursive) explicitMerge PR, just renamed to the patch ModOp.
There's some other small changes in this PR, since the gitignore did not previously ignore the visual studio state folder (.vs), only the VSCode state. Also made an enum into an enum class for the better type safety and fixed a wrong XML closing tag in a test file.