1. Dashboard
  2. Forum
  3. Filebase
  4. Lexicon
  5. Articles
  6. Rating system
  7. Members
    1. Recent Activities
    2. Users Online
    3. Team
    4. Search Members
  8. Zur Transport Fever Community
  • Login
  • Register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • Lexikon
  • Article (Rating System)
  • More Options
  1. WiSim Welt
  2. Forum
  3. Spiele
  4. Cities in Motion 2
  5. Tipps & Tricks

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

  • Xanos
  • March 12, 2014 at 2:08 AM
1st Official Post
  • Xanos
    wcf.user.rank.superModerator
    Reactions Received
    3
    Posts
    1,018
    Filebase Entries
    5
    • March 12, 2014 at 2:08 AM
    • #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

    Edited once, last by Xanos (May 17, 2014 at 4:52 PM).

    • Quote
  • eis_os
    Professional
    Posts
    1,025
    Filebase Entries
    2
    • March 12, 2014 at 7:11 AM
    • #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.

    • Quote
  • mediziner
    Administrator
    Reactions Received
    2
    Posts
    1,924
    Filebase Entries
    10
    Einträge
    4
    • March 12, 2014 at 7:33 AM
    • Official Post
    • #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.

    • Next Official Post
    • Quote
  • vanos
    Intermediate
    Posts
    265
    Filebase Entries
    1
    • March 12, 2014 at 7:55 AM
    • #4

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

     iMac 27" (late2012)

    • Quote
  • CIMotion
    Intermediate
    Posts
    478
    Filebase Entries
    7
    • March 12, 2014 at 8:23 AM
    • #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! :)

    • Quote
  • eis_os
    Professional
    Posts
    1,025
    Filebase Entries
    2
    • March 12, 2014 at 9:11 AM
    • #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...

    • Quote
  • Xanos
    wcf.user.rank.superModerator
    Reactions Received
    3
    Posts
    1,018
    Filebase Entries
    5
    • March 12, 2014 at 11:08 AM
    • #7
    Quote from 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

    Edited 2 times, last by Xanos (March 12, 2014 at 11:07 AM).

    • Quote
  • rovapasi
    Guest
    • March 12, 2014 at 1:39 PM
    • #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.

    • Quote
  • Xanos
    wcf.user.rank.superModerator
    Reactions Received
    3
    Posts
    1,018
    Filebase Entries
    5
    • March 12, 2014 at 2:54 PM
    • #9
    Quote from 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

    • Quote
  • rovapasi
    Guest
    • March 12, 2014 at 3:29 PM
    • #10

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

    :)

    • Quote
  • rovapasi
    Guest
    • March 12, 2014 at 7:05 PM
    • #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. :(

    • Quote
  • Xanos
    wcf.user.rank.superModerator
    Reactions Received
    3
    Posts
    1,018
    Filebase Entries
    5
    • March 12, 2014 at 10:06 PM
    • #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

    • Quote
  • rovapasi
    Guest
    • March 12, 2014 at 10:21 PM
    • #13
    Quote from 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.

    • Quote
  • rovapasi
    Guest
    • March 13, 2014 at 9:48 PM
    • #14

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

    Vielen Dank, für die guten Tips.

    • Quote
  • X-Mex
    Student
    Posts
    115
    Filebase Entries
    1
    • March 14, 2014 at 6:29 PM
    • #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!

    • Quote
  • Xanos
    wcf.user.rank.superModerator
    Reactions Received
    3
    Posts
    1,018
    Filebase Entries
    5
    • March 14, 2014 at 6:34 PM
    • #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

    • Quote
  • X-Mex
    Student
    Posts
    115
    Filebase Entries
    1
    • March 14, 2014 at 6:37 PM
    • #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!

    • Quote
  • Xanos
    wcf.user.rank.superModerator
    Reactions Received
    3
    Posts
    1,018
    Filebase Entries
    5
    • March 14, 2014 at 6:51 PM
    • #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

    • Quote
  • eis_os
    Professional
    Posts
    1,025
    Filebase Entries
    2
    • March 14, 2014 at 6:55 PM
    • #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...

    • Quote
  • Xanos
    wcf.user.rank.superModerator
    Reactions Received
    3
    Posts
    1,018
    Filebase Entries
    5
    • March 14, 2014 at 7:00 PM
    • #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

    Edited once, last by Xanos (March 14, 2014 at 7:02 PM).

    • Quote

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!

Register Yourself Login

Twitch

Tags

  • DLC
  • Europa
  • Anleitung
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™