MeroMero |
Posted on 07-16-16, 04:39 pm
|
Death by cuteness
Karma: 6589 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. |
Hiccup |
Posted on 07-16-16, 07:21 pm (rev. 3 by Hiccup on 07-16-16, 07:22 pm)
|
Birdo
Karma: 2789 Posts: 1653/2091 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?
|
MeroMero |
Posted on 07-16-16, 07:38 pm
|
Death by cuteness
Karma: 6589 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? |
Hiccup |
Posted on 07-16-16, 07:52 pm (rev. 1 by Hiccup on 07-16-16, 07:52 pm)
|
Birdo
Karma: 2789 Posts: 1654/2091 Since: 06-26-11 |
You're right, sorry. I guess that "loop" is the thing that is missing.
|
snake block |
Posted on 07-16-16, 08:54 pm
|
a
Karma: 1589 Posts: 1179/1290 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.
|
Hiccup |
Posted on 07-16-16, 09:22 pm
|
Birdo
Karma: 2789 Posts: 1655/2091 Since: 06-26-11 |
No pressure though, its not like you haven't contributed a bunch to NSMBDS hacking already.
|
MeroMero |
Posted on 07-17-16, 01:54 pm
|
Death by cuteness
Karma: 6589 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. |
Hiccup |
Posted on 07-17-16, 03:54 pm (rev. 2 by Hiccup on 07-18-16, 02:28 pm)
|
Birdo
Karma: 2789 Posts: 1657/2091 Since: 06-26-11 |
Thanks. These Snake Block mods alllow for a lot more new platforming mechanics.
|
MeroMero |
Posted on 07-20-16, 09:30 pm
|
Death by cuteness
Karma: 6589 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. |
Ultraboy |
Posted on 07-20-16, 09:35 pm
|
Panser
Karma: 577 Posts: 94/332 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 |
skawo |
Posted on 07-20-16, 11:47 pm
|
Karma: 19807 Posts: 458/1100 Since: 04-02-13 |
Heh, for a second I thought you managed to load the actual models.
|
MeroMero |
Posted on 07-21-16, 09:04 am (rev. 3 by MeroMero on 07-21-16, 09:09 am)
|
Death by cuteness
Karma: 6589 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. |
MarioFanatic64 |
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: 12749 Posts: 2128/2796 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. |
KingYoshi |
Posted on 07-26-16, 05:07 pm
|
Fire Snake
Eugene Karma: 3810 Posts: 903/1156 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] |
MeroMero |
Posted on 07-26-16, 06:18 pm (rev. 4 by MeroMero on 07-27-16, 09:05 am)
|
Death by cuteness
Karma: 6589 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 |
MarioFanatic64 |
Posted on 07-27-16, 08:29 pm
|
Roy Koopa
The guy who does things. Karma: 12749 Posts: 2131/2796 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. |
MeroMero |
Posted on 07-29-16, 04:54 pm (rev. 1 by MeroMero on 07-29-16, 05:29 pm)
|
Death by cuteness
Karma: 6589 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! |
skawo |
Posted on 07-29-16, 04:58 pm
|
Karma: 19807 Posts: 527/1100 Since: 04-02-13 |
Why use entire words in that table if you're storing halves?
|
MeroMero |
Posted on 07-29-16, 05:00 pm (rev. 1 by MeroMero on 07-29-16, 05:02 pm)
|
Death by cuteness
Karma: 6589 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. |
skawo |
Posted on 07-29-16, 05:01 pm
|
Karma: 19807 Posts: 528/1100 Since: 04-02-13 |
I see.
|