Tous les éléments publiés, y compris, mais sans s'y limiter : les binaires, les fichiers sources, la documentation, sont mis à disposition sous la licence AGPL, avec la disposition supplémentaire que les éléments publiés ne peuvent pas être utilisés pour créer des produits dupliqués ou autrement concurrents. Un produit concurrent serait capable de compiler et d'exécuter du code .NET (par exemple C#) au moment de l'exécution pour créer des ressources de jeu modifiées.
La disposition supplémentaire peut être supprimée une fois le référentiel archivé (c'est-à-dire que le développement | la maintenance est arrêté).
Nécessite l'installation de .NET Desktop Runtime 8.x x64 pour les versions >= supérieures à 5.00.1.0.
Nécessite l'installation de .NET Desktop Runtime 6.x x64 pour les versions >= supérieures à 3.82.1.
Nécessite l'installation de .NET Desktop Runtime 5.x x64 pour les versions jusqu'à 3.82.1.
Téléchargez la dernière version ou sélectionnez une version et téléchargez l'actif NMSModBuilder.7z correspondant.
Il n'y a pas d'installateur, décompressez simplement le contenu de NMSModBuilder.7z dans un (nouveau) dossier.
GitHub peut avoir des versions préliminaires non téléchargées sur Nexus. Les versions sont généralement étiquetées comme préliminaires lorsqu'une quantité importante de code a été ajoutée ou modifiée. La balise de pré-version peut être supprimée une fois qu'elle a été utilisée pendant un certain temps sans aucun problème détecté.
Lors de la mise à jour, n'oubliez pas de sauvegarder tous les scripts Util, Query ou Mod groupés que vous avez pu modifier, avant de les écraser par ceux d'une version plus récente.
NMSMB devrait pouvoir s'exécuter sans que l'utilisateur ait à apporter des modifications à la configuration.
Vous devrez peut-être remplacer le fichier libmbin.dll inclus par celui requis par la version du jeu que vous souhaitez charger.
Lorsque NMSMB démarre, il charge le libMBIN.dll dans le dossier NMSMB. Il l'utilise pour la plupart des onglets de recherche, pour afficher le contenu de différentes langues de mbin, par exemple. Il est également utilisé par les scripts lorsqu'ils extraient ou créent des mbin. En tant que tel, la version de libMBIN.dll dans le dossier NMSMB doit correspondre à celle requise par la version du jeu que vous souhaitez modifier. Le fichier cmkNMSReleases.txt répertorie la version de libMBIN.dll requise pour chaque version du jeu.
Si vous souhaitez modifier plusieurs instances de jeu, chacune nécessitant une version différente de libMBIN.dll, l'option la plus simple consiste à créer un dossier d'installation NMSMB pour chaque instance de jeu, chacune avec la version libMBIN.dll appropriée ; sinon, vous devrez vous assurer manuellement que la version correcte de libMBIN.dll se trouve dans le dossier NMSMB avant de modifier une instance de jeu donnée.
L'application peut télécharger d'autres versions de libmbin, par exemple libmbin_3.9.0.1.dll. Ils sont utilisés UNIQUEMENT lors de la décompilation des mbin. Ils ne sont PAS utilisés lors du démarrage de l'application, pour charger les onglets de recherche ou lors de la compilation/exécution de scripts.
Une version NMSMB donnée ne peut faire avancer que la version libmbin.dll. Par exemple, la version 4.0.0.0 de NMSMB est livrée avec la libmbin 4.0.0.2, vous pouvez uniquement essayer de remplacer la libmbin incluse par des versions plus récentes comme la 4.0.0.3, vous ne pouvez pas utiliser des versions plus anciennes comme la 4.0.0.1. Si la version de votre jeu nécessite une ancienne libmin, vous devez utiliser une ancienne version NMSMB qui la prend en charge. Regardez dans le change.log NMSMB pour voir quelle version de libmbin est incluse avec chaque version de NMSMB, ou vérifiez simplement la libmbin dans le fichier de téléchargement.
no_github
Empêchez NMSMB de se connecter à GitHub.
Par défaut, NMSMB se connectera à GitHub pour obtenir :
no_registry
Empêchez NMSMB de stocker l'état de la fenêtre dans le registre lorsqu'il se ferme et de le restaurer à partir du registre lorsqu'il démarre.
NMSMB stocke l'état de la fenêtre dans HKCUSOFTWAREcmkushnirNMSMBWindows .
L'utilisateur est responsable de la suppression des informations du registre. S'il supprime NMSMB, il n'y a pas de programme de désinstallation. Notez que si vous utilisez plusieurs copies NMSMB, elles partagent toutes la même clé de registre.
p"path"
Ajoutez un seul emplacement de jeu à la barre d'outils. Un bouton sera ajouté à gauche des boutons GoG, Steam, Select.
r#.#.#
Forcez la sortie du jeu pour l'instance de jeu p
. Utilisé uniquement si p
est également spécifié. Ignoré si v
spécifié.
v#.#.#.#
Forcez la version MBINC pour l'instance de jeu p
. Utilisé uniquement si p
est également spécifié. Remplace r
.
lg
, ls
, lx
ou lp
Essayez de charger automatiquement une instance de jeu au démarrage (GoG, Steam, Xbox Game Pass ou emplacement p
).
Si
p
spécifié mais que nir
niv
ne sont spécifiés, la date de construction de NMS.exe sera recherchée dans cmkNMSReleases.txt pour déterminer la version.
Le fichier .editorconfig, dans le dossier NMSMB, est utilisé par le bouton de la barre d'outils Format du script pour contrôler des éléments tels que l'indentation et l'espacement.
Le fichier cmkNMSReleases.txt, dans le dossier NMSMB, lie les versions du jeu à MBINCompiler | Versions libMBIN. Il est généralement mis à jour lors de la sortie de nouveaux jeux et|ou de MBINCompiler | Les versions de libMBIN sont publiées | installé.
NMSMB fusionnera automatiquement les entrées du fichier local avec les dernières entrées du fichier GitHub au démarrage, sauf si l'option de ligne de commande no_github est spécifiée. Cela signifie que l'utilisateur ne devrait généralement pas avoir besoin de modifier ce fichier tant que le fichier GitHub est tenu à jour.
La date de construction de NMS.exe pour une version de jeu donnée peut être différente pour chaque plate-forme, y compris GoG vs Steam. La date de construction de NMS.exe peut être quelques jours avant la date de sortie officielle. Les dates de construction de cmkNMSReleases.txt doivent correspondre aux dates de construction de Steam NMS.exe.
Vous ne pourrez créer des mods que pour les versions de jeu prises en charge par la version libMBIN.dll dans le dossier NMSMB, comme spécifié dans cmkNMSReleases.txt.
Une DLL de plugin est une DLL de base .NET qui fait simplement référence à cmkNMSCommon.dll et cmkNMSModBuilder.exe, et possède une classe dérivée de cmk.NMS.ModBuilder.Plugin. Lorsque NMSMB démarre, il chargera tous les fichiers ./Plugins/*.dll. Pour chaque dll, il créera une instance de la première classe dérivée cmk.NMS.ModBuilder.Plugin qu'il trouve et appellera sa méthode Load(). Lorsque NMSMB se ferme, il appellera la méthode Unload() pour toutes les instances du plugin.
Les plugins peuvent être utilisés pour des choses comme :
Voir : Plugins/Sample/ dans le référentiel.
Exécutez cmkNMSModBuilder.exe avec toutes les options de ligne de commande souhaitées, par exemple :
X:GamesNMSToolsNMSModBuilder>cmkNMSModBuilder.exe p"G:GamesNo Man's Sky" lp
Lorsque NMSMB démarre, cela peut prendre 1 à 3 secondes avant que la fenêtre ne s'affiche. Pendant ce temps, NMSMB charge et lie toutes les énumérations, classes et champs de libMBIN.dll dans le dossier NMSMB, recherche les instances de jeu GoG, Steam et Xbox Game Pass installées, charge tous les fichiers ./Plugins/*.dll, ....
Fenêtre de journal par défaut et boutons bascule d’état NMSMB.
Toutes les énumérations, structures et champs de libMBIN.dll lié.
Les structures de niveau supérieur ont des liens vers les mbin qui les utilisent.
Peut filtrer les éléments affichés à l’aide d’un motif générique ou d’expression régulière.
Liste consolidée et triée de toutes les paires ID - Texte pour la langue sélectionnée.
La langue sélectionnée est utilisée pour afficher le texte dans tous les onglets qui utilisent un identifiant de langue.
Peut filtrer les éléments affichés à l’aide d’un motif générique ou d’expression régulière.
Répertoriez les éléments des METADATA/REALITY/TABLES/*.MBIN
correspondants.
Pour chaque élément, affichez l'icône, les identifiants, le texte, la description et les exigences.
Peut filtrer les éléments affichés à l’aide d’un motif générique ou d’expression régulière.
Répertoriez les éléments de METADATA/REALITY/TABLES/NMS_REALITY_GCRECIPETABLE.MBIN
.
Pour chaque élément, affichez les icônes, les identifiants, le texte, la description et les exigences.
Peut filtrer les éléments affichés à l’aide d’un motif générique ou d’expression régulière.
Utilisez un caractère générique ou un modèle regex pour rechercher tous les chemins d'éléments dans les fichiers de jeu ou de mod pak.
Utilisez un caractère générique ou un modèle regex pour rechercher tous les chemins *.dds dans les fichiers de jeu ou de mod pak.
Une image miniature s'affiche pour chaque résultat.
Utilisez un caractère générique ou un modèle regex pour rechercher des éléments dans les fichiers de jeu ou de mod pak qui peuvent être représentés sous forme de texte.
Mettez éventuellement en cache le texte mbin pour accélérer considérablement les recherches ultérieures.
Affiché uniquement si des conflits sont détectés.
NMSMB surveille le dossier GAMEDATA/PCBANKS/MODS/
du jeu sélectionné pour *.pak ajoute | supprime | changements. Chaque fois qu'un changement est détecté, il revérifie les conflits et affiche l'onglet s'il en trouve, sinon il masque l'onglet.
Afficher les éléments dans les fichiers de jeu ou de mod pak. Peut enregistrer des éléments sur le disque.
Visionneuses spécialisées et visionneuses de différences pour les types d'éléments courants, par exemple mbin, dds, spv, txt, ....
Créez, modifiez et compilez des scripts C# pouvant être utilisés par les scripts Query et Mod.
Créez, modifiez, compilez et exécutez des scripts C# qui peuvent interroger les données des fichiers de jeu et de mod pak.
Créez, modifiez et compilez des scripts C# qui créent des copies modifiées du jeu et des fichiers mod pak installés.
Exécutez les objets de script Mod, utilisez les éléments modifiés résultants pour créer de nouveaux fichiers mod pak.
Affiché uniquement si un chemin de ligne de commande p
valide est spécifié.
Vérifie le registre pour HKEY_LOCAL_MACHINESOFTWAREWOW6432NodeGOG.comGames1446213994
.
La clé de registre contient le chemin d'installation et la version du jeu.
Recherche tous les emplacements d'installation du jeu Steam pour appmanifest_275850.acf
.
Le manifeste contient le chemin d'installation, la version du jeu à partir de cmkNMSReleases.txt basée sur la date de construction de NMS.exe.
Utilise le gestionnaire de packages Windows pour rechercher l'ID du pack HelloGames.NoMansSky
.
Le package contient à la fois le chemin d’installation et la version du jeu.
La sélection d'un chemin de jeu valide affichera la date de construction de NMS.exe et la version du jeu correspondante à partir de cmkNMSReleases.txt. L'utilisateur peut remplacer la version du jeu.
https://github.com/cmkushnir/NMSModBuilder
Remarque : les scripts et documents contribués par les utilisateurs peuvent être trouvés à :
https://github.com/cmkushnir/NMSModBuilderContrib
Afficher l'écran de démarrage et les liens vers les dépendances.
La version du lien chargé libMBIN.dll dans le dossier NMSMB détermine quelles versions du jeu peuvent être modifiées. Il ne contrôle pas quelles versions de mbin peuvent être visualisées, NMSMB vous demandera de télécharger le libMBIN.dll approprié dont il a besoin pour afficher un mbin donné selon les besoins.
La date de construction est stockée dans NMS.exe, le fichier doit donc être lisible.
Xbox Game Pass NMS.exe ne peut pas être lu par défaut, la date provient de cmkNMSReleases.txt en fonction de la version du jeu.
Réduisez la fenêtre NMSMB et lancez le NMS.exe sélectionné dans un nouveau processus.
En cliquant sur ce bouton, GitHub interrogera la dernière version. L'utilisateur sera invité à télécharger NMSModBuilder.7z si une version plus récente est disponible.
Comme libMBIN.dll, NMSMB ne tente pas d'être rétrocompatible, donc seules les versions de libMBIN.dll publiées à peu près au même moment que la version NMSMB donnée peuvent être prises en charge pour le modding, c'est-à-dire que les versions antérieures et ultérieures de libMBIN.dll peuvent modifier certaines classes qui sont directement utilisé par NMSMB (NMSString*, sérialiser les espaces de noms et les signatures des méthodes, le langage, la substance, le produit, la technologie, les mbin de recettes).
NMSMB peut vous inviter à télécharger un fichier à deux reprises :
https://github.com/cmkushnir/NMSModBuilderContrib
Contributions des utilisateurs, par exemple scripts, plugins, documents, ...
https://github.com/monkeyman192/MBINCompiler
Décompilez et recompilez les éléments *.mbin en | à partir du dom en mémoire et du texte.
https://github.com/dotnet/roslyn
Compilateur Microsoft .NET, utilisé pour compiler des scripts C#.
https://github.com/icharpcode/AvalonEdit
Afficher et modifier les éléments pouvant être convertis en texte.
https://github.com/nickbabcock/Pfim
Convertissez les fichiers *.dds en bitmaps pour les visualiser.
https://github.com/KhronosGroup/SPIRV-Cross
Convertir *.spv en | à partir du texte GLSL.
https://github.com/mellinoe/veldrid-spirv
Convertir *.spv en | à partir du texte GLSL.
https://github.com/mmanela/diffplex
Déterminez les différences entre les éléments de texte.
https://github.com/octokit/octokit.net
Interrogez GitHub pour obtenir des informations sur la version.
https://github.com/MiloszKrajewski/K4os.Compression.LZ4
Décompresser|compresser les fichiers HGPAK pak (MacOS).
https://github.com/ClosedXML/ClosedXML
Exporter vers un fichier Excel .xlsx.