Update 19.03.2018: Die Kommandozeile hat sich geändert, und Regionen ohne ID werden nicht mehr ignoriert.
Update 12.05.2018: Der bug, der Regionskoordinaten als Kommazahlen gespeichert hat, ist gefunden und repariert. Eine neue merge.exe habe ich auch gebaut, und mit origin.lua ein Tool, um den Ursprung einer Karte zu verschieben (dafür aber keine .exe).
Ich spiele seit 76 Wochen wieder Eressea, und eine der lästigsten Sachen ist für mich, wöchentlich den CR in eine Karte einzufügen. Ich traue ja den ganzen getauschten nicht, da sind viele Gletscher drauf, die es nicht mehr gibt, und Regionen haben veraltete Namen, usw.
Was ich mir gewünscht habe, ist ein Tool, in das ich eine Liste von CRs hinein werfen kann, und wo dann ein kombinierter rauskommt, der nur die Karteninformation enthält. Und weil es so etwas nicht gab, habe ich es heute selber geschrieben:
https://github.com/ennorehling/luatoolsWeil die meisten (besonders Windows-User) sicher keinen Lua Interpreter installiert haben, habe ich das ganze in eine Windows (x64) .exe Datei kompiliert:
https://www.eressea.kn-bremen.de/eressea/merge.exeAufruf von der Kommandozeile (oder einer .BAT Datei) wie folgt:
Code:
merge.exe -o output.cr map1.cr map2.cr ...
Oder alternativ, auf einem Mac oder Linux-Rechner der Lua installiert hat:
Code:
lua merge.lua -o output.cr map1.cr map2.cr ...
Dazu ist es nötig, dass jeder CR mindestens eine Region gemeinsam mit den vorherigen hat, damit das Programm weiß, wie sie zusammen gehören. Eventuelle Verschiebungen im Koordinaten-Ursprung merkt es dann selber. Am Ende steht in output.cr die erzeugte Karte. Die Astralebene oder andere Ebenen werden derzeit der Einfachheit halber ignoriert.
Das ganze ist extrem rudimentär, besteht aus weniger als 150 Zeilen Code, und löst genau mein Problem, und nicht mehr als das. Der Code sollte verständlich genug sein, dass Erweiterungen einfach zu schreiben sind (z.B. komplexere Kommandozeilen-Parameter, oder matching auf Basis von Koordinaten-Offsets, Regionsnamen und -terrain). Leider ist das kompilieren in ein Windows-EXE echt nervig.
Vielleicht hilft es ja noch jemandem? Dann würde ich mich über Feedback freuen, oder über Vorschläge für neue Features.