skawo |
Posted on 12-14-14, 09:58 am in Newer Super Mario Bros. DS (rev. 33 by skawo on 12-14-20, 01:17 am)
|
|
Karma: 19752 Posts: 80/1100 Since: 04-02-13 |
Newer Super Mario Bros. DS is a sequel to Newer Super Mario Bros. Wii, using assets and ideas from it, while keeping it somewhat fresh and taking advantage of mechanics in New Super Mario Bros. DS. Originally meant to just be a level and tileset hack, the game is now much more, ah, custom. Features:
Gameplay videos: |
skawo |
Posted on 08-06-14, 05:46 pm in Misc. patches thread (rev. 72 by ItzTacos on 02-27-24, 05:55 pm)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Karma: 19752 Posts: 34/1100 Since: 04-02-13 |
Well, it wouldn't make sense to post a separate thread for each and every patch, so instead I'll collect them here.
These patches should apply to both EUR and US versions, unless stated otherwise. I. Direct ROM patches How to apply Using an older (r356 seems to work) revision of NSMBe, decompress the overlay specified in the last column of the table. Extract it out of the ROM. Then, using a hex editor, search for the values in the "Search in ROM" column one line at a time. Replace them with values in the "Replace with" column. Once done, save, and import back into the ROM using NSMBe. If an overlay isn't listed, you have to decompress all overlays and search the entire ROM.
Zoom Sprite does not die on Level Completion (by Skawo) Decompress and open Overlay 10. Go to 0x58E90 Replace 7C8F09027C8E0902 -> 7C8F0902E07F0D023C Sprite 255 scrolls horizontally instead of vertically (by MeroMero) Open up arm9.bin Replace 0x84 of zeroes with the following at offset 0×19C0: 1C002DE9444490E5441480050600000ABC20D0E1463FA0E3030052E1000000 1A444480E51C00BDE86D8B05EABC20D0E1463FA0E3030052E10000001A4444 80E51C00BDE8708B05EA00000000000000001A002DE9BC10D0E1014BA0E314 4084E2460F51E30300001A304084E22C1490E5443490E5012083E0042080E7 1A00BDE8BA8D05EA Decompress and open Overlay 54 At offset 0×11F5C replace 44148005 with 8774FAEA At offset 0×128EC replace 142480E5 with 3772FAEA Always load Boss Victory Music (by MeroMero) Decompress overlay 0; Go to offset 0×1495C (US) or 0×13FB4 (EU); Replace 0100A0031EFF2F01 with 0100A0E31EFF2FE1; Star Coins are worth 4000 points (as in NSMB Wii onwards) (by MeroMero) Decompress overlay 54 Go to offset 0×244C (US) or 0×21D0 (EU) Change 04 into 06 4-1 secret exit path fix (by MeroMero) Open w4_move.nsbca located in the map folder Go to offset 0×750 and change the 25th consecutive 02 80 into 01 80 Change World Unlock Order Boss Damage Table Tempo hacks Sinking Snow Pile Works with Length 0 Keep Events between areas Blooper and Flame Chomp projectiles die upon collecting flagpole Slopes and Tightropes can coexist Mini Mario isn't heavy in low-gravity Move Petey and Mummypokey to different worlds Improved Blue Shell II. ASM Template Patches How to apply: 1. Set up the ASM Hacks template using DevkitPRO. 2. Open up "Makefile" in a text editor and change this line: export LIBPATHS := $(foreach dir,$(LIBDIRS),-L$(dir)/lib) -L$(DEVKITARM)/lib/gcc/arm-none-eabi/X.X.X Replace the "X.X.X" with whatever version your installed devkit has. Find this out by going to C:\devkitPro\devkitARM\lib\gcc\arm-none-eabi\ or whatever location you installed devkit to. 3. Make a file with extension .s in the "source" folder. Paste the code copied from this topic there. 4. Put a ROM in the template folder and open it in NSMBe. 5. Insert the code into the ROM by pressing "Run make and insert" on the "Tools/Options" tab in NSMBe. Wavy backgrounds don't require water Improved Blue Shell Mini Mario isn't heavy in low-gravity Pipe fix Giant Swooper collision fix Balloon Boo Regular Boo mode collision fix Giant Springboard fix Glitched Starman fix Mini Mushroom can go through half-tile gaps Buzzies and Roof Spinies can't go through half-tile gaps Ice Snake improvement Star Coins are worth 4000 points Clone Player Fixes Improved Red Coins Podoboo Graphics Flip on the way down Podoboo Jump Timing Nybble Quick Star Coins Goomba and Koopa Troopa retexture Include setting to freeze Timer per View NSLU physics for Luigi Red Coin Ring Remodel Code X/Y Tracking and Event Activated Midway Point Red Coin Ring Retexture Code Junglekusa Retexture Code Spiky Ball Retexture Code Wobbling Rock Retexture Code Time Stop Pokey Retexture Code Jelly Bricks Groundpound Fix Tilted Bullets Collision Fix Bullets layer nybble Choose which actors to spare on level completion Always load the correct boss particles if necessary Choose which levels load boss music Buzzies can hit Grounded Piranhas Track Controlled Swinging Rope Speed Adjustment Nybble Grounded Venus Traps can be killed by shells X Scrolling JungleKusa Cloud Platform Retexture Code Snow Effect Retexture Code Unused Spinning Log Improvements Select Jyotyu Palette Darkness Setting Other useless notes: |
skawo |
Posted on 07-26-17, 10:57 pm in Newer Super Mario Bros. DS (rev. 2 by skawo on 07-26-17, 11:05 pm)
|
Karma: 19752 Posts: 1004/1100 Since: 04-02-13 |
Update explaining the constant state of delay
There's no use dressing it up as anything else -- Newer DS's final stages of development are taking excruciatingly long. Why is this so? Well, there are several reasons. One of them is that, as I've mentioned frequently before, the project grew significantly. What used to be a simple level hack with some extra graphics and a rare ASM hack here and there grew into what's not unlike the effort spent on Newer Wii. After the end of 2016, which was scheduled to be the initial release we've added several things; swapped nearly all the enemy graphics, wrote over 10 sprites, overhauled even things that technically weren't needed to be overhauled, like the titlescreens, file select, world select, credits, etc. Even things which... probably no one ever will use, but were easy enough to very quickly finish up: However, all of that is done at this point. What's really holding Newer DS back right now are just a few things. One, is the final boss. The difficulty there is that the planned one requires modeling and animating, which is not something I can do. The job was given to RicBent, who has done some progress on it, but as usual, free time gets in the way quite often. The second thing holding Newer DS back is a new sprite that was meant to be used in two levels - 2-4 and 8-A, which would replace the final tower before the Final Castle. What I planned it be was a vehicle-like stage, not unlike the Submarine/Airplane sections from Super Mario Land. It's a bit more complex than that, and hasn't appeared in a 2D Mario game as of yet, which is why despite the fact it's been taking so long, it hasn't been scrapped; it would be very cool to include. That sprite is almost entirely written already; there are only minor adjustments to be made to it, really. I and RoadrunnerWMC worked on that sprite; myself, all the graphics/collision/Mario/state code, and Roadrunner working on the physics side of things. The remaning adjustments are to be made by RoadrunnerWMC, but again, free time gets in the way. Free time gets in the way for me, too, though. The remaining things left for Newer DS are tiny, yet significant things; for instance, finishing redoing new SFX for the game and leftover 2D adjustments. The problem there is that this requires two people working in tandem, and that obviously requires coordinating free time between time zones as far apart as Europe and the US. I've (and the others, too) personally stayed up to 6AM sometimes, having to go to work at 7:30, trying to get as much work done as possible. Lately, however, these ocassions where we could work together on stuff became more scarce. And really, the final clincher is this -- I'd happily scrap whatever has been done towards the final boss and the other sprite, rustled up a final level or two and quickly made the adjustments that need to be done, just to get it out of the gate. That would mean scrapping days of work of mine and the other guys, though. And while I'd at this point be fine with it, I don't want to do that to them. As such, I can only offer you the known catchphrase of "Please understand." Rude comments really don't help. I do feel really bad, and each is just making me feel worse. Lately I honestly can't help but feel... lost, because of all the things being piled on, and all those do is escalate that feeling more. |
skawo |
Posted on 07-19-14, 10:26 am in Save anytime (rev. 2 by skawo on 04-09-15, 07:50 am)
|
||||||||||||||||||||||||
Karma: 19752 Posts: 3/1100 Since: 04-02-13 |
Before I lose it or something, here's a patch that unlocks the SAVE menu from the start.
Applies to overlay9_8; decompress it.
EUR
USA
Just search for the values on the left and change them to what's on the right. I would just give you the addresses, but, uh, Not sure if this applies to this section, but I don't see anything that'd it fit better into. |
skawo |
Posted on 12-14-14, 11:34 am in Newer Super Mario Bros. DS
|
Karma: 19752 Posts: 81/1100 Since: 04-02-13 |
Maybe not.
|
skawo |
Posted on 02-17-16, 09:29 pm in Video intro with streamed sound (rev. 5 by skawo on 05-21-19, 11:40 pm)
|
Karma: 19752 Posts: 260/1100 Since: 04-02-13 |
This is something I've finished working on a couple days ago. It's a video and audio player that will replace the regular NSMBDS cutscene. Messy, half-working code ahead, because I don't know what the fuck I'm doing. The video player portion is a version of Dirbaio's fireworlds video player, modified to compile and work in NSMBDS: https://github.com/Dirbaio/Fireworlds/blob/master/fireworlds-game/arm9/source/video.itcm.cpp The audio player portion is a version of Dirabio's WavPlayer code from the now-dead NSMBCR: https://github.com/Dirbaio/NSMBCR/blob/master/source/wavplayer.cpp 1. Usage 1. Set up the ASM Hacks template using DevkitARM v41. 2. Copy the "IntroCode.cpp" and "IntroCode.h" files from /source in the downloaded RAR into the template's /source folder. You also need the "nsmb.h" file that's included with the template, but may skip the others. 3. Put a ROM in the template folder and open it in NSMBe. 4. Insert the code into the ROM by pressing "Run make and insert" on the "Tools/Options" tab in NSMBe. 5. Replace ARCHIVE/vs_wrecking_crew.narc with "SampleVideo.vds" and replace ARCHIVE/wrecking_crew.narc with "SampleMusic.raw" 2. Making your own video: 1. Render an avi video at the DS resolution (256x192) 2. Install VLC Media Player 3. Go into Tools -> Preferences. At the bottom-left corner, select "All" in "Show settings" 4. Click on "Video/Filters" and check "Scene video filter" 5. Expand the "Video/Filters" list and select "Scene filter" 6. Create a directory somewhere and enter a path to said directory under "Directory path prefix" 7. Change image format to jpg. 8. Change recording ratio to 1. 9. Press save. Close VLC Media Player. 10. Reopen VLC and open the rendered avi video with it. Let it play all the way through. 11. The directory you made earlier should now have images in it. Now, run VideoMake.jar and point it to said directory. After a while, it'll create an "out.vds" file in the same folder. You're done. 3. Making your own sound clip: 1. Open a sound file in Audacity 2. If the track is stereo, split it to Mono by opening a drop-down list next to individual track's delete button (top-left corner of the track listing). 3. From that same drop-down list, select "Set rate -> other" and put it at 32768. 4. Input the same rate at the bottom in "Project Rate" field. 5. Go to File->Export audio. Save as type "Other uncompressed types". Click "options" and select "RAW (headerless) as the header and "Signed 8bit PCM" as the encoding. Confirm. You're done. 4. Problems 1. Couldn't get any timers working, so the video plays significantly faster than it does on a flashcart. By modifying line 246, you can even make it run 60fps on an emulator. 2. If you "Go back to titlescreen" and try to open a new file, no sound will play. 3. The video/audio player is picky with files and may crash if it dislikes one. 5. Download https://www.dropbox.com/s/9vnl1cf6f7ffs1j/VideoIntro.rar?dl=0 |
skawo |
Posted on 07-26-16, 09:09 pm in Custom Level Intros with Player Select (rev. 5 by skawo on 06-28-17, 02:50 pm)
|
Karma: 19752 Posts: 493/1100 Since: 04-02-13 |
Here we go again. Basically this but you can choose between Mario and Luigi by pressing left or right, if you press SELECT on the intro screen. You then confirm your selection with A.
Video: 1. Usage 1. Set up the ASM Hacks template. 2. Copy the "SuperLevelIntros.cpp" and "nsmb.h" files from /source in the downloaded RAR into the template's /source folder and the "symbols.x" into the template's root. 3. Put a ROM in the template folder and open it in NSMBe. 4. Make the preview screens, convert them to ENPG, or (if you're just testing it out) import "Top Screen Template" and "Bottom Screen Template" over some useless files. I suggest adding files to the ROM and using those. Put all the bottom screen files in order. 5. Open LevelIntros.cpp and edit the "enpgAssignment" table by changing the zeroes under appropriate level slots to FileIDs in the rom of the files you just imported. Put in the first worlds' bottom screen file ID on line 104. 6. Insert the code into the ROM by pressing "Run make and insert" on the "Tools/Options" tab in NSMBe. 2. Download https://www.dropbox.com/s/moxld60f9ygrw2m/SuperLevelIntros.zip?dl=0 Disclaimer: Not tested thoroughly. |
skawo |
Posted on 04-02-13, 10:28 am in Another Super Mario Bros. 2 (rev. 1 by skawo on 04-02-13, 10:34 am)
|
Karma: 19752 Posts: 1/1100 Since: 04-02-13 |
Well, I'm never gonna finish this anyway, so I may at least release what I have. This is a follow up to Another Super Mario Bros. Wii, the first full NSMBW hack created back in 2010 (albeit pretty crappy by today's standards: http://rvlution.net/forums/viewtopic.php?f=53&t=573). Complete are almost two worlds: entire World 1 is done, and most of World 2. Everything in this predates NSMB2 for the 3DS. Just saying, because Nintendo has a habit of having the same ideas as I do. Credits go to: Me, me, me, me, me and Pop006 for making the logo. Here's a video of two levels: http://youtu.be/P4-xxwxEWw8 Some images: And here's the download link (Patch applies to the US ROM [A2DE01]): http://nsmbhd.net/get.php?id=1206 |
skawo |
Posted on 07-22-16, 07:17 pm in Level Previews (rev. 10 by skawo on 03-04-19, 06:02 pm)
|
|||
Karma: 19752 Posts: 475/1100 Since: 04-02-13 |
This ASM hack, made by Mariomaster and improved by myself, allows you to put in a Super Mario Allstars-Esque level preview in place of the generic "World X-Y" screen before each level. On top of that, you can put something on the bottom screen as well.
Example:
1. Usage 1. Set up the ASM Hacks template using DevkitARM v41. 2. Copy the "LevelIntros.cpp" and "nsmb.h" files from /source in the downloaded RAR into the template's /source folder and the "symbols.x" into the template's root. 3. Put a ROM in the template folder and open it in NSMBe. 4. Make the preview screens, convert them to ENPG, or (if you're just testing it out) import "Top Screen Template" and "Bottom Screen Template" over some useless files. I suggest adding files to the ROM and using those. Put all the bottom screen files in order. 5. Open LevelIntros.cpp and edit the "enpgAssignment" table by changing the zeroes under appropriate level slots to FileIDs in the rom of the files you just imported. Put in the first worlds' bottom screen file ID on line 104. 6. Insert the code into the ROM by pressing "Run make and insert" on the "Tools/Options" tab in NSMBe. 2. Download https://www.dropbox.com/s/dn1d3d12cxavbl4/LevelIntros.zip?dl=0 EDIT: If you downloaded the initial version, do redownload; added code to prevent it from crashing if the level doesn't have an assigned File ID. |
skawo |
Posted on 02-12-16, 11:35 am in tutorial Adding files to the ROM (rev. 5 by skawo on 02-08-18, 12:07 pm)
|
Karma: 19752 Posts: 252/1100 Since: 04-02-13 |
An absolutely awful, finnicky half-working tutorial, GO!
Tools DS Lazy: http://www.romhacking.net/utilities/793/ Modified NSMBe: https://www.dropbox.com/s/cc9q1nhv8vazps8/NSMBe_ID%20Extract.rar?dl=1 This shitty bat script: https://www.dropbox.com/s/fgd5zddv0npfzws/add_zero.bat?dl=1 Steps 1. Open your ROM in DS Lazy and click unpack. Let it finish. The files will be in the same directory as the exe, in a folder named NDS_UNPACK. 2. Open your ROM in the provided NSMBe. Go over to the ROM Filesystem tab and extract the whole filesystem somewhere. 3. Out of what NSMBe extracted, save fnt.bin somewhere. 4. Go into what NSMBe extracted, and into the course folder. Create a new folder, and move all files starting with a number less than 1000 into it. Place the shitty bat script there, too, and run it. It should append a zero to every filename's beginning. Move the files back into /course, delete the folder you made and the batch script. 5. Go into what DS Lazy extracted and copy over the four files that aren't in folders from data folder somewhere. Delete the data folder afterwards. 6. Copy over the NSMBe-extracted data folder over to the NDS_UNPACK folder of DSLazy. Delete the files that aren't in folders, and copy over the ones from DSLazy. 7. You can now add your new files. To do so, create a folder in NDS_UNPACK/data/ that's latter alphabetically than all the rest. For instance, start it with "z". Then, add your files into that folder. 8. Once done, start DS Lazy again and click "pack", choose destination. Test the ROM. Now, for the stupid bit of this; unfortunately, someone decided that NSMBe should load levels and tilesets per filename. Thus, while the created rom will work splendidly on an emulator or console, it will no longer be editable in NSMBe aside from the ROM Filesystem and Background tabs. To fix this, you can either become a wizard and manually return all the names to what they were originally in the fnt.bin, or you can import the original fnt.bin and then relaunch the editor. This will cause all the names to go back to what they were, and the new files will stay over too and work -- but without extensions or names. You can, of course, reimport the new fnt.bin again to get those back and keep switching if you wish. What can I do with this, though? Well, that depends on you. Mostly useful for ASM hacking, but you can rewire backgrounds to use those newly added files or things like that. |
skawo |
Posted on 08-12-16, 10:45 am in Newer Super Mario Bros. DS
|
Karma: 19752 Posts: 572/1100 Since: 04-02-13 |
Here's a preview of a custom sprite I made:
|
skawo |
Posted on 11-13-16, 01:43 pm in wip Goombatlas - The NSMB Worldmap Editor
|
Karma: 19752 Posts: 805/1100 Since: 04-02-13 |
skawo |
Posted on 01-07-17, 09:21 pm in Newer Super Mario Bros. DS
|
Karma: 19752 Posts: 878/1100 Since: 04-02-13 |
I personally think you just need to shut the fuck up.
|
skawo |
Posted on 04-16-16, 11:28 am in Additional boot credit (rev. 4 by skawo on 10-29-18, 02:01 pm)
|
Karma: 19752 Posts: 313/1100 Since: 04-02-13 |
This tiny ASM hack allows you to put in your own logo/disclaimer screen after the initial Nintendo one.
Example: 1. Usage 1. Set up the ASM Hacks template. 2. Copy the "BootDisplay.cpp" and "nsmb.h" files from /source in the downloaded RAR into the template's /source folder and the "symbols.x" into the template's root. 3. Put a ROM in the template folder and open it in NSMBe. 4. Go into the "demo" folder in the ROM File Browser, select a random enpg and extract the image. Use that image as a template to make your top/bottom boot images (256x256 bitmap, displayed is the top 192x256 of it). 5. Import one of your images into the enpg. Then, extract the enpg out of the rom. Do the same with the other image. 6. Replace two files in the rom listing with the enpgs you just extracted (use files that are unused by the game, or add new ones). Note the File ID of both of those files. 7. Open "BootDisplay.cpp" and put in the FileIDs of the files you replaced with the enpgs on lines 25 and 31, replacing the comment that is there. 8. On line 45, replace the comment with the lenght of time the screen is supposed to stay visible (in frames). 9. Insert the code into the ROM by pressing "Run make and insert" on the "Tools/Options" tab in NSMBe. 2. Download https://www.dropbox.com/s/3fk43hmnd0qdhk1/BootCredit.rar?dl=0 |
skawo |
Posted on 07-31-16, 04:08 pm in Newer Super Mario Bros. DS
|
Karma: 19752 Posts: 537/1100 Since: 04-02-13 |
That's just rude. I spend several hours working on it every fucking day.
And no. You don't get a demo. |
skawo | |
Karma: 19752 Posts: 822/1100 Since: 04-02-13 |
|
skawo |
Posted on 04-17-16, 02:36 pm in Editing the Boot Screen (rev. 9 by skawo on 04-24-19, 08:46 pm)
|
Karma: 19752 Posts: 319/1100 Since: 04-02-13 |
1. Decompress overlay 1 and open it in a hex editor,
2. Copy the following data, starting at the left address and ending at the right, saving each bit as separate file: (US ROM, didn't check Europe) Top Screen NCG 0xE64 - 0x1455 Top Screen NCL 0x1454 - 0x1654 Bottom Screen NCG 0x1844 - 0x256B Bottom Screen NCL 0x256C - 0x258B 3. Import the NCGs and NCLs into any NCGs/NCLs in NSMBe. Upon opening them, you should get the boot screen graphics. 4. Edit the graphics, save, compress, export the files out of NSMBe. 5. Copy the data back into the aforementioned adresses. If the data is shorter, copy just the size the new file is and leave the rest of the data alone. 6. You're done! PS. The remaining data of Overlay 1 are likely the NSCs. |
skawo |
Posted on 11-14-16, 09:50 pm in Super Mario
|
Karma: 19752 Posts: 814/1100 Since: 04-02-13 |
v141116.2 That's quite the version number |
skawo |
Posted on 01-07-17, 09:38 pm in Newer Super Mario Bros. DS (rev. 1 by skawo on 01-07-17, 09:49 pm)
|
|||
Karma: 19752 Posts: 879/1100 Since: 04-02-13 |
And for people who aren't total dicks, here are some updates: We're working on the final castle. I've made two new sprites just for it with the help of RoadrunnerWMC and Mariomaster is working on a custom final boss.
After that, I still have to do something about the ending and opening cutscenes and finish that secret project.
|
skawo |
Posted on 07-27-14, 09:11 pm in TS minigame/2 player mode access disable / cutscene disable (rev. 7 by skawo on 08-01-14, 11:45 am)
|
Karma: 19752 Posts: 7/1100 Since: 04-02-13 |
Decompress overlays 9_0 and 9_9 using some old revision of NSMBe (as the newest one at the time of the posting can't do that).
Open the rom in a hex editor Use the search function to find the values on the left. Replace them with the values on the right. Disable other main menu buttons (this means you can only get into the File Select screen by pressing A) 5C009F150010D015011081120010C015 -> 5C009F150010D015011081120000A0E3 040093E5520AFEEB -> 040093E50000A0E1 Disable titlescreen cutscene (timer is at x21C7AFC, x200A4DC is where the jump to "Check if B pressed" is done) 2183E00BB220D2E1 -> 2183E00B0000A0E1 This is for the US rom. EDIT: Updated the titlescreen cutscene skip, because the old one broke the opening scene. This makes the game think you're constantly pressing B on the titlescreen. |