Commit Graph

9 Commits

Author SHA1 Message Date
SkyratBot
f89bd9c9b6 [MIRROR] Fixes misc js and py issues in the codebase (closes every issue made by ZeWaka, bye felicia) (#5251)
* Close every issue made by ZeWaka (#58701)

sure whatever i totally know what im doing

* Fixes misc js and py issues in the codebase (closes every issue made by ZeWaka, bye felicia)

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2021-04-27 15:28:47 +01:00
Alex 'Avunia' Takiya
bea83b2999 [MANUAL MIRROR] Use portable Python for map merge hooks, other tools / Add .dmm merge driver (#2681)
* Use portable Python for map merge hooks, other tools (#55658)

* Add .dmm merge driver (#55699)

This is kind of a prototype. It only fully handles a few situations, 
and doesn't produce particularly easy-to-read conflict markers when it 
fails. I hope that it can be useful at least some of the time, can be 
improved over time, and that the lessons learned can influence a future 
interactive GUI conflict resolver (integrated into StrongDMM?). In the 
worst case, one can fall back to the tried and true "manually re-do one 
side's changes" strategy. 

**Automatic use**: In `tools/hooks/`, run `Install.bat`

**Manual use**, for Git GUIs that don't run merge drivers: while a 
merge is in progress, in `tools/mapmerge2/`, double-click `Resolve Map 
Conflicts.bat`

This PR also removes the error-prone "Prepare Maps.bat" / 
"mapmerge.bat" workflow. Those who aren't using the hooks should 
instead use `Run Before Committing.bat` before committing. First-time 
contributors who opened a PR without map merging can be advised to run 
`I Forgot To Map Merge.bat`.

* Fix loose double-quot in tradership_faction.dmm

Co-authored-by: Tad Hardesty <tad@platymuus.com>
2021-01-14 16:52:24 +01:00
SkyratBot
fc4353c695 [MIRROR] Optimize mapmerge's DMM.generate_new_key method (#2638)
* Optimize mapmerge's DMM.generate_new_key method (#56068)

Tested on #55867, takes the merge driver's runtime from 148.1s to 4.8s

* Optimize mapmerge's DMM.generate_new_key method

Co-authored-by: Tad Hardesty <tad@platymuus.com>
2021-01-12 01:44:56 +01:00
Tad Hardesty
48b42a9247 Fix mapmerge misreading maps with two columns per block 2019-04-14 18:18:52 -07:00
Tad Hardesty
6a83eddc47 Ignore carriage returns in map files when mapmerging 2018-10-04 14:58:27 -07:00
Tad Hardesty
df1098f6d9 Re-add script for updating map paths (#39907)
* Re-add script for updating map paths

* Handle duplicate values
2018-09-02 22:45:55 +02:00
Tad Hardesty
141f558102 Fix atom ordering problem in map files (#39889)
Fixes a major mapping error introduced in #39816 and adds handling to the map merger to prevent it from happening again.

Keys need to be ordered movables, then turf(s), then area, otherwise our map reader acts weird. In-game this manifests as floor being placed in the dirt's underlays, such that after floor is crowbarred to plating the floor is still visually present (this is how I noticed the problem).

Fixes #39888.

Some map files still have stacked turfs. Our map reader supports this but it tends to cause other problems (e.g. atmos) so I'll try to look at those in the future.

X=$(find _maps -name '*.dmm'); tools/hooks/python.sh -m convert $X
2018-08-25 17:48:24 +12:00
Tad Hardesty
0822afc05a Fix map keys overflowing earlier than expected 2018-01-29 23:26:25 -08:00
Tad Hardesty
9639061433 Add a new and improved mapmerge (#33869)
Key benefits of the new mapmerge include: multi-Z support, effective
reuse of deleted keys, automatic handling of key overflow, and utilizing
a git pre-commit hook to eliminate the need to run batch files manually.
2017-12-28 16:01:34 -05:00