Beiträge von Klamann

    Lang ist's her, aber da ich ab und zu Emails bekomme von Leuten die maps4cim gerne weiter benutzen würden, gibt es heute ein kleines Update:
    Über die Jahre haben sich ein paar URLs geändert, deswegen hat das Herunterladen von Heightmaps nicht mehr funktioniert, das wurde jetzt gefixt, und es gab noch ein paar kleine Aktualisierungen unter der Haube, die aber nicht weiter auffallen sollten.


    Gibt es eigentlich noch CiM2-Spieler hier im Forum? Ich muss sagen, ich habe CiM2 schon lange nicht mehr angefasst, und auch maps4cim hatte ich schon ewig nicht mehr geöffnet, aber es freut mich, dass es wohl immer noch Interesse daran gibt und es war schön, mal wieder in dem alten Code zu stöbern ^^


    ----


    It's been a while, but I've pushed out an update for maps4cim that fixes the issue with height maps not being generated. Enjoy!


    >>Download<<

    Über ein Jahr ist es nun her, seit die Arbeit an maps4cim begonnen hat, und heute möchte ich euch allen den Ausgang von maps4cim aus der Beta-Phase präsentieren.
    Seit dem ersten Release im Juli 2013 hat sich bei den wesentlichen Funktionen nicht viel getan, aber das soll sich heute ändern:


    Download maps4cim 1.0


    maps4cim Readme, Changelog


    Anstatt euch mit dem changelog allein zu lassen, möchte ich ein paar der neuen Funktionen vorstellen, die mir besonders wichtig sind.
    Zunächst das wohl am häufigsten erfragte Feature: Unterstützung für das European Cities DLC. In der Sidebar kann jetzt der Stil (amerikanisch oder europäisch) ausgewählt werden


    LOK232_20121003_0022.jpg


    Aber auch bereits erstellte maps müssen nicht komplett neu gebaut werden, um in den Genuss des europäischen Flairs zu kommen. Im Metadata-Editor kann jetzt auch der Gebäudestil geändert werden, der Rest bleibt erhalten (bis auf die Gebäude, die wirklich spezifisch für das Set sind). Der Metadata-Editor findet sich unter dem Menüpunkt Tools.


    Eine weitere Neuerung ist die Unterstützung von Heightmaps als Eingabequelle. Wählt man File (Grayscale-Heightmap) als Relief Source, kann man eine Bilddatei öffnen. 16-bit Grafiken werden ausdrücklich unterstützt!


    LOK232_20121003_0019.jpg


    Nach der Auswahl einer Heightmap öffnet sich der Editor, in dem man festlegen kann, wie die Heightmap in tatsächliche Höhen auf der Karte übersetzt werden soll. Auf der linken Seite finden sich ein paar statistische Daten über die Heightmap, rechts die Vorschau der Höhen im Spiel. Das Ergebnis spricht für sich:


    LOK232_20121003_0020.jpg


    Wer noch nie mit Heightmaps gearbeitet hat, kann sich ein paar video tutorials von OlaHaldor aus dem cimexchange-Forum ansehen. Ein paar Heightmaps unserer Erde gibt es hier.


    Und weil Heightmaps alleine nur der halbe Spaß wären, kann man jetzt auch beliebige Grafiken auf den Boden zeichnen. Das kann besonders nützlich sein, um historische Karten abzuzeichnen, bestimmte Kartenausschnitte zu kombinieren (z.B. zwei entfernte Städte nebeneinander zeichnen), eine Colormap zu einer Heightmap hinzuzfügen oder um CiM 2 um ein paar lolcats zu bereichern ;)


    LOK232_20121003_0017.jpg


    Zu guter letzt wurden die strikten Download-Limits entfernt. Das wurde möglich, weil ich ein paar erhebliche Performance-Verbesserungen im Zusammenspiel mit den Overpass-Servern implementieren konnte, so dass jetzt üblicherweise Karten mit bis zu 24x24km mit dem ultra-Preset erstellt werden können. Je nach Detailgrad eurer Auswahl kann das natürlich variieren und für große Städte steigen die Anforderungen an den Arbeitsspeicher massiv an, es gibt also keinerlei Garantie, dass 24x24km auch immer rendern werden, aber im Allgemeinen stehen die Chancen dafür ganz gut.
    Weiterhin gilt natürlich, dass Karten in CiM 2 immer 8x8 km groß sind, egal wie groß die Bilder sind, die wir auf den Boden malen.


    LOK232_20121003_0015.jpg


    Das ist übrigens Innsbruck, 40x40 km, ultra 8)


    Es gibt noch so viel mehr neues in maps4cim 1.0 (siehe Changelog), aber das soll für's erste reichen. Jetzt seid ihr dran: Nutzt die neuen Möglichkeiten und zeigt mir eure Maps. Viel Spaß :)


    Klamann

    Hi, sorry I didn't answer on cimexchange... I've been looking into this issue, but I couldn't find any way to reproduce the problem.


    Anyway, if the Java Update solved it, great! Though this shouldn't be happening at all, maps4cim should work with any Java Runtime version 6 or higher...

    Das Erstellen von Karten dauert im Normalfall weniger als eine Minute, bei sehr großen Karten und langsamer Internetverbindung würde ich max. 10 Minuten ansetzen - 2 Stunden sind definitiv zu lang.


    Ein paar Sachen die du beachten solltest:
    - Ist deine Java Runtime aktuell? Hier prüfen: Verify Java Version
    - Hat maps4cim genug Speicher? Starte maps4cim am besten über die Datei maps4cim.bat (Windows) oder maps4cim.sh (linux/mac)
    - Fehler beim Download? Lösche deinen Cache, um Fehler durch abgebrochene Downloads von Geodaten zu umgehen, am besten den ganzen Ordner %APPDATA%\maps4cim\cache (Windows) oder ~/.maps4cim/cache (linux/mac)


    Der letzte Punkt ist ein Bug, den ich bereits behoben habe, aber leider noch nicht veröffentlicht ist. Ich hab im Moment leider viel zu wenig Zeit dafür... vielleicht gibts an Ostern ein Bugfix-Release :S

    Ich wollte mich kurz zu dem Euro-Update äußern, da ja danach gefragt wurde: Wie schon auf cimexchange erwähnt finde ich es schade, dass von CO keinerlei Unterstützung für die Modder kommt, sondern ganz im Gegenteil immer neue Hindernisse eingebaut werden, um die eigenen DLCs besser vermarkten zu können.
    Da ich zur Zeit privat stark ausgelastet bin, wird es vorerst kein Update von mir geben. Wenn sich ein Entwickler der Sache annehmen möchte, bin ich gerne bereit, auf Github ein pull request anzunehmen und eine neue Version zu veröffentlichen.


    Die Arbeit an Version 1.0 ist damit leider auch erst einmal pausiert, wobei schon viele tolle Features implementiert sind. Eine Vorschau auf die neuen Optionen gibt es hier.

    Die Karte die maps4cim ausspuckt, sollte jetzt in Ordnung sein. Such dir mal eine hübsche map aus der Filebase heraus und versuche die zu öffnen - vielleicht stimmt etwas mit CiM 2 auf deinem Rechner nicht.
    Sonst... ist dein Spiel auf dem aktuellsten Stand (automatische Updates über Steam zulassen!), stimmen die Dateipfade wirklich, ist deine Datei korrekt benannt (Dateiendung .map)?


    Hat hier sonst jemand Erfahrung mit Problemen beim Laden von Karten bzw. dieser Fehlermeldung im Speziellen? (die meldung ist mir noch nie untergekommen ?( )

    Danke für den Eintrag. Es scheint wohl Schwierigkeiten mit dem Entpacken der komprimierten SRTM-Daten zu geben, im cimexchange-forum scheint jemand das gleiche Problem zu haben. Dass ich es bei mir nicht reproduzieren kann, macht es mir nicht einfacher, eine Lösung zu finden, aber ich habe schon ein paar Verdächtige im Auge:


    Wird ein Renderauftrag abgebrochen, während eine SRTM-Datei heruntergeladen wird, bleibt diese im cache erhalten und beim nächsten Versuch wird diese Datei geladen, obwohl sie unvollständig ist. Außerdem kann es gut sein, dass meine Zugriffsmethode auf die ZIP-Dateien nicht allzu robust ist. Im nächsten Update werde ich da auf jeden Fall nachbessern.


    Falls das wirklich das Problem ist, gibt es für dich eine einfache Lösung: Lösche den cache von maps4cim (C:\Users\DEIN_NAME\AppData\Roaming\maps4cim\cache), dann werden alle Kartendaten neu heruntergeladen und wenn es keine Probleme beim Download gibt, sollte auch alles funktionieren.


    Sag bitte bescheid ob damit das Problem behoben werden konnte :)

    Was mache ich falsch, dass er einfach kein Relief erstellen will ??? ?(


    Ich denke nicht dass der Fehler bei dir liegt, aber aus der Fehlermeldung kann ich die Ursache leider nicht herauslesen und bei mir funktioniert die Stelle fehlerfrei. Tritt der Fehler grundsätzlich auf, oder nur an diesem Ort?


    Um genaueres zu sagen, bräuchte ich den Stacktrace der Fehlermeldung. Kannst du die letzten Einträge aus deiner Logdatei posten? Die müsste zu finden sein unter C:\Users\Mitch\AppData\Roaming\maps4cim\maps4cim.log

    Man kann Häuser doch nur um 45° drehen. Auf der Map die ich bauen will stehen sie aber alle in etwa im 20° Winkel !

    Die Lösung für das Problem wurde dir schon gegeben:

    Zitat

    Rechte Maustaste gedrückt halten und am Mausrad drehen führt hier zum Erfolg.

    Häuser lassen sich in CiM 2 wirklich gut anordnen.


    Was das Kartenrotations-Feature angeht: Ich wurde schon oft danach gefragt und es wäre auch machbar, aber im Moment habe ich keine Zeit dafür. Jetzt steht erstmal ein größeres Update an, bei dem Graustufen-Heightmaps als Quelle für das Relief, Bilder als Bodentextur und eigene OSM XML-Dateien als Datenquellen möglich werden... was danach von mir kommt, muss ich mir noch überlegen. Der Quellcode ist jedenfalls frei verfügbar.



    Update:
    Ich habe in der cimexchange eine Vorschau auf das kommende Release von maps4cim 1.0 veröffentlicht. Es ist definitiv noch eine Alpha-Version, was aber vor allem an der Benutzeroberfläche liegt. Sämtliche Datenquellen sollten sich problemlos benutzen lassen und wer auf erweiterte Funktionen zugreifen will, muss sich wohl oder übel mit dem XML-Tab anfreunden ;)
    Zu den Highlights zählen: Reliefs aus Graustufen-Heightmaps (also Bilddateien), Bodentexturen aus Bilddateien, Verwendung eigener OSM XML-Dateien, ein entsprechendes größeres Update der GUI mit Texturauswahlfenser und Heightmap-Vorschau, und noch viele Kleinigkeiten mehr.


    Kritische Fehler könnt ihr gerne hier Posten, insbesondere wenn es mit dem Rendern der Karten zu tun hat, an kosmetischen Probleme mit der Oberfläche bin ich dran, das kann aber noch eine Weile dauern. Deswegen kommt das Release erstmal auch nicht in die Filebase, dafür ist es einfach noch zu unfertig.


    Viel Spaß beim Testen :)

    Ja, das habe ich auch bemerkt; hat mich ein wenig zusätzliche Arbeit gekostet, dass der Editor sowohl die alten Campaign maps, als auch die aktuellen custom maps lesen kann.
    Im Header ist sehr viel statischer Krempel vorhanden, oder zumindest Einträge, die sich von Karte zu Karte nie unterscheiden (vielleicht wurde da das Dateiformat einfach nicht optimiert...). Ob da überhaupt irgendwelche Objekte aus dem Spiel enthalten sind, kann ich daher nicht beurteilen.
    Jedenfalls gibt es zwei Objekttypen, die immer eine Länge beinalten: Strings und das Vorschaubild (als PNG) - und zwar zusätzlich zur Länge, die im PNG selbst gespeichert wird ;)


    Übrigens verfolge ich deine Bundle Patches mit großem Interesse, sich so tief in Unity reinzuhacken ist sicher ganz schön anstrengend. Ich freu mich schon auf die ersten "richtigen" Mods.

    Es gibt ein kleines Update für maps4cim mit einer Neuerung: dem Metadata Editor


    wisim-welt.de/wsc/attachment/3780/


    Damit lässt sich das Vorschaubild aus einer Karte extrahieren und ändern, aber auch einige andere versteckte Einträge anpassen.
    Außerdem wurde die GUI ein wenig aktualisiert, z.B. lässt sich jetzt die Sidebar in der Größe anpassen oder auch ganz wegklappen.


    maps4cim 0.9.3 download


    Wer sich mit dem Dateiformat der Karten beschäftigen möchte, ich habe eine detaillierte Analyse des Kartenheaders online gestellt. Meine Notizen zu den Höhendaten und Bodentexturen werde ich bei Gelegenheit da auch einarbeiten... trotzdem sind mir Teile des Formats immer noch ein Rätsel (allein die Felder "Hours Worked" A und B sprechen für sich), wer da Ideen hat, immer her damit! Und zu den Spielobjekten habe ich noch gar keinen Zugang gefunden (das dürfte dann aber auch richtung Unity-Hacking gehen, damit will ich gar nicht erst anfangen...).
    Und da hier jemand maps4cim selbst bauen wollte, auch die Anleitung wurde aktualisiert: Developers.md


    Viel Spaß :)

    maps4cim-gui baut auf das kernmodul maps4cim auf, das nur über die kommandozeile oder eben API-Aufrufe angesprochen werden kann. Damit maps4cim bei dir als abhängigkeit aufgelöst werden kann, musst du es in dein lokales Maven-repository installieren, das geht mit dem buildaufruf

    Code
    mvn:install


    Danach sollte auch maps4cim-gui alle abhängigkeiten finden.


    Falls das nicht klappt, kann ich den code in github mal aktualisieren, meine lokale lauffähige version ist schon ein bisschen weiter... wollte die tage auch mal ein update rausbringen.

    Sämtliche Bibliotheken werden nicht mit dem Sourcecode ausgeliefert, sondern von Maven verwaltet. Alles, was Maven an Informationen braucht, findet sich in der Datei pom.xml, die im Wurzelverzeichnis jedes Projekts vorhanden ist.
    Maven wird in Netbeans nativ unterstützt, und ist eigentlich recht einfach zu bedienen. Es gibt hunderte Tutorials dazu im Netz.

    Sourcecode release: github.com/Klamann/maps4cim


    Da es einige Anfragen zum Sourcecode gab und ich derzeit wenig Zeit habe, weitere Features zu implementieren, habe ich mich nun doch für ein schnelles source code release entschieden. Die GUI ist komplett ohne Dokumentation und auch der Programmkern könnte noch ein wenig refactoring und ein paar Kommentare vertragen, aber ich denke es ist besser damit zu arbeiten als komplett bei 0 zu beginnen.


    Also liebe Entwickler, viel Spaß beim coden, ich werde auch weiterhin von Zeit zu Zeit reinschauen und Fragen beantworten so gut es geht.



    @ lavandyke
    Auch wenn du meinst es wäre nicht die Firewall, es sieht aber schwer nach einem Verbindungsproblem auf deiner Seite aus. Lies mal die anderen Posts in diesem Thread, zu der Thematik gab es schon viel zu lesen.

    vl könnte Klamann in der nächsten Version 2 .bat-Dateien dazugeben - einmal für 32bit und einmal für 64bit
    damit wäre das Problem wohl für alle Systeme aus der Welt

    Ich war mir gar nicht bewusst, dass es unter 32bit Probleme gibt, bin kein wirklicher Windows-Programmierer... ich überleg mir eine Lösung für die nächste Version, vielleicht kann man per Batch ja erkennen, ob man auf 32 oder 64 bit ist, oder einen Befehl finden der auf beiden Versionen arbeitet...
    Wer eine gute Lösung findet, darf sie auch gerne posten.


    Gib's sourcecode fuer dieses programm? Ich moechte ein hilfeprogramm schreiben. Ich mochte meine 'maptile' drehen bis 20 Grad so ich kann mehr platz in mein map haben. Ich kann die code schreiben, aber ich muss die .map dataformat vehrstehen. Gibs documentieren oder source code sogar fuer so ein map leser oder schreiber. Dieses sourcecode ist gut genug fuer meine idee.

    Ausführliche Dokumentation zum Dateiformat gibts hier, das Sourcecoderelease dauert noch. Ich bin derzeit im Ausland und hab nur sporadisch sehr schlechten Empfang, und nebenbei auch recht wenig Zeit. Vielleicht bin ich in zwei Wochen näher an der Zivilisation und kann mich mal um ein Release kümmern. Schneller gehts aktuell leider nicht.

    Edit: Die Erweiterung des Radius ist per xml möglich. Ich schau mal, ob das sinnvoll ist


    Man kann übrigens in das Extent-Feld auch größere Werte als 32 eingeben, ich habe nur den Slider auf 32km begrenzt, weil es selten sinnvoll ist, größere Karten zu erstellen. Über XML gehts natürlich auch.
    Und btw, Extent beschreibt nicht den Radius, sondern die Kantenlänge der Karte.


    Update 0.9.1:
    Es gibt eine neue Version, die ein paar Anregungen aus dem Forum beinhaltet. Man kann jetzt das Rendern von Relief und Textur unabhängig voneinander deaktivieren, der Standard-Speicherordner unter Windows ist das CiM2-Map-Verzeichnis und das Render-Log ist jetzt in Farbe, da ich den Eindruck hatte, dass viele User, die Fehler melden, gar nicht gemerkt haben, dass beim Rendern etwas schief gegangen ist. Ich hoffe die knallroten Error-Logs ändern das ;)


    Kompletter Changelog:

    Download: Filebase

    An alle bei denen das Rendern bei "Preparing OSM data for rendering" hängen bleibt, habe ich wahrscheinlich die Lösung: Laded euch die Datei im Anhang runter und legt sie im selben Ordner wie die maps4cim-gui-0.9-beta.jar ab. Alternativ könnt ihr eine neue Textdatei anlegen mit der Dateiendung .bat und folgendem Inhalt:

    Code
    start javaw -jar -Xms64m -Xmx2048m maps4cim-gui-0.9-beta.jar


    Dann die Datei einfach per Doppelklick starten. Für Mac und Linux müsste man ein vergleichbares Shellscript basteln.


    Das ist die Lösung für ein Speicherproblem, mir ist das bei der London-Map von @AlexanderN aufgefallen: Java stellt seinen Programmen nur eine begrenzte Speichermenge zur Verfügung. Wenn ihr jetzt Städte wie London rendern wollt, die in der OpenStreetMap extrem gut kartiert wurden, bringt allein der Download der Quelldaten schon >100MB auf die Waage. Alle diese Daten müssen im Speicher gehalten werden, um die Karte rendern zu können und da greifen dann die Java-Sicherheitsmechanismen. Wenn ihr maps4cim über die Batch-Datei startet, bekommt Java bis zu 2GB Speicher, das sollte für jede Karte ausreichen.


    @AlexanderN
    wegen der Hamburg-Karte: eine Option, das Relief ganz wegzulassen, wäre denkbar. Ich schau mal ob ich das zeitlich hinbekomme.


    Benignus123
    tut mir leid, aber es liegt zu 100% an deiner Netzwerkverbindung. Vielleicht hilft dir dieser Artikel zur Konfiguration der Windows-Firewall weiter, oder frag mal in einem Computerforum, wie man seine Firewall richtig konfiguriert.


    update:
    ich hab den Download in der FileBase jetzt aktualisiert, damit jeder die batch-Datei standardmäßig mitbekommt.

    Benignus123
    Du hast ein Netzwerkproblem. Deine Karten werden überhaupt nicht geschrieben, weil maps4cim nicht aufs Internet zugreifen kann.
    Wahrscheinlich ist das ein Firewall-Problem, du musst während maps4cim läuft für Java den Zugriff aufs Internet erlauben (maps4cim macht das nicht direkt, da kommt eine Anfrage von Java.exe oder so). Schau dir mal deine Firewall-Konfiguration an oder mach sie kurz aus wenn du deine Karte rendern willst (auf eigenes Risiko).


    Wegen der Idee, eine Übersichtskarte über alle erstellten Maps zu erstellen:
    Es gibt da ein paar Dienste, die es erlauben, kollaborativ eigene Inhalte auf eine Weltkarte zu setzen. Da könnte also jeder, der eine Karte fertig hat, seinen Marker mit Link zur Filebase setzen. Müsste man sich mal genauer anschauen:
    Test - CommunityWalk
    How To Create Shared Collaborative Google Maps