Wii(mms) ISO Patcher für Windows, Linux und Mac
Dieses ist ein Angebot für Entwickler, die Patches für Original-Spiele vertreiben wollen.
Für meine MKW-Fun Edition habe ich ja ein Patch-Programm basierend auf meinen WIT-Tools gebaut, welches unter Windows, Linux und Mac läuft. Ich denke, das könnte für viele andere unabhängig von "Mario Kart" interessant sein und stelle es hier zur Weiterentwicklung und zur Diskussion aus.
Ich habe das System noch etwas nachgebessert und hier ist das Ergebnis: Download bei MediaFire. Bei Referenzen bitte den Link wit.wiimm.de/r/iso-patcher-de verwenden.
Eigenschaften:
Das Kern-Script mit dem Namen job-helper.sh muss von Entwickler angepasst werden:
Spoiler anzeigen
Alles anzeigen
Die beiden "job" Zeilen legen die Umwandlung fest. Als Patch-Datei können ZIP und TAR Dateien angegeben werden. Wichtig ist, dass das Basis-Verzeichnis in der Patch-Datei genauso lautet, wie im Script als workdir angegeben ist. Im diesen Falle (und warum nicht immer?) lautet es ./patch-dir. Durch den Modularen Aufbau können auch schnell mehrere neue Images auf einen Schlag erstellt werden.
Bei Aufruf mit Option -h oder --help wird folgendes ausgegeben:
Spoiler anzeigen
Alles anzeigen
Eine Windows-Batch-Datei sieht z.B. wie folgt aus:
Es wird nur 1.) der Pfad gesetzt, 2.) das obige Script mit Optionen aufgerufen und 3.) auf eine Benutzereingabe zum Schließen gewartet.
Als Bonus, kleiner Anreiz und zum Testen liegt noch das neue "GCN Bowsers Festung" (eine ganz neue, aber echt gute Strecke) als Ersatz für Luigis Piste bei.
Hier wird "Wii(mms) ISO Patcher für Windows, Linux und Mac" schon eingesetzt:
Bei Referenzen bitte den Link wit.wiimm.de/r/iso-patcher-de verwenden.
Dieses ist ein Angebot für Entwickler, die Patches für Original-Spiele vertreiben wollen.
Für meine MKW-Fun Edition habe ich ja ein Patch-Programm basierend auf meinen WIT-Tools gebaut, welches unter Windows, Linux und Mac läuft. Ich denke, das könnte für viele andere unabhängig von "Mario Kart" interessant sein und stelle es hier zur Weiterentwicklung und zur Diskussion aus.
Ich habe das System noch etwas nachgebessert und hier ist das Ergebnis: Download bei MediaFire. Bei Referenzen bitte den Link wit.wiimm.de/r/iso-patcher-de verwenden.
Eigenschaften:
- Der Kern des Patch-Systems ist im Unterverzeichnis ./bin verborgen.
- Das Host-System (Windows, Linux/32, Linux/64, Mac) des Endnutzers wird automatisch erkannt.
- Es werden ausschließlich Unix-Tools und die WIT-Tools verwendet. Diese Tools sind standardmäßig unter Linux und Mac vorhanden. Für Windows sind die passenden Cygwin-Tools im Verzeichnis ./bin/cygwin beigelegt. Andere Unix-System werden auch unterstützt, wenn selbst generierte WIT-Tools installiert sind.
- Weder Entwickler noch Endbenutzer müssen irgendwas installiren, auch nicht die WIT-Tools.
- Der Entwickler muss ein oder mehrere Patch-Dateien erzeugen, wobei ZIP und TAR Archive erlaubt sind. TAR-Archive haben den Vorteil, dass sie hardlinks unterstützen und somit Download-Volumen einsparen können. Wichtig ist, dass die Patch-Dateien der Verzeichnisstruktur der zu patchenden Disc und als Basisverzeichnis ./patch-dir/files/ verwenden.
- Falls die Patch-Datei das bash-Script ./patch-dir/post-patch.sh/ enthält, dann wird dieses Script mit ./patch-dir/ als aktuelles Verzeichnis nach dem Entpacken ausgeführt. Das Script muss ein bash-Script ohne Shebang sein, damit es problemlos auf allen Host-Systemen ausführbar ist. Es kann beliebige Modifikationen vor dem Zusammenbau des neuen Images vornehmen.
- Das bash Script job-helper.sh steuert die Umwandlung (siehe Diskussion unten).
- Es existieren weiter Scripte (Batch-Dateien) für Windows- und für Unix-Benutzer. Diese Scripte ermöglichen eine 1-Klick-Umnwandlung. Die einzelnen Scripte unterscheiden sich nur in der Vorauswahl der Optionen.
- Durch Optionen kann jeder Nutzer Einfluss auf die Umwandlung nehmen. Dabei kann u.a. das Dateiformat bestimmt werden (--iso, --ciso, --wdf, --wia, --wbfs, --split).
- Vor der Umwandlung muss der Endbenutzer das jeweilige Quell-Image im Basisverzeichnis ablegen. Alternativ kann er durch Angabe der Option --extract das Script anweisen, die Quelle direkt von einer WBFS-Partition zu laden (dazu werden Admin-Rechte benötigt).
- Nach dem Ende befinden sich die neuen Images im Unterverzeichnis new-image. Alternativ der Endbenutzer durch Angabe der Option --add das Script anweisen, das neue Image auf alle erkannten WBFS-Partition zu kopieren.
- Durch die Auswahl eines Scriptes entscheidet der Endbenutzer, ob er ein ISO, eine WBFS oder eine WDF-Datei erzeugen möchte.
- In meinem Beispiel wird ein neues Mario-Kart erzeugt, welches sich das Savegame (=Profil) mit dem Original teilt, wenn er ein 'shared-savegame'-Script aufruft. Verwendet der Nutzer jedoch ein 'new-savegame'-Script, dann werden die IDs so geändert, dass das neue Mario-Kart ein eigenes Savegame erhält.
- Falls Endnutzer Probleme haben, gibt es die Scripte 'view-iso.*' und 'verify-iso.*', und zwar jeweils als Batch-Datei für Windows (*.bat) und als bash-Script (*.sh). view-iso.* zeigt alle erkannten ISO-Images im aktuellen Verzeichnis mit ein paar Zusatzinfos an. verify-iso.* überprüft die Check-Summen der gefundenen ISO-Images. Letzteres dauert, weil die komplette DVD entschlüsselt werden muss.
Das Kern-Script mit dem Namen job-helper.sh muss von Entwickler angepasst werden:
Shell-Script
- #!/bin/bash
- #----- setup
- . ./bin/options.sh
- workdir=./patch-dir
- #----- patching jobs (developers: edit this part)
- # job source_id dest_id "title" patch_file
- job RMCP01 RMCPT1 "Wiimms Mario Kart Test.pal" patch.zip
- job RMCE01 RMCET1 "Wiimms Mario Kart Test.ntsc" patch.zip
- #----- termination status
- printlog ">>>>> $done_count image(s) created <<<<<" \
- ">>>>> $done_count Image(s) erstellt <<<<<"
- exit 0
Bei Aufruf mit Option -h oder --help wird folgendes ausgegeben:
Quellcode
- job-helper.sh [option...]
- Options:
- -h --help : print this help to stdout and 'exit 1'
- -t --test : enter test mode => do nothing
- -v --verbose : be verbose, disable --quiet
- -q --quiet : be quiet, disable --verbose
- -x --extract : extract source from WBFS drive
- -a --add : add directly to WBFS drive using 'wwt'
- --iso : force output to *.iso files (default)
- --ciso : force output to *.ciso files
- --wdf : force output to *.wdf files
- --wia : force output to *.wia files
- --wbfs : force output to *.wbfs files
- --split : split output at 4 GB
- -s --savegame : change ID to 'K.....' to enable separate savegame
- Options --extract and --add need admin rights to access a WBFS partition.
Eine Windows-Batch-Datei sieht z.B. wie folgt aus:
Es wird nur 1.) der Pfad gesetzt, 2.) das obige Script mit Optionen aufgerufen und 3.) auf eine Benutzereingabe zum Schließen gewartet.
Als Bonus, kleiner Anreiz und zum Testen liegt noch das neue "GCN Bowsers Festung" (eine ganz neue, aber echt gute Strecke) als Ersatz für Luigis Piste bei.
Hier wird "Wii(mms) ISO Patcher für Windows, Linux und Mac" schon eingesetzt:
- Wiimms Mario Kart Fun 2010-12
- PunEmu v1.1 - Multi-Emulator-Disc: Einfügen von Emulator-Roms.
Bei Referenzen bitte den Link wit.wiimm.de/r/iso-patcher-de verwenden.
Wiimms Mario Kart Fun 2023-09
Mittwochs & Donnerstags
ab 19:30 Uhr CEST (17:30 UTC)
mit Team-Speak (freiwillig)
FC: Wiimm=0432-5226-7951, Leseratte=2880-9868-0945
Mittwochs & Donnerstags
ab 19:30 Uhr CEST (17:30 UTC)
mit Team-Speak (freiwillig)
FC: Wiimm=0432-5226-7951, Leseratte=2880-9868-0945
WIT: Wiimms ISO Tools
Verwaltet Plain ISO, WDF, WIA, CISO, WBFS, FST: kann Extrahieren, Erstellen, Patchen, Mischen und Überprüfen
SZS: Wiimms SZS Tools
Verwaltet SZS-, BRRES-, U8-, BMG-, BREFT-Dateien uvm.
PN ohne persönlichen Charakter werden ignoriert. Support-Anfragen gehören ins Forum.
Dieser Beitrag wurde bereits 12 mal editiert, zuletzt von Wiimm ()