Building SM64 for Nintendo Switch from sm64ex-alo Repository

Hi, I hope the next steps help to somebody, first forgive my bad English, is no my native language.

After the project «n64decomp» finished lots of forks emerged. One of them is the SM 64 PC Port which have as aim to be a port of n64decomp for modern devices.

Some of these ports was for the Switch console and become real on the fork fgsfdsfgs that fork seems to be staled, Now @AloXado320 have resumed the work with the repository AloUltraExt and add some features and converged the latest code with latest refresh from the decomp project.

Switch Building Process

If you read the guide:

https://github.com/fgsfdsfgs/sm64pc/wiki/Compiling-for-Nintendo-Switch

The steps are loosely explained, but they don’t work well for me, so I decided read a lot of documentation and the official SM64 thread completely.

I choose to use for this set of instructions the MSYS environment, which for me is easy to setup and as it is an enclosed environment which is not affected by other software on your computer, I mainly use Windows, but as MINGW is a Cygwin environment I think the steps could be easy extrapolated to Linux environments.

First you need Install a MSYS environment:
The latest instructions for install the MSYS environment are on https://gbatemp.net/threads/install-msys-environment.652234/ if you don't have one working, use them.

After you have the MSYS environment working you need to install DevKitPro
For that you can follow the instructions on the tutorial https://gbatemp.net/threads/setup-a-devkitpro-environment-on-windows.652238/

Now you can start the building process:
First install the prerequisites


In a MinGW64 shell (or MinGW32 if you have a Windows 32 bit edition, why will you do today?). Be sure the prompt shows MINGW64 or MINGW32 if not you started the wrong shell, close it and open the right one.
a.png
b.png


Please execute the next command, several times until you get the message "there is nothing to do", you can be asked to restarts the MINGW64 environment few times:
pacman -Syuu --needed --noconfirm

Then execute the next commands:

Code:
pacman -Syuu --needed --noconfirm base-devel git make mercurial python3 subversion unzip autoconf automake libtool pkg-config autoconf-wrapper mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc mingw-w64-x86_64-glew mingw-w64-x86_64-SDL2 mingw-w64-x86_64-toolchain mingw-w64-x86_64-SDL switch-dev devkitA64 dkp-toolchain-vars libnx switch-tools switch-mesa switch-libdrm_nouveau switch-sdl2

Once the installation end, verify the MSYS2 database again:

pacman -Syuu --needed --noconfirm

Clone the repository, using the --recursive option in order to clone all the trees.

Code:
cd ~/
git clone --recursive https://github.com/AloUltraExt/sm64ex-alo

The repository is cloned to a subfolder of the "Home" directory of MinGWXX Shell, on the prompt "~" means your home directory.

You need copy a legal copy of the original ROM in the cloned directory, it must be in "Big Endian" format.

For each version (jp/us/eu/sh) for which you want to build an executable, put an existing ROM at ./baserom.<VERSION>.z64 for asset extraction.

By example, for US version:
./baserom.us.z64
that file should have this Checksums:
MD5: 20b854b239203baf6c961b850a4a51a2 *baserom.us.z64
SHA: 9bef1128717f958171a4afac3ed78ee2bb4e86ce *baserom.us.z64
SHA256: 17ce077343c6133f8c9f2d6d6d9a4ab62c8cd2aa57c40aea1f490b4c8bb21d91 *baserom.us.z64

copy the file to the path c:\msys64\home\<USERNAME>\sm64ex-alo

If your ROM isn't on Big Endian format, use https://hack64.net/tools/swapper.php to convert it.

Now the environment is ready to build Switch version using any combination of the options you like, by example:
Code:
cd ~/sm64ex-alo
make TARGET_SWITCH=1 BETTERCAMERA=1 NODRAWINGDISTANCE=1 TEXTURE_FIX=1 HIGH_FPS_PC=1

Will activate a better camera handling, enable the drawing of far objects on the game, Fixes some texture related bugs (by example smoke), AND 60 FPS patch.
sadly the actual repo is not so compatible with multiple cores, so please do not use -j parameter.
After the process ends the NRO is on the build subfolder.
Code:
Build succeeded.
==== Build Details ====
File:           build/us_nx/sm64.us.f3dex2e.nro
Version:        us
Target:         Nintendo Switch


After a successful build you should have file ~\sm64ex-alo\build\us_nx\sm64.us.f3dex2e.nro

IF YOU USED THE EXTERNAL_DATA parameter, you also get the the folder ~\sm64ex-alo\build\us_nx\sm64ex_res, and inside the ~\sm64ex-alo\build\us_nx\sm64ex_res folder is the file base.zip archive, which one have inside the folders: gfx & sound:
1740673388181.png


Now you need to copy to a folder (By example SM64) on SDMC:/Switch the ~\sm64ex-alo\build\us_nx\sm64.us.f3dex2e.nro and the ~\sm64ex-alo\build\us_nx\sm64ex_res folder (if you used EXTERNAL_DATA parameter)

Alternatively you can extract the base.zip archive for a quicker loading. On my test I did it so I ended with the tree:

Bash:
SMDC:
    Switch
        SM64
            sm64.us.f3dex2e.nro
                sm64ex_res
                    gfx
                       .......lots of files and folders
                    sound
                       .......lots of files and folders

If you like to add texture packs to the build you put them on the SDMC:/Switch/switch/SM64/sm64ex_res path, thanks to @JAGSTAX for the tip.


Additional Note:
For Build Windows version you can run the command without the TARGET_SWITCH=1 parameter.


Trying on a Ubuntu Virtual Machine and worked just fine:
1739733344609.png

For Ubuntu I had to install DevKitPro (https://devkitpro.org/wiki/devkitPro_pacman)

Then install the packages:

Bash:
sudo apt install git make python3 subversion unzip autoconf automake libtool pkg-config autoconf cmake

pacman -Syu --needed --noconfirm devkit-env switch-dev devkitA64 dkp-toolchain-vars libnx switch-tools switch-mesa switch-libdrm_nouveau switch-sdl2

Then
Bash:
cd ~
rm -rf sm64ex-alo
git clone --recursive https://github.com/AloUltraExt/sm64ex-alo
cd ~/sm64ex-alo

YOU MUST TO COPY YOUR LEGALLY ACQUIRED ROM WITH MD5: 20b854b239203baf6c961b850a4a51a2 TO: ~/sm64ex-alo/baserom.us.z64

Then you can build the NRO:

Bash:
make TARGET_SWITCH=1 BETTERCAMERA=1 NODRAWINGDISTANCE=1 TEXTURE_FIX=1 EXT_OPTIONS_MENU=1 QOL_FIXES=1 QOL_FEATURES=1 MOUSE_ACTIONS=1 EXT_DEBUG_MENU=1


BE SURE YOU COPY THE CORRECT ROM TO THE REPO ROOT AND HAVE THE CORRECT NAME.


BUILD OPTIONS
Build optionDefaultPossible valuesDescription
AUDIO_APISDL2SDL2Select audio backend. There's only one option right now.
BETTERCAMERA00, 1If 1, build with analog camera support (uses Puppycam).
CHEATS_ACTIONS10, 1Enable cheats
COMMAND_LINE_OPTIONS10, 1Enable Command Line Options *see them at end of post
CONTROLLER_APISDL2SDL2Specify the controller backend to use. There's only one right now.
DISCORDRPC00, 1If 1, enable Discord Rich Presence support. Only works on x86_64.
EXT_DEBUG_MENU00, 1Enable Simple menu for debug on R options menu, showing basic info on the screen
EXT_OPTIONS_MENU10, 1If 1, enable Options menu. Accessed from the Pause menu by pressing R.
EXTENDED_BOUNDS00, 1Enable extended bounds
In Super Mario 64, the level size, in which collision is checked, by default is limited from -8192 to 8191 in any direction.
Enabling this allows for extended bounds. This patch allows the bounds to be extended up to -32768 to 32767, at the cost of using more RAM.
EXTERNAL_DATA00, 1If 1, load textures and soundbanks from external files. Allows you to use texture packs. The default data is copied to a res folder next to the produced executable.
GODDARD_MFACE10, 1If 0 disable Goddard's Mario Face (Mario Face at start screen)
HIGH_FPS_PC00, 1Enable 60 fps patch
MOUSE_ACTIONS00, 1Enable mouse support on desktop versions, for now only works on SDL mode, DirectX support is WIP.
NODRAWINGDISTANCE00, 1If 1, build with disabled draw distance (every object is active at all times). May affect gameplay.
PORT_MOP_OBJS00, 1Enable Kaze's More Objects Patch, disabled by default
QOL_FEATURES00, 1Enables additional quality-of-life features.
QOL_FIXES00, 1Activates general quality-of-life fixes.
QOL_REDONE10, 1Applies a set of reworked quality-of-life improvements.
The QOL features are NOT mutually exclusive and for the full effect should be enabled all at once.
RENDER_APIGLGL, GL_LEGACY, D3D11, D3D12Select rendering backend to use. GL corresponds to OpenGL 2.1 (gfx_opengl.c), GL_LEGACY corresponds to OpenGL 1.3 (gfx_opengl_legacy.c). Direct3D backends will also force WINDOW_API to DXGI.
RM2C00, 1Accept RM2C level folder output https://github.com/AloXado320/rom-manager-2-c
RUMBLE_FEEDBACK10, 1Enable rumble functions (Originally in Shindou)
OSX_BUILD00,1If 1, build for OSX.
TARGET_SWITCH00,1If 1, the source code is built for Nintendo Switch Console.
TARGET_N3DS00,1Build for Nintendo 3DS, needs the 3ds-dev DevKitPro group.
You can also add the CIA target to build 3DSX and CIA formats, for that you need MAKEROM on your system, you can get the most recent version from https://github.com/3DSGuy/Project_CTR/releases/
TARGET_WII_U00,1Build for Wii U, needs the wiiu-dev DevKitPro group and the wiiu-sdl2 package.
TARGET_N6400,1Needs MIPS N64 toolchain, so is more easy to build on Linux where you can install the apt package binutils-mips-linux-gnu .
On MSYS you can install using https://github.com/glankk/n64 which requires you build and install locally on MSYS
TARGET_BITS32, 64TARGET_BITS=n appends some compiler flags for an n-bit build. If the value is empty, the option does nothing, assuming your native toolchain will set everything up by itself. Use this only if you're having trouble otherwise.
TARGET_RPI00, 1If 1, select optimal settings for Raspberry PI hardware. See the main article (https://github.com/sm64pc/sm64pc/wiki/Helper-compiling-script-for-Raspberry-Pi) on that.
TARGET_WEB00, 1If 1, build Emscripten version. See the main article (https://github.com/sm64pc/sm64pc/wiki/Compiling-for-the-web) on that.
WINDOWS_BUILD00, 1If 1, build for Windows. Usually set automatically if building on Windows.
TEXTSAVES00, 1If 1, use INI-based save format instead of binary EEPROM dumps. Experimental.
TEXTURE_FIX00, 1If 1, enable various texture-related bugfixes (e.g. fixes the smoke texture).
VANILLA_CHECKS10, 1Enable some level checks to get behavior of vanilla ones
VERSIONusus, eu, jp, shWhich ROM to use. The selected ROM has to be in the repo folder with the name baserom.$VERSION.z64. «sh» is currently broken.
WINDOW_APISDL2SDL2, DXGISelect windowing backend. GL renderers force SDL2 and D3D renderers force DXGI for now, so you don't need to specify this.
WINDOWS_CONSOLE
DEBUG
00, 1If 1, append -mconsole to Windows CFLAGS, making a console window appear while the game is running. Can be useful for debugging purposes. On SM64-Alo WINDOWS_CONSOLE was replaced by DEBUG
DEBUG00, 1, 2If 1, build with debug symbols and default optimization level. Otherwise build with -O2. 1 simple debug compile, 2 max debug compile

Use nsp-forwarder.n8.io to create a customized Forwarder. Now supporting Atmosphère > 1.8.0


Command Line Options
CommandDescription
--helpShown the command line options
--configfile CONFIGNAMESaves the configuration file as CONFIGNAME.
--gamedir DIRNAMESets additional data directory name (only 'res' is used by default).
--savepath SAVEPATHOverrides the default save/config path ('!' expands to executable path).
--level LEVELIDStart the game from a level id (Use --listlevels for a list of each level id).
--act ACTNUMStart the game from a act number, requires a --level id to be set.
--cheatsEnables the cheat menu.
--skip-introSkips the Peach and Castle intro when starting a new game.
--fullscreenStarts the game in full screen mode.
--windowedStarts the game in windowed mode.
--levelselectOffers the user a level select menu.
--profilerEnables profiler bar on the screen bottom (Not functional).
--debugEnables simple debug display.
--poolsize POOLVALUEIncrease memory pool on POOLVALUE




Troubleshooting
  • If you get the error gcc: command not found or make: gcc: No such file or directory you did not install all needed packages or run the wrong Shell, be sure of running «MINGW32» or «MINGW64» and what that is pointed on the prompt in purple.
  • If the ROM is missing or wrong format/version you get the error Failed to open baserom.us.z64! Verify the correct ROM at the c:\msys64\home\<username>\sm64ex-alo folder.
  • If you get the error make: *** No targets specified and no makefile found. Stop. You are on the wrong folder the last make command should be run from c:\msys64\home\<username>\sm64ex folder.
  • Be sure of get the responses Target: i686-w64-mingw32 or Target: x86_64-w64-mingw32 when you run the command gcc -v if else other is shown on screen you install the wrong gcc package or you are on the «MSYS» shell, remember the process should be run on «MINGW32» or «MINGW64» shells.
 
Last edited by impeeza,

SkullHex2

Well-Known Member
Member
Joined
Feb 27, 2017
Messages
284
Trophies
0
XP
1,463
Country
United States
I tried compiling for switch with devkitpro using your instructions and I got this error. Do you know a fix?

View attachment 482495

UPDATE: in sm64ex-alo/tools/makefile if you change line 49. Which is
CSS:
  armips_LDFLAGS += -municode
and just replace everything with
CSS:
  armips_LDFLAGS += -Wunicode
everything gets fixed and it compiles. Already made a ticket on the github about it. But yeah. It's just a typo
Not so sure about that. -municode is a flag: https://gcc.gnu.org/onlinedocs/gcc/Cygwin-and-MinGW-Options.html
Not to mention the letters 'W' and 'M' are too far apart to be a typo.
 
  • Like
Reactions: impeeza

DolphinCube

Cubin' Around
Member
Joined
Oct 4, 2017
Messages
180
Trophies
1
XP
866
Country
United States
  • Like
Reactions: impeeza

SkullHex2

Well-Known Member
Member
Joined
Feb 27, 2017
Messages
284
Trophies
0
XP
1,463
Country
United States
I was using mingw64 to compile the game and thats when I got that error. I'm not sure whats going on. It just said "did you mean -Wunicode"? in the error so thats what I did
Hey, as long as it works.
The compiler only said that because -Wunicode is one of the only options closest to -municode that it recognizes; it doesn't know what the flags are for.
But again: if it works, it doesn't matter.
Could you link to the GitHub issue you opened? I'm curious to know their take on this.
 
  • Like
Reactions: impeeza

DolphinCube

Cubin' Around
Member
Joined
Oct 4, 2017
Messages
180
Trophies
1
XP
866
Country
United States

impeeza

¡Kabito!
OP
Member
Joined
Apr 5, 2011
Messages
8,535
Trophies
5
Age
47
Location
At my chair.
XP
30,807
Country
Colombia
I tried compiling for switch with devkitpro using your instructions and I got this error. Do you know a fix?

View attachment 482495

UPDATE: in sm64ex-alo/tools/makefile if you change line 49. Which is
CSS:
  armips_LDFLAGS += -municode
and just replace everything with
CSS:
  armips_LDFLAGS += -Wunicode
everything gets fixed and it compiles. Already made a ticket on the github about it. But yeah. It's just a typo
Sorry I just follow the instructions on the OP and everything work fine:

1739672116309.png


I am Using Windows 11, MSYS 2 latest and the most recent packages installed with the pacman command on the OP. also my ROM have the MD5 checksum: 20b854b239203baf6c961b850a4a51a2 *baserom.us.z64
 

DolphinCube

Cubin' Around
Member
Joined
Oct 4, 2017
Messages
180
Trophies
1
XP
866
Country
United States
Sorry I just follow the instructions on the OP and everything work fine:

View attachment 486096

I am Using Windows 11, MSYS 2 latest and the most recent packages installed with the pacman command on the OP. also my ROM have the MD5 checksum: 20b854b239203baf6c961b850a4a51a2 *baserom.us.z64
I used windows 10 with mingw64 that was with the devkitpro installer. If you look at my messages I've found a fix and posted some updates in a issue on the github respiratory

Specifically this:
 
  • Love
Reactions: impeeza

Heavenseyes

Active Member
Newcomer
Joined
May 4, 2023
Messages
33
Trophies
0
Age
27
XP
267
Country
United States
Thank you so much for the info I got it working on the switch! I wanted to ask is there a better build tho? I saw some videos online like Render96 or something better that had way more options! I remember having the mario 64v8 port and it was pretty good! if you have a link for a better build do post!
 

impeeza

¡Kabito!
OP
Member
Joined
Apr 5, 2011
Messages
8,535
Trophies
5
Age
47
Location
At my chair.
XP
30,807
Country
Colombia
Thank you so much for the info I got it working on the switch! I wanted to ask is there a better build tho? I saw some videos online like Render96 or something better that had way more potions! I remember having the mario 64v8 port and it was pretty good! if you have a link for a better build do post!
Mario 64 V8 and similar are piracy software built to be Switch app on NSP format, the access to source is restricted and that created a big fight on the scene.

This version is open source and you can add any improvement you like, by example if you like to add texture packs to the build you put them on the switch\us_nx\sm64ex_res path, also you can add packs to the source before built it.
 

Heavenseyes

Active Member
Newcomer
Joined
May 4, 2023
Messages
33
Trophies
0
Age
27
XP
267
Country
United States
Mario 64 V8 and similar are piracy software built to be Switch app on NSP format, the access to source is restricted and that created a big fight on the scene.

This version is open source and you can add any improvement you like, by example if you like to add texture packs to the build you put them on the switch\us_nx\sm64ex_res path, also you can add packs to the source before built it.
adding textures packs to the source before building.... so looking into the folder sm64ex-alo do i just set the texture packs in there or is there a specific folder within the sm64ex i need to place them ??
 
Last edited by Heavenseyes,

urherenow

Well-Known Member
Member
Joined
Mar 8, 2009
Messages
5,056
Trophies
3
Age
49
Location
Japan
XP
4,255
Country
United States
Ok... I got 2 "likes" but no answer. I don't even know where to get packs, so I've never built it like that myself. I built it a long time ago for Switch, PC, and web browser... just for the fun of it.

Was my question actually the problem/solution?
 

Heavenseyes

Active Member
Newcomer
Joined
May 4, 2023
Messages
33
Trophies
0
Age
27
XP
267
Country
United States
Ok... I got 2 "likes" but no answer. I don't even know where to get packs, so I've never built it like that myself. I built it a long time ago for Switch, PC, and web browser... just for the fun of it.

Was my question actually the problem/solution?
adding EXTERNAL_DATA=1 will , load textures and soundbanks from external files. Allows you to use texture packs. The default data is copied to a res folder next to the produced executable.
 
Last edited by Heavenseyes,

Nakamichi

Well-Known Member
Member
Joined
Dec 10, 2021
Messages
531
Trophies
1
Age
37
XP
2,475
Country
Germany
Ive never built anything before in my entire life and impeeza helped me, a complete noob, to actually get it done and taught me a lot along the way!

Cant thank him enough! Impeeza is an absolute legend!
Post automatically merged:

I did a lot of googling and i think i have found something relevant?

  • QOL_FIXES=1: Activates general quality-of-life improvements.
  • QOL_FEATURES=1: Enables additional quality-of-life features.
  • QOL_REDONE=1: Applies a set of reworked quality-of-life enhancements.
if true, they are not mutually exclusive and should, for best results be enabled together.

"HIGH_FPS_PC=1" does not seem to enable 60fps mode in the game? at least the internal FPS-display still shows max 30fps.. but it DOES feel really smooth. So unless im mistaken it is running at 60fps?

can you correct me on any of this if wrong @AloXado320 ?

i built with "EXTERNAL_DATA=1" enabled and placed @JAGSTAX 's graphic pack in a folder called "res" in the same directory as the binary, but it didnt load anything.

Also tried with a russian fantranslation i found online and that did not load either.

I love sm64ex-alo so much that this was the first thing i ever built.. yesterday, so its totally possible im just doing ALL of this completely wrong, but id love to learn, so if anyone has anything to share about this id be extremely grateful!
 
Last edited by Nakamichi,
  • Love
Reactions: impeeza

Heavenseyes

Active Member
Newcomer
Joined
May 4, 2023
Messages
33
Trophies
0
Age
27
XP
267
Country
United States
Ive never built anything before in my entire life and impeeza helped me, a complete noob, to actually get it done and taught me a lot along the way!

Cant thank him enough! Impeeza is an absolute legend!
Post automatically merged:

I did a lot of googling and i think i have found something relevant?

  • QOL_FIXES=1: Activates general quality-of-life improvements.
  • QOL_FEATURES=1: Enables additional quality-of-life features.
  • QOL_REDONE=1: Applies a set of reworked quality-of-life enhancements.
if true, they are not mutually exclusive and should, for best results be enabled together.

"HIGH_FPS_PC=1" does not seem to enable 60fps mode in the game? at least the internal FPS-display still shows max 30fps.. but it DOES feel really smooth. So unless im mistaken it is running at 60fps?

can you correct me on any of this if wrong @AloXado320 ?

i built with "EXTERNAL_DATA=1" enabled and placed @JAGSTAX 's graphic pack in a folder called "res" in the same directory as the binary, but it didnt load anything.

Also tried with a russian fantranslation i found online and that did not load either.

I love sm64ex-alo so much that this was the first thing i ever built.. yesterday, so its totally possible im just doing ALL of this completely wrong, but id love to learn, so if anyone has anything to share about this id be extremelInstall EXT_DEBUG_MENU=1 in game if u hit + then R u will see options for the debug menu it will show fps in game you can turn it off/on and it's at 60fps! it's pretty cool to mess around with and jumping to any level you want.
EXT_DEBUG_MENU=1 with this u can see the debug menu in option which lets you see fps and more like jump to any level of the game at anytime ect.. the fps is at 60 btw!

Installing CHEATS_ACTIONS=1 hit + then L then R to see your cheats it will be at the button of the options list.

TEXTSAVES=1 saves your game in a text format u can open the txt folder and edit your save at anytime! when you save! the game will make this file called
sm64_save_file_0.sav you can now edit this save

EXTERNAL_DATA=1 will let you load textures and soundbanks from external files. Allows you to use texture packs. The default data is copied to a res folder next to the produced executable u can download the pack extract it then set the sm64ex_res on your sd card at (switch/us_nx/sm64ex_res) inside the sm64ex folder will be a GFX folder and Sound folder! download below.
(maker sure your nro and sm64ex_res are set like so (switch/us_nx )

https://www.mediafire.com/file/absbmylzbc0f4fk/sm64ex_res.7z/file

my build was
make TARGET_SWITCH=1 BETTERCAMERA=1 NODRAWINGDISTANCE=1 TEXTURE_FIX=1 HIGH_FPS_PC=1 QOL_FIXES=1 QOL_FEATURES=1 QOL_REDONE=1 CHEATS_ACTIONS=1 EXTERNAL_DATA=1 TEXTSAVES=1 EXT_DEBUG_MENU=1
 
Last edited by Heavenseyes,
  • Love
Reactions: impeeza

impeeza

¡Kabito!
OP
Member
Joined
Apr 5, 2011
Messages
8,535
Trophies
5
Age
47
Location
At my chair.
XP
30,807
Country
Colombia
EXT_DEBUG_MENU=1 with this u can see the debug menu in option which lets you see fps and more like jump to any level of the game at anytime ect.. the fps is at 60 btw!

Installing CHEATS_ACTIONS=1 hit + then L then R to see your cheats it will be at the button of the options list.

TEXTSAVES=1 saves your game in a text format u can open the txt folder and edit your save at anytime! when you save! the game will make this file called
sm64_save_file_0.sav you can now edit this save

EXTERNAL_DATA=1 will let you load textures and soundbanks from external files. Allows you to use texture packs. The default data is copied to a res folder next to the produced executable u can download the pack extract it then set the sm64ex_res on your sd card at (switch/us_nx/sm64ex_res) inside the sm64ex folder will be a GFX folder and Sound folder! download below.
(maker sure your nro and sm64ex_res are set like so (switch/us_nx )

https://www.mediafire.com/file/absbmylzbc0f4fk/sm64ex_res.7z/file

my build was
make TARGET_SWITCH=1 BETTERCAMERA=1 NODRAWINGDISTANCE=1 TEXTURE_FIX=1 HIGH_FPS_PC=1 QOL_FIXES=1 QOL_FEATURES=1 QOL_REDONE=1 CHEATS_ACTIONS=1 EXTERNAL_DATA=1 TEXTSAVES=1 EXT_DEBUG_MENU=1

@Heavenseyes

I was aware of that, but no, "EXTERNAL_DATA=1" does not currently let you load external data. Doesnt work.
Hello there, I just created a new build using the switches indicated before make TARGET_SWITCH=1 BETTERCAMERA=1 NODRAWINGDISTANCE=1 TEXTURE_FIX=1 HIGH_FPS_PC=1 QOL_FIXES=1 QOL_FEATURES=1 QOL_REDONE=1 CHEATS_ACTIONS=1 EXTERNAL_DATA=1 TEXTSAVES=1 EXT_DEBUG_MENU=1

So on my repo folder the file ~\sm64ex-alo\build\us_nx\sm64.us.f3dex2e.nro and the folder ~\sm64ex-alo\build\us_nx\sm64ex_res where created, and inside the ~\sm64ex-alo\build\us_nx\sm64ex_res folder is the file base.zip archive, the one who have inside the folders: gfx & sound:

1740672246667.png


You need to copy to a folder (By example SM64) on SDMC:/Switch the ~\sm64ex-alo\build\us_nx\sm64.us.f3dex2e.nro and the ~\sm64ex-alo\build\us_nx\sm64ex_res folder.

Alternatively you can uncompress the base.zip archive for a quicker loading. On my test I did it so I ended with the tree:
Bash:
SMDC:
    Switch
        SM64
            sm64.us.f3dex2e.nro
                sm64ex_res
                    gfx
                       .......lots of files and folders
                    sound
                       .......lots of files and folders


Then I replaced the contents of SDMC:/Switch/SM64/sm64ex_res with the ones on the attached file by @Heavenseyes and now some of the sprites are High-Res:

With Regular assets:
1740672496506.png


With High res ones:

1740672479474.png



so you can easyly replace any asset on that folder for the game.
Post automatically merged:

The Textures MUST be on the assest format, the Rice an PAK do not work
 
Last edited by impeeza,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Sicklyboy @ Sicklyboy: huh. never realized that