Posted on 07-16-16, 04:39 pm


Karma: 6219
Posts: 471/598
Since: 05-01-13
My bad, ASM code updated.

Be careful, upon applying any ASM patch that needs to modify overlay 0, the jyotyu tile behaviors will all revert to default settings.
What you should do is close NSMBe upon patching, then open it again and go to Jyotyu tileset to set back the Ice Snake Block behavior to 00 10 01 00.
Posted on 07-16-16, 07:21 pm (rev. 3 by  Hiccup on 07-16-16, 07:22 pm)
Birdo


Karma: 2540
Posts: 1653/2058
Since: 06-26-11
I've thought of something: to make the snake blocks basically have the full function of the NSMB2 ones (AFAIK), they'd need to have a setting/value that means they never stop. Could you add that?
_________________________
Will pay unspecified $ for NSMB beta.
Posted on 07-16-16, 07:38 pm


Karma: 6219
Posts: 472/598
Since: 05-01-13
Last node behaviour: list at nybble 4: 0=Nothing (keeps shape),1=Falls apart (doesn't keep shape),2=Comes back and forth,3=Skyrockets (keeps shape),4=Falls apart (keeps shape). Game will freeze if N4 mod 8 is 5 or 6.

Sorry for the emphasis but you can already do that, unless you meant the Snake Blocks in W4-Castle at the beginning of the level who just go around in an endless loop instead of coming back and forth?
Posted on 07-16-16, 07:52 pm (rev. 1 by  Hiccup on 07-16-16, 07:52 pm)
Birdo


Karma: 2540
Posts: 1654/2058
Since: 06-26-11
You're right, sorry. I guess that "loop" is the thing that is missing.
_________________________
Will pay unspecified $ for NSMB beta.
Posted on 07-16-16, 08:54 pm
a

Karma: 1159
Posts: 1179/1289
Since: 02-12-13
Yeah, if you can, you should add that. Even KingYoshi asked for that, at the end of the quote you posted in.
Posted on 07-16-16, 09:22 pm
Birdo


Karma: 2540
Posts: 1655/2058
Since: 06-26-11
No pressure though, its not like you haven't contributed a bunch to NSMBDS hacking already.
_________________________
Will pay unspecified $ for NSMB beta.
Posted on 07-17-16, 01:54 pm


Karma: 6219
Posts: 475/598
Since: 05-01-13
Code updated!
http://nsmbhd.net/post/49596/

2 conditions to use the looping:
_First set nybble 4 to 5 or D.
_Second when creating the Path for the (Ice) Snake Blocks, the penultimate node must be at the same place than node 0, and the last node must be at the same place than node 1.

Tested on a NDS for good measure.
Posted on 07-17-16, 03:54 pm (rev. 2 by  Hiccup on 07-18-16, 02:28 pm)
Birdo


Karma: 2540
Posts: 1657/2058
Since: 06-26-11
Thanks. These Snake Block mods alllow for a lot more new platforming mechanics.
_________________________
Will pay unspecified $ for NSMB beta.
Posted on 07-20-16, 09:30 pm


Karma: 6219
Posts: 476/598
Since: 05-01-13
Star Coins are worth 4000 points:
repl_02154C8C_ov_36: MOV R1, #6 BX LR


This is a porting of the code into ASM-Template format, but this is not the main topic behind my post, however:



Posted by skawo
This really seems like a perfect thing to ASM Hack to use separate palettes, you know. Wink Wink Nudge Nudge Poke Poke


Tested on a NDS.
Dedicated topic tomorrow, because right now I'm too tired due to the fact that NSMBe doesn't know how to handle .bncd files in 8bpp mode, pretty much forcing to edit the files the old-fashioned way (read: hex-editing).
I warn you, this is not quite what you would expect: while world-map icons no longer are restricted to 15 colors, they have to share the common 255 palette, this will be explained in detail.
Posted on 07-20-16, 09:35 pm
Porcupo


Karma: 578
Posts: 94/323
Since: 04-09-16
Posted by MeroMero
Star Coins are worth 4000 points:
repl_02154C8C_ov_36: MOV R1, #6 BX LR


This is a porting of the code into ASM-Template format, but this is not the main topic behind my post, however:



Posted by skawo
This really seems like a perfect thing to ASM Hack to use separate palettes, you know. Wink Wink Nudge Nudge Poke Poke


Tested on a NDS.
Dedicated topic tomorrow, because right now I'm too tired due to the fact that NSMBe doesn't know how to handle .bncd files in 8bpp mode, pretty much forcing to edit the files the old-fashioned way (read: hex-editing).
I warn you, this is not quite what you would expect: while world-map icons no longer are restricted to 15 colors, they have to share the common 255 palette, this will be explained in detail.


good MeroMero're awesome

Posted on 07-20-16, 11:47 pm


Karma: 18661
Posts: 458/1087
Since: 04-02-13
Heh, for a second I thought you managed to load the actual models.
Posted on 07-21-16, 09:04 am (rev. 3 by  MeroMero on 07-21-16, 09:09 am)


Karma: 6219
Posts: 477/598
Since: 05-01-13
Posted by skawo
Heh, for a second I thought you managed to load the actual models.

Oh well ¯\_(ツ)_/¯

You know, my original plan was to transform the palette used for the icons into a 10x256 palette.
Everything worked, but there was one slight problem: the OAM for the Sub-screen sprites were still reading the original palette despite having their color depth bit set to 1.

I almost gave up but suddenly I realized what was wrong, I forgot to tell the game to set [­B]DISPCNT bit 31 at 1, which when set is what enables the Sub-screen OAM to read the Sub Extended palettes.

Now it might take a little while before the thread's ready.
Posted on 07-25-16, 06:34 am (rev. 1 by  MarioFanatic64 on 07-25-16, 06:34 am)
Roy Koopa
The guy who does things.

Karma: 12044
Posts: 2128/2780
Since: 07-01-11
I have a request for  MeroMero. Would you be able to fix some issues with Clone behavior, like Mario receiving bouncing effect when the Clone stomps an enemy, and Koopa Shells teleporting to Mario when picked up by the Clone?

It'll help make my Clone Tag Team games function much better, and you've proved yourself worthy of pretty much anything at this point!
New Super Mario Bros.: Clone Tag Team 1+2 / New Super Mario Advance + Take 2 / Super Mario: Endless Earth
My two greatest assets have been mental stability and being, like, really smart.
Posted on 07-26-16, 05:07 pm
Fuzz Ball
under probation

Karma: 3259
Posts: 903/986
Since: 11-29-11
[offtopic]

Posted by KingYoshi
I was wondering if someone who's good in ASM Hacking would want to take a look at code of the noFreeze ASM Hack for me, since there are some glitches when reaching the flagpole/beating the boss. Maybe it'd be possible to make something that disables the ASM hack in these events.

Thanks in advance.


Posted by MarioFanatic64
I hate to be a pain, but I have a request to make, which I'm sure is an easy one.

Any way I can disable the L and R buttons only on the world map screens?


Posted by NSMBHN
I have a request, if it's not much to ask for: make the player always play as Mario. I always wanted this patch (not that I like Mario most). Hope you can make it happen.
Also, in the patches list, there's two 8's and 9's.


These are just the first three requests I found that were implemented in the concerning thread's next post.

Turns out Dirbaio was wrong when he said this. :')

Posted by Dirbaio
So don't ask if X thing is possible, it probably is. Don't ask for people to do it for you either: it's a lot of work and none will do it.

So if you really want X thing, go learn ASM hacking and do it. We will help you learn and we'll help you in your goal, as long as its you who's doing it.


[/offtopic]
Posted on 07-26-16, 06:18 pm (rev. 4 by  MeroMero on 07-27-16, 09:05 am)


Karma: 6219
Posts: 484/598
Since: 05-01-13
Posted by MarioFanatic64
I have a request for  MeroMero. Would you be able to fix some issues with Clone behavior, like Mario receiving bouncing effect when the Clone stomps an enemy, and Koopa Shells teleporting to Mario when picked up by the Clone?

It'll help make my Clone Tag Team games function much better, and you've proved yourself worthy of pretty much anything at this point!


First things first I managed to implement most of the changes you asked for, except for the Springboard…

1) Unlike other Actors that can be grabbed the Springboard has its own handler,
2) also unlike other grabbable Actors the Springboard fails in that it always thinks the original Mario is the one grabbing it
3) plus I would have to make the game be able to handle what would happen if 2 or more Mario's try to jump on the Springboard…
All in all it makes the Springboard too much of a hassle to make exceptions for… I'm sorry.

I don't remember if CTT or CTT2 have any area with both clones and springboards.
Apart for that Springboards still work as they should.


Second point: I know you didn't ask for that but I also made the 2 following codes:
_one for Luigi clones (you don't have to use this one since it might break CTT2 level design)
_fixed progress bar (this one you want to use)


Without further ado:

Clones fix :
@Luigi can spawn clones too repl_0215AEC4_ov_36: LDR R1, =0x2085A50 LDRB R1, [R1] @Get Player Number MOV R1, R1, LSL #4 AND R1, R1, #0x10 ORR R1, R1, R3 @Incorporate Player Number into cloned Player Actor Data (ID 21) BX LR @Progress bar always follows the original repl_020BECD4_ov_00: LDR R2, =0x208B35C LDR R2, [R2] LDR R2, [R2, #0x908] BX LR @Get the right Player Actor on Stomp repl_0209A82C_ov_00: LDR R0, =PseudoStack LDR R5, [R10, #4] STR R5, [R0] @Store the offset of the right Player Actor MOV R5, R3 BX LR repl_0209A83C_ov_00: LDR R0, =PseudoStack LDR R0, [R0] @Retrieve the offset of the right Player Actor BX LR @Get the right Player Actor on Grab repl_020E063C_ov_0A: LDR R0, =0x478 @Increase heap for Koopa Troopa BX LR repl_020E066C_ov_0A: LDR R0, =0x478 @Increase heap for Koopa Paratroopa BX LR repl_02155EA8_ov_36: LDR R0, =0x50C @Increase heap for Springboard BX LR repl_0214E2D4_ov_2A: LDR R0, =0x4C0 @Increase heap for Bob-Omb BX LR repl_02151748_ov_2A: LDR R0, =0x634 @Increase heap for Spiny BX LR repl_0215179C_ov_2A: LDR R0, =0x634 @Increase heap for Roof Spiny BX LR repl_021775B8_ov_44: LDR R0, =0x598 @Increase heap for Buzzy Beetle BX LR repl_0212B27C_ov_0B: CMP R1, #0 BEQ .Return LDRH R0, [R1, #0xC] @Get the Actor ID CMP R0, #0x23 @Bob-Omb BEQ .SpecialCases CMP R0, #0x28 @Spiny BEQ .SpecialCases CMP R0, #0x36 @Buzzy Beetle BEQ .SpecialCases CMP R0, #0x5E @Koopa Troopa BEQ .SpecialCases CMP R0, #0x5F @Koopa Paratroopa BEQ .SpecialCases CMP R0, #0x7B @Roof Spiny BEQ .SpecialCases CMP R0, #0xED @Springboard BNE .Return .SpecialCases: LDR R0, [R1, #-0xC] @Get heap size for grabbed Actor SUB R0, R0, #4 @Subtract 4 to get the offset… STR R2, [R1, R0] @…where the Player Actor will be stored .Return: LDR R0, [R2, #0x688] BX LR repl_0209A174_ov_00: LDR R0, [R8, #-0xC] SUB R0, R0, #4 LDR R0, [R8, R0] @Retrieve the offset of the right Player Actor BX LR repl_0209FB64_ov_00: LDR R0, [R4, #-0xC] SUB R0, R0, #4 LDR R0, [R4, R0] @Retrieve the offset of the right Player Actor BX LR .data .balign 4 PseudoStack: .word 0x0

Posted on 07-27-16, 08:29 pm
Roy Koopa
The guy who does things.

Karma: 12044
Posts: 2131/2780
Since: 07-01-11
Whoop whoop.

Thank you kindly.
New Super Mario Bros.: Clone Tag Team 1+2 / New Super Mario Advance + Take 2 / Super Mario: Endless Earth
My two greatest assets have been mental stability and being, like, really smart.
Posted on 07-29-16, 04:54 pm (rev. 1 by  MeroMero on 07-29-16, 05:29 pm)


Karma: 6219
Posts: 497/598
Since: 05-01-13
Improved Red Coins:
repl_0215418C_ov_36: ADD LR, LR, #4 BX LR repl_021541A0_ov_36: ADD LR, LR, #0x10 LDR R5, [R4, #8] CMP R0, #1 @Check if Super Mario ANDEQ R5, R5, #0x30000000 @Stage 2 power-up (nybble 4) ANDNE R5, R5, #0x1000000 @Stage 3 power-up (nybble 5) MOV R5, R5, LSR #0x18 MOVEQ R5, R5, LSR #4 ADDNE R5, R5, #4 ADD R5, R5, #1 CMP R5, #6 BNE .Return CMP R0, #3 MOVEQ R5, #5 .Return: CMP R5, #5 ADDCC LR, LR, #0xC BX LR repl_021541C8_ov_36: LDR R0, =PowerUpTable BX LR repl_021541D0_ov_36: MOV R5, R5, LSL #1 LDRH R1, [R0, R5] BX LR .data .balign 2 PowerUpTable: .hword 0x1088 @Red Mushroom .hword 0x1089 @Fire Flower .hword 0x1099 @Mini Mushroom .hword 0x108B @Blue Shell .hword 0x1089 @Fire Flower .hword 0x1087 @1-Up Mushroom .hword 0x1081 @Starman


Despite what you would think, this is simpler to do the power-up check on the Red Coins rather than on the Red Ring.
New data:
_Nybble 4: Power-up if Super Mario
_Nybble 5: Power-up if Mario is on a Stage 3 transformation

For the purposes of this mod, Mini-Mario is counted as a Stage 3 transformation.
Possible values:
_Nybble 4:
0: Fire Flower
1: Mini Mushroom
2: Blue Shell
3: Fire Flower
modulo 4

_Nybble 5:
0: 1-Up Mushroom
1: Starman
modulo 2

Note that Mega-Mario will trigger the 1-Up Mushroom regardless of nybble 5 settings!
Posted on 07-29-16, 04:58 pm


Karma: 18661
Posts: 527/1087
Since: 04-02-13
Why use entire words in that table if you're storing halves?
Posted on 07-29-16, 05:00 pm (rev. 1 by  MeroMero on 07-29-16, 05:02 pm)


Karma: 6219
Posts: 498/598
Since: 05-01-13
It was like that on the original code, plus laziness of my part.
It will only take a few moments to add the 3 necessary lines.
Posted on 07-29-16, 05:01 pm


Karma: 18661
Posts: 528/1087
Since: 04-02-13
I see.