Language…
12 users online: Anas, crocodileman94, DasFueller, eltiolavara9, Foxy_9000_, Hammerer, Isikoro, jump_run_repeat, Mythundare,  Nanako, Necrotext, pzyko103 - Guests: 281 - Bots: 454
Users: 64,795 (2,377 active)
Latest user: mathew

Official Hex/ASM/Etc. Help Thread

  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 418
  • 419
  • 420
Alright. Thanks. Sorry again for being such a noob. For some reason I just can't wrap my head around this...

The sprite itself is the Classic Goomba, so I'll just post the relevant modifications

Code
JSR Proximity2
	TYA
	CMP #$01

	BNE NO_CHARGE


The other modified code actually making the sprite charge at Mario doesn't seem to be relevant, it worked before I changed proximity codes.

Code
LDY #$00 
Proximity2:
	LDA $14E0,x 
	XBA 
	LDA $E4,x 
	REP #$20 
	SEC 
	SBC $94 
	CLC 

	ADC.w #$0012
	CMP.w #$0024
	SEP #$20 
	BCS NoY 
	INY 
NoY
 	RTS


I replaced the !Proximity with the numbers, I couldn't get it to work with !Proximity in there.
Oh, I copied that over wrong, it's the way you suggested in the sprite.
Alright, I stuck the whole thing here, since it's a bit big to paste inline.
Thank you! It does seem to work properly now.

Thanks for all your help.
Hello, does anyone know how to make the Cape Feather to stop flipping back and forth, in hex? Can't seem to find the correct Address.
Originally posted by KCEXE
Hello, does anyone know how to make the Cape Feather to stop flipping back and forth, in hex? Can't seem to find the correct Address.

You can disable the feather's X movement by changing $01C721 (0x0C921) from 95 B6 to EA EA. If you want the feather to stop flipping graphically, you can change $01C741 (0x0C941) from 20 15 9A to EA EA EA.
Originally posted by MarioEdit
Originally posted by KCEXE
Hello, does anyone know how to make the Cape Feather to stop flipping back and forth, in hex? Can't seem to find the correct Address.

You can disable the feather's X movement by changing $01C721 (0x0C921) from 95 B6 to EA EA. If you want the feather to stop flipping graphically, you can change $01C741 (0x0C941) from 20 15 9A to EA EA EA.


Changing it graphically, just what I needed. However, I don't like the fact that the art, it ends up flipped still the opposite way (when coming out of a ? block, or when it slowly going down from the status item box). Is there any way to make it face the way it is like in the box?

You can fix that by flipping the cape while it is in the item box by changing 0x01005 from 04 to 44, and then flipping the graphics for the cape.
Originally posted by MarioEdit
You can fix that by flipping the cape while it is in the item box by changing 0x01005 from 04 to 44, and then flipping the graphics for the cape.


Thank you, MarioEdit. That did the trick! #smw{:TUP:}
What exactly is the difference between the SubOffscreenX# subroutines in the Shared Subroutine patch? I know the dimensions are different, but more specifically.
Also, when and how do you use the patch's GenericSprGFX subroutine?
I've got a question: What does it mean when there's a .w or .l after an opcode? I've seen those:

LDA.w #$0002
STA.l $702001

What do they mean? Can we still use X/Y indexing with them?

Originally posted by Death Eye
What exactly is the difference between the SubOffscreenX# subroutines in the Shared Subroutine patch? I know the dimensions are different, but more specifically.
Also, when and how do you use the patch's GenericSprGFX subroutine?


I don't know about SubOffScreenX#, but for your second question:

Originally posted by readme
- GenericSprGFX...is by far the most complex. It should be set up like this:

PEA.w PastGFX-$01 ; push the real return address
JSL !GenericSprGFX ;

dw HorizDisp1,VertDisp1,Tilemap1,TileProps1,TileSize1 : db $00 ;
dw HorizDisp2,VertDisp2,Tilemap2,TileProps2,TileSize2 : db $00 ;
; ...

PastGFX:

After the JSL are the tables that point to the locations of all the information for the GFX routine. Each line should contain 11 bytes: pointer to the horizontal displacement, pointer to the vertical displacement, pointer to the tilemap, pointer to the tile properties, pointer to the tile size, number of tiles to draw. Of course, if you use labels for these things (and you will), you will need to actually have those labels in the .asm file, or you'll get assembling errors. Each line is for a single frame, and the routine assumes $1602,x is being used for the frame number. If $1602,x = 00, the routine will use the data in the first line, 01 -> second line, etc. You can have up to 23 unique frames.


I think it's used as a... generic GFX routine. Basically, you can use this if you have a sprite whose GFX only depends on the frame counter (like most regular sprites).
Oh, it's that simple... Well, thanks!
Would it be possible if the "Welcome" screen would be removed while using the "No overworld" patch?
You can disable the intro level by using
Code
org $009CB2
		STZ $0109
This will probably work with the "No Overworld" patch...
Should I patch it separately or put it inside the No Overworld patch?
It doesn't matter; both option will lead to the same thing.
  • Pages:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 418
  • 419
  • 420