MeroMero |
Posted on 02-07-16, 05:22 pm in New Actor discoveries (and extra info on old ones) (rev. 2 by MeroMero on 02-07-16, 07:59 pm)
|
Death by cuteness
Karma: 6589 Posts: 346/598 Since: 05-01-13 |
Hidden parameters on existing sprites found thanks to No$GBA Debugger:
Sprite 277 Nybble 4 is actually the Layer priority. It can accept values between 0 and F, a modulo 3 is applied. 0: Model layer
1: Tileset layer
2: Foreground layer
3: Background layer Sprite 93 Nybble 9: A positive value means the sprite will be shifted by X pixels to the right. A negative value means the sprite will be shifted by X pixels to the left. To get the actual value used by the game, multiply by 4096 (0×1000). 0: 0
1: -32
2: +32
3: +8192
4: +393220
5: -393208
6: -131060
7: 0
8: -32
9: -64
A: -96
B: 0
C: -4
D: -8
E: -12
F: -16 Nybble 10: A positive value means the sprite will be shifted by X pixels up. A negative value means the sprite will be shifted by X pixels down To get the actual value used by the game, multiply by 4096 (0×1000). 0: 0
1: -32
2: -64
3: -96
4: 0
5: -4
6: -8
7: -12
8: -16
9: -24
A: -20
B: 0
C: -4
D: 4
E: -8
F: 8
|
MeroMero |
Posted on 02-08-16, 08:17 pm in New Actor discoveries (and extra info on old ones)
|
Death by cuteness
Karma: 6589 Posts: 347/598 Since: 05-01-13 |
Batch 3:
Sprite 28 Nybble 4: Behavior 0:Default, 4:Pipe generator, 2:Self-destructs (240 frames), 8:Self-destructs (241 frames) Nybble 11: Pipe generator direction 0:Up, 1:Down, 2:Left, 3:Right Sprite 34 Nybble 7: Switch mode 0:Do nothing, 1:P-Switch, 2:!-Switch, 4:Red Blocks only, 5:P-Switch + Red Blocks, 7:All Nybble 8: Activation mode 0:During timer, 2:After timer Sprite 37 Nybble 11: Cancelled out by the code, as far as I noticed. Sprite 194 Nybble 11: Cancelled out by the code, as far as I noticed. Posted by Hiccup Nice work! But what is with the 8-9 setting entered into the spritedb for the sprite 93? AFAIK this parameter was always like this since the 2nd revision. |
MeroMero |
Posted on 02-11-16, 07:09 pm in Misc. patches thread
|
Death by cuteness
Karma: 6589 Posts: 352/598 Since: 05-01-13 |
Posted by skawo I'm wondering, since you're on such a roll with those patches, could you perhaps look into any of the following? 1. Giant Springboard Pickup The pickup hitbox for the giant springboard is far too large and extends even above it, which makes you pick it up if you're holding B and don't press A in time when springing off it. 2. Regular switch w/Bowser Battle The normal switches can kill Bowser by activating an event -- but the fight doesn't end. That only happens with the special switch created for the fight, which lacks all other switch settings, and it's bridge breaking property is quite useless, as it can be replicated with a string of tilegods -- if this was fixed, it'd make it possible to make the Bowser fights more varied. 3. Pipe-enter-off-moving-sprite When you try to enter a pipe off a moving sprite, you can start entering said pipe in it's upper half, making Mario's head clip into the ground. 4. Snow effect restart in the same area If you're in a zone with the snow effect (and possibly others?) and enter a pipe that leads to another zone in the same area, which also has a snow effect in it, the snow effect will glitchily 'restart' from the position it was in the first zone. 5. Balloon Boo "Normal Boo" mode hitbox The hitbox is all wrong. If it was fixed, you could possibly even change the model to resemble an actual Giant Boo and have a custom-esque enemy. 6. Giant Swooper's Disappearing Hitbox There's a split second during giant swooper's descent when it's hitbox suddenly disappears, for whatever reason. I'd appreciate fixing any of the above, if you have the time/motivation. Please have pity on that poor soul who only got 1 heart afterall… Jokes aside, I already did number 3 on my hack before you even asked (actually it fixes pretty much everything wrong with the pipes), but I have yet to port it on the American version. The only one that I did for now is number 4: _Decompress overlay 10; _Go to offset 0×4D35F (US) or 0×4A333 (EU); _Change 1A into EA; _Decompress overlay 54; _Go to offset 0×BC6C (US) or 0×AF98 (EU); _Change 0C00000A into 00000000; What this does has nothing to do with the Texture effects, rather it changes the way a Scene is loaded from an Entrance. Basically each time you take an Entrance the whole Area is reloaded no matter what, even if the Destination Area is the same as the Source Area. |
MeroMero |
Posted on 02-12-16, 07:40 am in Misc. patches thread
|
Death by cuteness
Karma: 6589 Posts: 353/598 Since: 05-01-13 |
It shouldn't have any incidence.
But can you give me an example of what you mean by cross-zone event? I have my idea of what you mean but I want to make sure we're talking about the same thing. |
MeroMero |
Posted on 02-12-16, 12:14 pm in Misc. patches thread
|
Death by cuteness
Karma: 6589 Posts: 354/598 Since: 05-01-13 |
Sh… sh…… shit!
Wow, the game actually managed to sucker punch me! I got tricked because I tested with an Event ID of 8 or less, and it worked, but as soon as I tried an Event ID of 9 or above… Oh well, testing time, I guess it's probably something simple like a CMP Rx,#8 or #9 along with the conditional branch to comment out. |
MeroMero |
Posted on 02-12-16, 01:04 pm in tutorial Adding files to the ROM
|
Death by cuteness
Karma: 6589 Posts: 355/598 Since: 05-01-13 |
Ah! Glad I'm not the only one who did that
Something I didn't try yet in practice, but in theory with this trick you should then be able to setup an ASM hack to dedicate one background, one foreground and one tileset for each of the 177 areas (or 176 if you're playing the US version). And I dare say you can push this even further to make the game select even a background, foreground, tileset, Soundset, Spriteset per View located in one given Area (but it'll have to be changed dynamically as the game reload the Area)! Since skawo and I use slightly different tactics, here's how I do it: 1. Basically the same thing expect I used DSBuff instead, and you'll have to specify the folder where you want to extract the ROM. 2. The same. 3. From there it's different, what I do is that, in the extracted files from DSBuff, I create a new sub folder in the "data" folder that begins by "z" and place each of the new files there. 4. Be careful! The last file in the UiStudio folder will give you the last file ID used by the game, for some reason the game doesn't load the file ID who would numerically come immediately after this one (in EU version that would be file ID 2449), so this file must be empty. 5. Now you can pack the files into a new ROM with DSBuff. 6. Open your new ROM 1 with Tinke, and click Save ROM, this will bring the filesize to the next power of 2. Oh! And Tinke won't let you save to an already existing ROM. 7. Open your new ROM 2 with NSMBe and extract the fnt.bin. 8. Open both the old and the new fnt in a Hex editor, what I do from there is that I copy the file info from the old fnt and paste it in the new fnt, there's no need to copy the folder info. Basically you begin to select from ARC0.narc and all the way to the end of the file, then c/p to the new fnt beginning from ARCO.narc. 9. Open NSMBe, import the new fnt in the new ROM 2. 10. Close and re-open NSMBe, now the files should be in the correct order. 11. Select the root folder, click Replace and select the root folder you extracted earlier in step 2. 12. Test in DeSmuMe. 13. ??? 14. Profit |
MeroMero |
Posted on 02-12-16, 04:54 pm in Misc. patches thread (rev. 1 by MeroMero on 02-12-16, 05:02 pm)
|
Death by cuteness
Karma: 6589 Posts: 356/598 Since: 05-01-13 |
Events won't get nuked anymore when reloading an Area, regardless of whether or not this Area is part of the current Level.
_ Decompress arm9 _ go to offset 0×1DEA8 (US) or 0×1E114 (EU) and change 020000E0 0E1001E0 by 00000000 00000000 _ go to offset 0×1DF00 (US) or 0×1E16C (EU) and change 020000E0 061001E0 by 00000000 00000000 _ go to offset 0×1DF34 (US) or 0×1E1A0 (EU) and change 0100C305 by 00000000 |
MeroMero |
Posted on 02-13-16, 05:10 pm in Misc. patches thread
|
Death by cuteness
Karma: 6589 Posts: 358/598 Since: 05-01-13 |
I needed those 2 mods because I'm using them as a complementary obstacle during the bosses fights of Worlds 6 and 7.
Kill Mini Bloopers spawned by the Blooper Nanny on Level Completion _ decompress overlay 25 _ go to offset 0×50E0 (US) or 0×4CE4 (EU) and replace 23 by 22 Kill Flames spawned by Flame Chomp on Level Completion _ decompress overlay 70 _ go to offset 0×18F8 (US) or 0×172C (EU) and replace 23 by 22 |
MeroMero |
Posted on 02-14-16, 12:53 pm in Misc. patches thread (rev. 1 by MeroMero on 02-14-16, 12:58 pm)
|
Death by cuteness
Karma: 6589 Posts: 359/598 Since: 05-01-13 |
That in itself shouldn't be too difficult, but afterwards those would have to be checked too:
_ ground-pounding a slope or pressing Down when on a slope should still make Shell Mario roll downwards; _ when Mario is already rolling, climbing a slope shouldn't slow him down nor make him go downwards; _ not mandatory (and also I was thinking about this one for a while) but when under the effects of a Starman, rolling speed and running speed of Shell Mario should be made at ×2 of their original value. |
MeroMero |
Posted on 02-17-16, 07:57 pm in Misc. patches thread
|
Death by cuteness
Karma: 6589 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. |
MeroMero |
Posted on 02-19-16, 10:15 pm in Misc. patches thread
|
Death by cuteness
Karma: 6589 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 |
MeroMero |
Posted on 03-05-16, 09:05 am in guide Tilesets and textures
|
Death by cuteness
Karma: 6589 Posts: 372/598 Since: 05-01-13 |
Posted by skawo
I think he's trying to say that the graphics in the actual tileset show up before the animated sequence is shown If that's what Thierry meant, then no it doesn't. You don't even get to see the graphics due to this: The texture is drawn before the area being loaded fades in. An easy way to check this is to replace the quicksand in the Map16 Editor by whatever graphics you want, and when you test in-game said graphics shouldn't even appear at all due to them being superseded by the texture. |
MeroMero |
Posted on 03-08-16, 01:43 pm in Misc. patches thread
|
Death by cuteness
Karma: 6589 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. |
MeroMero |
Posted on 03-08-16, 07:04 pm in Misc. patches thread
|
Death by cuteness
Karma: 6589 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… |
MeroMero |
Posted on 03-09-16, 12:45 pm in Misc. patches thread (rev. 2 by MeroMero on 03-09-16, 02:48 pm)
|
Death by cuteness
Karma: 6589 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 5. Balloon Boo "Normal Boo" mode hitbox 6. Giant Swooper's Disappearing Hitbox |
MeroMero |
Posted on 03-10-16, 03:11 pm in Tightropes disable sliding
|
Death by cuteness
Karma: 6589 Posts: 385/598 Since: 05-01-13 |
Posted by Arceus "Decompress Overlay 0 and go to the following offset: 0×115AB (US) or 0×10E5B (EU) and change 04 into 00" by MeroMero Forget this, if you try to press down or ground-pound the Rope, it will be treated as a slope… oopsie Sorry for the inconvenience I caused , refer to this post if you want the real solution. |
MeroMero |
Posted on 06-26-16, 06:16 pm in index NSMBdex of useful things for hacking
|
Death by cuteness
Karma: 6589 Posts: 432/598 Since: 05-01-13 |
OP updated with 3 new guides:
Collision Info Viewer by Ninjifox and Powerline, really useful if you want to check the hitboxes: http://nsmbhd.net/thread/1664-nsmbds-collision-info-viewer-by-powerline-and-treeki/ How to fix the 'File is already being edited' error in NSMB editor by Thierry: http://nsmbhd.net/thread/3250-fixing-already-opened-files-tutorial/ Massive information release on Worldmaps by ray and Freeze: http://nsmbhd.net/thread/3422-literally-everything-you-need-to-know-about-worldmap-editing/ |
MeroMero |
Posted on 06-27-16, 11:00 am in Misc. patches thread (rev. 1 by MeroMero on 06-27-16, 11:03 am)
|
Death by cuteness
Karma: 6589 Posts: 434/598 Since: 05-01-13 |
Hopefully
Well… indeed the issue was the entrance order, Entrance ID 5 was on Entrance row 4 but when reloading the area the 04 that was written was then interpreted as an Entrance ID instead of the Entrance row, hence the problem. The placeholder entrance row is now written at offset 0×20CA8FE instead, which should prevent the issue altogether. Also added a new small check for the Connected Pipe ID which reads the Connected pipe flag to prevent a hypothetical issue with the Connected Pipe ID trick to load any Area. |
MeroMero |
Posted on 07-01-16, 08:35 pm in index NSMBdex of useful things for hacking
|
Death by cuteness
Karma: 6589 Posts: 444/598 Since: 05-01-13 |
Posted by Hiccup I think you should add your wrap-around level guide: http://nsmbhd.net/thread/3381-vertical-level-problems/#47757 Added. Also added 2 more guides: How to edit the boot screen by skawo: http://nsmbhd.net/thread/3331-editing-the-boot-screen/ How to make a 8bpp title screen logo by MeroMero: http://nsmbhd.net/thread/3468-title-logo-with-256-colors/ |