Posted on 01-24-17, 07:27 pm in Misc. patches thread (rev. 2 by  skawo on 01-25-17, 06:35 pm)


Karma: 19817
Posts: 903/1100
Since: 04-02-13
New code. The animation is not referenced by the game at all.

Improved Blue Shell for ASM-Template The Not Weird Version (still kinda weird):
repl_021111DC_ov_0A: STMFD SP!, {R6-R7} ADD R7, PC, #0x164 ADD LR, PC, #0 BX R7 CMP R1, R6 ADDLT PC, PC, #0x14 CMP R0, #0 MOVLT R0, R6 RSBLT R0, R0, #0 MOVGE R0, R6 LDMFD SP!, {R6-R7} B 0x21111F4 LDMFD SP!, {R6-R7} B 0x21111FC repl_021114D8_ov_0A: STMFD SP!, {R6-R7} MOV R6, R5 SUB R6, #0x10 NOP LDR R6, [R6, #0x7B0] TST R6, #0x80 MOVEQ R0, #0 ADDNE R0, R0, #0x80 CMP R0, #0 ADDNE PC, PC, #4 LDMFD SP!, {R6-R7} B 0x21114E0 ADD R7, PC, #0x100 ADD LR, PC, #0 BX R7 NOP MOV R7, R5 SUB R7, #0x10 LDR R1, [R7, #0xC4] LDR R2, [R7, #0xC8] CMP R1, R2 MOVEQ R1, #1 MOVNE R1, #0 CMP R2, #0 RSBLT R6, R6, #0 CMP R1, #0 STRNE R6, [R7, #0xC4] STR R6, [R7, #0xC8] LDMFD SP!, {R6-R7} B 0x2111528 repl_0211162C_ov_0A: TST R2, #0x80 @Check if D-Pad_Down is pressed ADDNE R0, R0, #0x80 CMP R0, #0 BNE 0x2111634 B 0x211169C repl_02111874_ov_0A: STMFD SP!, {R6-R7} ADD R7, PC, #0xA0 ADD LR, PC, #0 BX R7 MOV R1, R6 LDMFD SP!, {R6-R7} B 0x2111878 repl_021122E8_ov_0A: STMFD SP!, {R6-R7} ADD R7, PC, #0x84 ADD LR, PC, #0 BX R7 CMP R0, #0 MOVLT R0, R6 RSBLT R0, R0, #0 MOVGE R0, R6 LDMFD SP!, {R6-R7} B 0x21122F8 repl_02112574_ov_0A: STMFD SP!, {R6-R7} ADD R7, PC, #0x5C ADD LR, PC, #0 BX R7 CMP R0, #0 MOVLT R0, R6 RSBLT R0, R0, #0 MOVGE R0, R6 LDMFD SP!, {R6-R7} B 0x2112584 repl_02115D14_ov_0A: STMFD SP!, {R6-R7} ADD R7, PC, #0x68 ADD LR, PC, #0 BX R7 CMP R0, R6 ADDGE PC, PC, #4 LDMFD SP!, {R6-R7} B 0x2115D40 LDMFD SP!, {R6-R7} MOV R0, R4 SUB R0, #0x10 NOP LDR R0, [R0, #0x7B0] TST R0, #0x80 BNE 0x2115D18 B 0x2115D40 @Relative function STMFD SP!, {LR} LDR R7, =0x208B350 @Pointer for Starman duration counter LDR R7, [R7] @Get Starman remaining time CMP R7, #0 @Check if Starman counter is 0 MOVNE R7, #4 MOV R6, R5 SUB R6, #0x10 LDR R6, [R6, #0x264] @Get Mario's current action CMP R6, #0 @Check if Mario is airborne MOVEQ R7, #0 LDR R6, =0x212E344 @Pointer for running speed LDR R6, [R6, R7] @Get max speed LDMFD SP!, {PC} @Relative function 2 because lazy as fuck STMFD SP!, {LR} LDR R6, =0x203A784 LDR R7, =0x208B350 @Pointer for Starman duration counter LDR R7, [R7] @Get Starman remaining time CMP R7, #0 @Check if Starman counter is 0 MOVNE R7, #4 MOV R6, R4 SUB R6, #0x10 LDR R6, [R6, #0x264] @Get Mario's current action CMP R6, #0 @Check if Mario is airborne MOVEQ R7, #0 LDR R6, =0x212E344 @Pointer for running speed LDR R6, [R6, R7] @Get max speed LDMFD SP!, {PC}


I recently broke something in Newer DS that made the original version of code above not work. There it is edited.
Albeit I have absolutely no idea why you would write that like that in the first place.

I mean, why would you get MarioAddress that way, why is it not actually Mario Address but MarioAddress - 0x10, especially since you're jumping from Mario code and therefore MarioAddress is in a register already and why does it rely on some Minigame NARC's end pos and why add directly to PC if you could jump to a label and make this more maintainable?


just

why~
Posted on 01-28-17, 12:52 am in Misc. patches thread


Karma: 19817
Posts: 906/1100
Since: 04-02-13
Disable all music:
nsub_02060244: bx lr


Useful for recording trailers and the like.
Posted on 03-17-17, 08:06 am in Newer Super Mario Bros. DS


Karma: 19817
Posts: 937/1100
Since: 04-02-13
Here's a thing.

Posted on 04-01-17, 01:30 pm in Newer Super Mario Bros. DS


Karma: 19817
Posts: 941/1100
Since: 04-02-13
You can save at all times.
Posted on 04-01-17, 09:32 pm in i have leak the newer super mario ds!!


Karma: 19817
Posts: 946/1100
Since: 04-02-13
I really hope there is some new world order coming and april fools is removed from history forever
Posted on 04-02-17, 07:49 pm in Misc. patches thread (rev. 2 by  skawo on 04-02-17, 07:51 pm)


Karma: 19817
Posts: 949/1100
Since: 04-02-13
Increase or decrease Sound Heap size
repl_020125F0_main:
        LDR R0, =0xC0000
        BX LR

repl_020125F8_main:
        LDR R1, =0xC0000
        BX LR

repl_0204DA30_main:
        LDR R2, =0x1D8A8
        BX LR


Original size is 0xC0000, which means all the sound can take up 786432 (0xC00000) bytes total. The boss music gets its own separate heap with size of 121000 (0x1D8A8) bytes. You can increase this so your custom, larger songs will fit in, or decrease to re-gain some precious RAM for other things.

Posted on 04-05-17, 04:12 pm in Newer Super Mario Bros. DS


Karma: 19817
Posts: 951/1100
Since: 04-02-13
There, that better?
Posted on 04-06-17, 11:24 pm in Newer Super Mario Bros. DS


Karma: 19817
Posts: 952/1100
Since: 04-02-13
Posted on 07-27-17, 07:32 pm in Newer Super Mario Bros. DS


Karma: 19817
Posts: 1009/1100
Since: 04-02-13
Yeah, she should use the properly shaped apparatus, at least. The Wiimote is excellent.
Posted on 08-18-17, 12:33 am in Newer Super Mario Bros. DS (rev. 1 by  skawo on 08-18-17, 12:34 am)


Karma: 19817
Posts: 1017/1100
Since: 04-02-13
The vehicle mechanic is pretty much fully implemented, and half of its level is now complete.

Just waiting for SFX and extra graphics, now.

Final Boss is making some progress, too, mainly in the animation department.
Posted on 10-07-17, 02:47 pm in Misc. patches thread (rev. 1 by  skawo on 10-07-17, 02:47 pm)


Karma: 19817
Posts: 1030/1100
Since: 04-02-13
Fine Firebar Speed Control
repl_0213ED20_ov_18:
        CMP     R0, #0
        MOVEQ   R2, #0xC0
        MOVNE   R2, #0x100
        LDR     R0, [R4, #8]
        LSR     R0, R0, #20
        CMP     R0, #0
        MOVNE   R2, R0
        ADD     R0, R4, #0x1C00
        LDRH    R1, [R0,#0xC0]
        B       0x213ED34


If Nybbles 5-7 are free, firebars behave like original game. Otherwise, the firebar uses speed defined in those nybbles. Original game uses "0x100" for fast and "0xC0" for slow. You can, with this, use 0x1 (practically stationary) - 0xFFF (hell on land)
Posted on 11-04-17, 01:33 am in Misc. patches thread (rev. 2 by  skawo on 11-04-17, 01:35 am)


Karma: 19817
Posts: 1032/1100
Since: 04-02-13
Load Boot Screen From Filesystem
nsub_020CCC44_ov_01:
        LDR     R0, =TopNCGFilename
        LDR     R2, =5792                                               @ Size of uncompressed NCG
        BL      loadFileByName_Dest_WithMax
        LDR     R0, =512                                                @ Size of uncompressed NCL
        BL      allocFromGameHeap      
        LDR     R1, =NCLPointer
        STR     R0, [R1]
        MOV     R1, R0
        LDR     R0, =TopNCLFilename
        LDR     R2, =512                                                @ Size of uncompressed NCL
        BL      loadFileByName_Dest_WithMax    
        LDR     R4, =NCLPointer
        LDR     R0, [R4]
        BL      freeToGameHeap
        LDR     R0, [R4]
        B       0x20CCC50
       
nsub_020CCC64_ov_01:
        LDR     R0, =TopNSCFilename
        LDR     R2, =2048                                               @ Size of uncompressed NSC
        BL      loadFileByName_Dest_WithMax
        B       0x20CCC6C
       
.data
.balign 4
TopNCGFilename:
        .asciz "/obj/A_text_mariostart_ncg.bin"                         @ Example file names; don't use these.
.balign 4
TopNCLFilename:
        .asciz "/obj/I_enemy_ncl.bin"
.balign 4
TopNSCFilename:
        .asciz "/obj/I_enemy_R_ncl.bin"
.balign 4
NCLPointer:
        .word 0x0


The necessary files for this are in Overlay 1.
NCG is at 0xE64, 0x5EF long,
NCL is at 0x1454, 0x200 long, uncompressed,
NSC is at 0x1654, 0x1F0 long.

Decompress the NCG and NCL once you import them into the filesystem. The file path cannot contain spaces.
Posted on 11-04-17, 10:40 am in Newer Super Mario Bros. DS


Karma: 19817
Posts: 1033/1100
Since: 04-02-13
We already have the final boss mostly done.
Posted on 12-25-17, 04:22 pm in Newer Super Mario Bros. DS


Karma: 19817
Posts: 1042/1100
Since: 04-02-13
"21KB"

Mmm, no, mister Bent. Definitely not "K"B.
Posted on 01-04-18, 07:31 pm in is anyone developing a 3 player version?


Karma: 19817
Posts: 1060/1100
Since: 04-02-13
Have fun fitting a third player's model and animations in the RAM
Posted on 04-01-18, 02:03 pm in Misc. patches thread (rev. 1 by  skawo on 04-01-18, 02:03 pm)


Karma: 19817
Posts: 1072/1100
Since: 04-02-13
Expand Warp Entrance to 255 areas:

repl_02156014_ov_36:
AND     R0, R0, #0xFF
LDR     R2, =#0x424
STRH    R0, [R4, R2]
BX      LR

repl_02156084_ov_36:
BX      LR

repl_021564D4_ov_36:
LDR     R1, =#0x424
LDRH    R1, [R5, R1]
BX      LR

repl_02156514_ov_36:
LDR     R0, =#0x424
LDRH    R0, [R5, R0]
BX      LR

repl_0215663C_ov_36:
LDR     R0, =#0x426
BX      LR


Replaces the glitchy "Disable Sound" nybble as multiplier. Basically, entrance = (Disable Sound Nybble) * 16 * (Warp Area Nybble)
Posted on 07-11-21, 12:09 am in v1.10 New Super Mario Bros. U DS (rev. 1 by  skawo on 07-11-21, 12:17 am)


Karma: 19817
Posts: 1098/1100
Since: 04-02-13
Posted by poudink
Posted by Mae
Do you have any idea how pathetic it sounds that you're attempting to claim ownership of a level design in a fan made collaborative spin-off community that already consists of arguably unlawful, unlicensed exploitation of Nintendo consoles? Good grief. You need to grow up, get a life, find a girlfriend, and find a job.
Frankly, I've thought that for quite a while too. I guess it's the hypocrisy of the romhacking community. They'll gladly take anything they want from other games without even giving credits, but the moment you take something from another hack without permission, then you're considered a thief. The insults towards  skawo were pretty uncalled for though.


No one in the romhacking community pretends that they were the ones to make NSMB, tilesets or otherwise. Skylander did insist the level design was of his own.

Tilesets are also NOT the same kinds of assets as levels. They're essentially tools to make things with. Using a tileset in a hack does not mean you end up with the same gameplay as if you actually reuse a level.

Furthermore, hacks with levels that are blatant copies of Nintendo's levels would be similarly panned as unoriginal and forced to be taken down - as is the policy around here.

This just HAS to be like this. For the sake of the community, you can't just take others' levels verbatim and put them in your own hacks, because otherwise we'll end up with hacks that repeat the same content over and over.

I find it baffling anyone here would question this. Like, seriously, what the fuck.


Karma: 19817
Posts: 8/1100
Since: 04-02-13
Indeed. It's a timer that increases by 1 each frame and is checked by the game each frame on the titlescreen. If it's big enough, the cutscene starts.
I just made it increase by 0.


Karma: 19817
Posts: 9/1100
Since: 04-02-13
I mean that the address won't always be constant. It's probably a field in the titlescreen actor class (or another one), which is dynamically allocated. It can get allocated in another place in the heap depending on the order of stuff.


Oh, I see. That's indeed possible.
Posted on 07-28-14, 11:51 am in Elusive graphic


Karma: 19817
Posts: 11/1100
Since: 04-02-13
Corrupted how?

And thanks.