Plugin Nintendo Switch pour Portal 1 et 2 qui permet de charger des fichiers en dehors de game.zip, donc plus besoin de reconditionner et d'envoyer d'énormes archives à chaque fois que vous souhaitez modifier quelque chose.
Vous devez disposer de la version 1.0.3 de Portal 2 et de la version 1.0.2 ou 1.0.3 de Portal
À partir des versions téléchargées :
Portail-NXSideLoader.zip
Sans correctifs réseau (cela ne vous empêchera pas d'utiliser le réseau) :
- Portal2-NXSideLoader.zip
Avec les correctifs réseau (pour les personnes qui bloquent les serveurs Nintendo, cela empêchera le jeu de se connecter au réseau pour éviter les plantages + aide au débogage) :
- Portal2-NoWeb-NXSideLoader.zip
Mettez le dossier atmosphere
à la racine de la carte SD (oui, votre CFW ne sera pas supprimé...)
Renommez le dossier principal du mod (par exemple dans le cas de Portal Reloaded, il s'agit de "portalreloaded") en, selon le jeu :
portal
portal2_dlc3
et tu mets ce dossier dans :
atmosphere/contents/01007BB017812000/romfs/nxcontent/
atmosphere/contents/0100ABD01785C000/romfs/nxcontent/
Tous les noms de dossiers et de fichiers dans le dossier romfs DOIVENT être en minuscules !
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.
Les mods doivent avoir un code CPU correctement optimisé, sinon Switch s'étouffera.
Exemples de mods correctement optimisés :
Exemples de mods mal optimisés :
Peu de fichiers dans nxcontent
peuvent ne pas être pris en charge car ils sont préchargés avec des fonctions distinctes. J'avais besoin d'ajouter un support spécifique pour une fonction afin que rom_boot_params.txt
puisse être chargé. S'il y a un fichier qui ne fonctionne pas et que vous souhaitez qu'il fonctionne, écrivez un problème.
Le jeu prend en charge les vscripts.
La modification du code source n'est pas prise en charge pour ce mod. Vous devrez créer vos propres crochets manuellement.
Les développeurs de jeux ont repensé l'intégralité de cstdio pour utiliser game.zip comme système de fichiers. Les jeux de portail pour ouvrir la plupart des fichiers utilisent une fonction appelée fopen_nx()
. Pour lire ce fichier - fread_nx()
, etc. Toutes les fonctions sont compatibles avec cstdio, la solution était donc assez simple :
fopen_nx()
fopen()
avec le chemin correct commençant par rom:/
Il y avait 2 problèmes avec cette solution :
rom_boot_params.txt
, j'ai donc accroché la fonction de lecture de ce fichier et l'ai repensé pour charger le fichier à partir de la carte SD. Plus tard, il s'est avéré que la même fonction était responsable du chargement des fichiers sonores et des textures à partir des fichiers bsp.fopen_nx()
ignore la casse + a la priorité de vérifier en premier si le fichier se trouve dans le dossier nxcontent
, et sinon, vérifie la racine du zip. À l'intérieur du hook, j'ai réimplémenté cette vérification + utilisé tolower()
pour le chemin du fichier car le chargement du fichier HOS romfs est sensible à la casse et tous les fichiers originaux sont en minuscules.Vous avez besoin d’une installation standard de devkitpro avec Switch-dev.
Corrigez main.npdm
à partir des exefs avec ceci, sinon le plugin plantera : https://github.com/skyline-dev/skyline/blob/master/scripts/patchNpdm.py
Pour le compiler pour Portal 1, utilisez la commande
make PORTAL="-DPORTAL"
pour le portail 2
make PORTAL="-DPORTAL2"
avec des correctifs Internet pour permettre le débogage via un réseau qui a bloqué l'accès aux serveurs Nintendo
make PORTAL="-DPORTAL2 -DPDEBUG"