Setting Up and Compiling the Newer Sources

Here are the tutorials to set up and compile the NewerSMBW sources, along with a few questions regarding the NewerSMBW sources. If you get "permission denied" or "read-only filesystem" errors, see this here.

The estimated time to set up and compile the NewerSMBW sources may take between 30 minutes and 3 hours, depending on your computer specs, knowledge with the terminal or command prompt, internet connection speed, etc.

The macOS, Debian/Ubuntu Linux, and Windows tutorials will guide you through compiling NewerSMBW version 1.3.0. The compiled code is not compatible with earlier versions of NewerSMBW (version 1.2.0 and below).

The Windows (Newer Super Mario All-Stars Revived and NSMBWer only) tutorial will guide you through compiling mods of NewerSMBW that have some differences in their setup process.

If you do not know which tutorial to choose, going with the tutorials to compile NewerSMBW version 1.3.0 is recommended.

Credits and Release Information
Original tutorial by Tempus, and heavily edited by User:9211tr. Updated/working as of 2022. This has been tested on macOS 10.15 Catalina. It should work on any version later than 10.15 Catalina, but it's not guaranteed to work on any version earlier than 10.15 Catalina.

Installing GCC
Install Xcode via the Mac App Store (if you're on an earlier macOS version {below 10.15 Catalina}, you may have to go online and download the latest version of Xcode for whichever earlier macOS version you have). Open Xcode once it's finished installing, read all the license agreements that pops up and agree to it.

Installing Wine, Wineskin, and GNU "WGET"
Install the package manager, "Homebrew". Go to its website: https://brew.sh, copy the install command, open the terminal (if you haven't already), and paste/enter it into the terminal. Then once it's finished installing, type:

Preparing the Wineskin wrapper
In the terminal, type:

The Wineskin Winery window should pop up:



Under the Wrapper Version section, click  and hit OK. Then under the Installed Engines section, click the + button. The Add Engine window should pop up. Type  in the search bar and select the latest version (which is at the top of the dropdown menu below, latest version is 21.2.0 at the time when this tutorial was written):



Click  and hit OK. Click. Name it  and hit OK. Then close the Wineskin Winery window.

Installing devkitPPC
In the terminal, type: (where  is your Mac's username ID). Afterwards, in the terminal, type: Or you can manually download devkitPPC here (make sure you download the Win64  file): https://github.com/devkitPro/buildscripts/releases/tag/devkitPPC_r35 And manually extract the devkitPPC  file to the   directory.

Downloading the NewerSMBW sources
In the terminal, type: Or you can manually download the NewerSMBW sources here: https://github.com/Newer-Team/NewerSMBW And download the  file and extract it to the   directory. NOTE: If you get an error saying  (usually if you're on macOS 10.15 Catalina), you may have to install the subversion (SVN) package with "Homebrew" instead. In the terminal, type: More information about this error here.

Downloading the CodeWarrior files
In the terminal, type:

Installing Python/PyElfTools/PyYAML/DataClasses
Python 3.6.x or later is required. Download it here, and click on "Latest Python 3 Release" and download the Windows 64-bit (x86-64) executable installer. If you need to use Python 3.6.x, scroll down on the "Stable Releases" section and go to "Python 3.6.8". Once you're done downloading the Python  file, in the terminal, type:

The Wineskin window should pop up:



Click  -->. Select the Python  file you just downloaded and hit , then follow the install instructions, and make sure you check the box that says   (or similar).

Once the installation is finished, normally Wineskin will ask you to choose the executable. If it does, do not choose it. Instead, hit Command-Q on the keyboard to quit Wineskin. If the Python installation was successful and Wineskin says no new executables are found, then it's probably because it didn't detect the Python installation. In that case, click OK and hit Command-Q on the keyboard to quit Wineskin.

In the terminal, type the same command above. Then in the Wineskin window, click  -->   -->. The Command Prompt should open. In the Command Prompt, type: NOTE: If you're on Python 3.6.x, you'll need to install the the DataClasses library because the NewerSMBW sources requires this. This is not required if you're using Python 3.7 or later, because it already has the DataClasses library built in. In the Command Prompt, type:

Compiling the NewerSMBW sources
At any time, open the Finder. Hit Shift-Command-G on the keyboard and go to the  directory. Double-click on. Then in the Wineskin window, click  -->   -->. The Command Prompt should open. In the Command Prompt, type:  Afterwards, in the Command Prompt, either type:   (the script to compile AnotherSMBW)  (the script to compile Newer Falling Leaf)  (the script to compile Newer Holiday Special)  (the script to compile NewerSMBW)  (the script to compile Newer Summer Sun)</li> </ul>NOTE:</b> You only need to type  to run the script to compile NewerSMBW. There's no need to type anything else to run the other scripts, unless if you have a reason to compile the sources for any of the "NewerSMBW specials".

Finishing
Once the compilation is finished and no syntax errors (or whatever errors) occurred, you're all done. Your compiled  files will be automatically renamed to their readable names, and will be located at the   folder (where   is the name of the built project, Build_AnotherProject</b> {for AnotherSMBW}, Build_NewerFL</b> {for Newer Falling Leaf}, Build_NewerProject</b> {for NewerSMBW}, Build_SummerSun</b> {for Newer Summer Sun}, Build_XmasProject</b> {for Newer Holiday Special}).

In the Finder, right-click on  and click. Go to the  folder. Then drag the  files into your ,   (for AnotherSMBW only), or   (for Newer Holiday Special only) folder in your NewerSMBW (or "NewerSMBW special") game patch folder and test your mods out! If you want to start making minor code edits to the game, see the Code Editing category for a list of changes that you can make!

Credits and Release Information
Original tutorial by Grop, and heavily edited by User:9211tr + slightly edited by User:RedStoneMatt. Updated/working as of 2022. Also, you'll need to use the 64-bit (x86-64 or AMD64) version of Debian/Ubuntu Linux, since some of the necessary tools/programs needed for compiling NewerSMBW are no longer compatible with the 32-bit (i386 or i686) version.

Updating apt-get
Open the terminal (if you haven't already) and type:

If you get an error saying  when trying to run , just simply type   and the error should be gone. If a similar error also occurs when trying to run , just simply type   and the error should be gone.

Installing GCC
In the terminal, type:

Installing Wine
In the terminal, type: NOTE:</b> If you get an error saying  (usually if you're on Debian), in the terminal, type:

Installing Subversion (SVN)
In the terminal, type:

Installing devkitPPC
In the terminal, type: Afterwards, in the terminal, type: Or you can manually download devkitPPC here: https://github.com/devkitPro/buildscripts/releases/tag/devkitPPC_r35 And manually extract the devkitPPC  file to the   directory.

Installing PyElfTools/PyYAML
In the terminal, type:

Downloading the NewerSMBW sources
In the terminal, type: Or you can manually download the NewerSMBW sources here: https://github.com/Newer-Team/NewerSMBW And download the  file and extract it to the   directory.

Downloading the CodeWarrior files
In the terminal, type:

Compiling the NewerSMBW sources
At any time, open the terminal and type:  Afterwards, in the terminal, either type: <ul style="list-style-type:square;">  (the script to compile AnotherSMBW)</li>  (the script to compile Newer Falling Leaf)</li>  (the script to compile Newer Holiday Special)</li>  (the script to compile NewerSMBW)</li>  (the script to compile Newer Summer Sun)</li> </ul> NOTE:</b> If you're on Ubuntu, make sure to use  instead, as   doesn't work on Ubuntu. Also, you only need to type  to run the script to compile NewerSMBW. There's no need to type anything else to run the other scripts, unless if you have a reason to compile the sources for any of the "NewerSMBW specials". If you get "permission denied" errors when typing any of the commands above, then you'll need to give the scripts execute permissions. In the terminal, type: If you get an error message saying  (usually if you're on Debian), in the terminal, type: If you also get a "permission denied" error with, in the terminal, type:

Finishing
Once the compilation is finished and no syntax errors (or whatever errors) occurred, you're all done. Your compiled  files will be automatically renamed to their readable names, and will be located at the   folder (where   is the name of the built project, Build_AnotherProject</b> {for AnotherSMBW}, Build_NewerFL</b> {for Newer Falling Leaf}, Build_NewerProject</b> {for NewerSMBW}, Build_<b style="font-style:italic;">SummerSun</b> {for Newer Summer Sun}, Build_<b style="font-style:italic;">XmasProject</b> {for Newer Holiday Special}).

Just drag the  files into your ,   (for AnotherSMBW only), or   (for Newer Holiday Special only) folder in your NewerSMBW (or "NewerSMBW special") game patch folder and test your mods out! If you want to start making minor code edits to the game, see the Code Editing category for a list of changes that you can make!

Credits and Release Information
Original tutorial by User:MandyIGuess, and heavily edited by User:9211tr. Updated/working as of 2022.

Requirements
<ul style="list-style-type:square;"> <li>Windows 7 or later</li> <li>Python 3.6.x or later (download here, and click on "Latest Python 3 Release", if you need to use Python 3.6.x, scroll down on the "Stable Releases" section and go to "Python 3.6.8")</li> <li>Python libraries: PyElfTools, PyYAML, and DataClasses</li> <li>devkitPPC (download here)</li> <li>NXP 'CodeWarrior Special Edition' for MPC55xx/MPC56xx v2.10</li> <li>An internet connection</li> <li>The NewerSMBW sources (download the  file here)</li> </ul>

Step 1
For Python, download the Windows 32-bit (x86) executable installer file (if you're on a 32-bit Windows OS), or the Windows 64-bit (x86-64) executable installer file (if you're on a 64-bit Windows OS). Once you're done downloading the  installer file, follow the install instructions, and make sure you check the box that says   (or similar).

For devkitPPC, download the  file (if you're on a 32-bit Windows OS), or the   file (if you're on a 64-bit Windows OS). Extract the  file to.

Step 2
You need to update "pip" (which is the Python package manager) to the latest version. Open the Windows Command Prompt (if you haven't already) and type: After upgrading, install PyElfTools/PyYAML. In the Windows Command Prompt, type: <b style="color:#FF0000;">NOTE:</b> If you're on Python 3.6.x, you'll need to install the the DataClasses library because the NewerSMBW sources requires this. This is not required if you're using Python 3.7 or later, because it already has the DataClasses library built in. In the Windows Command Prompt, type:

Step 3
Extract the NewerSMBW sources  file to. The folder for the NewerSMBW sources should be called.

Step 4
Open the Windows Explorer (if you haven't already), go to the  folder. Create a new folder called.

Download the CodeWarrior files: <ul style="list-style-type:square;"> <li> (if it shows up as text, right-click and click   or similar, to download the file)</li> <li> </li> <li> </li> <li> </li> <li> </li> </ul> and place them into the  folder.

Step 5
At any time, open the Windows Explorer. Go to the  folder. In the folder, scroll down until you see these files (and click on any of them): <ul style="list-style-type:square;"> <li> (the script to compile AnotherSMBW)</li> <li> (the script to compile Newer Falling Leaf)</li> <li> (the script to compile Newer Holiday Special)</li> <li> (the script to compile NewerSMBW)</li> <li> (the script to compile Newer Summer Sun)</li> </ul> <b style="color:#FF0000;">NOTE:</b> You only need to click on  to run the script to compile NewerSMBW. There's no need to click on anything else to run the other scripts, unless if you have a reason to compile the sources for any of the "NewerSMBW specials".

Once the compilation is finished and no syntax errors (or whatever errors) occurred, you're all done. Your compiled  files will be automatically renamed to their readable names, and will be located at the   folder (where   is the name of the built project, Build_<b style="font-style:italic;">AnotherProject</b> {for AnotherSMBW}, Build_<b style="font-style:italic;">NewerFL</b> {for Newer Falling Leaf}, Build_<b style="font-style:italic;">NewerProject</b> {for NewerSMBW}, Build_<b style="font-style:italic;">SummerSun</b> {for Newer Summer Sun}, Build_<b style="font-style:italic;">XmasProject</b> {for Newer Holiday Special}).

Just drag the  files into your ,   (for AnotherSMBW only), or   (for Newer Holiday Special only) folder in your NewerSMBW (or "NewerSMBW special") game patch folder and test your mods out! If you want to start making minor code edits to the game, see the Code Editing category for a list of changes that you can make!

Credits and Release Information
Original tutorial by User:Nin0 2257, and heavily edited by User:9211tr. Updated/working as of 2022. Also, both Newer Super Mario All-Stars Revived (NSMASR) and NSMBWer have their own files for Riivolution and are incompatible with the files from NewerSMBW, including its object files, layout files, etc.

Requirements
<ul style="list-style-type:square;"> <li>Windows 7 or later</li> <li>Python 3.4.x or later (download here, and click on "Latest Python 3 Release", if you need to use Python 3.4.x, scroll down on the "Stable Releases" section and go to "Python 3.4.4")</li> <li>Python libraries: PyElfTools, PyYAML</li> <li>PyLauncher (download here, needed for some programs requiring Python 2.7.x and some requiring Python 3.4.x when it comes to NewerSMBW modding)</li> <li>get-pip for Python 3.4.x (download here, <b style="font-style:italic;">only needed for updating to the latest supported version of "pip" for Python 3.4.x {which is "pip" version 19.1.1}</b>)</li> <li>devkitPPC r33 or earlier (download here)</li> <li>NXP 'CodeWarrior Special Edition' for MPC55xx/MPC56xx v2.10</li> <li>An internet connection</li> <li>The NSMASR sources by User:H1dd3nM1nd (CLF78), or the NSMBWer sources by User:Danster64 (download the  file of the NSMASR sources here, or the   file of the NSMBWer sources here)</li> </ul>



Step 1
For Python, download the Windows x86 (32-bit)  (or executable) installer file (if you're on a 32-bit Windows OS), or the Windows x86-64 (64-bit)   (or executable) installer file (if you're on a 64-bit Windows OS).

For PyLauncher, download the  installer file (if you're on a 32-bit Windows OS), or the   installer file (if you're on a 64-bit Windows OS).

Once you're done downloading the installer files, follow the install instructions. When installing Python, make sure you check the box (or if you're installing Python 3.4.x, select the feature) that says  (or similar).

For devkitPPC, download the  file (if you're on a 32-bit Windows OS), or the   file (if you're on a 64-bit Windows OS).

Step 2
<b style="font-style:italic;">If you're on Python 3.4.x only,</b> you need to update "pip" (which is the Python package manager) to the latest supported version for Python 3.4.x (which is "pip" version 19.1.1). Place the  file into the   folder. Open the Windows Command Prompt (if you haven't already) and type: <b style="font-style:italic;">If you're on the latest Python version,</b> you can simply update "pip" to the latest version by typing After upgrading, install PyElfTools/PyYAML. In the Windows Command Prompt, type:

Step 3
Extract the NSMASR or NSMBWer sources  file to. The folder for the NSMASR sources should be called, and the folder for the NSMBWer sources should be called. Then extract the devkitPPC  file to the   folder of the NSMASR or NSMBWer sources folder, as shown below:



Step 4
Open the Windows Explorer (if you haven't already). Go to the  folder of the NSMASR or NSMBWer sources folder. Create a new folder called  (if it doesn't exist). <b style="font-style:italic;">For NSMASR only,</b> copy the  file (in the   folder, if the file exists) into the   folder, as shown below:



<b style="color:#FF0000;">NOTE:</b> In earlier revisions of the NSMASR sources, it wasn't copied into the folder automatically, so it had to be done manually. User:H1dd3nM1nd (CLF78) said he copied the contents inside the  file into another one, so the problem may already be fixed in later revisions of the NSMASR sources.

Step 5
Right-click on and edit the  file in the   folder. You can either edit the path to your own Dolphin Emulator game path (marked in the first picture below), or in the  section of the file, change the   part to   to stop it from moving your compiled   files altogether (marked in the second picture below):



If you have multiple Python versions, make sure that the  file uses Python 3.4.x or later. If you have PyLauncher and your standard Python version is 2.7.x, you can simply replace all occurrences of  (in the   file) to. <b style="font-style:italic;">For NSMBWer only,</b> if  exists in the   file, then replace all occurrences of it to. <b style="font-style:italic;">For NSMASR only,</b> download the CodeWarrior files: <ul style="list-style-type:square;"> <li> (if it shows up as text, right-click and click   or similar, to download the file)</li> <li> </li> <li> </li> <li> </li> <li> </li> </ul> and place them into the  folder of the NSMASR sources folder. Then replace all occurrences of  (in the   file) to. When you're done editing the  file, save your changes. To compile NSMASR or NSMBWer at any time, simply click on the  file (in the   folder of the NSMASR or NSMBWer sources folder). Once the compilation is finished and no syntax errors (or whatever errors) occurred, you're all done. Your compiled  files will be automatically renamed to their readable names, and will be located at the   folder (in the NSMASR sources folder), or the   folder (in the NSMBWer sources folder). Just drag the  files into your   folder in your NSMASR or NSMBWer game patch folder and test your mods out! If you want to start making minor code edits to the game, see the Code Editing category for a list of changes that you can make!

Questions
===How do I resolve the "permission denied" and "read-only filesystem" errors whenever I type a command in the terminal? Also, how do I resolve the error when trying to open apps downloaded from the internet on my Mac?===

Type  for every command in the tutorial, and enter password when prompted. Even better, you can simply type  in the terminal to circumvent all   commands, so you won't have to type   everytime. If you're on Ubuntu or macOS,  doesn't work, so you'll need to type   instead.

<b style="color:#FF0000;">NOTE:</b> If no text is shown when typing the password, it does not mean it's not working, the text is hidden so in case if anyone is watching the computer screen behind your back, they won't see your password.

If you're on macOS and still getting "permission denied" errors, even after typing, this is due to Apple's System Integrity Protection (SIP) in OS X 10.11 El Capitan and later. You'll need to enter into recovery mode to disable it. To enter recovery mode: <b style="font-style:italic;">1:</b> If you have multiple internal hard drive partitions/volumes alongside your macOS partition/volume, you'll need to go into System Preferences (the gear icon in the dock, which is at the bottom of the screen), and click Startup Disk. <b style="font-style:italic;">2:</b> Click the lock to make changes and select the disk where your macOS partition/volume is, then restart your Mac. <b style="font-style:italic;">3:</b> As soon as when your Mac starts up, hold down Command-R on the keyboard until the Apple logo shows up, to enter recovery mode. <b style="font-style:italic;">4:</b> In recovery mode, go to  -->. In the terminal, type, then restart your Mac to exit out of recovery mode.

If you're on macOS and also are getting a "read-only filesystem" error, this is due to macOS 10.15 Catalina having a separate read-only volume (for the  directory and critical system files) alongside the writable, user data volume. You'll need to disable Apple's System Integrity Protection (SIP), first, following the steps above. Afterwards, open the terminal (if you haven't already) and type, to make the   directory writable again.

This change will automatically be reverted when you restart your Mac. For it to be permanent (at least whenever you start the terminal), when the terminal is open (and you've clicked on the terminal window), go to  -->   -->   -->. Under the Startup section in the terminal preferences window, check the box that says  and. In the text box, type the command, and exit the terminal preferences window. Now everytime you start up the terminal, you'll always be able to modify the  directory.

If you're unable to open apps downloaded from the internet on your Mac, you'll need to allow apps downloaded from anywhere. To allow it: <b style="font-style:italic;">1:</b> Go into System Preferences (the gear icon in the dock, which is at the bottom of the screen), and click Security & Privacy. <b style="font-style:italic;">2:</b> Click the lock to make changes and under the "Allow apps downloaded from" section, select. <b style="font-style:italic;">3:</b> If  isn't visible (usually if you're on macOS 10.12 Sierra), then open the terminal (if you haven't already) and type   to forcibly allow apps downloaded from anywhere.

macOS
Open the terminal (if you haven't already), copy the  folder by typing the commands: If you need an unmodified and fresh copy, you can simply redownload it by typing these commands: (where  is the folder name of the copy of the NewerSMBW sources folder and   is your Mac's username ID).

<b style="color:#FF0000;">NOTE:</b>  must be inside the   directory in order for it to be visible by the Command Prompt (when typing   in the Command Prompt after opening it with the Wineskin window). Also, do not have  as   or your current NewerSMBW sources will be OVERWRITTEN.

Debian/Ubuntu Linux
Open the terminal (if you haven't already), copy the  folder by typing the commands: If you need an unmodified and fresh copy, you can simply redownload it by typing these commands: (where  is the folder name of the copy of the NewerSMBW sources folder). <b style="color:#FF0000;">NOTE:</b> If you're on Ubuntu, make sure to use  instead, as   doesn't work on Ubuntu. Also, do not have  as   or your current NewerSMBW sources will be OVERWRITTEN.

Windows
Copy the  folder by right-clicking on the folder and clicking. After that, go to the new location that you want it to be in and right-click and click. If you need an unmodified and fresh copy, open the NewerSMBW sources  file (that you previously downloaded) and extract it to the new location that you want it to be in. If you want to rename the folder in the new location after copying it or extracting the  file, right-click on the folder and click.

Additional steps required for an unmodified and fresh copy of the NewerSMBW sources
Open the Windows Explorer (if you haven't already), go to the  folder (of the NewerSMBW sources folder). Create a new folder called.

Download the CodeWarrior files: <ul style="list-style-type:square;"> <li> (if it shows up as text, right-click and click   or similar, to download the file)</li> <li> </li> <li> </li> <li> </li> <li> </li> </ul> and place them into the  folder.

Windows (NSMASR and NSMBWer sources)
Copy the  or   folder by right-clicking on the folder and clicking. After that, go to the new location that you want it to be in and right-click and click. If you need an unmodified and fresh copy, open the NSMASR or NSMBWer sources  file (that you previously downloaded) and extract it to the new location that you want it to be in. If you want to rename the folder in the new location after copying it or extracting the  file, right-click on the folder and click.

Additional steps required for an unmodified and fresh copy of the NSMASR or NSMBWer sources
Extract the devkitPPC  file (that you previously downloaded) to the   folder of the NSMASR or NSMBWer sources folder. If it doesn't exist, create a folder called, in the   folder of the NSMASR or NSMBWer sources folder. Right-click on and edit the  file. If you have multiple Python versions, make sure that the  file uses Python 3.4.x or later. If you have PyLauncher and your standard Python version is 2.7.x, you can simply replace all occurrences of  (in the   file) to. <b style="font-style:italic;">For NSMBWer only,</b> if  exists in the   file, then replace all occurrences of it to. <b style="font-style:italic;">For NSMASR only,</b> copy the  file (in the   folder, if the file exists) into the   folder. After that, download the CodeWarrior files: <ul style="list-style-type:square;"> <li> (if it shows up as text, right-click and click   or similar, to download the file)</li> <li> </li> <li> </li> <li> </li> <li> </li> </ul> and place them into the  folder of the NSMASR sources folder. Then replace all occurrences of  (in the   file) to. When you're done editing the  file, save your changes.