You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
THIS IS MASSIVELY OUTDATED, PLEASE HOLD WHILE A NEW GUIDE IS PUT TOGETHER
Important note:
This guide will NOT help you if your edits and the master map update the same tiles. In that case, there is no option but to manually compare both and keep all the appropriate changes from both maps.
Always make sure you have looked at the mapping PRs made since you started your project, they might touch on the same areas as you and you will have to apply their changes to your changes.
Failing to do this will lead to you undoing changes and making more work for everyone down the line.
Preface
This guide works on the assumption of basic StrongDMM (SDMM) and Git knowledge, and the use of VSC with the GitHub extension.
I will attempt to avoid assuming you know all the terms and acronyms, and I will illustrate where possible with screenshots.
Oh my god my map is conflicted send help!
We've all been there, and joining the mapping queue means you are expected to deconflict your own map when you are next in the mapping queue.
The first thing you will want to do is make a backup copy of your edited map. To do this:
Swap to the branch with your edits within VSC.
Locate the map file, and copy it to a folder outside of your Git workspace. (Perhaps in your user documents or, if you like a big mess, your desktop.)
Open GitHub and download a copy of the latest master version of the map you edit, save this in the same place as you backed up your edits.
Now that you have backed everything up, it's time to bring your branch up to date with master.
In VSC, do a merge master. This is done by swapping to your branch and right-clicking master to get the correct option.
In the top-left section of your window, you should now see something like this if you have done it correctly:
Open the conflicted file by clicking it, give it a moment to figure out the changes in your file, then right-click on it to select this option: (It doesn't matter what option we select here, we will be overwriting the file regardless.)
Once that has been completed, stage the map and commit your merge master. Then, go into your files and replace the map with the updated master map you downloaded earlier.
Using SDMM to reapply your changes.
This section applies to edits that fit in a rectangle. If your edits are a strange shape or are map-wide, there is an additional section below.
Once you have done this, open SDMM.
Load up the fresh, master map we just placed in the normal map folder.
Also, open your backed up map from wherever you stored it. OPEN BOTH MAPS IN THE SAME SDMM INSTANCE, YOU CAN THEN SWAP BETWEEN MAPS IN THE TOP RIGHT.
Now, identify the areas that your edits fill. In my example edit, I have edited the bridge section of deltastation, including the surrounding hallways.
Select your changed area.
Copy it to clipboard.
Swap back to the "master" map and paste your edits. Your mouse should be in the bottom left of your changes.
That is it, you have applied your edits to the latest master map.
Swap back to VSC and you should see something similar to this:
Fill a commit name, and commit the changes.
And there you go, done!
My changes are not a neat square! HELP!
Edits to specific objects only.
Okay, let's say you have re-piped the entire map. (Or made changes to specific item types only.) How the hell do we copy changes over without re-writing everything else?
The answer is within SDMM's "Layers Filter" feature.
Open it from Options -> Layers Filter...
Lets say we want to change only atmospherics pipes and devices.
Untick everything barring atmospherics items.
Go to your master map, and with the filter applied select everything and delete it all.
Now go back to your backed up edits map. With the filter applied, copy the entire map, and paste it over the now-blank master.
This will insert only the item you have selected in the filters, in our case atmos pipes.
Only things ticked in the "Layers Filter" menu will be copied. So you can safely apply just those without touching anything else.
Now you can save your edits and commit as above.
Edits that are not a square
What if we want to make changes in an area that is not a square, without overwriting parts of the map we haven't touched?
We could just break it up into multiple copy/pastes, but this can be hard for irregular or awkward shapes. There is an easier way!
Let's say we have edited botany and the kitchen as in the below selection.
First, delete the area around that we have made no edits to, so it should look like this:
If we copy this as above, you notice it will place space when we try to paste it in. How do we avoid this?
Remove space from the layers filter:
By doing this, when we copy and paste these edits onto the master map, it will only place the turfs that we can see in the above screenshot.
Now you can save your edits and commit as above.
Conclusion
After doing this, you will still have the merge conflict tag on GitHub. This is normal, the next time a maintainer merges a PR, it will get removed.
The above methods should give you enough options to easily deconflict any change. If you have made mass edits across the map to many different items, there is no easy solution and you just have to put in the effort to deconflict. You can always poke the #coding_chat channel on discord for more help if needed.
A final note, please test your changes after updating like this. There could be unintended interactions with other changes on the map and you should always re-test your edits.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
THIS IS MASSIVELY OUTDATED, PLEASE HOLD WHILE A NEW GUIDE IS PUT TOGETHER
Important note:
This guide will NOT help you if your edits and the master map update the same tiles. In that case, there is no option but to manually compare both and keep all the appropriate changes from both maps.
Always make sure you have looked at the mapping PRs made since you started your project, they might touch on the same areas as you and you will have to apply their changes to your changes.
Failing to do this will lead to you undoing changes and making more work for everyone down the line.
Preface
This guide works on the assumption of basic StrongDMM (SDMM) and Git knowledge, and the use of VSC with the GitHub extension.
I will attempt to avoid assuming you know all the terms and acronyms, and I will illustrate where possible with screenshots.
Oh my god my map is conflicted send help!
We've all been there, and joining the mapping queue means you are expected to deconflict your own map when you are next in the mapping queue.
The first thing you will want to do is make a backup copy of your edited map. To do this:
Now that you have backed everything up, it's time to bring your branch up to date with master.
In VSC, do a merge master. This is done by swapping to your branch and right-clicking master to get the correct option.
In the top-left section of your window, you should now see something like this if you have done it correctly:
Open the conflicted file by clicking it, give it a moment to figure out the changes in your file, then right-click on it to select this option: (It doesn't matter what option we select here, we will be overwriting the file regardless.)
Once that has been completed, stage the map and commit your merge master. Then, go into your files and replace the map with the updated master map you downloaded earlier.
Using SDMM to reapply your changes.
This section applies to edits that fit in a rectangle. If your edits are a strange shape or are map-wide, there is an additional section below.
Once you have done this, open SDMM.
Load up the fresh, master map we just placed in the normal map folder.
Also, open your backed up map from wherever you stored it.
OPEN BOTH MAPS IN THE SAME SDMM INSTANCE, YOU CAN THEN SWAP BETWEEN MAPS IN THE TOP RIGHT.
Now, identify the areas that your edits fill. In my example edit, I have edited the bridge section of deltastation, including the surrounding hallways.
That is it, you have applied your edits to the latest master map.
Swap back to VSC and you should see something similar to this:
Fill a commit name, and commit the changes.
And there you go, done!
My changes are not a neat square! HELP!
Edits to specific objects only.
Okay, let's say you have re-piped the entire map. (Or made changes to specific item types only.) How the hell do we copy changes over without re-writing everything else?
The answer is within SDMM's "Layers Filter" feature.
Open it from Options -> Layers Filter...
Lets say we want to change only atmospherics pipes and devices.
Untick everything barring atmospherics items.
Go to your master map, and with the filter applied select everything and delete it all.
Now go back to your backed up edits map. With the filter applied, copy the entire map, and paste it over the now-blank master.
This will insert only the item you have selected in the filters, in our case atmos pipes.
Only things ticked in the "Layers Filter" menu will be copied. So you can safely apply just those without touching anything else.
Now you can save your edits and commit as above.
Edits that are not a square
What if we want to make changes in an area that is not a square, without overwriting parts of the map we haven't touched?
We could just break it up into multiple copy/pastes, but this can be hard for irregular or awkward shapes. There is an easier way!
Let's say we have edited botany and the kitchen as in the below selection.
First, delete the area around that we have made no edits to, so it should look like this:
If we copy this as above, you notice it will place space when we try to paste it in. How do we avoid this?
Remove space from the layers filter:
By doing this, when we copy and paste these edits onto the master map, it will only place the turfs that we can see in the above screenshot.
Now you can save your edits and commit as above.
Conclusion
After doing this, you will still have the merge conflict tag on GitHub. This is normal, the next time a maintainer merges a PR, it will get removed.
The above methods should give you enough options to easily deconflict any change. If you have made mass edits across the map to many different items, there is no easy solution and you just have to put in the effort to deconflict. You can always poke the #coding_chat channel on discord for more help if needed.
A final note, please test your changes after updating like this. There could be unintended interactions with other changes on the map and you should always re-test your edits.
Beta Was this translation helpful? Give feedback.
All reactions