Changing Link's palette

From ZeldaHacking Wiki
Jump to navigation Jump to search

See object_code/common/specialObjects/commonCode.s#L34:

; 2 bytes for each SpecialObject id: oamTileIndexBase, oamFlags (palette).
@data:
	.db $70 $08 ; 0x00 (Link)
	.db $70 $08 ; 0x01
	.db $70 $08 ; 0x02
	.db $70 $08 ; 0x03
	.db $70 $08 ; 0x04
	.db $70 $08 ; 0x05
	.db $70 $08 ; 0x06
	.db $70 $08 ; 0x07
	.db $70 $08 ; 0x08
	.db $70 $08 ; 0x09

The second byte in each line, $08, refers to Link's OAM data. The lower 3 bits represent his palette.

So, any number from $08 to $0f would change Link's palette to a value between 0 and 7.

The first row is for Link in 99% of cases; the others are for Link in cutscenes, or transformed as an octorok, etc. See constants/common/specialObjects.s for what each row represents.

TODO:

  • Links to explain OAM data
  • Fix knockback palette