Language…
14 users online:  AmperSam, Dan2point5, Dangil, drkrdnk, Gasterus155, Giftshaven, JPhanto, kirsvantas, nonamelol1,  patcdr, reevebarusadar8, signature_steve, Sokobansolver, tOaO - Guests: 252 - Bots: 362
Users: 64,795 (2,377 active)
Latest user: mathew

Posts by FireHazard

FireHazard's Profile → Posts

  • Pages:
  • 1
What’s the overworld music that plays in the Ascension Zone?
Song: Snoopy Concert - Theme of Schroeder (by Hirokazu Tanaka, Vince Guaraldi)
Type: Port
Sampled: Yes
Youtube: https://www.youtube.com/watch?v=Ow53WPEyQkY
SPC: https://www.zophar.net/music/nintendo-snes-spc/snoopy-concert
(No MIDIs)

Honestly, I'd like the whole soundtrack to be ported to SMW, but that seems like too big of a project for a request thread; but all of it is just a whole masterpiece.
I thought that I might as well share a little bit of what I did last month with the SMB1 standalone patch. (WIP)





This patch aims to revamp the aesthetics and the presentation of SMB1 All-stars to be more faithful to the NES version. This is more than just a graphics hack. Using Yoshifanatic's disassembly as a guide, I've changed several major aspects to the game, including shifting the whole screen up 8 pixels to match the original's, as well as other small to large changes. As you can tell, the patch is still far from finished, but I just wanted to release this beta patch as a showcase of what I've done so far to give an idea of how this can work out. I might add to it when I have more time. Some things I do want to add are detailed inside the patch as comments. I also plan to make more changes such as creating new music rearrangements, background gradients instead of layer 2 images, and more graphics changes (both borrowed and created from scratch), as well as some more ASM.

https://bin.smwcentral.net/u/39773/SMBupgrade.zip

Let me know what you think!
(restricted)
Originally posted by slakkmichael
Can you do Monika from Doki Doki Literature Club?

Seconding this.

Also, for my own request, could you draw Mario with this costume design?
Maybe put him in a heroic pose like this (Don't use as an exact reference, but as an idea for what you could do). You can draw at any resolution
Not saying you have to do this, but could it be possible in theory to make a non SA-1 version that uses dynamic sprites for Mario instead of putting him on the SA-1 background layer? I know that Mario's sprites are already updated dynamically, but could you use a separate gfx file that has all of the individual rotation and scale frames instead?
I have a solution, although it relies on a a sprite insertion method rather than a UberASM patch. Since it's code that has to be run every frame, I'm sure you can insert it somehow with UberASM (I don't use the tool myself, so am too unfamiliar with it to know how to use it), but don't forget to remove the three sprite Print lines specified before inserting.

Code
;VARIABLES
!SpeedModifier = $02; The acceleration of the player whilst on the consuming Yoshi. If higher, he accelerates faster.
!MaxSpeedRight = $50		; Maximum speed right.
!MaxSpeedLeft  = $A0		; Maximum speed left.

;______________________

print "INIT ",pc;;WARNING: Remove if not a sprite
	RTL;;WARNING: Remove if not a sprite
print "MAIN ",pc;;WARNING: Remove if not a sprite
;______________________	

	LDA $187A;On yoshi?

	
	BEQ Return1
	
	LDA $18AC;Sprite inside mouth;NOTE: This is inclusive of all sprites and not just shells
	BEQ Return1
	
	;So if both the variables of a player riding Yoshi and something inside Yoshi's mouth equal Zero, we do not run the code.
	
	LDA $15
	AND #$03;Check for Left and Right button input
	
	BEQ Return1; Do not run if not pressing left or right. This is important!
	
	LDA $7B
	PHA;original speed
	LDY $76; This is the direction of the player. We could load this into one of the indexing registers and use indexing to get our max speeds for later, but let's keep it simple for now. We're using it to compare, so it's not completely unnecessary.
	BEQ Left ; Check if Facing Left. 0 = Left, 1+ = Right
	;Right
	CLC
	ADC #!SpeedModifier
	STA $7B
	CMP #!MaxSpeedRight
	BCC Return2
StoreSpeedFromLeft:	
	PLA
	STA $7B;store original speed if max has been reached.
Return1:
	RTL
	
	
	
Left:	
	SEC
	SBC #!SpeedModifier
	STA $7B
	CMP #!MaxSpeedLeft
	BCS Return2
	BRA StoreSpeedFromLeft
	
Return2:
	PLA
	RTL
	
;SpeedTable:
;	db $A0,$50
	;|Left|Right|; unused for now
	


There's also a patch that you need to apply that fixes a bug that prevents the player from jumping if he has an unusually high speed. Patch this with asar.

Code
org $00D663
autoclean JSL FixXSpeedJump
NOP

freecode

FixXSpeedJump:
PHB
PHK
PLB
LDA JumpSpeedTable,x
STA $7D
PLB
RTL

JumpSpeedTable:
db $B0,$B6,$AE,$B4,$AB,$B2,$A9,$B0
db $A6,$AE,$A4,$AB,$A1,$A9,$9F,$A6
;Modify the following if you think Yoshi jumps too high. For instance: try replacing each $9F,$A6 with $A1,$A9 or higher
db $9F,$A6,$9F,$A6,$9F,$A6,$9F,$A6
db $9F,$A6,$9F,$A6,$9F,$A6,$9F,$A6


Now, this code still runs with anything inside of Yoshi's mouth, and not just shells. I can find a way to make it exclusively shells, but I'm running out of time today to figure it out right now. Hope this code helps anyway.
The sliding problem is more of an internal issue rather than with the Yoshi routine. I've been trying to find a fix for it but couldn't at the moment, at least for now; I suspect it has to do with loading tables and bypassing the speed modifiers for friction from the ground. Look around ROM address $00D74D in all.log or with a debugger and see if you can find anything responsible for it there (that's where I last checked). Maybe one solution could be extending one of those tables with a patch in a similar fashion to the other patch I made.
  • Pages:
  • 1