News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - HTV04

Pages: [1]
1
Can you post the code for all of this?
The NES, SNES, and Fixed versions?

It would help to see what we're dealing with exactly.

Right now I suspect that either NYSpd is missing something it needed to be doing, or something about how the code is being executed is different between the two platforms.
Sure:
SMB: https://gist.github.com/1wErt3r/4048722
SMAS SMB: https://github.com/Ersanio/SMAS-Disassembly/blob/master/Assembly/SMB1/code/b03/_b03.asm

For the SMAS SMB disassembly, NYSpd is the CODE_03E39C subroutine.

The fixed version isn't important. It has nothing to do with NYSpd, it affects the BrickShatter (CODE_03BFA1) subroutine.

2
I did, but it just wrote a subroutine to an unused part of the ROM to set Mario's Y speed to 1. NYSpd also does this, but isn't called when Big Mario hits a brick for some odd reason.

3
The title really explains it, but here's my lengthy backstory:

As you may know, the SMAS SMB brick physics are different from SMB. Mario hovers a little after hitting a brick before descending back down in SMAS, rather than falling straight down. I've been trying to recreate this behavior in the original SMB (for fun), but to no avail. After a lot of experimenting with the disassemblies for both games, I found out that "NOP-ing" the code for NYSpd (according to the comprehensive SMB disassembly) made it so that Mario hovers when hitting into bricks, just like in SMAS. The only problem is, Mario is now able to jump through blocks, which is definitely not akin to the behavior in SMAS. Something is causing NYSpd to not be called when hitting a brick as big Mario in SMAS. I have tried to look at the disassemblies for both games to look for any differences in the code, but I found nothing relating to the brick physics.

I even tried looking at the patch for SMAS that restores the brick functionality, but then I found out that the patch just injects some code into the BrickShatter subroutine (also according to the comprehensive SMB disassembly) for a subroutine added by the patch into an unused part of the ROM to set Mario's Y speed to 1. This is not what SMB does, as the BrickShatter subroutine is mostly the same between versions, just with some additional code relating to not playing the brick shatter sound when other sounds are playing in SMAS. This addition does not seem to affect the brick physics at all.

:banghead:

So why are Mario's brick physics different in SMAS SMB? Has anyone else researched this?

Pages: [1]