Difference between revisions of "Map Merger"

From NSV13
Jump to navigationJump to search
imported>Oranges
imported>Thot slayer
m (close dreammaker ffs)
Line 30: Line 30:
 
|'''4. Edit your map'''
 
|'''4. Edit your map'''
 
|Make your changes to the map here. Remember to save them!
 
|Make your changes to the map here. Remember to save them!
 +
|-
 +
|'''4a. Exit DreamMaker'''
 +
|We're about to rewrite the entire MAP into a better format that works better with git, if DreamMaker is still open you may accidentally resave the map or autosave, undoing the next step.
 
|-
 
|-
 
|'''5. Clean map'''
 
|'''5. Clean map'''
Line 40: Line 43:
 
|Your map is now ready to be committed, rejoice and wait for conflicts.
 
|Your map is now ready to be committed, rejoice and wait for conflicts.
 
|}
 
|}
 
  
 
==Gotcha's==
 
==Gotcha's==

Revision as of 16:46, 23 October 2017

Before any change to a map, it is good to use the Map Merger tools. In a nutshell, it rewrites the map to minimize differences between different versions of the map (DreamMakers map editor rewrites a lot of the tile keys). This makes the git diff between different map changes much smaller. More recently a new way of laying out the map was invented by Remie, called TGM, this helps to further reduce conflicts in the map files.

This is good for a few reasons

1) Maintainers can actually verify the changes you are making are what you say they are by simply viewing the diff (For small changes at least)

2) The less changes there are in any given map diff, the easier it is for git to merge it without running into unexpected conflicts, which in most cases you have to either manually resolve or require you to remap your changes


However - to do all this is going to require you to put some elbow grease into understanding the map merger tool.

If you have difficulty using these tools, ask for help in #coderbus

Using the tools

1. Install Python 3.5 or greater If you don't have Python already installed it can be downloaded from: https://www.python.org/downloads/ - make sure you grab the latest python 3, again, it must be 3.5 or greater
2. PATH Python This step is mostly applicable to windows users, you must make sure you ask the windows installer to add python to your path.
This image shows the correct setting to ensure is set https://file.house/DA6H.png
3. Prepare Maps Run "Prepare Maps.bat" in the tools/mapmerge/ directory.
4. Edit your map Make your changes to the map here. Remember to save them!
4a. Exit DreamMaker We're about to rewrite the entire MAP into a better format that works better with git, if DreamMaker is still open you may accidentally resave the map or autosave, undoing the next step.
5. Clean map Run "Run Map Merge - TGM.bat" in the tools/mapmerge/ directory.
7. Check differences Use your git application of choice to look at the differences between revisions of your code and commit the result.
8. Commit Your map is now ready to be committed, rejoice and wait for conflicts.

Gotcha's

  • Reviewing the map in dreammaker after mapmerging but before committing changes to git., this will cause DreamMaker to rewrite it back to the dmm format, stage your maps with git add, then view in dreammaker and once you've verified they look good, use git commit (not restaging) to commit the changes
  • Leaving DreamMaker open while running mapmerger, can sometimes cause DreamMaker to write over the TGM's changes
Contribution guides
General Hosting a server, Setting up git, Guide to working with tgstation as an upstream repository, Downloading the source code, Guide to contributing to the game, Reporting issues, Game resources category, Guide to changelogs
Database (MySQL) Setting up the database, MySQL
Coding Coding standards, Understanding SS13 code, SS13 for experienced programmers, Binary flags‎, Getting Your Pull Accepted, Text Formatting
Mapping Guide to mapping, Map merger
Spriting Guide to spriting
Wiki Guide to contributing to the wiki, Wikicode, Maintainer Assignments