How to extract assets and make a custom level in Super Mario Oddysey

Discussion in 'Switch - Tutorials' started by foop57, Aug 5, 2018.

  1. foop57
    OP

    foop57 Member

    Newcomer
    2
    May 3, 2018
    United Kingdom
    First a disclaimer of what you can expect by following this guide: you'll be able to use some assets from the game to make your own custom level in place of one of the sub levels accessed by pipes. The reason I'm only covering sub-levels is because the main kingdoms of the game have multiple 'scenarios' where the level design changes over the course of your playthrough, for example the ice pillars disappearing in the Sand Kingdom. You can see a quick demo of a level created using this technique here (it's my first custom level) -> https://gamebanana.com/maps/201049 . For some context, this was made within a day, half of which was spent figuring out everything I'm about to outline for you here.

    Files needed:
    Obviously you need hactool for all of the extraction stages, as well as your keys.
    However, as well as providing you with the individual scripts for each step for more advanced users to use, I've also made an archive containing everything you need for both the extraction and level editing stages of the process, so you won't need to hunt anything down yourself.

    Extracting NCA files from the XCI:
    This is fairly simple - just place your XCI file in the same folder as all the scripts, then drag it over the extract_XCI.bat file. It's good practice to have a short name for your .xci file, making sure it has no spaces, if you want to minimise the chance of errors. You should see a command prompt window appear for a while, with commands such as Saving xxxxxxxxxxxx.nca to .\xxxxxxxxxxxx.nca (the actual .nca file names will be longer). Finally, you should see that it says Press any key to continue. This means that the process has finished. After closing the command prompt window, you should see some .nca files in the same folder. If the biggest .nca file size is the same as the original .xci file size (if the xci was trimmed) or a bit smaller (a maximum of 2-3 times smaller) than the original .xci file size (if the xci was untrimmed), this means that you have done everything correctly and you can move onto the next stage.

    Extracting the SZS files from the biggest NCA:
    Once you have found the biggest .nca file, you can delete all the others - this is the only one we need. Next, just double click on the extract_NCAs.bat file to run it. You should see some commands scrolling quickly, as each one is extracting a separate .szs file - there are a lot of them. Once you see the Press any key to continue message, you can close the command prompt window and check that all the files are there. The file size of the extracted/xxxxxxxxxxxx.nca/RomFs folder should be about the same size as the .nca file you started with at the beginning of this step.

    Using SZS files:
    To mod this game, you only need the RomFs folder previously mentioned with all of its SZS files. They contain lots of information such as sounds, text, level design and models. To make a custom level, there are already plenty of models to use from Mario Odyssey's kingdoms, so we won't me making our own assets. The StageData folder contains the level design for all of the levels in the game, but seeing as they aren't named ina very user-friendly manner, there is a google doc to help with deciphering these names. Simply search for whatever kingdom you want, then find the bonus level within that kingdom that you want to modily. You'll end up with a file name such as SandWorldPressExStage.szs .

    Familiarising yourself with the editor:
    I have provided a build of the editor with the SMO plugin, so it's ready to be used with this game, but if it is outdated (I have built this one on the 2nd of August 2018), you can easily build it yourself using Visual Sudio, the EditorCore and the SMO module for the editor. Before opening any file, you'll need to point the editor to your RomFs folder, to load assets from. Once this is done, you can freely view and edit any level file you choose. There are some scaling issues with this release, so I would advise turning your resolution down to 1080p if you can't see some of the options such as Duplicate, Copy or Paste. When an object is selected, some of its parameters (such as scale and rotation) can be changed, although this doesn't always work, messing up the hitbox of the object. When you open a level, the editor will ask for a 'scenario'. For bonus levels, always choose 0. The editor supports multiple instances, so you can easily open multiplae levels and copy assets from one to the other.

    Editor controls:
    These need practise to use efficiently.
    Right mouse button - pan
    Middle mouse button - move camera
    Left mouse button - select object (if it feels like this doesn't do anything, it is probably because you are selecting a larger object (such as the ruins in the Sand Kingdom) that the camera is inside of.
    Scroll wheel - zoom
    Q - change camera mode (these modes can be hard to master, they require practise to perfect)
    Space - move camera to selected object (this is very useful for moving around in a level)#
    Ctrl + drag object - move an object
    Ctrl + alt + drag object - move an object, snap every 100 units
    Ctrl + shift + drag object - move an object, snap every 50 units

    Testing your level:
    To test your level, you will need to use layeredFS. You only need to use the modified .szs file for this, because this is the only thing that will change over the base game. Place the file on your sd card, into the /atmosphere/titles/0100000000010000/RomFs/StageData folder. If the game freezes once you try to load the level, it means that some of the new assets from different kingdoms are causing the issue, because some larger .szs files reply on one another for model details. Try making minor modifications at first, maybe just duplicating assets from the original level to see whether your edits are working fine.

    Credits:
    Tutorials I used to learn this myself:
    Aldoria's tutorial on YouTube
    Link The Hero Of Time 550's tutorial on YouTube

    If you have any questions, please do not hesitate to reply to this thread.
     

    Attached Files:

    Last edited by foop57, Aug 7, 2018
    epickid37, syntaxyz, lordelan and 6 others like this.
  2. smileyhead

    smileyhead Most pettable head

    Member
    13
    Aug 31, 2015
    Hungary
    Hungary
    Nice, this thread's gonna get popular, I can already tell.
     
    kikongokiller likes this.
  3. foop57
    OP

    foop57 Member

    Newcomer
    2
    May 3, 2018
    United Kingdom
    haha, I wish
     
  4. TLOZmaster

    TLOZmaster GBAtemp Fan

    Member
    3
    Feb 21, 2015
    United States
    Hyrule
    This is awesome, I can't wait for another year so that way we have some really nice full featured level hacks xD
     
  5. franciscomaianunes

    franciscomaianunes Member

    Newcomer
    2
    Nov 7, 2017
    Portugal
    Awesome!
     
  6. foop57
    OP

    foop57 Member

    Newcomer
    2
    May 3, 2018
    United Kingdom
    Check mine out and tell me what you think (it's linked in the tutorial)! I'll keep chipping away at it.
     
  7. Shalashaska98

    Shalashaska98 Member

    Newcomer
    1
    Jan 17, 2018
    United States
    That's great, I wonder in few years how many versions of Mario odyssey we will have Maybe as Mario 64