diff options
-rwxr-xr-x | engine/color.asm | 278 |
1 files changed, 273 insertions, 5 deletions
diff --git a/engine/color.asm b/engine/color.asm index f5f27050..ccd58a92 100755 --- a/engine/color.asm +++ b/engine/color.asm @@ -7,17 +7,285 @@ SHINY_SPD_VAL EQU 10 SHINY_SPC_VAL EQU 10 CheckShininess: - dr $9052, $9072 -CheckContestMon: - dr $9072, $91e5 + ld l, c + ld h, b + ld a, [hl] + and $20 + jr z, .asm_9070 + ld a, [hli] + and $f + cp $a + jr nz, .asm_9070 + ld a, [hl] + and $f0 + cp $a0 + jr nz, .asm_9070 + ld a, [hl] + and $f + cp $a + jr nz, .asm_9070 + scf + ret + +.asm_9070 + and a + ret + +CheckContestMon: ; 9072 (2:5072) + ld a, [hl] + cp $a0 + jr c, .asm_908c + ld a, [hli] + and $f + cp $a + jr c, .asm_908c + ld a, [hl] + cp $a0 + jr c, .asm_908c + ld a, [hl] + and $f + cp $a + jr c, .asm_908c + scf + ret + +.asm_908c + and a + ret + +Function908e: + push de + push bc + ld hl, PalPacket_a155 + ld de, wcca9 + ld bc, $10 + call CopyBytes + pop bc + pop de + ld a, c + ld [wccac], a + ld a, b + ld [wccad], a + ld a, e + ld [wccae], a + ld a, d + ld [wccaf], a + ld hl, wcca9 + call PushSGBPals_ + ld hl, BlkPacket_9ee5 + call PushSGBPals_ + ret + +InitPartyMenuPalettes: + call CheckCGB + jr nz, .asm_90cc + ld hl, BlkPacket_9fa5 + ld de, wccaa + ld bc, $30 + jp CopyBytes + +.asm_90cc + ld hl, PalPacket_a0c5 + 1 + call Function9ab2 + call Function9b9c + call Function9b1d + ret + +SGB_ApplyPartyMenuHPPals: + ld hl, wcc9b + ld a, [wcca9] + ld e, a + ld d, $0 + add hl, de + ld e, l + ld d, h + ld a, [de] + and a + ld e, $5 + jr z, .asm_90f2 + dec a + ld e, $a + jr z, .asm_90f2 + ld e, $f +.asm_90f2 + push de + ld hl, wccb3 + ld bc, $6 + ld a, [wcca9] + call AddNTimes + pop de + ld [hl], e + ret + +Function8b07: + call CheckCGB + ret z + ld hl, .BGPal + ld de, wUnknBGPals + ld bc, $8 + call CopyBytes + ld hl, .OBPal + ld de, wUnknOBPals + ld bc, $8 + call CopyBytes + call Function9b28 + ld a, $1 + ld [hCGBPalUpdate], a + ret + +.BGPal: + RGB 31, 31, 31 + RGB 18, 23, 31 + RGB 15, 20, 31 + RGB 00, 00, 00 + +.OBPal: + RGB 31, 31, 31 + RGB 31, 31, 12 + RGB 08, 16, 28 + RGB 00, 00, 00 + +Function9136: + call CheckCGB + ret nz + ld a, [hSGB] + and a + ret z + ld hl, BlkPacket_9ee5 + jp PushSGBPals_ + +Function9144: + call CheckCGB + jr nz, .asm_9153 + ld a, [hSGB] + and a + ret z + ld hl, PalPacket_a095 + jp PushSGBPals_ + +.asm_9153 + ld de, wUnknOBPals + ld a, $3b + call Function9ac7 + jp Function9ad2 + +Function915e: + call CheckCGB + jr nz, .asm_916d + ld a, [hSGB] + and a + ret z + ld hl, PalPacket_a0a5 + jp PushSGBPals_ + +.asm_916d + ld de, wUnknOBPals + ld a, $3c + call Function9ac7 + jp Function9ad2 + +Function9178: + call CheckCGB + jr nz, .asm_91a9 + ld a, [hSGB] + and a + ret z + ld a, c + push af + ld hl, PalPacket_a155 + ld de, wcca9 + ld bc, $10 + call CopyBytes + pop af + call Function9be4 + ld a, [hli] + ld [wccac], a + ld a, [hli] + ld [wccad], a + ld a, [hli] + ld [wccae], a + ld a, [hl] + ld [wccaf], a + ld hl, wcca9 + jp PushSGBPals_ + +.asm_91a9 + ld de, wUnknOBPals + ld a, c + call Function9be4 + call Function9adb + ret + +Function91b4: + ld a, [hCGB] + and a + jr nz, .asm_91bf + ld hl, wc602 + jp PushSGBPals_ + +.asm_91bf + ld a, [wc606] + ld c, a + ld a, [wc607] + ld hl, wAttrMap + ld de, $14 +.asm_91cc + and a + jr z, .asm_91d3 + add hl, de + dec a + jr .asm_91cc + +.asm_91d3 + ld b, $0 + add hl, bc + lb bc, 6, 4 + ld a, [wc605] + and $3 + call Function9af1 + call LoadEDTile + ret + ApplyMonOrTrainerPals: dr $91e5, $9311 INCLUDE "predef/cgb.asm" Function9a94: - dr $9a94, $9cc0 + dr $9a94, $9ab2 +Function9ab2: + dr $9ab2, $9ac7 +Function9ac7: + dr $9ac7, $9ad2 +Function9ad2: + dr $9ad2, $9adb +Function9adb: + dr $9adb, $9af1 +Function9af1: + dr $9af1, $9b1d +Function9b1d: + dr $9b1d, $9b28 +Function9b28: + dr $9b28, $9b9c +Function9b9c: + dr $9b9c, $9be4 +Function9be4: + dr $9be4, $9c76 +PushSGBPals_: + dr $9c76, $9cc0 InitSGBBorder: dr $9cc0, $9cfd InitCGBPals:: ; 9cfd - dr $9cfd, $bc3a + dr $9cfd, $9ee5 +BlkPacket_9ee5: + dr $9ee5, $9fa5 +BlkPacket_9fa5: + dr $9fa5, $a095 +PalPacket_a095: + dr $a095, $a0a5 +PalPacket_a0a5: + dr $a0a5, $a0c5 +PalPacket_a0c5: + dr $a0c5, $a155 +PalPacket_a155: + dr $a155, $bc3a |