Posted on 12-14-17, 08:26 pm in Misc. ASM hacks
Local moderator

Posts: 1/12
Since: 12-14-17

Last post: 21 hours
Last view: 3 hours
In this thread you can post all your smaller ASM hacks. I will try to link to all of them in the first post.



Sprite Size Modifier



This hacks allows scaling sprites via nybble 23 (counting from 0).
It does so by adding a custom implementation for ActivePhysics::initWithStruct(Actor* owner, ActivePhysics::Info* info) which scales the hitboxes accordingly and hooking StageActor::afterCreate(StageActor*) to apply model scales. Some sprites tho overwrite the scale vector after StageActor::afterCreate(StageActor*) tho or just don't use the scale vector in onDraw thus making this hack not work with quite a few sprites.

Code can be found here: https://github.com/RicBent/Magikoopa-NSMB2-Examples/blob/master/SizeModifier/
Posted on 12-16-17, 05:45 pm in Level Contest?
Local moderator

Posts: 3/12
Since: 12-14-17

Last post: 21 hours
Last view: 3 hours
You obviously can
Posted on 12-16-17, 10:48 pm in NSMB2: Project LOST
Local moderator

Posts: 4/12
Since: 12-14-17

Last post: 21 hours
Last view: 3 hours
You know it looks a bit strange if you create a thread for a hack and got nothing to show at all.

The combination "I will upate this soon" + "We need people" very much sounds like "Please create a hack for me"
Posted on 12-19-17, 09:35 pm in Report notifications to Discord/IRC suggestion (rev. 1 by RicBent on 12-19-17, 09:40 pm)
Local moderator

Posts: 5/12
Since: 12-14-17

Last post: 21 hours
Last view: 3 hours
Basically the same as on the old RHC. I really loved the feature and found it very useful.

Also please add an IRC bot that just reports the same as the Discord bot. Even if it's just for me
Posted on 12-21-17, 08:33 pm in Post your Desktop/Wallpaper/...
Local moderator

Posts: 6/12
Since: 12-14-17

Last post: 21 hours
Last view: 3 hours


Basically one center monitor with slideshow of many nintendo wallpapers + two monitors with grey bg.
Ignore the windows at the corners. Was too lazy to hide all windows properly

Also explos: PS on Linux?
Posted on 12-31-17, 03:17 pm in Easy Testing - romfs2sdmc asm
Local moderator

Posts: 7/12
Since: 12-14-17

Last post: 21 hours
Last view: 3 hours


romfs2sdmc hooks TryOpenFile and checks if the file it tries to open is placed on the SD card. Kinda like LayeredFS works.
But this builds it right into your code.bin allowing it to be run from citra. You can now just save your level to the emulated SD card of citra and play the level.
No reloading or repacking of the game required!

The below source code is for the US Gold Edition only but can easily be modded for any other version by finding the offsets of the functions.

The root of the emulated romfs is citra-emu/sdmc/nsmb2/ in your user files.


Posted on 12-31-17, 04:05 pm in Easy Testing - romfs2sdmc asm
Local moderator

Posts: 8/12
Since: 12-14-17

Last post: 21 hours
Last view: 3 hours
This can be applied to a code.bin/exheader.bin with Magikoopa.

Will make a tutorial on that when I find time
Posted on 01-19-18, 11:42 am in Your Top List of Nintendo Games you like (rev. 1 by RicBent on 01-19-18, 11:43 am)
Local moderator

Posts: 9/12
Since: 12-14-17

Last post: 21 hours
Last view: 3 hours
Okay, Cool, a nice post with 0 meaning.



Expanding this to non Nintendo games because why not
  • The Settlers II: The next generation
  • Asterix & Obelix XXL 2: Mission: Las Vegum
  • Warblade
  • Super Mario Land 2: 6 Golden Coins
  • Tetris (GB)
  • Super Mario World
These mostly because of child memories (yeah, I played a ton with my parents SNES/GB).
  • The Legend of Zelda: Breath of the Wild
  • The Legend of Zelda: Ocarina of Time 3D
  • Super Mario 3d World
  • Newer Super Mario Bros. Wii/DS
  • New Super Mario Bros. DS/U (I didn't like Wii that much. 2 isn't here obviously)
Nope. Odyssey is not on my list. Don't ask
Posted on 01-20-18, 10:29 pm in Magikoopa Tutorial
Local moderator

Posts: 10/12
Since: 12-14-17

Last post: 21 hours
Last view: 3 hours
Magikoopa is a tool that allows compiling custom code and inserting it into NSMB2 and all other 3ds applications.


#1 Installing devkitPro and devkitARM:

Download the installer for your operating system here and run it.
You may disable devkitPPC, devkitPSP and Programmer's Notepad in the Windows Installer.

Test the installation by running this command in a console:
  • Linux: echo $DEVKITARM
  • Windows: SET DEVKITARM
If it prints the path to the devkitARM install directory you probably have a successful install.



#2 Aquire neccessary game files

NSMB2 code research has been done on the US Gold Edition of the game so most hacks you will find arround here will be for that version of the game exclusivly. It is recommended to follow the tutorial with that version (Title ID: 0004000000137e00).

First dump the cxi. Follow this tutorial on that. Then copy the generated cxi to a safe place on your hard drive.

Extract the neccessary files from the cxi using ctrtool on the command line:
  • ctrtool --exefsdir=exefs --exheader=exheader.bin <cxiname>.cxi


#3 Setting up the Patch Environment:

Download the Patch template from here and extract it.

Important: The path to the template folder may not include any special chars or spaces!
  • Wrong: C:\Users\ricbent\3ds Projects\fancyH@ck\
  • Correct: C:\Users\ricbent\Projects\testHacks\
From the generated files from step 2 copy "exheader.bin" and "exefs/code.bin" into the template folder.

The folder structure should look like this:
PatchTemplate ├ loader │ ├ source │ │ ├ hooks.hks │ │ ├ loader.c │ │ └ svc.s │ └ Makefile ├ source ├ code.bin ├ exheader.bin └ Makefile


#4 Inserting custom code

All custom code goes into the source folder.
  • C source files have the .c extension
  • C++ source files have the .cpp extension
  • ARM assembly source files have the .s extension
  • Hook files have the .hks extension
A tutorial on how to write your own hacks might be added in the future. For now stick with existing hacks.



#5 Compile

Download or build Magikoopa.
Open your set up template folder in Magikoopa (File -> Set working directory). If you have made mistakes setting up the template folder Magikoopa will give a error message on what files are missing.
Press "Make and Insert". That will first compile and link the code, compile and link the loder, insert the new code into the existing code and finally create hooks from the existing code into the new code.

If the code in source is correct Magikoopa will report "All done" in the bottom right corner.
Otherwise it will give an apropriate status and you can get info about what went wrong in the output window. Obvious issues will be displayed nicely on the "Issues" tab. If you have setup an text editor in Magikoopa (Settings -> Set text editor...) you can double click on the issues to directly jump to the source of the issue.



#6 There you go!

The code.bin and exheader.bin files should now be fully patched.
If you have Luma3ds you can diretly copy the two files onto your SD card to the correct location to test the hacks.
Alternativly you can rebuild a cxi file to test the hacks in Citra.
Posted on 01-29-18, 11:27 am in Last games you played?
Local moderator

Posts: 11/12
Since: 12-14-17

Last post: 21 hours
Last view: 3 hours
Tropical Freeze

what else
Posted on 02-23-18, 06:20 pm in Last games you played?
Local moderator

Posts: 12/12
Since: 12-14-17

Last post: 21 hours
Last view: 3 hours
I bought Life is Strage quite some time ago when it was on sale but never ended up playing it thinking I wasted my money for some game where you impersonate some highschool girl for kids.

Oh no. I played through the first two episodes in one sitting not noticing how much I got sucked in and how time flew by. Never played a game that is that moving or where I questioned my descisions more like in this game. Already now it is worth every cent. Sorry univ exam I have to finish this game before learning for you...

I guess I should really play a few more games on other consoles/PC. Kinda sad thinking about which other gems I missed because of not watching stuff outside the Nintendo box...