1. Dashboard
  2. Forum
  3. Filebase
  4. Lexikon
  5. Artikel
  6. Spieletest
  7. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  8. Zur Transport Fever Community
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Filebase-Eintrag
  • Lexikon
  • Artikel (Bewertungssystem)
  • Erweiterte Suche
  1. WiSim Welt
  2. Forum
  3. Spiele
  4. Cities in Motion 2
  5. Tipps & Tricks

[Anleitung] Bestehende Karten in europäisches Setting ändern

  • Xanos
  • 12. März 2014 um 02:08
1. offizieller Beitrag
  • Xanos
    wcf.user.rank.superModerator
    Reaktionen
    3
    Beiträge
    1.018
    Filebase Einträge
    5
    • 12. März 2014 um 02:08
    • #1

    Update 17. Mai 2014: Klamann hat das Tool maps4cim Europa-DLC-tauglich gemacht.
    Mit Version 1.0+ kann man im Meta-Editor zwischen EU und USA Stil wechseln.
    Hier gehts zu maps4cim

    Damit wird die hier beschriebene Übergangslösung hinfällig.


    Ich habe gerade im englischen Forumeine Anleitung geschrieben, wie man bestehenden Karten in das europäische Setting ändern kann.
    Perfekt vor allem, um Karte von maps4cim Europa-tauglich zu machen!

    Hier mal die deutsche Version für euch:

    Vornherein: Es ist nicht die eleganteste Methode. Da es sehr einfach ist gibt es sicher bald Tools um das zu verwirklichen.
    Bei der Benutzung von Tools kann man zusätzlich auch den Erhalt von Metadaten einfach gestalten.
    Diese Meta-Daten (unter anderem Name, Datum, Bearbeitungszeit) gehen bei meiner Methode verloren.
    Diese Methode soll nur einen schnellen und Weg darstellen. Nun geht es aber los:


    • Zuerst brauchen wir einen Hex-Editor. Zum Beispiel HxD(erstes Ergebnis bei Google, hat jedenfalls gut funktioniert)
    • CiM2 starten, eine neue, leere, europäische Karte erstellen. Die Karte als "europa.map" speichern
    • Die Karte zur Übersicht auf den Desktop (oder in einen gesonderten Ordner) kopieren
    • Die zu modifizierende Karte (die originale amerikanische) in den selben Ordner kopieren
    • europa.map mit dem Hex Editor öffnen - ganz am Anfang der Datei sollte die Sequenz "FD 77 FD C9 84 FE FE" stehen.
    • Nach dem 2. vorkommen eben genau dieser Sequenz "FD 77 FD C9 84 FE FE" suchen (STRG+F) - direkt davor sollte eine lange Reihe von Nullen stehen: "00 00 00 ... 00".
    • Den gesamten Header der europa.map kopieren (STRG+C). - vom ersten Byte bis zur letzten Null direkt vor "FD 77 FD C9 84 FE FE".
    • Die zu modifizierende Karte öffnen
    • Den gesamten Header (wieder bis zur letzten Null vor "FD 77 FD C9 84 FE FE" markieren und mit dem kopierten Header überschreiben (STRG+V). DIe Dateigröße wird sich bei diesem Vorgang ändern. Da aber der gesamte Header inklusive auffüllender Nullen kopiert wurde, ist die Ausrichtung der nachfolgenden Kartendaten intakt.
    • Die modifizierte Karte im Hex-Editor speichern, den Editor schließen. Am besten die neue Karte anders benennen.
    • Die neue Karte in den Karten Ordner von CiM2 kopieren.
    • CiM2 öffen und die Karte laden. Wenn alles geklappt hat, sollte die Karte normal geladen werden und europäische Gebäude sollten baubar sein. Am besten die Karte direkt noch mal speichern damit wieder korrekte Metadaten geschrieben werden.

    Bitte beachtet, dass dies wirklich nur eine temporäre Anleitung darstellt - solange, bis wir bessere Methoden haben. Den gesamten Header auszutauschen ist sehr rabiat, aber es klappt nun mal ;)
    Bitte fertigt immer Sicherungskopien eurer Karten an!
    Sollte die Karte falsch sein, kann das Spiel abstürzen, sonst sollte aber nichts schlimmes passieren. Trotzdem ist die Anwendung natürlich auf eigene Gefahr ;)

    Und nun frohes bauen!

    Xanos Let's Play

    Einmal editiert, zuletzt von Xanos (17. Mai 2014 um 16:52)

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 12. März 2014 um 07:11
    • #2

    Das hört sich aber nach Dampfhammer Methode an.
    Nach einem Speichern im 1.6 Format, müssten es nur ein String + 8Bytes sein.

    • Zitieren
  • mediziner
    Administrator
    Reaktionen
    2
    Beiträge
    1.924
    Filebase Einträge
    10
    Einträge
    4
    • 12. März 2014 um 07:33
    • Offizieller Beitrag
    • #3

    Dampfhammer ja. Aber so in etwa hatte ich es auch gemacht und es hat funktioniert.

    Ein passendes Tool für solche Aufgaben wäre natürlich nicht schlecht. Man müsste Geländeinformationen und Geländetexturen am besten auch einzeln im- und exportieren können. Ich könnte für diesen Fall natürlich gerne diverse Test-Maps zur Verfügung stellen, wenn sich jemand daran versuchen möchte, der das Europa-DLC z.Z. nicht kaufen möchte.

    • Nächster offizieller Beitrag
    • Zitieren
  • vanos
    Fortgeschrittener
    Beiträge
    265
    Filebase Einträge
    1
    • 12. März 2014 um 07:55
    • #4

    Ausgezeichnet! Und das bereits so kurz nach dem release :thumbup:

     iMac 27" (late2012)

    • Zitieren
  • CIMotion
    Fortgeschrittener
    Beiträge
    478
    Filebase Einträge
    7
    • 12. März 2014 um 08:23
    • #5

    Glückwunsch an Xanos! Und an alle die auf eine Konvertierungsmöglichkeit für die alten Maps gehofft haben :) Viel Spass mit den neuen Gebäuden! :)

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 12. März 2014 um 09:11
    • #6

    Hmm, ich könnte bestimmt eine Javascript Version eines Map Manipulators schreiben, ähnlich JSBinaryPatcher, also eine Map laden, ändern und dann Speichern.
    Vorteil: Keine Installation, funktioniert auf Win/Mac/Linux.
    Nachteil: Etwas langsam und braucht einen modernen Browser...
    Problem: Hab kein EU DLC...

    • Zitieren
  • Xanos
    wcf.user.rank.superModerator
    Reaktionen
    3
    Beiträge
    1.018
    Filebase Einträge
    5
    • 12. März 2014 um 11:08
    • #7
    Zitat von eis_os

    Das hört sich aber nach Dampfhammer Methode an.
    Nach einem Speichern im 1.6 Format, müssten es nur ein String + 8Bytes sein.


    Ja wie gesagt es ist nur eine Übergangslösung. Ich werde es auch erst mal nur für neue maps nutzen, die ich per maps4cim erstelle. Da ist der Verlust der Metadaten total egal, für alle anderen Karten ist der Verlust immerhin verschmerzbar.

    Es stimmt, man muss nur "Default" in "EnvX14" ändern und am Ende des Headers ein paar Byte einfügen.
    Das Problem bei der "per Hand"-Methode ist einfach, dass Default und EnvX14 nicht gleich lang sind und auch das einfügen der Bytes natürlich die Länge des Headers ändert.
    Diese Größenänderung macht allerdings die Karte kaputt, weil Teile des Headers Alignments haben.

    Man müsste halt nach den Änderungen per Hand dafür Sorgen, dass der Beginn des nächsten Headers Aligned zu 4096 ist. (vgl. Sourcecode maps4cim)
    Wie gesagt, die nötigen Änderungen sind minimal, aber per Hand ist diese Komplettaustausch-Methode einfach einfacher, da man sich dann nicht noch um das Alignment kümmern muss.

    Tools zu schreiben, die den String ändern und die Bytes einfügen und dabei die Alignments beachten ist einfach, hatte ich nur bisher noch keine Lust zu. Ich denke aber die beste Methode wäre es, das neue Headerformat in maps4cim einzupflegen (ist ja opensource) und dann ist meine Vorschlaghammer-Methode überflüssig. :)


    Meine Zeit ein Tool zu schreiben ist gerade begrenzt, wenn Du (eis_os) allerdings Lust hast, kann ich dir gerne eine Übersicht des Headers und eine Europa- und Amerika-Referenzkarte schicken.
    Edit: Zum Thea Header Format schlage ich vor, sich da an maps4cim zu halten: maps4cim/maps4cim-core/src/main/java/de/nx42/maps4cim/header/CustomHeader.java at master · Klamann/maps4cim · GitHub
    Die zu ändernden Stellen sind die folgenden:
    Hinter dem map-namen folgt nun ein neuer String "Default" oder "EnvX14".
    Bei Änderung von Default zu EnvX14 darauf achten, dass man auch die Stringlänge von 07 auf 06 ändern muss!
    Die zweite Änderung folgt relativ am Ende des Headers, wo noch vor dem "EditorPlayer" der String "cim2.europe" eingefügt wird (inklusive 0B = 11 für die Stringlänge)


    Edit2: Bisher konnte ich alle Karten in das europäische Setting ändern.
    Alle nicht verfügbaren Gebäude werden einfach nicht geladen und die Flächen bleiben leer.

    Xanos Let's Play

    2 Mal editiert, zuletzt von Xanos (12. März 2014 um 11:07)

    • Zitieren
  • rovapasi
    Gast
    • 12. März 2014 um 13:39
    • #8

    Hmm,

    irgendwie funktioniert das bei mir nicht so wirklich. Die Karte lässt sich zwar laden, Europa-Gebäude kann ich auch verbauen, aber die Landschft ist weg d.h. die Karte ist wie die leere Europakarte aus der der Header kommt.

    • Zitieren
  • Xanos
    wcf.user.rank.superModerator
    Reaktionen
    3
    Beiträge
    1.018
    Filebase Einträge
    5
    • 12. März 2014 um 14:54
    • #9
    Zitat von rovapasi

    Die Karte lässt sich zwar laden, Europa-Gebäude kann ich auch verbauen, aber die Landschft ist weg d.h. die Karte ist wie die leere Europakarte aus der der Header kommt.


    Das ist ein Zeichen dafür, dass der Header ide falsche größe hat, bzw das Alignment der restlichen Karte halt falsch ist.
    (Oder das zu viel kopiert wurde, nämlich auch die Reliefdaten.)
    Wichtig ist, den kompletten Europa-Header zu kopieren und auch den kompletten Header zu überschreiben, die Dateigröße ändert sich dabei!
    Wenn man zu wenig oder zu viel überschreibt, klappt es nicht.

    Xanos Let's Play

    • Zitieren
  • rovapasi
    Gast
    • 12. März 2014 um 15:29
    • #10

    Ich probiers später mal mit einer anderen Karte. Die Mittagspause war nicht lange genug für intensives testen.

    :)

    • Zitieren
  • rovapasi
    Gast
    • 12. März 2014 um 19:05
    • #11

    Irgendwie will es nicht funktionieren. Wenn ich wie beschrieben vorgehe, verschiebe ich das komplette Terraforming von einer Map in die andere. Das aber klappt prima. :(

    • Zitieren
  • Xanos
    wcf.user.rank.superModerator
    Reaktionen
    3
    Beiträge
    1.018
    Filebase Einträge
    5
    • 12. März 2014 um 22:06
    • #12

    Dann kopierst du zu viel.
    Kopierst du eventuell mehr als nur den Teil bis zum 2. Vrrkommen von "FD 77 FD C9 84 FE FE"?
    Zur Klarheit: das 1. Vorkommen ist ganz am Anfang der Datei. Das zweite vorkommen ist dementsprechend das erste nach dem Dateistart.
    HINTER dem 2. Vorkommen folgt nämlich unter anderem das Terrain.

    Wirklich nur den Teil bis VOR dem zweiten "FD 77 FD C9 84 FE FE" (dem 1. nach der Startsequenz) kopieren. Dann sollte es klappen.

    Xanos Let's Play

    • Zitieren
  • rovapasi
    Gast
    • 12. März 2014 um 22:21
    • #13
    Zitat von Xanos

    FD 77 FD C9 84 FE FE

    Kommt genau 2 mal in den Mal vor. Ich mache das exakt wie beschrieben. (EDIT: Glaube ich jedenfalls)

    Wenn die Map jedoch Terrain enthält, wird dieses mit gelöscht bzw. kopiert. Habe eine neue Karte erstellt (Europa) darin ein wenig Terrain bearbeitet und dann diesen Header in eine ander Map kopiert. Damit wurde auch alle Terrain Änderungen mit kopiert.

    • Zitieren
  • rovapasi
    Gast
    • 13. März 2014 um 21:48
    • #14

    Mit viel probieren und einem anderen Hex-Editor hat es geklappt.

    Vielen Dank, für die guten Tips.

    • Zitieren
  • X-Mex
    Schüler
    Beiträge
    115
    Filebase Einträge
    1
    • 14. März 2014 um 18:29
    • #15

    Im offiziellen Forum hat ein User eine Methode beschrieben, die das Bauen von beiden Gebäude-Sets in einer Karte ermöglicht. Im Spiel wurde es allerdings noch nicht getestet, im Editor funktioniert es bereits.

    Klick mich.

    150 Jahre London Tube Map!

    • Zitieren
  • Xanos
    wcf.user.rank.superModerator
    Reaktionen
    3
    Beiträge
    1.018
    Filebase Einträge
    5
    • 14. März 2014 um 18:34
    • #16

    Ja das ist quasi die Methode das Spiel zu überreden eine neue Env zu laden, in der alle Gebäude drin sind.
    Wie man an den bundle Files in der EnvX14 sieht, werden ja einige Gebäude aus der "default" Env geladen und andere nicht.
    In der Methode kopiert man sich einfach alle vorhandenen Gebäude in eine neue Env und Tada- Da sind alle auf einmal.
    Nur klar, dass diese Maps dann nicht mit anderen Usern geteilt werden können, da sie sich auf eine ENV beziehen, die dann nur lokal auf dem PC des Erstellers existiert.

    Xanos Let's Play

    • Zitieren
  • X-Mex
    Schüler
    Beiträge
    115
    Filebase Einträge
    1
    • 14. März 2014 um 18:37
    • #17

    Wenn es jedoch mit nur geringen Datei-Änderungen verbunden ist, alle Gebäude auf eine Karte zu bringen, dürfte es doch auch für CO kein Problem sein, mit einem Patch die Dateien bei allen Spielern so zu modifizieren, oder bin ich da auf dem Holzweg?

    150 Jahre London Tube Map!

    • Zitieren
  • Xanos
    wcf.user.rank.superModerator
    Reaktionen
    3
    Beiträge
    1.018
    Filebase Einträge
    5
    • 14. März 2014 um 18:51
    • #18

    CO wird das nicht mehr zusammenfügen, es ist eine Design-Entscheidung die Sets so zu trennen.
    Natürlich hätte man es (wie so oft) auch anders lösen können, aber es ist nun mal so gelöst worden und wird zu 99% nicht mehr geändert.

    Für lokale Spielereien ist das nett, aber zum Karten bauen würde ich raten entweder das Normale oder das EU Set zu nehmen.

    Xanos Let's Play

    • Zitieren
  • eis_os
    Profi
    Beiträge
    1.025
    Filebase Einträge
    2
    • 14. März 2014 um 18:55
    • #19

    Sie möchten die Spieler zum Kauf eines EU DLC animieren, weil wenn jemand eine EU Karte herausbringen würde, könnte Sie ja jeder nutzen, auch diejenigen, die das EU DLC nicht gekauft haben...

    • Zitieren
  • Xanos
    wcf.user.rank.superModerator
    Reaktionen
    3
    Beiträge
    1.018
    Filebase Einträge
    5
    • 14. März 2014 um 19:00
    • #20

    Man könnte auch alle neuen Gebäude auf eine Karte klatschen und bei den Nicht-Käufern werden die EU Gebäude nicht angezeigt.
    Wäre auch eine Option. Im Multiplayer sorgt das wieder für andere Probleme aber der klappt ja eh nicht.

    Also ich glaube nicht, dass die Trennung nur auf dem Kaufzwang basiert.

    Xanos Let's Play

    Einmal editiert, zuletzt von Xanos (14. März 2014 um 19:02)

    • Zitieren

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Twitch

Tags

  • DLC
  • Europa
  • Anleitung
  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™