Línea 178: |
Línea 178: |
| SMAPI ajustará tu mod automáticamente para que funcione en Linux, Mac, y Windows. Aún así, hay algunas cosas que debes tomar en cuenta para evitar problemas: | | SMAPI ajustará tu mod automáticamente para que funcione en Linux, Mac, y Windows. Aún así, hay algunas cosas que debes tomar en cuenta para evitar problemas: |
| | | |
| + | <ol> |
| + | <li>Usa el paquete de [https://smapi.io/package/readme configuración entre plataformas] para automáticamente colocar las referencias de tu proyecto. Esto hace la compatibilidad mas fácil y te permite compilar en cualquier plataforma. (Si seguiste la guía de arriba, ya deberías tener esto.)</li> |
| + | |
| + | <li>Usa <tt>Path.Combine</tt> para crear los caminos de los archivos, no construyas los caminos directamente, pues puede no funcionar en algunas plataformas. |
| + | |
| + | <source lang="c#"> |
| + | // ✘ ¡No hagas esto! No funcionará en Linux o Mac. |
| + | string path = Helper.DirectoryPath + "\assets\asset.xnb"; |
| + | |
| + | // ✓ Esto está bien. |
| + | string path = Path.Combine(Helper.DirectoryPath, "assets", "asset.xnb"); |
| + | </source></li> |
| + | |
| + | <li>Usa <tt>Helper.DirectoryPath</tt>, no intentes determinar el camino del mod tu mismo. |
| + | |
| + | <source lang="c#"> |
| + | // ✘ ¡No hagas esto! No funcionará si SMAPI reescribe el montaje (Ejemplo: para actualizarlo o añadir compatibilidad). |
| + | string modFolder = Assembly.GetCallingAssembly().Location; |
| + | |
| + | // ✓ Esto está bien. |
| + | string modFolder = Helper.DirectoryPath; |
| + | </source></li> |
| + | </ol> |
| + | |
| + | ===Descompila el código del juego=== |
| + | Cuando empieces a trabajar con mods mas complejos, puede que necesites leer el código del juego para saber como funciona. |
| + | |
| + | Para descompilar el código para que lo puedas leer (aunque no será completamente funcional, debido a limitaciones del descompilador): |
| + | * En Windows: |
| + | *# Abre <tt>StardewValley.exe</tt> en [https://www.jetbrains.com/decompiler/ dotPeek]. |
| + | *# Da click derecho en ''Stardew Valley'' y selecciona ''Export to Project''. Acepta las opciones predeterminadas para crear un proyecto decompilado, que puedes abrir en Visual Studio. |
| + | * En Linux/Mac: |
| + | *# Instala [https://code.visualstudio.com/download Visual Studio Code] para tu sistema operativo. |
| + | *# Obten el plugin [https://marketplace.visualstudio.com/items?itemName=icsharpcode.ilspy-vscode ILSpy .NET Decompiler] para VSCode. |
| + | *# Abre Visual Studio Code Command Palette <code>(Command+Shift+P)</code> y después escribe <code>ilspy</code> para mostrar los dos comandos. |
| + | *# El comando <code>Decompile IL Assembly (pick file)</code> te permite escoger un montaje utilizando el diálogo de selección de archivos. El diálogo también debería permitir escribir el camino completo. Navega hasta <tt>StardewValley.exe</tt> en tu carpeta de juego StardewValley. |
| + | *# Si el archivo es un montaje .NET válido, una vista llamada <tt>ILSPY DECOMPILED MEMBERS</tt> es agregada a la vista de explorador. Esta permite seleccionar y abrir varios nodos, cuyo código descompilado de C# es mostrado en el editor. |
| + | |
| + | Para desempaquetar los archivos de información o imágenes tipo XNB, lee [[Modding:Editing XNB files]]. |
| | | |
| [[en:Modding:Modder Guide/Get Started]] | | [[en:Modding:Modder Guide/Get Started]] |
| + | [[fr:Modding:Guide du Moddeur/Commencer]] |
| [[pt:Modificações:Guia do Modder/Começando]] | | [[pt:Modificações:Guia do Modder/Começando]] |