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
  5. Modding und Erweiterungen
  6. Tools & more

[Dev Thread / Preview] Mod Manager

  • eis_os
  • August 22, 2011 at 6:00 PM
1st Official Post
  • eis_os
    Professional
    Posts
    1,025
    Filebase Entries
    2
    • August 22, 2011 at 6:00 PM
    • #1

    Hallo

    Da ich gefragt wurde ob das auch mal für andere Addons funktionieren wird.
    Die Entwicklung des Mod Manager ist sehr stark am Anfang. Bevor jemand anderes oder Colossal Order/Paradox wieder etwas zeigt, werde ich auch diesmal eine Art Tagebuch / Bericht der laufenden Arbeiten schreiben.

    Eine Alpha Version kann man sich unter http://cim.bytetransfer.de/modmanager/ herunterladen,
    Änderungen werden hier im Beitrag genannt.

    Ein Repository gibt es hier:
    http://cim.bytetransfer.de/repo/cim.repo

    [gallery]1177[/gallery]

    Die Todo Liste:
    - Baue einen funktionierenden Mod Manager
    - Abhängigkeitsauflösung, laden von Mods in der richtigen Reihenfolge.
    - Update des Installers aus meiner Quad U-Bahn Station (Big Underground Metro Station) und als API in den Mod Manager einbauen.
    - Entladen von Mods, deaktivieren und aktivieren mit eigener API, reload zum entwickeln.
    - Auto Updater aller U-Bahn Station

    - Neue Versionsseite für Mods per Ingame Link aufrufbar. (Da werden den die Versionen übermittelt)

    Version 2:
    - Einstellungsfenster für Mods
    - Bundle Installer, mehr Mods in einer GS Datei
    - API zum Ändern von CIM Dateien wenn CO mir die nötigen Infos bzw. technischen Mittel raus rückt.

    Das ist alles noch in Planung für eigene Mods, sollte die API Stabil genug sein, kann jeder wenn er möchte die Mods so vertreiben oder eben auf eigene Gefahr und ich ändere noch etwas. Wie bei TTDPatch wird es wohl aber immer ein Kompatibilitätsmodus geben.
    Die Mods werden nicht in Addons installiert, daher kann ein Mod auch beide Möglichkeiten unterstützen.

    Und ja, ich bin mit UI noch nicht wirklich glücklich.

    Edited 2 times, last by eis_os (March 27, 2012 at 6:58 PM).

    • Quote
  • immi
    Guest
    • August 23, 2011 at 3:14 PM
    • #2
    Quote from eis_os

    - API zum Ändern von CIM Dateien wenn CO mir die nötigen Infos bzw. technischen Mittel raus rückt.


    warum willst du die Originaldaten modifizieren? Find ich nicht so prickelnd wenn mods anfangen in den Original Dateien rumzupfuschen. Oder versteh ich da was falsch ?

    • Quote
  • eis_os
    Professional
    Posts
    1,025
    Filebase Entries
    2
    • August 23, 2011 at 3:42 PM
    • #3

    Es gibt einfach ein paar Sachen die nicht anders gehen, Beispiel ich habe mir die Markierung des Tram Endteils geändert, damit die Richtung besser erkennbar ist.
    Da es im Object Script über eine Funktion gesteuert wird, gibt es keine andere Möglichkeit da eine Funktion per Laufzeit nicht überschrieben werden kann. (Ich hab da ne Menge Sachen ausprobiert) .

    Wenn Du mir ein System aufzeigen kannst wie ich eine Funktion per Hook oder ähnliches ändern kann, lass es mich wissen. Und ich hab wirklich schon viele Sachen gemacht um auch ja nichts an den Original Dateien zu ändern.
    Beispiel der "Big Metro Station" Installer zeigt Fenster im Hauptbildschirm an als Overlay, das war wirklich nicht einfach zum laufen zu bekommen, aber es geht und kostet jeweils gemittelt ein Sonntag Freizeit...

    Auch ich bin der Verfechter das man keine Original Dateien ändern sollte, wenn es irgendwie anders geht.

    -edit-
    Ohh, und wenn ich von ändern spreche, meine ich natürlich nicht die eigentliche metro.gs/object.gs Datei zu ändern, sondern eine ungepackte Kopie in den Metro Ordner zu legen...

    Edited once, last by eis_os (August 23, 2011 at 4:08 PM).

    • Quote
  • ArkenbergeJoe
    Guest
    • August 23, 2011 at 8:30 PM
    • #4

    Natürlich bin ich auch ein Gegner vom Verändern des Originalordners, also der Verwendung des metro-Ordners. Jede andere Mod zerschießt zwangsläufig den Vorherigen, wenn nicht die Alt-Dateien angepasst werden.
    Allerdings gibt es natürlich auch die guten Ausnahmen. Der CIM-CAM ist das beste Beispiel. Der ließ sich nun mal nicht so nebenbei im Addonordner packen.
    Nun ist meine Frage: Wie sieht es mit der Pflege solcher Dateien aus? Eigentlich müsste irgendein Mod-Team oder sonstwer sich mit der Anpassung solcher derartigen Dateien beschäftigen. So, wie es bei SC4 mit dem NAM passiert. Egal, wer was moddet, muß es erst einmal zur englischsprachigen SC4D-Site schicken, damit nicht schwerwiegende Bugs und Vergnatzung der Gamer die Folge sind.
    Zum Modding habe ich auch noch eine weitere Frage, welche offenbar auch Änderungen am Metro-Ordner zur Folge haben könnten, welche ich aber unbedingt vermeiden möchte! Das aber in einem anderen Thread .

    Edited once, last by ArkenbergeJoe (August 23, 2011 at 8:56 PM).

    • Quote
  • eis_os
    Professional
    Posts
    1,025
    Filebase Entries
    2
    • August 23, 2011 at 10:16 PM
    • #5
    Quote from ArkenbergeJoe

    Natürlich bin ich auch ein Gegner vom Verändern des Originalordners, also der Verwendung des metro-Ordners. Jede andere Mod zerschießt zwangsläufig den Vorherigen, wenn nicht die Alt-Dateien angepasst werden.
    Allerdings gibt es natürlich auch die guten Ausnahmen. Der CIM-CAM ist das beste Beispiel. Der ließ sich nun mal nicht so nebenbei im Addonordner packen.
    Nun ist meine Frage: Wie sieht es mit der Pflege solcher Dateien aus? Eigentlich müsste irgendein Mod-Team oder sonstwer sich mit der Anpassung solcher derartigen Dateien beschäftigen. So, wie es bei SC4 mit dem NAM passiert. Egal, wer was moddet, muß es erst einmal zur englischsprachigen SC4D-Site schicken, damit nicht schwerwiegende Bugs und Vergnatzung der Gamer die Folge sind.
    Zum Modding habe ich auch noch eine weitere Frage, welche offenbar auch Änderungen am Metro-Ordner zur Folge haben könnten, welche ich aber unbedingt vermeiden möchte! Das aber in einem anderen Thread .

    Wenn ich von API spreche, meine ich das in einer weise die das ändern einer Datei von mehreren Mods möglich macht, indem jeder Mod per Script API die Änderungen macht. (das macht auch klar das man da nicht ganze Romane ändern kann, sondern nur neue Funktionen hinzufügen oder mal einen Teil auskommentieren, wie haben ja nur begrenzte String Routinen). Das hat bei TTDPatch auch recht gut mit Maschiencode funktioniert, kommt aber auf die Disziplin der Mod Autoren an, wenn X Y zerbröselt, geht das natürlich nicht. Aber Teile wie hoverinfo können einfach nicht extern um neue Funktionen ergänzt werden.

    Eine Möglichkeit zu definieren ob eine Mod ID mit einer anderen nicht harmoniert, damit es da keine Kollisionen gibt ist auch schon geplant.

    • Quote
  • immi
    Guest
    • August 24, 2011 at 11:05 AM
    • #6
    Quote from eis_os

    Ohh, und wenn ich von ändern spreche, meine ich natürlich nicht die eigentliche metro.gs/object.gs Datei zu ändern, sondern eine ungepackte Kopie in den Metro Ordner zu legen...


    dagegen ist natürlich absolut nicht einzuwenden ;)

    einen Weg Funktionen neu zu definieren kenn ich auch nicht, geht vermutlich halt einfach nicht.

    • Quote
  • eis_os
    Professional
    Posts
    1,025
    Filebase Entries
    2
    • September 24, 2011 at 7:35 PM
    • #7

    Leider geht das alles viel langsamer als ich gerne hätte.

    Als Beispiel die Toolbar Buttons, CIM ist nicht wirklich ausgelegt das man Mods auch während des Spiels entlädt.

    Kleines Status Update:
    - Mod Manager im Start und Pause Menu aufrufbar
    - Lade Management
    - (Nach)Laden von Mods
    - Entladen von Mods
    - Noch kein Laden von Map Mods, Objekten und ne ganze menge anderes Zeugs :(

    Daher werde ich erstmal das Laden/Entladen auf eine spätere Version verschieben.

    Eine ModID ist ein eindeutiger Name, ohne Version

    Es wird eine modid.modinfo Datei geben:

    Code
    $mod = map [
    	"version", [0, 5],
    	"name", "eis_os Tram Puzzle Pieces",
    	"description", "Allow you to build tram tracks as single pieces.",
    	"modmanagerversion", [0, 4],
    	"runtimeload", true,
    	"runtimeunload", true,
    ];

    Und eine modid.script:

    Code
    function mod_install() {
    }
    
    
    function mod_uninstall() {
    }
    
    
    function mod_loadGame() {
    }
    
    
    function mod_unloadGame() {
    }
    
    
    function mod_loadEditor() {
    }
    
    
    function mod_unloadEditor() {
    }
    
    
    function mod_loadEnvironments() {
    }
    
    
    function mod_init() {
    }
    
    
    function mod_uninit() {
    }
    Display More

    Sobald die ModID im Spiel aktiviert wird, wird modid.script geladen, die Funktionen werden dann zur "richtigen" Zeit ausgeführt...

    Für ein späteres Online - Update werden alle Modid.modinfos und modid.dss in eine GS Datei gepackt und vom Benutzer heruntergeladen. Ein Verweis auf die Download Möglichkeit gibt es dann in der jeweiligen modinfo-Datei...
    Ein paar Ideen in Richtung "Channels" wie bei anderen Paketmanager schwebt mir auch noch vor. Solange CO meine Hintertür zum Aufrufen von exe Dateien nicht abstellt, sollte das alles ohne Probleme funktionieren...

    Edited 2 times, last by eis_os (September 24, 2011 at 7:46 PM).

    • Quote
  • eis_os
    Professional
    Posts
    1,025
    Filebase Entries
    2
    • January 17, 2012 at 7:14 PM
    • #8

    Status Update.

    Nicht viel neues, aber das Benutzer Interface zeigt nun die Abhängigkeiten und den jeweiligen Status.
    Ein Downloader der aus CIM gestartet werden kann ist auch schon fertig, wobei das Locking noch nicht ausgereift ist.

    [gallery]1633[/gallery]

    • Quote
  • Speedy
    Master
    Posts
    2,067
    Filebase Entries
    21
    • January 17, 2012 at 9:49 PM
    • #9

    Freut mich, dass du irgendwie vorankommst mit dem Tool.

    Ich hätt da mal ne Frage; wobei ich denke, die Antwort schon zu kennen:
    Gilt das Tool dann nur für Mods, die im addons-Ordner gehören? Oder auch für solche, die direkt in den metro-Ordner rein müssen? Wobei ich mir denke, dass wohl nur 1. möglich sein wird.

    Ansonsten sieht das Bild schon sehr vielversprechend aus. Und ich kann mir denken, dass es ein User-Liebling werden wird. :thumbup:

    • Quote
  • eis_os
    Professional
    Posts
    1,025
    Filebase Entries
    2
    • January 18, 2012 at 12:16 PM
    • #10

    Bis jetzt und in absehbarer Zukunft nur Mods die ohne absolute Pathangaben funktionieren. D.h. bei der Mod Erstellung müssen ein paar Sachen beachtet werden,
    aber es wird eine Install Routine geben, damit kann man sich Teile aus dem Metro Ordner kopieren. (so wie meine Metro Station)

    • Quote
  • eis_os
    Professional
    Posts
    1,025
    Filebase Entries
    2
    • January 22, 2012 at 1:38 PM
    • #11

    Status:

    Nach einen ganzen Abend an Arbeit und den heutigen Morgen.

    - Legacy Mods und Addons können verwaltet werden. (wenn man das möchte, das kann man per Einstellung später auch nachträglich ändern)
    - Alle Modifikationen können ein und ausgeschaltet werden im Hauptmenü, bei Tokyo oder US Addon könnte dies zu Fehlern führen, da zumindest Tokyo sehr Krude mit den Strings umgeht. Beim US Addon hab ich keine Ahnung, besitze es nicht.
    Dafür wird die metro/scripts/addons.script entpackt, ein Patch installiert, der Benutzer zum Neustart aufgefordert. Sollte Änderungen an dieser Datei vorhanden sein, wird diese nicht überschrieben sondern um den Patch ergänzt.
    - Egal wo der ModManager installiert wird (alle 3 addon Ordner sind möglich) der Patch ist richtig.
    - Patches können deinstalliert werden, ungenutzt bis jetzt. Noch eine Baustelle.
    - Kategorien für ModManager kompatible Mods.
    - Version Management für ModManager kompatible Mods ((MM Mods), es wird nur die neuste Version geladen.
    - MM Mods können Hybrid ausgelegt werden, d.h. normale Installation ist auch möglich.
    - MM Mods können während des Spiels im Pause Menü geladen werden und wenn es geht auch entladen während des Spiels.

    Für Mac User, Mods können leider nicht Ingame heruntergeladen werden, es wird ein Installationsordner geben, wo man die GS Dateien hineinschreiben kann. (Es wird ein externes Windows Programm dafür gestartet)

    Zum Downloader:
    Der Plan sieht aus, Paketquellen anzugeben, dieses bedeutet das es möglich wird verschiedene Quellen für neue Mods anzusprechen.


    - edit -
    Um ein paar Missverständnisse schon im Vorfeld auszuschließen, es wird keine Präferenz für ein CIM Portal geben, ich werde zur gegeben Zeit auch Kontakte zu CIM Exchange, den russischen Moddern aufnehmen um auch alle Sprachen zu unterstützen. Ich behalte mir auch das Recht vor, alle CIM ModManager Updates per eigener Seite zu hosten und dieses auch in ModManager fest verdrahten für Updates. (Man kann natürlich auch manuelle Updates mit der jeweiligen gs Datei selber einspielen)

    Edited 2 times, last by eis_os (January 22, 2012 at 1:59 PM).

    • Quote
  • ArkenbergeJoe
    Guest
    • January 22, 2012 at 2:13 PM
    • #12

    Das ist ein Haufen Arbeit, den du dir gemacht hast. Einfach nur große Klasse. :thumbup:

    • Quote
  • Mengi12
    Student
    Posts
    89
    • January 22, 2012 at 5:24 PM
    • #13

    Das ist einfach nur genial. Kompliment!

    • Quote
  • eis_os
    Professional
    Posts
    1,025
    Filebase Entries
    2
    • January 29, 2012 at 4:16 PM
    • #14

    Hallo

    Der Fahrplan sieht nun so aus:

    Alpha Version müsste bald fertig sein, hierfür brauche ich Tester.
    Warnung: Nur melden wenn man sich auch mit Dateisystem, Mod Installation und auch eine Log_metro.txt versteht, sollte etwas nicht so richtig funktionieren muss man Hand anlegen.

    Die Alpha Version wird keine Online Tools mitbringen, da immer noch keine UI vorhaden,
    Strings werden wohl noch in Kauderwelch vorliegen und eben noch eine große Baustelle sein.

    • Quote
  • Mengi12
    Student
    Posts
    89
    • January 30, 2012 at 1:23 PM
    • #15

    Hallo eis_os

    Wenn ich nicht scripten muß, dann kannst Du mir die alpha Version deines MM gerne zusenden. Ich habe mich am WE ausführlich mit der Log_metro.txt beschäftigt, da ich ständig Fehlermeldungen erhalten habe, die aus meiner Sicht keinen Sinn ergaben. Also mußte ich zwangsläufig lernen, was die Fehlermeldungen genau bedeuten und wie ich diese wieder los werde. Spannende Sache, zumal ich dann im weiteren Verlauf Fehler provoziert habe durch das editieren von scripten in den jeweiligen gs. Dateien das es nur so geraucht hat. Das war halt ein WE unter dem Motto try an error. Aber ich denke, nur so kommt man Stück für Stück dahinter. Krönung war dann die Fehlermeldung:"alley out of Bounds" die während der Ausführung des Spiels in die Log Datei geschrieben wurde. Im Spiel selbst ging dann fast gar nichts mehr, obwohl es ohne Probs geladen wurde. Busse im Verzeichnis der Trams, U-Bahnen zwar sichtbar aber nur noch als Busse einsetzbar, etc. Linepanelkonfikte hatte ich laut Log Datei über10 Stück, aber irgendwann habe ich es wieder hinbekommen, so nach ca. 8 Stunden. Also ich denke, schlimmer kann Dein MM auch nicht werden;-)

    • Quote
  • Speedy
    Master
    Posts
    2,067
    Filebase Entries
    21
    • January 30, 2012 at 1:38 PM
    • #16

    Mengi12
    Wenn du Probleme mit Mods hast, kannst du die auch gern hier posten. Wir helfen auch weiter. ;)

    eis_os
    Wenn du nicht genügend Leute findest, könntest du mich quasi als Notnagel mit einbeziehen. Ich denk mal, dass ich die Voraussetzungen irgendwie schon hab. :)

    • Quote
  • Mengi12
    Student
    Posts
    89
    • January 30, 2012 at 2:32 PM
    • #17

    speedy: Das weiß ich und sogar super gut. Aber ich hatte die Zeit und da habe ich mal selber probiert was geht und was nicht. Habe sowieso ein paar Sachen entdeckt bzw. sind mir aufgefallen, die sicherlich ein paar Antworten aus dem Forum benötigen. Mache ich aber erst heute Abend, da ich jetzt auch noch (lästig) Geld verdienen muß.

    Bis später!

    • Quote
  • eis_os
    Professional
    Posts
    1,025
    Filebase Entries
    2
    • February 3, 2012 at 8:05 PM
    • #18

    Wie auch schon im Paradox Forum gezeigt, gibt es auch direkt die Möglichkeit auf weitere wichtige Informationen zuzugreifen.
    Seit heute auch die interne Grafikkarten Info und die Möglichkeit die Sprache zu ändern (Erfordert einen Neustart).

    The content cannot be displayed because it is no longer available.

    Soll ModManager die Möglichkeit bekommen gs Dateien aus Eigene Dokumente\Cities In Motion\addons zu löschen?
    Zurzeit geht es nur im eigen ModManager Bereich...

    Edited once, last by eis_os (February 3, 2012 at 8:09 PM).

    • Quote
  • eis_os
    Professional
    Posts
    1,025
    Filebase Entries
    2
    • February 18, 2012 at 6:02 PM
    • #19

    Auch wenn ich ein Doppelpost mache.

    Ein Meilenstein ist erreicht.

    ModManager hat heute das erste mal erfolgreich eine Datei aus einem Repository geladen und installiert. :D

    Das Repository Format sieht so aus:

    Code
    /* ModManager Repository 1 */
    $baseurl = "http://localhost/";
    $mods = [
    	map[
    		"id", "eis_os_extmoneybar",
    		"name", "eis_os_extmoneybar",
    		"description", "Extended Money Bar",
    		"url", "cimdownloader/eis_os_extmoneybar_v04.gs",
    		"version", [0,4]
    	]
    ];
    Display More

    In Version 1 ist es eine normale CIM Script Datei, sobald man "Refresh Repositories" startet in CIM, wird der ModManager Downloader gestartet, die eingestellten Quellen heruntergeladen,
    die Versionen verglichen und die Möglichkeit zum Installieren angeboten. (sollte die Version neuer sein)
    Jetzt werden wohl noch ne menge Bugs zu beseitigen zu sein, aber alle Grund-Funktionen sind vorhanden.

    • Quote
  • eis_os
    Professional
    Posts
    1,025
    Filebase Entries
    2
    • March 10, 2012 at 7:53 PM
    • #20

    psst

    Unter http://cim.bytetransfer.de/modmanager/ gibt es die erste semi öffentliche Version. 8)

    • Quote

Participate now!

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

Register Yourself Login

Twitch

  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™