Nintendo Switch-Plugin für Portal 1 und 2, das das Laden von Dateien außerhalb von game.zip ermöglicht, sodass Sie nicht mehr jedes Mal, wenn Sie etwas ändern möchten, riesige Archive neu packen und versenden müssen.
Sie benötigen Version 1.0.3 von Portal 2 und Version 1.0.2 oder 1.0.3 von Portal
Aus den Veröffentlichungen herunterladen:
Portal-NXSideLoader.zip
Ohne Netzwerk-Patches (Sie werden nicht daran gehindert, das Netzwerk zu nutzen):
- Portal2-NXSideLoader.zip
Mit Netzwerk-Patches (für Leute, die Nintendo-Server blockieren, wird die Verbindung des Spiels zum Netzwerk blockiert, um Abstürze zu verhindern + hilft beim Debuggen):
- Portal2-NoWeb-NXSideLoader.zip
Legen Sie atmosphere
im Stammverzeichnis der SD-Karte ab (ja, Ihr CFW wird nicht gelöscht ...)
Benennen Sie den Haupt-Mod-Ordner um (im Fall von Portal Reloaded heißt er beispielsweise „portalreloaded“), je nach Spiel:
portal
portal2_dlc3
und lege diesen Ordner ab in:
atmosphere/contents/01007BB017812000/romfs/nxcontent/
atmosphere/contents/0100ABD01785C000/romfs/nxcontent/
Alle Ordner- und Dateinamen im ROMFS-Ordner MÜSSEN in Kleinbuchstaben geschrieben sein!
Some mods are overwriting menu options, so you can lose access to Switch controller settings.
If after installing mod you can't save anything in options, try to delete `gameinfo.txt` from mod folder. You may also delete custom options menu.
They are stored either freely somewhere inside mod folder OR they are packed to some vpk file.
Mods müssen über einen ordnungsgemäß optimierten CPU-Code verfügen, sonst stürzt Switch ab.
Beispiele für richtig optimierte Mods:
Beispiele für schlecht optimierte Mods:
Einige Dateien in nxcontent
werden möglicherweise nicht unterstützt, da sie mit separaten Funktionen vorinstalliert sind. Ich musste spezifische Unterstützung für eine Funktion hinzufügen, damit rom_boot_params.txt
geladen werden konnte. Wenn eine Datei nicht funktioniert und Sie möchten, dass sie funktioniert, schreiben Sie ein Problem.
Das Spiel unterstützt Vscripts.
Das Ändern des Quellcodes wird für diesen Mod nicht unterstützt. Sie müssten Ihre eigenen Haken manuell erstellen.
Spieleentwickler haben das gesamte cstdio neu gestaltet, um game.zip als Dateisystem zu verwenden. Portalspiele verwenden zum Öffnen der meisten Dateien eine Funktion namens fopen_nx()
. Um diese Datei zu lesen: fread_nx()
usw. Alle Funktionen sind kreuzkompatibel mit cstdio, daher war die Lösung ziemlich einfach:
fopen_nx()
fopen()
mit dem richtigen Pfad weiter, beginnend mit rom:/
Bei dieser Lösung gab es zwei Probleme:
rom_boot_params.txt
also habe ich die Funktion zum Lesen dieser Datei eingebunden und sie so umgestaltet, dass sie die Datei von der SD-Karte lädt. Später stellte sich heraus, dass dieselbe Funktion für das Laden von Sounddateien und Texturen aus BSP-Dateien verantwortlich ist.fopen_nx()
wird die Groß-/Kleinschreibung ignoriert. + hat Priorität, um zuerst zu prüfen, ob sich die Datei im Ordner nxcontent
befindet, und wenn nicht, wird das Stammverzeichnis der ZIP-Datei überprüft. Innerhalb des Hooks habe ich diese Prüfung erneut implementiert und tolower()
für den Dateipfad verwendet, da beim Laden von HOS-ROMFS-Dateien die Groß-/Kleinschreibung beachtet wird und alle Originaldateien in Kleinbuchstaben geschrieben sind.Sie benötigen eine Standard-Devkitpro-Installation mit Switch-dev.
Patchen Sie main.npdm
von exefs damit, sonst stürzt das Plugin ab: https://github.com/skyline-dev/skyline/blob/master/scripts/patchNpdm.py
Um es für Portal 1 zu kompilieren, verwenden Sie den Befehl
make PORTAL="-DPORTAL"
für Portal 2
make PORTAL="-DPORTAL2"
mit Internet-Patches, um das Debuggen über ein Netzwerk zu ermöglichen, das den Zugriff auf Nintendo-Server blockiert hat
make PORTAL="-DPORTAL2 -DPDEBUG"