Pages: « 123456 »
Posted on 04-20-15, 04:28 pm


Karma: 18936
Posts: 133/1087
Since: 04-02-13
Decompress the overlays, use hex editor's search function to find the left side and replace with what's on the right.
Posted on 04-20-15, 05:44 pm (rev. 8 by  MeroMero on 04-20-15, 08:30 pm)
Death by cuteness

Karma: 6284
Posts: 292/598
Since: 05-01-13
Here are the overlays for those who want them:

Stop timer:
overlay 0

Always play as Luigi:
overlay 9

Don't switch screen even if entrance set to (imperfect)
overlay 54 (first one)
overlay 10 (second one)


Disable challenge mode:
overlay 8 (both)

Change the amount of fireballs Bowser Jr. can withstand from 8 to 18 (NSMBW style)
overlay 28

Make groundpounds deal the same amount of damage as normal jumps to Bowser Jr. (partial)
overlay 28

Change what world Mario will be sent to upon clearing a castle:
overlay 8


EDIT:
This is an update about the world progression:

Overlay 8


FunctionLengthUS offsetsEU offsets
Route upon clearing W1 Castle1 byte0×1FF80×1F0C
Route upon clearing W2 Castle1 byte0×20040×1F18
Alternate route upon clearing W2 Castle1 byte0×20080×1F1C
Route upon clearing W3 Castle1 byte0×20100×1F24
Route upon clearing W4 Castle1 byte0×20180×1F2C
Route upon clearing W5 Castle1 byte0×20240×1F38
Alternate route upon clearing W5 Castle1 byte0×20280×1F3C
Route upon clearing W6 Castle1 byte0×20300×1F44
Route upon clearing W7 Castle1 byte0×20380×1F4C
Power-up required for W2 Castle alternate route1 byte0×20000×1F14
Power-up required for W5 Castle alternate route1 byte0×20200×1F34


WorldValueNote
100
201
302
403
504
605
706
807


Power-upValueNote
Normal Mario00
Super Mario01
Fire Mario02
Mega Mario03Useless
Mini Mario04
Shell Mario05
Posted on 04-20-15, 06:15 pm


Karma: 18936
Posts: 134/1087
Since: 04-02-13
Very nice, I added the overlays to the OP.


I wonder whether you'd be sent to the appropriate world if you set the powerup byte to megashroom and touched the key with the mega, or if it only cares which powerup you end the level with.
Posted on 04-20-15, 06:30 pm (rev. 1 by  MeroMero on 04-20-15, 06:30 pm)
Death by cuteness

Karma: 6284
Posts: 293/598
Since: 05-01-13
Nope. Just tested and the game isn't smart enough to recognize that you touched the key (or the flagpole for that matter) while being Mega, since Mario automatically reverts back to Super.

What the game checks is Mario's current powerup on the map.
Forcing the powerup on 3 on the map does make the game consider the alternate route instead, but since you can't have Mega-Mario on the map outside of cheats, value 3 is essentially wasted.
Posted on 04-26-15, 03:36 pm (rev. 1 by  MeroMero on 04-26-15, 04:06 pm)
Death by cuteness

Karma: 6284
Posts: 308/598
Since: 05-01-13
I present you the damage table for the Bosses.
It was skawo's idea, and already did begin the work with Bowser Jr.
Also the table have some empty cells because trying to use rowspan on more than 1 row break the table on this site.


BossOverlayHPIncrementationData typeWeaponDefault damageUS offsetsEU offsetsDefault data
(Final) Bowser Jr.28144+ByteFireball160×43340×416010
Mini-Pound
Stomp
480×45200×433830
Ground-Pound720×4198
0×41E0
0×3FCC
0×4014
48
(Dry) Bowser
Final Bowser
Blue Shell counter
139
30
3
-ByteFireball10×83700×7F9401
Blue Shell ((Dry) Bowser)30×82040×7E2003
Blue Shell (Final Bowser)100×81F80×7E100A
Blue Shell counter10×82180×7E3401
Mummi-Pokey16150+ByteFireball100×30380×2D980A
Mini-Pound
Stomp
500×37100×33C832
Blue Shell500×2F540×2CC032
Ground-Pound750×32A00×2FBC4B
Cheep Skipper1890+ByteFireball100×23A80×22240A
Mini-Pound
Stomp
300×26440×24A81E
Blue Shell300×22B80×213C1E
Ground-Pound600×208C0×1F203C
Mega Goomba14270+ByteFireball100×262C0×23BC0A
Mini-Pound300×2CC80×2A041E
Blue Shell900×23740×21305A
Ground-Pound900×2E340×2B785A
Petey Piranha1590+ByteFireball100×42E80×41300A
Mini-Pound (Head)300×390C0×37501E
Mini-Pound
Stomp (Lower body)
300×452C0×436C1E
Stomp
Blue Shell (Head)
300×38D80×371C1E
Blue Shell (Lower body)300×40080×3E341E
Ground-Pound (Head)600×38B80×36FC3C
Ground-Pound (Lower body)600×3D540×3B8C3C
Monty Tank1912288+WordFireball15360×14900×132C06 1C
Mini-Pound40960×157C0×140401 1A
Blue Shell40960×F780×E8C01 1A
Ground-Pound81920×12680×114802 1A
Bob-Omb20480×10200×F2002 1B
Lakithunder17150+ByteFireball100×2C640×2AF80A
Mini-Pound
Stomp
500×322C0×304432
Blue Shell500×2B800×2A2032
Ground-Pound750×2E6C0×2CC84B

Note 1: Putting damage=00 for any given weapon (fireball / stomp / mini-pound / blue shell / ground-pound) makes the boss immune to that weapon.
Note 2: Mini-Pound often uses the same variable than Stomp.
Note 3: During Bowser's battles, if Blue Shell counter increment is set to 0, every time Mario or Luigi slams into Bowser with the Blue Shell the score will go up by 32768 points (or 0×8000 in hex).
Note 4: If Blue Shell counter is negative, the score can glitch!
Note 5: Against Petey Piranha, if the damage dealt by a weapon is less than Max HP/3, the remaining health after the hit is more than Max HP×2/3, and the score is supposed to increase, then the score will glitch!


Tips:
Here are each value for Monty Tank in hex:
_1536 => 0600
_2048 => 0800
_4096 => 1000
_8192 => 2000
_12288 => 3000

Note how the second byte is always 00. Wouldn't it be easier if we only had to read to left byte?

Here are the rewritten values, from there you can modify them more easily:
06 1C => already good
02 1B => 08 1C
01 1A => 10 1C
02 1A => 20 1C
Posted on 04-26-15, 03:53 pm (rev. 1 by  skawo on 04-26-15, 03:53 pm)


Karma: 18936
Posts: 139/1087
Since: 04-02-13
That's a very nice list there, but there's one thing...

Mega Goomba... I don't think it can actually be hurt by Mini Pounds. I think you just bounce off... So, where did the "30 damage" come from?
Posted on 04-26-15, 03:55 pm
Death by cuteness

Karma: 6284
Posts: 309/598
Since: 05-01-13
It does actually, hitting Mega Goomba 9 times while mini will KO it.
Posted on 04-26-15, 04:10 pm


Karma: 18936
Posts: 140/1087
Since: 04-02-13
So it just doesn't do any animations? Weird...
Posted on 04-27-15, 01:47 pm
Death by cuteness

Karma: 6284
Posts: 310/598
Since: 05-01-13
Well, it would be kind of awful programming if you couldn't beat Mega Goomba just because the player happens to be mini and you were forced to lose a life because of that hypothetical technicality

Annnnnd… I knew I was forgetting something yesterday, the Bosses' behavior against the Starman:

Bowser Jr.:

Phase through.



Bowser:

Retains collision against a sliding Blue Shell, phase through otherwise.
Fireballs phase through.




Mummi-Pokey:

Phase through.
Sandballs retain collision.




Cheep Skipper:

Retains collision from above while out of water.
Retains collision against a sliding Blue Shell.




Mega Goomba:

OHKO if hit on the lower body (no points awarded).
Retains normal behavior if hit on the head.




Petey Piranha:

OHKO if hit on the lower body (4000 points).
Retains normal behavior if hit on the head.




Monty Tank:

The tank in itself retains normal behavior.
Retains normal behavior, except that a Ground-Pound deals the same damage as a normal Stomp.




Lakithunder:

Phase through.
Spinies retain collision obviously.




Dry Bowser:

Retains collision against a sliding Blue Shell, phase through otherwise.
Fireballs phase through.
Thrown bones retain collision.




Giant Bowser:

Retains normal behavior.
Fireballs phase through.
Homing Fireballs phase through.
Posted on 04-27-15, 02:40 pm


Karma: 18936
Posts: 141/1087
Since: 04-02-13
I know it would be, but that's what it seemed like
Posted on 04-28-15, 05:54 pm
Flurry


Karma: 512
Posts: 193/254
Since: 10-14-11
Might be a dumb question but how did you go about finding those values  skawo?
For example, how did you find that time was "5C2042E2002081E5"?
Was it through the debugged No$gba?
Posted on 04-28-15, 06:05 pm


Karma: 18936
Posts: 142/1087
Since: 04-02-13
Yes.
Posted on 04-28-15, 06:54 pm
Flurry


Karma: 512
Posts: 194/254
Since: 10-14-11
Could you explain how you go about doing it? I've looked for a few tutorials on here and on google but no luck.
Posted on 04-28-15, 09:20 pm
Death by cuteness

Karma: 6284
Posts: 311/598
Since: 05-01-13
Posted by Shadey21
Could you explain how you go about doing it? I've looked for a few tutorials on here and on google but no luck.


An alternative would be to go and grab the NSMB IDA database from  Dirbaio (who have my thanks BTW), this is how I figured and tested most of the data.

______________________

Tempo hacks:

Time to activate the Fast Tempo:

Overlay 0
Data type: Qword
Relevant data: 64 (100)
Full data: 64 00 50 E3 08 00 00 CA*
Offsets:
0×A0BC (US)
0×99E8 (EU)


Actual Fast Tempo value:

Arm9
Data type: Word
Default data: 66 01 (358)
Offsets:
0×57474 (US)
0×473DC (EU)


Secondary Fast Tempo value:

Overlay 0
Data type: Word
Default data: 66 01 (358)
Offsets:
0×A4EC (US)
0×9E18 (EU)


Fast Tempo check on Area load:

Overlay 54
Data type: Word
Default data: 66 01 (358)
Offsets:
0×C644 (US)
0×B954 (EU)

*If the Fast Tempo check is different from the Secondary Fast Tempo value, then the Hurry Up tune will play on level start if the timer is set on 100** or less, not unlike New Super Luigi U.
This is the only reason you want to consider changing the Fast Tempo check at all.
Be warned though that in doing so the Hurry Up tune will play every time the game needs to load an Area (merely changing the View is not enough thankfully).

To circumvent a bit that problem change 64 00 50 E3 08 00 00 CA on Overlay 0 into 64 00 50 E3 08 00 00 1A; changing that lone nybble from C to 1 is enough to change the conditional branching from BGT to BNE.
Now the Hurry Up tune will play only AND only if the timer is at 100 (not 99, 50, 101, 300, whatever… just 100).
It doesn't resolve the problem completely since if you happen to change Areas when the timer is at 100, the Hurry Up tune will play again, but at the very least the problem is scaled down by quite a margin.

**Assuming default settings.
Posted on 04-29-15, 07:33 am


Karma: 18936
Posts: 143/1087
Since: 04-02-13
Posted by Shadey21
Could you explain how you go about doing it? I've looked for a few tutorials on here and on google but no luck.


An easy quick way to do simple things is to go into Desmume's RAM Search, look what values change when you do whatever you're trying to change then go into No$GBA and put a breakpoint on when that value is changed.
Posted on 05-17-15, 08:39 am


Karma: 18936
Posts: 162/1087
Since: 04-02-13
Added a "make it so that Star Coins appear on the bottom screen quicker" patch.
Posted on 05-17-15, 09:56 am
We do what we must because we can

Karma: 5161
Posts: 978/1351
Since: 06-25-13
Posted by skawo
Added a "make it so that Star Coins appear on the bottom screen quicker" patch.


Sry but... which overlay?
_________________________
Super Mario Bros. - The New Worlds | Full release
Super Mario Castle 2 | Full release
Pokémon Shining Diamond | Full release

My Youtube channel
Best friends forever
Posted on 05-17-15, 10:56 am (rev. 1 by  skawo on 05-17-15, 11:07 am)


Karma: 18936
Posts: 163/1087
Since: 04-02-13
Appears to be 54.

EDIT: You can see the difference here: https://www.youtube.com/watch?v=APEPkXSx49w
Posted on 07-21-15, 03:12 pm (rev. 3 by ImageBot on 11-21-16, 03:16 am)
Boomerang Brother


Karma: 3358
Posts: 482/1037
Since: 11-29-11
Posted by Sharks

Power-upValueNote
Normal Mario00
Super Mario01
Fire Mario02
Mega Mario03Useless
Mini Mario04
Shell Mario05


I'm not sure if it's a good idea to change this value, because if Mario has the required Power-up for the secret worlds, he takes the path where only Mini Mario fits after you defeated the boss.

EDIT: I just tested something. I changed the HP damage of Mummy Pokey so that you have to ground pound/stomp 5 times. But unfortunately if you groundpound on him 1 time and then stomp 1 time (or in opposing order), he'll be defeated too.
Posted on 07-23-15, 05:35 pm
Paragoomba


Karma: 83
Posts: 58/67
Since: 02-27-14
there should be a ROM Patcher in NSMBe with these patches loaded from a database as pre-made templates.
Pages: « 123456 »