Jump to content
  • Building the Modpack

    After making the changes you've always wanted, it's time to put everything together.

    Setting the 3DS output

    If you're editing 3DS ROMs, you may want to choose what kind of output you want. By default, it will output a folder whose contents you paste onto your 3DS's SD card for use with Luma 3DS game patching, but you can choose a variety of other formats. Refer to this section for instructions.

    Building

    Luckily, this is a one-step process. Simply click Solution > Build:

    image.png

    Sky Editor will start doing a lot of things:

    image.png

    Then it will open up another form that applies all your changes to a ROM so you can try it out. Don't touch this window:

    image.png

    When it's all done, "Modpack"'s status should be Complete:

    image.png

    The files you want are on disk under (Solution Directory)/Modpack/Output. You should see two things: a zip file, and a either a NDS ROM, 3DS ROM, or a directory labled "SD Card". The zip file is the distributable patcher. You can give this to anyone you want, and they'll be able to apply your changes to their ROM. The other thing is the result of the patches for your use only. Do not distribute this, as it is illegal to share ROMs even if they are modified.

    Edited by evandixon




    User Feedback

    Recommended Comments



    Hello again, I have a question actually, is this step works for PSMD that I'm actually modifying or it is for DS games, because it doesn't show me the results of the build in the Output folder.

    the tutorial up there wasn't very easy to understand also.

    Share this comment


    Link to comment
    Share on other sites

    1 hour ago, Wol38 said:

    Hello again, I have a question actually, is this step works for PSMD that I'm actually modifying or it is for DS games, because it doesn't show me the results of the build in the Output folder.

    It should be for both.

    Do you see any errors in the Errors window? And do you see the zip file (even if there's not a ROM or SD Card Folder)?

    1 hour ago, Wol38 said:

    the tutorial up there wasn't very easy to understand also.

    This step is actually pretty simple. The short version is "press a single button and watch while a bunch of stuff happens". I'll see if I can reword things to make that clearer.

    Share this comment


    Link to comment
    Share on other sites

    49 minutes ago, evandixon said:

    It should be for both.

    Do you see any errors in the Errors window? And do you see the zip file (even if there's not a ROM or SD Card Folder)?

     

    There wasn't any .zip file but here's what the error window says, there's some french because I'm french:

    System.IO.FileLoadException: Impossible de charger le fichier ou l'assembly 'file:///C:\Users\Tony\Desktop\SkyEditor.ROMEditor.UI.WPF Build 106\System.Net.Http.dll' ou une de ses dépendances. L'opération n'est pas prise en charge. (Exception de HRESULT : 0x80131515)
    Nom de fichier : 'file:///C:\Users\Tony\Desktop\SkyEditor.ROMEditor.UI.WPF Build 106\System.Net.Http.dll' ---> System.NotSupportedException: Tentative de chargement d'un assembly à partir d'un emplacement réseau qui aurait entraîné l'utilisation de l'assembly en mode Bac à sable (sandbox) dans les versions antérieures du .NET Framework. Cette version du .NET Framework n'activant pas la stratégie CAS par défaut, ce chargement peut être dangereux. Si ce chargement n'est pas destiné à utiliser l'assembly en mode Bac à sable (sandbox), activez le commutateur loadFromRemoteSources. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkId=155569.
      à System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
      à System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
      à System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
      à System.Reflection.Assembly.LoadFrom(String assemblyFile)
      à SkyEditor.Core.Utilities.ReflectionHelpers.LoadAssembly(String path)
      à SkyEditor.Core.Utilities.ReflectionHelpers.GetAssemblyDependencies(Assembly source)
      à SkyEditor.Core.Utilities.ReflectionHelpers.GetAssemblyDependencies(Assembly source)
      à DS_ROM_Patcher.ModBuilder.CopyPatcherProgram(String modpackDirectory)
      à SkyEditor.ROMEditor.Projects.DSModPackProject.VB$StateMachine_35_Build.MoveNext() dans C:\BuildAgent\work\c4ac4fe3838706c2\SkyEditor.ROMEditor.Windows\Projects\DSModPackProject.vb:ligne 192
    --- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
      à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
      à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      à SkyEditor.Core.Projects.Solution.<BuildProjects>d__36.MoveNext()
    --- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
      à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
      à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      à SkyEditor.Core.Projects.Solution.<Build>d__35.MoveNext()
    --- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
      à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
      à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      à SkyEditor.Core.Projects.Solution.<Build>d__34.MoveNext()
    --- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
      à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
      à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      à SkyEditor.ROMEditor.DSModSolution.VB$StateMachine_5_Build.MoveNext() dans C:\BuildAgent\work\c4ac4fe3838706c2\SkyEditor.ROMEditor.Windows\DSModSolution.vb:ligne 60
    --- Fin de la trace de la pile à partir de l'emplacement précédent au niveau duquel l'exception a été levée ---
      à System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
      à System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      à SkyEditor.Core.ApplicationViewModel.TaskProgressReporterWrapper.<Start>d__32.MoveNext()
     

    Share this comment


    Link to comment
    Share on other sites

    17 minutes ago, Wol38 said:

    There wasn't any .zip file but here's what the error window says, there's some french because I'm french:

    System.IO.FileLoadException: Impossible de charger le fichier ou l'assembly 'file:///C:\Users\Tony\Desktop\SkyEditor.ROMEditor.UI.WPF Build 106\System.Net.Http.dll' ou une de ses dépendances. L'opération n'est pas prise en charge. (Exception de HRESULT : 0x80131515)
    Nom de fichier : 'file:///C:\Users\Tony\Desktop\SkyEditor.ROMEditor.UI.WPF Build 106\System.Net.Http.dll' ---> System.NotSupportedException: Tentative de chargement d'un assembly à partir d'un emplacement réseau qui aurait entraîné l'utilisation de l'assembly en mode Bac à sable (sandbox) dans les versions antérieures du .NET Framework. Cette version du .NET Framework n'activant pas la stratégie CAS par défaut, ce chargement peut être dangereux. Si ce chargement n'est pas destiné à utiliser l'assembly en mode Bac à sable (sandbox), activez le commutateur loadFromRemoteSources. Pour plus d'informations, consultez http://go.microsoft.com/fwlink/?LinkId=155569.
     

    Thanks for the report. I've posted a workaround in the intro guide, in step 5 of Downloading Sky Editor. I'll see if I can fix the root issue at some point.

    What's happening is when a zip file is downloaded from the web, it's marked as coming from the internet. When Windows extracts the zip, that mark carries over to the dll files, which causes problems sometimes. The only reason I didn't encounter it is because 7zip doesn't carry over that mark.

    Share this comment


    Link to comment
    Share on other sites

    2 minutes ago, evandixon said:

    Thanks for the report. I've posted a workaround in the intro guide, in step 5 of Downloading Sky Editor. I'll see if I can fix the root issue at some point.

    What's happening is when a zip file is downloaded from the web, it's marked as coming from the internet. When Windows extracts the zip, that mark carries over to the dll files, which causes problems sometimes. The only reason I didn't encounter it is because 7zip doesn't carry over that mark.

    Okay, I'll try again meanwhile :)

    Share this comment


    Link to comment
    Share on other sites

    It has finished, all files are present, well everything worked, thank you for your help :)

    Share this comment


    Link to comment
    Share on other sites

    hum... Another strange thing, the .cia fails to install on my 2DS and btw it doesn't shows any patch on the game ( it's written 0.0.0 )

    Share this comment


    Link to comment
    Share on other sites

    40 minutes ago, Wol38 said:

    the .cia fails to install on my 2DS

    What CFW are you using and what are you using to install it? Does it give an error message.

    It might also be worth trying Luma 3DS's game patching. That's worked pretty reliably lately, for me at least.

    41 minutes ago, Wol38 said:

    it doesn't shows any patch on the game ( it's written 0.0.0 )

    It's been a while since I checked, but I think that's normal.

    Share this comment


    Link to comment
    Share on other sites

    8 minutes ago, evandixon said:

    What CFW are you using and what are you using to install it? Does it give an error message.

    It might also be worth trying Luma 3DS's game patching. That's worked pretty reliably lately, for me at least.

    I use FBI to install cia apps and games and yes it gives an error message:

    "Failed to install CIA file
    Result code: 0xD8E08025
    Level: Permanent (27)
    Summary: Invalid argument (7)
    Module: AM (32)
    Desc: Invalid NCCH (37 )"

    That's it, I don't know Luma 3DS's game patching, can you explain and tell me how to use it?

    Share this comment


    Link to comment
    Share on other sites

    1 hour ago, Wol38 said:

    That's it, I don't know Luma 3DS's game patching, can you explain and tell me how to use it?

    Using the latest version of Luma 3DS, ensure Game Patching is enabled in the settings menu, make sure Sky Editor creates the Luma 3DS LayeredFS output, then copy the contents of the SD Card folder in the output directory into the root of your SD card.

    1 hour ago, Wol38 said:

    "Failed to install CIA file
    Result code: 0xD8E08025
    Level: Permanent (27)
    Summary: Invalid argument (7)
    Module: AM (32)
    Desc: Invalid NCCH (37 )"

    Sounds like the CIA's corrupt. Not sure what could cause that, since it works for me. I guess make sure you're using the latest version of FBI, and try recreating the CIA file, in case there was corruption when copying it or something.

    Share this comment


    Link to comment
    Share on other sites

    9 hours ago, evandixon said:

    Using the latest version of Luma 3DS, ensure Game Patching is enabled in the settings menu, make sure Sky Editor creates the Luma 3DS LayeredFS output, then copy the contents of the SD Card folder in the output directory into the root of your SD card.

    Sounds like the CIA's corrupt. Not sure what could cause that, since it works for me. I guess make sure you're using the latest version of FBI, and try recreating the CIA file, in case there was corruption when copying it or something.

    Okay so I've done everything but there's still a problem, the game freezes right before the start menu but I can see the 3 colored pictures appear before that.
    plus I think that in fact it's a region problem because before installing it with FBI I saw that the game region was european and australian. Do you think it can cause some trouble when the crash report said me a kind of "translation fail" ?

    Share this comment


    Link to comment
    Share on other sites

    10 hours ago, Wol38 said:

    plus I think that in fact it's a region problem because before installing it with FBI I saw that the game region was european and australian.

    What region of PSMD are you using with Sky Editor, and what region is your console? I've tested the US and European versions on a US console with Luma 3DS, but I'd like to confirm.

    It'd also help if you could send me the zip file that was in the modpack output folder. I just upped everyone's upload limits, so you shouldn't have any trouble uploading it as an attachment (it should be about 200MB in size).

    Share this comment


    Link to comment
    Share on other sites

    Just now, evandixon said:

    What region of PSMD are you using with Sky Editor, and what region is your console? I've tested the US and European versions on a US console with Luma 3DS, but I'd like to confirm.

    It'd also help if you could send me the zip file that was in the modpack output folder. I just upped everyone's upload limits, so you shouldn't have any trouble uploading it as an attachment (it should be about 200MB in size).

    I just tried now an european version of PSMD ( it's saying "fault status: precise external abort" this time. And I'm using an european OLD 2DS and Luma 3DS works.

    Here's the modpack I created

    ModPack_1.0.0.zip

    Share this comment


    Link to comment
    Share on other sites

    3 hours ago, Wol38 said:

    I just tried now an european version of PSMD ( it's saying "fault status: precise external abort" this time. And I'm using an european OLD 2DS and Luma 3DS works.

    Here's the modpack I created

    ModPack_1.0.0.zip

    Turns out the mods are interfering with each other. If all you want to do is change the starters (and get all the other patches that reduce glitches), you can delete all the projects except for the starter project. Or just extract that zip file, and uncheck everything except "starter" after giving it your ROM and before clicking Patch.

    In the mean time, I'll work on making sure things don't interfere with each other: https://github.com/evandixon/SkyEditor.ROMEditor/issues/81

    Share this comment


    Link to comment
    Share on other sites

    1 hour ago, evandixon said:

    Turns out the mods are interfering with each other. If all you want to do is change the starters (and get all the other patches that reduce glitches), you can delete all the projects except for the starter project. Or just extract that zip file, and uncheck everything except "starter" after giving it your ROM and before clicking Patch.

    I tried the way you told me but it has crashed the same way as before, tomorrow I'll try to do the entire solution on the pc again.

    Share this comment


    Link to comment
    Share on other sites

    thanks very much @evandixon for your hard effort to this mod i really appreciate the hard work you have done and put into this. 

    i am going to use this mod in the future

    thanks again man you are the best 

    Share this comment


    Link to comment
    Share on other sites

    Finally seems to work ! A big thanks to @evandixon for your help and all the hard work you've done !

    Share this comment


    Link to comment
    Share on other sites

    5 hours ago, Norvill Rodgers said:

    i cant seem to build the rom

    there is only a file with the extension .mod in te output foldr

    Is there anything in ~/Modpack/Output? If not, is there anything in the error window?

    Share this comment


    Link to comment
    Share on other sites

    error window has a lot of stuff cant copy/paste it

    Edited by Norvill Rodgers

    Share this comment


    Link to comment
    Share on other sites

    18 hours ago, Norvill Rodgers said:

    error window has a lot of stuff cant copy/paste it

    Can you screenshot it? Simplest way is to use the Snipping Tool in Windows.

    Share this comment


    Link to comment
    Share on other sites

    @Norvill Rodgers Try redownloading Sky Editor, making sure to unblock the zip file as described in the introduction. At the time of writing, that part starts at step 5.

     

    Share this comment


    Link to comment
    Share on other sites

    ive unblocked it before extracting and i've tried re-downloading. i'll try again but i don't think it'll work

    Share this comment


    Link to comment
    Share on other sites

    Hello - I am trying to do a background mod to Explorers of Sky.  To make it simple, I only changed the Nintendo logo screen with a very minor change so I could walk through the tutorial.  I cannot seem to get it to build.  I attached a picture of the new background for what it's worth.

    Here is the error trace, looks like it needs a directory that is not there (path 2).  I went back through the tutorial a few times and didn't see anything where I should have  set a directory that I didn't.  I grabbed the latest build that was out there today (12/31/2018).  I did notice that it states "Sky Editor Beta 1.0.0.0" in the window title.  I am assuming that is the right one.

    I am also confused regarding the stack trace.  What is up with the directories staring with "C:\BuildAgent...."  I don't have such a directory with the installation instructions.  Did I miss something?  Thanks!

     

    System.ArgumentNullException: Value cannot be null.
    Parameter name: path2
      at System.IO.Path.Combine(String path1, String path2)
      at SkyEditor.Core.IO.PhysicalIOProvider.WriteAllBytes(String filename, Byte[] data)
      at SkyEditor.Core.IO.GenericFile.<Save>d__84.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      at SkyEditor.ROMEditor.MysteryDungeon.Explorers.CompressedFile.VB$StateMachine_10_Save.MoveNext() in C:\BuildAgent\work\c4ac4fe3838706c2\SkyEditor.ROMEditor.Windows\MysteryDungeon\Explorers\CompressedFile.vb:line 35
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      at SkyEditor.ROMEditor.MysteryDungeon.Explorers.Projects.SkyBackModProject.VB$StateMachine_4_Build.MoveNext() in C:\BuildAgent\work\c4ac4fe3838706c2\SkyEditor.ROMEditor.Windows\MysteryDungeon\Explorers\Projects\SkyBackModProject.vb:line 86
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      at SkyEditor.Core.Projects.Solution.<BuildProjects>d__39.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      at SkyEditor.Core.Projects.Solution.<Build>d__38.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      at SkyEditor.Core.Projects.Solution.<Build>d__37.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      at SkyEditor.ROMEditor.DSModSolution.VB$StateMachine_5_Build.MoveNext() in C:\BuildAgent\work\c4ac4fe3838706c2\SkyEditor.ROMEditor.Windows\DSModSolution.vb:line 60
    --- End of stack trace from previous location where exception was thrown ---
      at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
      at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
      at SkyEditor.Core.ApplicationViewModel.TaskProgressReporterWrapper.<Start>d__32.MoveNext()

    n_logo.png

    Share this comment


    Link to comment
    Share on other sites




    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • Create New...