Pages: « 1234567 »
Posted on 08-09-14, 09:57 pm in Rips from Newer NSMB Titles


Karma: 19757
Posts: 37/1100
Since: 04-02-13
Posted by TRS
Actually, I was told by someone that Newer tilesets were free to use as long as you give credit. I haven't confirmed this for myself, but if it's true then I was planning on maybe doing some Newer tilesets.


I can confirm it.

Hooray?
Posted on 04-20-15, 07:42 am in Newer Super Mario Bros. DS


Karma: 19757
Posts: 129/1100
Since: 04-02-13
Posted by SaturnYoshi
I'm gonna have to agree with Mariomaster, that background looks really bad.


What's even wrong with it? It's the same idea as in NSMBW's airship and of course it is going to move around when the boss is zooming around, that would happen to every single background I could put there.

Posted by SaturnYoshi
My only other complaint would be that the level does not have a very large variety of enemies, there are only a couple bob-ombs and everything else is just fire cannons. (I forget their name )

What is this even.

A set of four enemies for a level is perfectly fine. There's levels in NSMBDS with only one. In fact, the longest level in NSMBDS (The final castle) has the same amount as that airship. The most varied of levels have five.

In fact, news flash: if you're putting a large enemy variety into your levels, you're doing it wrong. Wrong, wrong, wrongity wrong.
Posted on 12-11-15, 07:34 pm in Newer Super Mario Bros. DS


Karma: 19757
Posts: 219/1100
Since: 04-02-13
Go eat a hat, you programmer extraordinaire
Posted on 12-31-15, 11:00 pm in tutorial Resize (looped) SWAVs (rev. 2 by  skawo on 12-31-15, 11:10 pm)


Karma: 19757
Posts: 226/1100
Since: 04-02-13
Before I begin, I should mention that this process is quite crummy and you'll have to fiddle with the results to get it working quite right. The point of this is to get songs that wouldn't quite fit into the RAM to the point of doing so.

1. Convert the swavs to WAV using either VGMTrans or Kiwi.ds. Keep a copy of the unconverted swavs somewhere, as well.
2. Open the wav corresponding to the swav you want to resize in audacity. Change the "Project rate(Hz)" to something lower than it is. Export the result as an Uncompressed 8-Bit PCM WAV. (Yes, this will lower quality, but that's unfortunately how it'll have to be)
3. Reconvert the WAV to SWAV using wav2swav
4. Open the original, unmodified swav and your newly made one simultaneously in a Hex Editor.
5. Take note at 0x19 in the unmodified swav. If it's 0, skip to step 15. If it's 1, keep going.
6. From the unmodified swav, note down:

2 bytes at 0x8 (Overall filesize)
2 bytes at 0x1e (Loop Point)
2 bytes at 0x20 (Non-Looped Size)

From the newly created swav, note down the 2 bytes at 0x8.

7. Change the order of the bytes in each case (so, if you have "0E56" noted, change it to "560E"
8. Change the hex values you now have to decimals (use, eg. Windows' Calculator's Programmer mode)
9. Calculate what percent the loop point and the non-looped size are of the overall filesize of the unmodified swav (Divide the loop point and the non-looped size by the overall filesize). Note down the results to the fourth number after the dot.
10. Multiply the overall filesize of the newly created swav individually by the values you came to in step 9.
11. Change the results you come to in step 10 to hex.
12. Change the number of bytes of the hex values you arrived to in step 11 (So, if you have "0012", change it to "1200")
13. Insert the byte-order changed hexadecimal you arrived at by multiplying new SWAV's filesize by the percent the original loop point was of the original filesize at 0x1e of the new SWAV.
14. Insert the byte-order changed hexadecimal you arrived at by multiplying new SWAV's filesize by the precent the original non-looped size was of the original filesize at 0x20 of the new SWAV.
15. Save the new SWAV. Rebuild the SWAR using SWAV2SWAR.
16. Test the song. If there's something wrong, and your song has 0x1 at 0x19, subtract 0x10 from the loop point (i.e decrease value at 0x1e) in the new swav and try testing again.
Posted on 03-10-16, 02:24 am in release Super Mario: Endless Earth (rev. 3 by  skawo on 03-10-16, 02:30 am)


Karma: 19757
Posts: 291/1100
Since: 04-02-13
Progress on that

You press A and it shows an enpg from a list. Woot. Timing/details/fades/music player/the A button prompt graphics to be worked out.

If you could, please send me your slides so I can adjust it to work nicely with them.
Posted on 04-20-16, 05:28 pm in Newer Super Mario Bros. DS


Karma: 19757
Posts: 327/1100
Since: 04-02-13
No demos.
Posted on 07-12-16, 12:54 pm in Additional boot credit


Karma: 19757
Posts: 428/1100
Since: 04-02-13
Code updated; will now check if the save data is blank. If it is, it won't proceed until A has been pressed. You can also define the amount of time the screen has to stay on before it can be dismissed with the A press.
Posted on 07-25-16, 03:47 pm in Nintendo's amazing level design (rev. 1 by ImageBot on 11-21-16, 03:22 am)


Karma: 19757
Posts: 485/1100
Since: 04-02-13
Posted by Hiccup
Its just decoration. If you want to see what appears to be actual tiling problems, see NSMB2. E.g. World Flower-Castle


I always enjoy this little collage I made:

Posted on 07-27-16, 04:06 pm in Ghost Star Coin (rev. 9 by  skawo on 09-06-16, 12:38 pm)


Karma: 19757
Posts: 507/1100
Since: 04-02-13
If you ever played Newer Wii, you know the drill. It's a star coin that disappears when collected, but doesn't count toward level completion. Plays a Boo laugh and some fancy effects while at it; needs sound set to have the boo laugh enabled, of course.

Ghost Star Coin:
#Always spawn repl_02154690_ov_36: LDR R2, [R5,#8] LSR R2, R2, #28 AND R2, R2, #0xF CMP R2, #1 MOVEQ R2, #0 LDRNEB R2, [R0] #Don't ever look collected repl_02154678_ov_36: CMP R0, #0 BXEQ LR LDR R0, [R5, #8] LSR R0,R0,#28 AND R0, R0, #0xF CMP R0, #1 MOVEQ R0, #0 BX LR #Spin counterclockwise repl_02154B78_ov_36: LDR R0, [R4, #8] LSR R0,R0,#28 AND R0, R0, #0xF CMP R0, #1 LDR R0,=0x0212945C LDRSH R0, [R0,#0x6] RSBEQ R0,#0x1 BX LR #Don't count towards level completion repl_02154C54_ov_36: MOV R4, R0 LDR R0, [R4, #8] LSR R0,R0,#28 AND R0, R0, #0xF CMP R0, #1 BEQ 0x02154CA8 BXNE LR #Play Boo Laugh repl_02154CB0_ov_36: STMFD SP!, {LR} BL 0x02012398 LDR R0, [R4, #8] LSR R0,R0,#28 AND R0, R0, #0xF CMP R0, #1 LDREQ R0, =0xA2 ADDEQ R1, R4, #0x5C BLEQ 0x02012398 LDMFD SP!, {PC} #Particle 1 replacement repl_02154D08_ov_36: LDR R0, [R4, #8] LSR R0,R0,#28 AND R0, R0, #0xF CMP R0, #1 LDRNE R0, =0xF8 LDREQ R0, =0x1D BX LR #Particle 2 replacement repl_02154D28_ov_36: LDR R0, [R4, #8] LSR R0,R0,#28 AND R0, R0, #0xF CMP R0, #1 LDRNE R0, =0xF9 LDREQ R0, =0xFA BX LR #Particle 3 replacement repl_02154D34_ov_36: LDR R0, [R4, #8] LSR R0,R0,#28 AND R0, R0, #0xF CMP R0, #1 LDRNE R0, =0xFA LDREQ R0, =0x6B BX LR #Destroy itself repl_02154D3C_ov_36: LDR R0, [R4,#0x508] CMP R0, #0 BXNE LR LDR R0, [R4, #8] LSR R0,R0,#28 AND R0, R0, #0xF CMP R0, #1 MOVLT R0, #0 BX LR

To put into a level - Nybble 5 (counting from 1):
0 - Regular star coin
1 - Ghost star coin
2 - Appear on bottom screen immediately without spinning down



Tested on NDS.
Posted on 07-30-16, 08:31 pm in Misc. patches thread (rev. 2 by  skawo on 07-30-16, 08:43 pm)


Karma: 19757
Posts: 536/1100
Since: 04-02-13
Timed Podoboos:
repl_021480D0_ov_30: STMFD SP!, {R1,LR} LDR R1, [R4, #8] LSR R1,R1,#0 AND R1, R1, #0xFF CMP R1, #0 STREQH R0,[R3,#0xCA] LDMEQFD SP!, {R1,PC} CMP R1, #1 MOVGE R0,#0x5 STREQH R0,[R3,#0xCA] LDMEQFD SP!, {R1,PC} MUL R0, R1, R0 STRH R0, [R3,#0xCA] LDMFD SP!, {R1,PC}


Uses nybbles 11 and 12 (the two last ones). If 0, it'll use the timer the game calculates (i.e a random one). If not, it'll do 5 ticks * nybble.

Posted on 08-07-16, 11:00 am in Newer Super Mario Bros. DS


Karma: 19757
Posts: 559/1100
Since: 04-02-13
I just finished this completely pointless addition to the game:



I sure know how to prioritize.
Posted on 09-01-16, 10:08 pm in Newer Super Mario Bros. DS (rev. 1 by  skawo on 09-01-16, 10:18 pm)


Karma: 19757
Posts: 631/1100
Since: 04-02-13
Here's another custom sprite preview:



Something I implemented a while back. And yes, the game crashes if you stomp a too- big one, simply due to the amount of polygons it's trying to display. I may limit the amount of Goombas it spawns to make the larger ones usable, but I wasn't planning on using those super giant ones in NerDS anyway.
Posted on 09-03-16, 10:05 am in Misc. patches thread (rev. 2 by  skawo on 09-03-16, 10:06 am)


Karma: 19757
Posts: 646/1100
Since: 04-02-13
Posted by Asproek
Also, swako, could you implement six more players, the Koopalings, the Falcon punch and a three-layer tileset mode?


YEP NO PROB HER:


Posted by skawo
Seven Player Co-Op, Koopalings, Falcon Punch, Yoshi and Three Tileset Layers:
nsub_01FFD524_main: LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] LDR R0, [R1] LDR R1, [R0] BX LR

Posted on 09-20-16, 12:59 pm in Misc. patches thread (rev. 5 by  skawo on 09-28-16, 06:21 pm)


Karma: 19757
Posts: 694/1100
Since: 04-02-13
Level Darkness Setting:
#include "nsmb.h" vu8 *Brightness = (vu8*)(0x400006C); bool *MenuOpen = (bool*)(0x020CA870); void hook_020A2ED0() { int CurrentView = (((*(getPtrToPlayerActor()+0xAF)>>16)&0xFF)); if ((MygetUnk2ForView(CurrentView) != 2)) { if (*Brightness != 0) setBrightness(1,0); return; } if (((*Brightness) < (MygetUnk1ForView((CurrentView)))) && !(*MenuOpen)) { setBrightness(1,-((*Brightness)+1)); } if ((*Brightness) != 0) { if (*MenuOpen) { setBrightness(1,-((*Brightness)-1)); } } return; } void hook_020A134C() // Restore brightness on world map { setBrightness(1, 0); return; }

This goes into a .cpp file. You also need the "Disable broken Unk functionality" from this post.

By setting Unk 2 in view settings to 2, you enable darkness, the intensity of which is controlled by Unk 1.
Posted on 09-23-16, 12:09 pm in My name is Earl


Karma: 19757
Posts: 705/1100
Since: 04-02-13
Congrats on having the highest pointless arbitrary number, bro!

Posted on 10-10-16, 01:01 pm in release Super Mario: Endless Earth


Karma: 19757
Posts: 745/1100
Since: 04-02-13
What a twat
hope he stabs himself in the eye with them
Posted on 11-05-16, 07:36 pm in Newer Super Mario Bros. DS


Karma: 19757
Posts: 784/1100
Since: 04-02-13
me too,
me too.

<- has just spent three days on asm for one level
Posted on 11-13-16, 09:17 pm in Music Swapper Sprite (rev. 1 by ImageBot on 11-21-16, 03:25 am)


Karma: 19757
Posts: 808/1100
Since: 04-02-13
This lets you play an external SSEQ/SWAR/SBNK combo, essentially allowing for virtually unlimited music variation.


How to setup
1. Setup the ASM Hacking Template,
2. Copy the contents of the SOURCE folder in the zip into the source folder of the ASM Hacking Template.
3. Copy the symbols.x into ASM Hacking Template root
4. Replace any three (or two, which should be enough for most purposes) songs (their SSEQ/SWAR/SBNK) in the original SDAT with the ones provided in the SDATA folder.
6. Add some files to the rom. Import your custom theme SSEQ/SWAR/SBNK into three files in a row (in that order).
7. Open MusicModifier.c in a text editor. On lines 29, 32 and 35 change "FIRST SONG FILE ID HERE" to the ID of the first new file in the ROM
8. Compile the code in and replace the SDAT in the ROM.
9. Place sprite 143 into every zone you wish to swap the music in. The three last nybbles define the song ID. This means, if, for instance, your first song occupies slots 2000, 2001, 2002, it should be set to 0. If set to 1, it'll play a song occupying the files 2003, 2004, 2005. Etc.
10. Change the Music ID in the zone settings to that of the one of the replaced songs. If you wish to swap songs in between zones or areas, the IDs have to differ in each (which is why multiple songs were replaced with the dummy ones)


LIMITATIONS:
1. The external SSEQ, SWAR and SBNK have to be smaller than the ones included in the package. This isn't much of a problem, as the ones included are pretty much the maximum you can have anyway.
2. Doesn't work in levels that load the boss victory music.
3. Doesn't let you swap music mid-zone.


Download: http://nsmbhd.net/file/qUbYK0xTMq6Ofi43/MusicModifier.zip
Posted on 11-15-16, 08:27 pm in Newer Super Mario Bros. DS


Karma: 19757
Posts: 818/1100
Since: 04-02-13
My Mario bathes everyday I'll have you know
Posted on 11-19-16, 08:42 pm in Misc. patches thread


Karma: 19757
Posts: 829/1100
Since: 04-02-13
Shift Podoboo By Half Tile Right Nybble:
repl_02147F14_ov_30: MOV R4, R0 LDR R1, [R4, #8] LSR R1, #0x8 ANDS R1, R1, #0xF BXEQ LR MOV R1, #0x8000 LDR R0, [R4, #0x60] ADD R0, R1 STR R0, [R4, #0x60] BX LR

Nybble 10
Pages: « 1234567 »