better_suits.asm
ShadowOne333_Metroid-Fusion-Redux/code/better_suits.asm
; New custom palettes for Samus' suits, and her visor (also applies to menu's Samus head) by ShadowOne333
;.gba
;.open "fusion.gba","Metroid Fusion.gba",0x8000000

.org 0x83E72F8	; SA-X super missiles graphics
	.import "data/recoloured_missiles_sax.bin"
; Until 0x83E7778
.org 0x858DAB4	; Missiles graphics
	.import "data/recoloured_missiles.bin"
; Until 0x858DEB4

;-------------------------------------
; Suit default palettes
;-------------------------------------
; Fusion Power Suit with Blue Visor
.org 0x8290084
	.dh 0x4E73,0x0000,0x53E9,0x7280,0x5547,0x4068,0x7FFF,0x03FF
	.dh 0x0096,0x00BD,0x006E,0x7280,0x02B5,0x5B32,0x31E8,0x28A6
.org 0x829013A	; Extra colour for the visor only
	.dh 0x7280

; Fusion Varia suit with better colours (Blue Visor)
.org 0x82900A4
	.dh 0x4E73,0x0000,0x03FF,0x0310,0x1DC5,0x18E5,0x7FFF,0x381A
	.dh 0x0096,0x00BD,0x006E,0x7280,0x280D,0x5B32,0x3E4A,0x1946

; Fusion Gravity Suit (with better outline and visor)
.org 0x82900C4
	.dh 0x4E73,0x0000,0x5E9B,0x44F0,0x3C68,0x2406,0x7FFF,0x03EC
	.dh 0x0096,0x00BD,0x006E,0x7280,0x5AA0,0x5B32,0x3E4A,0x1443

; Fusion Omega Suit with better belly colours
.org 0x82900E4
	.dh 0x4E73,0x0000,0x027F,0x0158,0x006C,0x2406,0x7FFF,0x033C
	.dh 0x0096,0x00BD,0x006E,0x3BE0,0x0211,0x5B32,0x31E8,0x28A6

;-------------------------------------
; Dying visor palette
;-------------------------------------
.org 0x82901FA
	.dh 0x7280

;-------------------------------------
; Loading Save Palette cycling for suits from washed-out colours to the proper suit's colours
; Changes the visor's colours for Power Suit, and then the rest of the suits get proper colour choices for their cycling
;-------------------------------------
; 0x82908A4, Power Suit's visor colours for cycling palette
.org 0x82908BA
	.dh 0x7BAB
.org 0x82908DA
	.dh 0x7B47
.org 0x82908FA	; Full Fusion Power Suit's colours washed out
	.dh 0x76E3
.org 0x829091A	; Full Fusion Power Suit's colours
	.dh 0x7280

; 0x8290944, Varia Suit's colours and visor for cycling palette
.org 0x8290952	; Belly colour & visor at the end
	.dh 0x4E9B,0x4DCC,0x4EB3,0x4D25,0x7BAB
.org 0x829096C	; Green colours, belly and visor
	.dh 0x2B4D,0x36CD,0x7FFC,0x7E5F,0x3170,0x31F7,0x30E8,0x7B47
.org 0x8290984	; Full Varia Suit's colours washed out
	.dh 0x0CFC,0x18C1,0x1BFA,0x324D,0x2A8A,0x25C6,0x7FFD,0x611F
	.dh 0x18F3,0x195A,0x18AB,0x76E3,0x74D5,0x6371,0x4AA8,0x2DC5
.org 0x82909A4	; Full Varia Suit's colours
	.dh 0x0CFC,0x0000,0x03FF,0x0310,0x1DC5,0x18E5,0x7FFF,0x381A
	.dh 0x0096,0x00BD,0x006E,0x7280,0x280D,0x5B32,0x3E4A,0x1946

; 0x82909C4, Gravity Suit's visor colours for cycling palette
.org 0x82909FA
	.dh 0x7BAB
.org 0x8290A1A
	.dh 0x7B47
.org 0x8290A3A	; Full Gravity Suit's colours washed out
	.dh 0x76E3
.org 0x8290A5A	; Full Gravity Suit's colours and outline
	.dh 0x7280,0x5AA0,0x5B32,0x3E4A,0x1443

; 0x82909C4, Omega Suit's belly colours for cycling palette
.org 0x8290BF2
	.dh 0x473A,0x314F,0x31F6,0x30E8,0x5357,0x46F6
.org 0x8290C12	; Full Omega Suit's colours washed out
	.dh 0x2F3B,0x18F2,0x1959,0x18AB,0x47E3,0x2E10
.org 0x8290C24	; Full Omega Suit's colours
	.dh 0x0CFC,0x0000,0x027F,0x0158,0x006C,0x2406,0x7FFF,0x033C
	.dh 0x0096,0x00BD,0x006E,0x3BE0,0x0211,0x5B32,0x31E8,0x28A6

;-------------------------------------
; Charging Normal Beam Palette cycling for Fusion Suits, but this time the proper suit's colours to washed-out colours, then goes back
;-------------------------------------
; 0x8290E04, Power Suit's visor colours for cycling palette
.org 0x8290E1A
	.dh 0x72C7
.org 0x8290E3A
	.dh 0x770E
.org 0x8290E5A	; Full Fusion Power Suit's colours washed out
	.dh 0x7B56
.org 0x8290E7A	; Full Fusion Power Suit's colours
	.dh 0x770E

; 0x8290E84, Varia Suit's colours and visor for cycling palette
.org 0x8290E8C	; Green colours, belly and visor
	.dh 0x368D,0x59D0,0x7FFF,0x3919,0x1138,0x115D,0x08F1,0x72C7,0x20AE
.org 0x8290EAC	; Green colours, belly and visor
	.dh 0x2E90,0x4E53,0x7FFF,0x3A3B,0x21DB,0x21FD,0x1574,0x770E,0x2552
.org 0x8290EDA	; Varia Suit's visor colour washed out
	.dh 0x7B56
.org 0x8290EEC	; Varia Suit's colours (repeat of two above)
	.dh 0x2E90,0x4E53,0x7FFF,0x3A3B,0x21DB,0x21FD,0x1574,0x770E,0x2552

; 0x8290F04, Gravity Suit's visor colours for cycling palette
.org 0x8290F1A	; Gravity Suit's visor and outline colours
	.dh 0x72C7,0x5B07,0x5B55,0x3E6E,0x18A6
.org 0x8290F3A
	.dh 0x770E
.org 0x8290F5A	; GRavity suit's washed-out
	.dh 0x7B56
.org 0x8290F7A
	.dh 0x770E

; 0x8290F84, Omega Suit's belly colours for cycling palette
.org 0x8290F92	; Full Omega Suit's colours
	.dh 0x0F3B,0x1138,0x115D,0x08F1,0x3FE7,0x0210
.org 0x8290FB2
	.dh 0x0237,0x21DA,0x21FD,0x1174,0x43EE,0x1172
.org 0x8290FD2	; Full Omega Suit's colours washed out
	.dh 0x0236,0x327D,0x369D,0x1E17,0x4BF6,0x012F
.org 0x8290FB2	; Repeat of two above
	.dh 0x0237,0x21DA,0x21FD,0x1174,0x43EE,0x1172

;-------------------------------------
; Charging Other Beams Palettes cycling for Fusion Suits, but this time the proper suit's colours to washed-out colours, then goes back
;-------------------------------------
;	Charge Beam
;-------------------------------------
; Power Suit
.org 0x829101A	; Power Suit's visor
	.dh 0x72A7
.org 0x829103A	; Gravity Suit's visor
	.dh 0x76EF
.org 0x829105A	; Unknown palette, pink hue
	.dh 0x7B36
.org 0x829107A	; Gravity Suit's visor
	.dh 0x76EF

; Varia Suit
.org 0x8291084	; Varia Suit's full palette
	.dh 0x4E73,0x0000,0x379E,0x1EF3,0x162D,0x320D,0x7FFF,0x3CB9
	.dh 0x10F9,0x111E,0x0C92,0x72A7,0x1C2D,0x5735,0x3E4E,0x1509
.org 0x82910AE	; Unknown palette, purple hue
	.dh 0x244F,0x7FFF,0x3D5B,0x215C,0x259F,0x18D7,0x76EF,0x1C51
.org 0x82910CE	; Unknown palette, pink hue
	.dh 0x3D33,0x7FFF,0x3DFD,0x31BF,0x3A1F,0x291B,0x7B36,0x1874
.org 0x82910EE	; Unknown, same as two above
	.dh 0x244F,0x7FFF,0x3D5B,0x215C,0x259F,0x18D7,0x76EF,0x1C51

; Gravity Suit
.org 0x829111A	; Gravity Suit's visor and outline
	.dh 0x72A7,0x4E6A,0x5715,0x3E4F,0x1425

.org 0x829113A	; Unknown palette, purple hue
	.dh 0x76EF
.org 0x829115A	; Unknown palette, pink hue
	.dh 0x7B36
.org 0x829117A	; Unknown palette, purple hue
	.dh 0x76EF

; Omega Suit
.org 0x8291192	; Omega Suit's belly colours, 0x8291184
	.dh 0x0B3F,0x10F9,0x111D,0x0C92,0x3FC7,0x1238
.org 0x82911B2	; Omega Suit's washed-out belly colours
	.dh 0x22FF,0x215C,0x259E,0x18D6,0x43AE,0x2276
.org 0x82911D2	; Omega Suit's washed-out belly colours
	.dh 0x271F,0x31BF,0x3A1F,0x291B,0x47B6,0x32BA
.org 0x82911F2	; Repeat of two above
	.dh 0x22FF,0x215C,0x259E,0x18D6,0x43AE,0x2276

;-------------------------------------
;	Wide Beam
;-------------------------------------
; Power Suit
.org 0x829121A	; Power Suit's visor
	.dh 0x72C7
.org 0x829123A	; Power Suit washed-out
	.dh 0x6B14
.org 0x829127A	; Power Suit's pinkish hue?
	.dh 0x6B14

; Varia Suit
.org 0x8291284	; Varia Suit's full palette
	.dh 0x4E73,0x0000,0x3BBD,0x3EB5,0x3E92,0x362D,0x7FFF,0x4C9A
	.dh 0x18D9,0x191E,0x1892,0x72A7,0x280E,0x62D6,0x4A0F,0x250A
.org 0x82912BA	; Varia Suit's visor
	.dh 0x76EF
.org 0x82912DA	; Varia Suit's visor
	.dh 0x7B36
.org 0x82912FA	; Varia Suit's visor
	.dh 0x76EF

; Gravity Suit
.org 0x829131A	; Gravity Suit's visor
	.dh 0x72A7
.org 0x829133A	; Gravity Suit's visor
	.dh 0x76EF
.org 0x829135A	; Gravity Suit's visor
	.dh 0x7B36
.org 0x829137A	; Gravity Suit's visor
	.dh 0x76EF

; Omega Suit
.org 0x8291392	; Omega Suit's belly
	.dh 0x22D8,0x18D8,0x191D,0x1891,0x4BE7,0x2234

;-------------------------------------
;	Plasma Beam
;-------------------------------------
; Power Suit
.org 0x829141A	; Fusion Power Suit's visor
	.dh 0x72A7
.org 0x829143A	; Fusion Power Suit's visor
	.dh 0x76EF
.org 0x829145A	; Fusion Power Suit's visor
	.dh 0x7B36
.org 0x829147A	; Fusion Power Suit's visor
	.dh 0x76EF

; Varia Suit
.org 0x8291484	; Varia Suit's full palette
	.dh 0x4E73,0x0000,0x23FD,0x2372,0x15AB,0x0C88,0x7FFF,0x45EF
	.dh 0x0D53,0x119A,0x050D,0x72C7,0x1C88,0x5773,0x3A8B,0x1565
.org 0x82914A4	; Varia Suit's washed-out palette
	.dh 0x4E73,0x0000,0x47FE,0x37B6,0x1A09,0x2A09,0x7FFF,0x5A4F
	.dh 0x19F1,0x2616,0x0DCC,0x6B14,0x1D06,0x5394,0x36CC,0x11A5
.org 0x82914DA	; Varia Suit's visor
	.dh 0x6399
.org 0x82914E4	; Repeat of two above
	.dh 0x4E73,0x0000,0x47FE,0x37B6,0x1A09,0x2A09,0x7FFF,0x5A4F
	.dh 0x19F1,0x2616,0x0DCC,0x6B14,0x1D06,0x5394,0x36CC,0x11A5

; Gravity Suit
.org 0x829151A	; Gravity Suit's visor and outline
	.dh 0x72C7,0x5B03,0x5773,0x3A8B,0x18A1
.org 0x829153A	; Gravity Suit's visor
	.dh 0x6B14
.org 0x829155A	; Gravity Suit's visor
	.dh 0x6399
.org 0x829157A	; Gravity Suit's visor
	.dh 0x6B14

; Omega Suit
.org 0x8291592	; Omega Suit's belly colours, 0x8291584
	.dh 0x23FD,0x0D33,0x115A,0x050C,0x47E5,0x01D3
.org 0x82915B2	; Omega Suit's washed-out belly colours
	.dh 0x0ADA,0x19F0,0x2217,0x0DAB,0x53EA,0x01CF
.org 0x82915D2	; Omega Suit's washed-out belly colours
	.dh 0x0F5A,0x26AE,0x36D4,0x166A,0x63F0,0x064F
.org 0x82915F2	; Repeat of two above
	.dh 0x0ADA,0x19F0,0x2217,0x0DAB,0x53EA,0x01CF

;-------------------------------------
;	Wave Beam
;-------------------------------------
.org 0x829161A	; Fusion Power Suit's visor
	.dh 0x72C5
.org 0x829163A	; Fusion Power Suit's visor
	.dh 0x732A
.org 0x829165A	; Fusion Power Suit's visor
	.dh 0x7390
.org 0x829167A	; Fusion Power Suit's visor
	.dh 0x732A

; Varia Suit
.org 0x8291684	; Varia Suit's full palette
	.dh 0x4E73,0x0000,0x1FDC,0x26EF,0x2A2F,0x212A,0x7FFF,0x4C75
	.dh 0x1CD5,0x20FB,0x1CAD,0x72C5,0x2C2A,0x6334,0x4E4C,0x3127
.org 0x82916A4	; Varia Suit's washed-out palette
	.dh 0x4E73,0x0000,0x3F9B,0x42D0,0x420D,0x3149,0x7FFF,0x5CD4
	.dh 0x3D13,0x3D39,0x3D0D,0x732A,0x3889,0x6F36,0x5E6E,0x4909
.org 0x82916C4	; Varia Suit's visor
	.dh 0x4E73,0x0000,0x5F5B,0x5E92,0x4A0D,0x4969,0x7FFF,0x6D52
	.dh 0x5D72,0x5D77,0x5D4D,0x7390,0x4869,0x7738,0x6E71,0x610B
.org 0x82916E4	; Repeat of two above
	.dh 0x4E73,0x0000,0x3F9B,0x42D0,0x420D,0x3149,0x7FFF,0x5CD4
	.dh 0x3D13,0x3D39,0x3D0D,0x732A,0x3889,0x6F36,0x5E6E,0x4909

; Gravity Suit
.org 0x829171A	; Gravity Suit's visor and outline
	.dh 0x72C5,0x62A3,0x6334,0x4E4C,0x1823
.org 0x829173A	; Gravity Suit's visor
	.dh 0x732A
.org 0x829175A	; Gravity Suit's visor
	.dh 0x7390
.org 0x829177A	; Gravity Suit's visor
	.dh 0x72CA

; Omega Suit
.org 0x8291792	; Omega Suit's belly colours, 0x8291584
	.dh 0x0E7A,0x1CD4,0x1CFB,0x1CAD,0x4FA8,0x2A72

;-------------------------------------
;	Ice Beam
;-------------------------------------
; Power Suit
.org 0x829181A	; Fusion Power Suit's visor
	.dh 0x72C7
.org 0x829183A	; Fusion Power Suit's visor
	.dh 0x76D3
.org 0x829185A	; Fusion Power Suit's visor
	.dh 0x7AD6
.org 0x829187A	; Fusion Power Suit's visor
	.dh 0x76D3

; Varia Suit
.org 0x8291884	; Varia Suit's full palette
	.dh 0x4E73,0x0000,0x17FB,0x234D,0x2A4D,0x11ED,0x7FFF,0x4895
	.dh 0x14F5,0x14FC,0x14CD,0x72C7,0x2C48,0x6352,0x4AAA,0x2986
.org 0x82918A4	; Varia Suit's washed-out palette
	.dh 0x4E73,0x0000,0x2FFA,0x376D,0x46EA,0x6DCA,0x7FFF,0x5513
	.dh 0x2D54,0x2D5A,0x2D2C,0x76EF,0x3CA7,0x6B82,0x46EA,0x3DC5
.org 0x82918DA	; Varia Suit's visor
	.dh 0x734F
.org 0x82919E4	; Repeat of two above
	.dh 0x4E73,0x0000,0x2FFA,0x376D,0x46EA,0x6DCA,0x7FFF,0x5513
	.dh 0x2D54,0x2D5A,0x2D2C,0x76EF,0x3CA7,0x6B82,0x46EA,0x3DC5

; Gravity Suit
.org 0x829191A	; Gravity Suit's visor and outline
	.dh 0x72C7,0x62E1,0x6373,0x4A8B,0x2441
.org 0x829193A	; Gravity Suit's visor
	.dh 0x76EF
.org 0x829195A	; Gravity Suit's visor
	.dh 0x734F
.org 0x829197A	; Gravity Suit's visor
	.dh 0x76EF

;-------------------------------------
; Saving Game Palette cycling for suits
;-------------------------------------
; Power Suit
.org 0x8291A1A	; Fusion Power Suit's visor
	.dh 0x76A0
.org 0x8291A3A	; Fusion Power Suit's visor
	.dh 0x76E3
.org 0x8291A5A	; Fusion Power Suit's visor
	.dh 0x7B47
.org 0x8291A7A	; Fusion Power Suit's visor
	.dh 0x76F3

; Varia Suit
.org 0x8291A84	; Varia Suit's full palette
	.dh 0x4E73,0x0000,0x03FF,0x0310,0x2E09,0x08E5,0x7FFF,0x3C17
	.dh 0x0096,0x00BD,0x006E,0x7280,0x200A,0x5B32,0x3E4A,0x1946
.org 0x8291AA4	; Varia Suit's washed-out palette
	.dh 0x4E73,0x0000,0x23F8,0x332D,0x29EA,0x2507,0x7FFF,0x41B8
	.dh 0x0175,0x099C,0x014D,0x76E3,0x206E,0x4770,0x2EAB,0x15A6
.org 0x8291AC4	; Varia Suit's visor
	.dh 0x4E73,0x0000,0x2BF7,0x3B4D,0x460A,0x2546,0x7FFF,0x4E5B
	.dh 0x01B5,0x09DC,0x018D,0x7B47,0x44CA,0x4390,0x2ACB,0x16C6
.org 0x8291AE4	; Repeat of two above
	.dh 0x4E73,0x0000,0x33F6,0x474C,0x3E49,0x2985,0x7FFF,0x7E9D
	.dh 0x01F5,0x0DFB,0x01CD,0x7FAB,0x41AF,0x3F8F,0x26EC,0x1606

; Gravity Suit
.org 0x8291B1A	; Gravity Suit's visor and outline
	.dh 0x7280,0x6229,0x6336,0x4E10,0x2827
.org 0x8291B3A	; Gravity Suit's visor
	.dh 0x76E3
.org 0x8291B5A	; Gravity Suit's visor
	.dh 0x7B47
.org 0x8291B7A	; Gravity Suit's visor
	.dh 0x7FAB

; Omega Suit
.org 0x8291B92	; Omega Suit's belly colours, 0x8291584
	.dh 0x033C,0x0096,0x00BD,0x006E,0x3BE0,0x0211
.org 0x8291BB2	; Omega Suit's washed-out belly colours
	.dh 0x2F7B,0x0135,0x055C,0x010D,0x3FE0,0x2E10
.org 0x8291BD2	; Omega Suit's washed-out belly colours
	.dh 0x473A,0x05D5,0x0DFB,0x05AD,0x43E0,0x4610

;-------------------------------------
; Main suit palettes
;-------------------------------------
; Power Suit
.org 0x856843A	; Fusion Power Suit's visor
	.dh 0x7280

; Varia Suit
.org 0x8568444	; Varia Suit's full palette
	.dh 0x4E73,0x0000,0x03FF,0x0310,0x1DC5,0x18E5,0x7FFF,0x3C17
	.dh 0x0096,0x00BD,0x006E,0x7280,0x200A,0x5B32,0x3E4A,0x1946

; Gravity Suit
.org 0x856847A	; Gravity Suit's visor and outline
	.dh 0x7280,0x5AA0,0x5B32,0x3E4A,0x1443

; No Omega Suit in here (?)

;-------------------------------------
; Title screen and Game Over Samus Head palettes.
; Modify only the flashing green sections to accomplish a blue flash instead of green
;-------------------------------------

; Game Over palettes
;-------------------------------------
; Fusion Power Suit's visor
.org 0x873C046
	.dh 0x7280
; Varia Suit's (?) palette portions, change visor
.org 0x873C086
	.dh 0x6E40
; Gravity Suit's (?) visor
.org 0x873C0A6	; Gravity Suit's visor and outline
	.dh 0x6A00
; File Select palettes
;-------------------------------------
; Fusion Power Suit's visor
.org 0x873FCF2
	.dh 0x7280

; Varia Suit's (?) palette portions, change visor
.org 0x873FD92
	.dh 0x6E40

; Gravity Suit's (?) visor
.org 0x873FDB2	; Gravity Suit's visor and outline
	.dh 0x6A00

;-------------------------------------
; Beam Palettes
;-------------------------------------
; Wave Beam palette.
; Change it to the classic purple colour instead of green+blue
.org 0x858BC78
	.dh 0x7D99,0x659F,0x588F

;-------------------------------------

;.close
