Map Merger: различия между версиями

Материал из MassMeta
Перейти к навигации Перейти к поиску
imported>Skoglol
Нет описания правки
imported>SpaceManiac
(Make instructions easier to understand)
Строка 7: Строка 7:
# '''Install Python 3.6''': If you don't already have Python installed, [https://www.python.org/downloads/ download and install] version 3.6 or later.
# '''Install Python 3.6''': If you don't already have Python installed, [https://www.python.org/downloads/ download and install] version 3.6 or later.
# '''Ensure Python is in your PATH''': For Windows users, ensure that you check the "Add Python 3.6 to PATH" option in the installer. - see [https://file.house/DA6H.png here for example]
# '''Ensure Python is in your PATH''': For Windows users, ensure that you check the "Add Python 3.6 to PATH" option in the installer. - see [https://file.house/DA6H.png here for example]
# '''Install dependencies''': For Windows users, run <code>tools/mapmerge2/requirements-install.bat</code>. Non-Windows or advanced users can manually run <code>python -m pip install tools/mapmerge2/requirements.txt</code>.


== Use as a Git Commit Hook (preferred) ==
== Use as a Git Commit Hook (preferred) ==
Строка 13: Строка 12:
This method requires slightly more setup, and requires you to be using git rather than just downloading the source, but requires no manual intervention after setup. For this reason, it is the recommended method.
This method requires slightly more setup, and requires you to be using git rather than just downloading the source, but requires no manual intervention after setup. For this reason, it is the recommended method.


# '''Install the hook''': Windows users run <code>tools/hooks/install.bat</code>. Other platforms run <code>tools/hooks/install.sh</code>.
# '''Install the hook''': Windows users open the <code>tools/hooks</code> folder and double-click <code>install.bat</code>. Other platforms run <code>tools/hooks/install.sh</code>.


Now, any time you create a commit, the map merger runs automatically and bases your changes on top of the previous version of the map stored in git. The dialog box or console output of the commit will show the map merger's log. You can check the git commit log to review changes, or run <code>tools/mapmerge2/precommit.py</code> manually to review changes before comitting.
Now, any time you create a commit, the map merger runs automatically and bases your changes on top of the previous version of the map stored in git. The dialog box or console output of the commit will show the map merger's log. You can check the git commit log to review changes, or run <code>tools/mapmerge2/precommit.py</code> manually to review changes before comitting.
Строка 19: Строка 18:
== Manual Use ==
== Manual Use ==


This is the older method, and is simpler but requires careful manual use each time you want to make changes to the map. Each time you want to edit a map, follow these steps:
This is the older method, and is simpler but requires careful manual use each time you want to make changes to the map. First:
 
# '''Install dependencies''': For Windows users, run <code>tools/mapmerge2/requirements-install.bat</code>. Non-Windows or advanced users can manually run <code>python -m pip install tools/mapmerge2/requirements.txt</code>.
 
Each time you want to edit a map, follow these steps:


# '''Prepare maps''': Run <code>tools/mapmerge2/Prepare Maps.bat</code> to save a backup of all maps in their current state.
# '''Prepare maps''': Run <code>tools/mapmerge2/Prepare Maps.bat</code> to save a backup of all maps in their current state.

Версия от 21:45, 26 июня 2020

/tg/station uses a tool called the Map Merger to minimize differences between versions of maps and lay them out in a format known as TGM, developed by Remie. This makes changes easier for maintainers to review and less likely to conflict with changes made by others.

There are two ways of running the tool, each requiring some amount of setup. If you have trouble or need help, ask in #coderbus.

Basic Setup

  1. Install Python 3.6: If you don't already have Python installed, download and install version 3.6 or later.
  2. Ensure Python is in your PATH: For Windows users, ensure that you check the "Add Python 3.6 to PATH" option in the installer. - see here for example

Use as a Git Commit Hook (preferred)

This method requires slightly more setup, and requires you to be using git rather than just downloading the source, but requires no manual intervention after setup. For this reason, it is the recommended method.

  1. Install the hook: Windows users open the tools/hooks folder and double-click install.bat. Other platforms run tools/hooks/install.sh.

Now, any time you create a commit, the map merger runs automatically and bases your changes on top of the previous version of the map stored in git. The dialog box or console output of the commit will show the map merger's log. You can check the git commit log to review changes, or run tools/mapmerge2/precommit.py manually to review changes before comitting.

Manual Use

This is the older method, and is simpler but requires careful manual use each time you want to make changes to the map. First:

  1. Install dependencies: For Windows users, run tools/mapmerge2/requirements-install.bat. Non-Windows or advanced users can manually run python -m pip install tools/mapmerge2/requirements.txt.

Each time you want to edit a map, follow these steps:

  1. Prepare maps: Run tools/mapmerge2/Prepare Maps.bat to save a backup of all maps in their current state.
  2. Make your changes: Don't forget to save.
  3. Exit DreamMaker: Optional, but ensures that you don't accidentally undo the map merger's work.
  4. Run the map merger: Run tools/mapmerge2/mapmerge.bat and select the map you edited to merge.

Gotchas

Leaving the map open in DreamMaker or reviewing it after running the map merger makes it possible to accidentally save and overwrite the merged map with an unmerged map. Close DreamMaker entirely before running the map merger or be extra-careful not to overwrite the changes the map merger made.