Posted on 02-17-16, 07:57 pm
Death by cuteness

Karma: 6554
Posts: 364/598
Since: 05-01-13
Hmmm…
There was bound to be a problem when we both use different regions (EU for me and US for you).
And even if we used the same region, the Blue Shell code required me to use the space from 19C0 to 3000 in the arm9 to put the code.
Which means that most likely you would hook the code at a different address anyway.

I can still try to port the code from EU to US at offset 0×2800 in arm9, that way there won't be any conflict with an already existing code.

For the pipes it's going to be a lot harder though, since my code is, to be frank, quite a mess.
Posted on 02-17-16, 08:00 pm


Karma: 19752
Posts: 259/1100
Since: 04-02-13
I would be most thankful. I didn't intend to use the pipe code, but it'd be nice if it was ported for others.
Posted on 02-19-16, 08:34 pm (rev. 1 by  MeroMero on 02-19-16, 09:04 pm)
Death by cuteness

Karma: 6554
Posts: 365/598
Since: 05-01-13
Blue Shell improved: (US)

_Decompress arm9
_Paste this at offset 0×2800
90 6A 1B 02 7C 71 1B 02 50 B3 08 02 44 E3 12 02 00 40 2D E9 1C 60 1F E5 18 70 1F E5 00 70 97 E5 00 00 57 E3 04 70 A0 13 40 00 00 EA 00 80 BD E8 C0 00 2D E9 F5 FF FF EB 06 00 51 E1 05 00 00 BA 00 00 50 E3 06 00 A0 B1 00 00 60 B2 06 00 A0 A1 C0 00 BD E8 66 3A 04 EA C0 00 BD E8 66 3A 04 EA C0 00 2D E9 E9 FF FF EB 00 00 50 E3 06 00 A0 B1 00 00 60 B2 06 00 A0 A1 C0 00 BD E8 9D 3E 04 EA C0 00 2D E9 E1 FF FF EB 00 00 50 E3 06 00 A0 B1 00 00 60 B2 06 00 A0 A1 C0 00 BD E8 38 3F 04 EA C0 00 2D E9 D9 FF FF EB 06 00 50 E1 01 00 00 AA C0 00 BD E8 21 4D 04 EA C0 00 BD E8 C0 00 1F E5 00 00 D0 E5 80 00 10 E3 F9 FF FF 0A 11 4D 04 EA C0 00 2D E9 D8 60 1F E5 00 60 D6 E5 80 00 16 E3 00 00 A0 03 80 00 80 12 00 00 50 E3 01 00 00 1A C0 00 BD E8 F9 3A 04 EA C4 FF FF EB 04 71 1F E5 00 10 97 E5 04 20 97 E5 02 00 51 E1 01 10 A0 03 00 10 A0 13 00 00 52 E3 00 60 66 B2 00 00 51 E3 00 60 87 15 04 60 87 E5 C0 00 BD E8 FD 3A 04 EA A0 61 96 E5 00 00 56 E3 00 70 A0 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 61 1F E5 07 60 96 E7 B4 FF FF EA 00 00 00 00 00 00 00 00 80 00 12 E3 80 00 80 12 00 00 50 E3 4A 3B 04 0A 2F 3B 04 EA C0 00 2D E9 A4 FF FF EB 06 10 A0 E1 C0 00 BD E8 BB 3B 04 EA



_Decompress overlay 10
At offset 0×44EFC replace 0B0B51E3 with 93C5FBEA
At offset 0×46008 replace 000050E3 with 5CC1FBEA
At offset 0×46294 replace 000050E3 with C1C0FBEA
At offset 0×49A34 replace 0B0B50E3 with E1B2FBEA
At offset 0×451F8 replace 000050E3 with FCC4FBEA
At offset 0×4534C replace 000050E3 with CBC4FBEA
At offset 0×45594 replace 0B1BA0E3 with 3EC4FBEA


Whenever I can I will port the pipes fix too, you still originally asked for it so I can't help but try my best to import the code.
Posted on 02-19-16, 09:17 pm (rev. 2 by  skawo on 02-19-16, 09:38 pm)


Karma: 19752
Posts: 262/1100
Since: 04-02-13
Awesome! You're a god, sir.


You're still a god, but it doesn't, unfortunately, seem to work. Did you, uh, miss something, perhaps?






Ah, well, I planned to use the alignment-to-pipe code, yeah, just not the whole shebang

I'd appreciate porting the Mini Mushroom gravity thing, too, by the way.
Posted on 02-19-16, 10:15 pm
Death by cuteness

Karma: 6554
Posts: 366/598
Since: 05-01-13
Whoa! You have me worried here. *sweats*

So I tested on a clean ROM this time, and it still works on my end, in fact I tested on my flashcard and everything's fine.
I made the xdelta for the US version if you want to test (on level 1-1 then) or if you want to take overlay 10 from it.

Blue Shell.xdelta
Posted on 02-20-16, 10:07 am (rev. 1 by  skawo on 02-20-16, 10:08 am)


Karma: 19752
Posts: 263/1100
Since: 04-02-13
Uh oh. It appears my, uh, ASM Patch Template-compiled hacks interfere with it :l
Posted on 03-01-16, 12:14 pm
Death by cuteness

Karma: 6554
Posts: 367/598
Since: 05-01-13
Sorry for the late response.

From what I have seen so far, it seems that whenever arm9 is modified, you have to do a 'Run make and insert' afterwards so that both the ASMPatchTemplate and the mods made on arm9 are taken into account.

You can always try that.
Posted on 03-01-16, 12:24 pm (rev. 1 by  skawo on 03-01-16, 12:24 pm)


Karma: 19752
Posts: 277/1100
Since: 04-02-13
No, I've already tried that, unfortunately. The game just resets when you try to move, then.
Posted on 03-07-16, 08:12 am
Death by cuteness

Karma: 6554
Posts: 377/598
Since: 05-01-13
I have 3 things to ask you, skawo:

1) Did you apply the ASM hack that allows Sprite 255 to move horizontally?
2) If yes does it work?
3) If yes did you insert any other code between offset 0×1A44 and offset 0×2FFF, other than the not working Blue Shell code?

If yes to the first 2 questions and no to the 3rd one, then I can always try to move the Blue Shell code at offset 0×1A50.
Posted on 03-07-16, 08:22 am


Karma: 19752
Posts: 284/1100
Since: 04-02-13
Yes, yes and no.

I'd be thankful, but I'll feel really bad if it doesn't work again :l
Posted on 03-08-16, 01:43 pm
Death by cuteness

Karma: 6554
Posts: 378/598
Since: 05-01-13
Blue Shell for Newer Super Mario Bros: (Take 2)

_Decompress arm9
_Paste this at offset 0×1A50
90 6A 1B 02 7C 71 1B 02 50 B3 08 02 44 E3 12 02 00 40 2D E9 1C 60 1F E5 18 70 1F E5 00 70 97 E5 00 00 57 E3 04 70 A0 13 40 00 00 EA 00 80 BD E8 C0 00 2D E9 F5 FF FF EB 06 00 51 E1 05 00 00 BA 00 00 50 E3 06 00 A0 B1 00 00 60 B2 06 00 A0 A1 C0 00 BD E8 D2 3D 04 EA C0 00 BD E8 D2 3D 04 EA C0 00 2D E9 E9 FF FF EB 00 00 50 E3 06 00 A0 B1 00 00 60 B2 06 00 A0 A1 C0 00 BD E8 09 42 04 EA C0 00 2D E9 E1 FF FF EB 00 00 50 E3 06 00 A0 B1 00 00 60 B2 06 00 A0 A1 C0 00 BD E8 A4 42 04 EA C0 00 2D E9 D9 FF FF EB 06 00 50 E1 01 00 00 AA C0 00 BD E8 8D 50 04 EA C0 00 BD E8 C0 00 1F E5 00 00 D0 E5 80 00 10 E3 F9 FF FF 0A 7D 50 04 EA C0 00 2D E9 D8 60 1F E5 00 60 D6 E5 80 00 16 E3 00 00 A0 03 80 00 80 12 00 00 50 E3 01 00 00 1A C0 00 BD E8 65 3E 04 EA C4 FF FF EB 04 71 1F E5 00 10 97 E5 04 20 97 E5 02 00 51 E1 01 10 A0 03 00 10 A0 13 00 00 52 E3 00 60 66 B2 00 00 51 E3 00 60 87 15 04 60 87 E5 C0 00 BD E8 69 3E 04 EA A0 61 96 E5 00 00 56 E3 00 70 A0 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48 61 1F E5 07 60 96 E7 B4 FF FF EA 00 00 00 00 00 00 00 00 80 00 12 E3 80 00 80 12 00 00 50 E3 B6 3E 04 0A 9B 3E 04 EA C0 00 2D E9 A4 FF FF EB 06 10 A0 E1 C0 00 BD E8 27 3F 04 EA



_Decompress overlay 10
At offset 0×44EFC replace 0B0B51E3 with 27C2FBEA
At offset 0×451F8 replace 000050E3 with 90C1FBEA
At offset 0×4534C replace 000050E3 with 5FC1FBEA
At offset 0×45594 replace 0B1BA0E3 with D2C0FBEA
At offset 0×46008 replace 000050E3 with F0BDFBEA
At offset 0×46294 replace 000050E3 with 55BDFBEA
At offset 0×49A34 replace 0B0B50E3 with 75AFFBEA


*crosses fingers*
Was tested on a flashcard for good measures, hopefully this time it works.
Posted on 03-08-16, 02:57 pm (rev. 1 by  skawo on 03-08-16, 02:58 pm)


Karma: 19752
Posts: 287/1100
Since: 04-02-13
*shakes head*

It behaves slightly differently, but that's about it.
Posted on 03-08-16, 07:04 pm
Death by cuteness

Karma: 6554
Posts: 379/598
Since: 05-01-13
It's not directed at you skawo, or anyone else for that matter but…
FUCKING HELL!

Somehow, skawo, you must have earned the wrath of the ASM god or something…


Somewhere in the Blue Shell code I did a function to read directly the player's input to see if it's equal to D-Pad Down.
I know you're much more careful than that but please, tell me it's because you have cheat codes enabled for faster testing and that it interferes with the Blue Shell code… Please… Cognitive drought is really a bitch…
Posted on 03-08-16, 08:10 pm (rev. 3 by  skawo on 03-08-16, 08:14 pm)


Karma: 19752
Posts: 288/1100
Since: 04-02-13
Sorry, bud, but no :l

On the topic of codes, however, they do also stop functioning - well, some of them -- after my ASM is applied. So there's that. Applying the template moves something.

Maybe you should remake your code so that it can be compiled in with the template :E
Posted on 03-08-16, 08:35 pm (rev. 1 by  MeroMero on 03-08-16, 08:36 pm)
Death by cuteness

Karma: 6554
Posts: 380/598
Since: 05-01-13
Lol no, I can't do that… I'm not that skilled yet…
I'm completely defeated here

Also I already tried with the template (albeit without any further modification), and it worked…
I didn't try to compile the Video-ASM Hack though, maybe it plays a role with the template clashing with the Blue Shell code?

And yes the template, AFAIK, shrinks the Arena space by moving the Arena's offset further, so that the custom codes in the ASM-Template can be loaded, if I'm not talking crap.


But, if nothing else, there is someone who can probably clean that mess:  Dirbaio, seeing he is the one who came up with the ASM-Template in the first place.
He, more than anyone, should be the best placed to come up with a working solution.
Posted on 03-08-16, 09:04 pm


Karma: 19752
Posts: 289/1100
Since: 04-02-13
Ah, I'm not using the Video ASM hack myself.
Posted on 03-09-16, 12:45 pm (rev. 2 by  MeroMero on 03-09-16, 02:48 pm)
Death by cuteness

Karma: 6554
Posts: 382/598
Since: 05-01-13
Putting aside the Blue Shell for the time being.



Mini Mario behaves correctly under low gravity

_Decompress arm9

US
_Paste this at offset 0×1BE0
DC 1A D1 E1 02 00 2D E9 14 10 9F E5 00 10 91 E5 02 10 D1 E5 02 00 11 E3 02 00 BD E8 62 12 04 1A 44 12 04 EA 68 B1 08 02


EU
_Paste this at offset 0×23B0
D8 15 D1 E1 02 00 2D E9 14 10 9F E5 00 10 91 E5 02 10 D1 E5 02 00 11 E3 02 00 BD E8 93 4D 04 1A 75 4D 04 EA 04 DA 09 02




_Decompress Overlay 10

US
_Go to offset 0×3A234 and replace DC1AD1E1 with B1EDFBEA

EU
_Go to offset 0×37648 and replace D815D1E1 with 80B2FBEA

1. Giant Springboard Pickup

2. Regular switch w/Bowser Battle

3. Pipe-enter-off-moving-sprite Not ported yet on US version

4. Snow effect restart in the same area CLEAR

5. Balloon Boo "Normal Boo" mode hitbox

6. Giant Swooper's Disappearing Hitbox

7. Shell Mario Roll on D-Pad Down only Doesn't work with the ASM-Template

8. Mini Mario behaves correctly under low gravity Doesn't work with the ASM-Template
Posted on 03-09-16, 01:44 pm


Karma: 19752
Posts: 290/1100
Since: 04-02-13
US
_Go to offset 0×3A230 and replace DC1AD1E1 with B1EDFBEA


You sure you don't mean 0x3A234?


Also, it also does not work :E
Posted on 03-09-16, 02:54 pm (rev. 1 by  MeroMero on 03-09-16, 02:56 pm)
Death by cuteness

Karma: 6554
Posts: 383/598
Since: 05-01-13
Posted by skawo
You sure you don't mean 0x3A234?

Oops! Typo fixed.

Posted by skawo
Also, it also does not work :E

Well, then there is an alternate solution:
_Don't change DC1AD1E1 at offset 0×3A234 and instead at offset 0×3A23F change 1A into EA.

This is what I did originally but by doing so, Mini-Mario will get heavy under normal gravity instead…
Which is why I needed to put that piece of code in arm9 so that both normal gravity and low gravity are handled correctly by Mini Mario.
Posted on 03-10-16, 03:06 pm (rev. 1 by  MeroMero on 03-10-16, 03:14 pm)
Death by cuteness

Karma: 6554
Posts: 384/598
Since: 05-01-13
Slopes and Tight Rope can coexist (v2)


_Decompress arm9

US
_Paste this at offset 0×1C10
7F 00 C5 E5 E3 9F 02 EA

EU
_Paste this at offset 0×23D8
73 00 C5 E5 45 E6 02 EA


_Decompress Overlay 0

US
_Go to offset 0×11410 and replace 2C00000A with 4660FD0A

EU
_Go to offset 0×10CC0 and replace 2C00000A with E419FD0A


 skawo, can you please test the code on Newer Super Mario Bros DS?
I think the ASM-Template is not the (only) culprit, actually I suspect overlay 10 to have a hand in this as well and I want to see if my theory holds water.