diff options
Diffstat (limited to 'engine')
-rwxr-xr-x | engine/gfx/cgb_layouts.asm | 906 | ||||
-rwxr-xr-x | engine/gfx/color.asm | 4 | ||||
-rwxr-xr-x | engine/gfx/sgb_layouts.asm | 589 | ||||
-rw-r--r-- | engine/menus/intro_menu.asm | 4 | ||||
-rw-r--r-- | engine/overworld/init_map.asm | 4 |
5 files changed, 1501 insertions, 6 deletions
diff --git a/engine/gfx/cgb_layouts.asm b/engine/gfx/cgb_layouts.asm new file mode 100755 index 00000000..cbc8d203 --- /dev/null +++ b/engine/gfx/cgb_layouts.asm @@ -0,0 +1,906 @@ +CheckCGB: + ldh a, [hCGB] + and a + ret + +Predef_LoadSGBLayoutCGB: + ld a, b + cp SCGB_RAM + jr nz, .asm_931d + ld a, [wColorLayoutPredefID] +.asm_931d + cp SCGB_PARTY_MENU_HP_PALS + jp z, Function9b75 + call Function9b01 + ld l, a + ld h, $0 + add hl, hl + ld de, .Jumptable + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld de, .return + push de + jp hl + +.return + ret + +.Jumptable + dw Function9376 + dw Function9399 + dw Function944a + dw Function945e + dw Function94f1 + dw Function9605 + dw Function968d + dw Function96b7 + dw Function973e + dw Function9757 + dw Function9760 + dw Function976d + dw Function97af + dw Function97d4 + dw Function98be + dw Function98f1 + dw Function9905 + dw Function9728 + dw Function999f + dw Function99d9 + dw Function991e + dw Function9802 + dw Function95d5 + dw Function9561 + dw Function97e1 + dw Function9a03 + dw Function9a2e + dw Function9a5a + dw Function9a7b + dw Function9a94 + dw Function9a47 + dw Function9502 + +Function9376: ; 9376 (2:5376) + ld hl, PalPacket_a0d5 + 1 + ld de, wTempBGPals + ld c, $4 + call Function9ab7 + ld hl, PalPacket_a0d5 + 1 + ld de, wTempBGPal4 + ld c, $4 + call Function9ab7 + ld hl, PalPacket_a0d5 + 1 + ld de, wTempOBPals + ld c, $2 + call Function9ab7 + jr asm_93e1 + +Function9399: ; 9399 (2:5399) + ld de, wTempBGPal0 + call Function9ba9 + push hl + call Function9adb + call Function9bba + push hl + call Function9adb + ld a, [wcc9a] + ld l, a + ld h, $0 + add hl, hl + add hl, hl + ld bc, Palettes_ad2d + add hl, bc + call Function9adb + ld a, [wPlayerHPPal] + ld l, a + ld h, $0 + add hl, hl + add hl, hl + ld bc, Palettes_ad2d + add hl, bc + call Function9adb + ld hl, Palettes_ad39 + call Function9adb + ld de, wTempOBPals + pop hl + call Function9adb + pop hl + call Function9adb + ld a, $1 + ld [wColorLayoutPredefID], a + call Function9b28 +asm_93e1: + ld hl, TilesetBGPalette + 7 * 8 + ld de, wTempBGPal7 + ld bc, $8 + call CopyBytes + hlcoord 0, 0, wAttrmap + ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld a, $2 + call ByteFill + hlcoord 0, 4, wAttrmap + lb bc, $8, $a + ld a, $0 + call Function9af1 + hlcoord 10, 0, wAttrmap + lb bc, $7, $a + ld a, $1 + call Function9af1 + hlcoord 0, 0, wAttrmap + lb bc, $4, $a + ld a, $2 + call Function9af1 + hlcoord 10, 7, wAttrmap + lb bc, $5, $a + ld a, $3 + call Function9af1 + hlcoord 10, 11, wAttrmap + lb bc, $1, $9 + ld a, $4 + call Function9af1 + hlcoord 0, 12, wAttrmap + ld bc, $78 + ld a, $7 + call ByteFill + ld hl, Palettes_9c09 + ld de, wTempOBPal2 + ld bc, $30 + call CopyBytes + call Function9b35 + ret + +Function944a: ; 944a (2:544a) + ld hl, Palettes_bb6e + ld de, wTempBGPal0 + ld bc, $30 + call CopyBytes + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Function945e: ; 945e (2:545e) + ld de, wTempBGPal0 + ld a, [wcca1] + ld l, a + ld h, $0 + add hl, hl + add hl, hl + ld bc, Palettes_ad2d + add hl, bc + call Function9adb + ld a, [wCurPartySpecies] + ld bc, wTempMonDVs + call Function9bcb + call Function9adb + ld hl, Palettes_ad39 + call Function9adb + ld hl, Palettes_94d3 + ld de, wTempBGPal3 + ld bc, $18 + call CopyBytes + call Function9b1d + hlcoord 0, 0, wAttrmap + lb bc, $8, $14 + ld a, $1 + call Function9af1 + hlcoord 10, 16, wAttrmap + ld bc, $a + ld a, $2 + call ByteFill + hlcoord 13, 5, wAttrmap + lb bc, $2, $2 + ld a, $3 + call Function9af1 + hlcoord 15, 5, wAttrmap + lb bc, $2, $2 + ld a, $4 + call Function9af1 + hlcoord 17, 5, wAttrmap + lb bc, $2, $2 + ld a, $5 + call Function9af1 + call Function9b35 + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Palettes_94d3: + RGB 31, 31, 31 + RGB 31, 19, 31 + RGB 31, 15, 31 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 21, 31, 14 + RGB 17, 31, 00 + RGB 00, 00, 00 + + RGB 31, 31, 31 + RGB 17, 31, 31 + RGB 17, 31, 31 + RGB 00, 00, 00 + +StatsScreenPals: + RGB 31, 19, 31 + + RGB 21, 31, 14 + + RGB 17, 31, 31 + +Function94f1: ; 94f1 (2:54f1) + call Function9513 + hlcoord 1, 1, wAttrmap + lb bc, 7, 7 + ld a, $1 + call Function9af1 + jp Function9537 + +Function9502: ; 9502 (2:5502) + call Function9513 + hlcoord 1, 1, wAttrmap + lb bc, 5, 5 + ld a, $1 + call Function9af1 + jp Function9537 + +Function9513: ; 9513 (2:5513) + ld de, wTempBGPal0 + ld a, $1d + call Function9ac7 + call Function9ad2 + ld a, [wCurPartySpecies] + cp $ff + jr nz, .asm_952d + ld hl, Palettes_9559 + call Function9ad2 + jr .asm_9533 + +.asm_952d + call Function9be4 + call Function9adb +.asm_9533 + call Function9b1d + ret + +Function9537: ; 9537 (2:5537) + call Function9b9c + ld hl, Palettes_9551 + ld de, wTempOBPal7 + ld bc, $8 + call CopyBytes + call Function9b35 + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Palettes_9551: + RGB 0, 0, 0 + RGB 11, 23, 0 + RGB 7, 17, 0 + RGB 0, 0, 0 + +Palettes_9559: + RGB 11, 23, 0 + RGB 7, 17, 0 + RGB 6, 16, 3 + RGB 5, 12, 1 + +Function9561: ; 9561 (2:5561) + ld de, wTempBGPal0 + ld a, $1d + call Function9ac7 + call Function9ad2 + ld a, [wCurPartySpecies] + cp $ff + jr nz, .asm_957b + ld hl, Palettes_95cd + call Function9ad2 + jr .asm_9584 + +.asm_957b + ld bc, wTempMonDVs + call Function9bcb + call Function9adb +.asm_9584 + call Function9b1d + hlcoord 1, 4, wAttrmap + lb bc, 7, 7 + ld a, $1 + call Function9af1 + call Function9b9c + call Function9b35 + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Function95a0: + ld hl, Palettes_95cd + call Function9ad2 + jr asm_95b1 + +Function95a8: + ld bc, wTempMonDVs + call Function9bcb + call Function9adb +asm_95b1: + call Function9b1d + hlcoord 1, 1, wAttrmap + lb bc, 7, 7 + ld a, $1 + call Function9af1 + call Function9b9c + call Function9b35 + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Palettes_95cd: + RGB 31, 15, 0 + RGB 23, 12, 0 + RGB 15, 7, 0 + RGB 0, 0, 0 + +Function95d5: ; 95d5 (2:55d5) + ld de, wTempBGPals + ld a, $1d + call Function9ac7 + call Function9ad2 + ld a, [wCurPartySpecies] + call Function9be4 + call Function9adb + call Function9b1d + hlcoord 7, 5, wAttrmap + lb bc, 7, 7 + ld a, $1 + call Function9af1 + call Function9b9c + call Function9b35 + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Function9605: ; 9605 (2:5605) + ld hl, Palettes_bbbe + ld de, wTempBGPals + ld bc, $80 + call CopyBytes + call Function9b1d + hlcoord 0, 2, wAttrmap + lb bc, $a, $3 + ld a, $2 + call Function9af1 + hlcoord 17, 2, wAttrmap + lb bc, $a, $3 + ld a, $2 + call Function9af1 + hlcoord 0, 4, wAttrmap + lb bc, $6, $3 + ld a, $3 + call Function9af1 + hlcoord 17, 4, wAttrmap + lb bc, $6, $3 + ld a, $3 + call Function9af1 + hlcoord 0, 6, wAttrmap + lb bc, $2, $3 + ld a, $4 + call Function9af1 + hlcoord 17, 6, wAttrmap + lb bc, $2, $3 + ld a, $4 + call Function9af1 + hlcoord 4, 2, wAttrmap + lb bc, $2, $c + ld a, $1 + call Function9af1 + hlcoord 3, 2, wAttrmap + lb bc, $a, $1 + ld a, $1 + call Function9af1 + hlcoord 16, 2, wAttrmap + lb bc, $a, $1 + ld a, $1 + call Function9af1 + hlcoord 0, 12, wAttrmap + ld bc, $78 + ld a, $7 + call ByteFill + call Function9b35 + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Function968d: ; 968d (2:568d) + ld hl, PalPacket_a115 + 1 + call Function9ab2 + call Function9b1d + ld de, wTempOBPals + ld a, $3c + call Function9ac7 + call Function9ad2 + hlcoord 0, 6, wAttrmap + lb bc, $c, $14 + ld a, $1 + call Function9af1 + call Function9b35 + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Function96b7: ; 96b7 (2:56b7) + ld b, $0 + ld hl, .Jumptable + add hl, bc + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +.Jumptable: + dw Function96c8 + dw Function96f9 + dw Function9713 + +Function96c8: + ld hl, Palettes_96e1 + ld de, wTempBGPal0 + call Function9ad2 + ld hl, Palettes_96e9 + ld de, wTempOBPal0 + ld bc, $10 + call CopyBytes + call Function9b1d + ret + +Palettes_96e1: + RGB 19, 31, 19 + RGB 18, 23, 31 + RGB 11, 21, 28 + RGB 4, 16, 24 + +Palettes_96e9: + RGB 29, 29, 29 + RGB 20, 19, 20 + RGB 19, 6, 4 + RGB 3, 4, 6 + + RGB 31, 31, 31 + RGB 31, 31, 31 + RGB 31, 0, 0 + RGB 3, 4, 6 + +Function96f9: + ld de, wTempBGPal0 + ld a, $38 + call Function9ac7 + call Function9ad2 + ld de, wTempOBPals + ld a, $39 + call Function9ac7 +.asm_970b + call Function9ad2 + call Function9b1d + ret + +Function9713: + ld hl, PalPacket_a0a5 + 1 + call Function9ab2 + ld de, wTempOBPals + ld a, $3a + call Function9ac7 + call Function9ad2 + call Function9b1d + ret + +Function9728: ; 9728 (2:5728) + ld hl, Palettes_bb9e + ld de, wTempBGPals + ld bc, $28 + call CopyBytes + call Function9b28 + call Function9b1d + call Function9b35 + ret + +Function973e: ; 973e (2:573e) + ld hl, Palettes_ba86 + ld de, wTempBGPals + ld bc, $80 + call CopyBytes + ld hl, PalPacket_a125 + 1 + call Function9ab2 + call Function9b1d + call Function9b35 + ret + +Function9757: ; 9757 (2:5757) + call Functionb649 + ld a, $9 + ld [wColorLayoutPredefID], a + ret + +Function9760: ; 9760 (2:5760) + ld hl, PalPacket_a0c5 + 1 + call Function9ab2 + call Function9b9c + call Function9b35 + ret + +Function976d: ; 976d (2:576d) + ld de, wTempBGPal0 + ld a, c + and a + jr z, .asm_977e + ld a, $1a + call Function9ac7 + call Function9ad2 + jr .asm_97a1 + +.asm_977e + ld hl, wPartyMon1DVs + ld bc, $30 + ld a, [wCurPartyMon] + call AddNTimes + ld c, l + ld b, h + ld a, [wPlayerHPPal] + call Function9bcb + call Function9adb + ld hl, Palettes_9c09 + ld de, wTempOBPal2 + ld bc, $30 + call CopyBytes +.asm_97a1 + call Function9b1d + call Function9b35 + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Function97af: ; 97af (2:57af) + ld hl, Palettes_bb36 + ld de, wTempBGPal0 + ld bc, $28 + call CopyBytes + ld hl, Palettes_bb5e + ld de, wTempOBPals + ld bc, $10 + call CopyBytes + ld a, $8 + ld [wColorLayoutPredefID], a + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Function97d4: ; 97d4 (2:57d4) + ld hl, PalPacket_a125 + 1 + call Function9ab2 + call Function9b1d + call Function9b35 + ret + +Function97e1: ; 97e1 (2:57e1) + ld hl, PalPacket_a035 + 1 + call Function9ab2 + ld de, wTempOBPals + ld a, $4c + call Function9ac7 + call Function9ad2 + ld hl, wTempOBPal0 + ld a, $1f + ld [hli], a + ld a, $0 + ld [hl], a + call Function9b1d + call Function9b35 + ret + +Function9802: ; 9802 (2:5802) + ld de, wTempBGPal0 + xor a + call Function9bda + call Function9adb + ld a, $1 + call Function9bda + call Function9adb + ld a, $3 + call Function9bda + call Function9adb + ld a, $2 + call Function9bda + call Function9adb + ld a, $4 + call Function9bda + call Function9adb + ld a, $7 + call Function9bda + call Function9adb + ld a, $6 + call Function9bda + call Function9adb + ld a, $5 + call Function9bda + call Function9adb + ld a, $24 + call Function9ac7 + call Function9ad2 + hlcoord 0, 0, wAttrmap + ld bc, $168 + ld a, $1 + call ByteFill + hlcoord 14, 1, wAttrmap + lb bc, $7, $5 + xor a + call Function9af1 + hlcoord 18, 1, wAttrmap + ld [hl], $1 + hlcoord 2, 11, wAttrmap + lb bc, $2, $4 + ld a, $1 + call Function9af1 + hlcoord 6, 11, wAttrmap + lb bc, $2, $4 + ld a, $2 + call Function9af1 + hlcoord 10, 11, wAttrmap + lb bc, $2, $4 + ld a, $3 + call Function9af1 + hlcoord 14, 11, wAttrmap + lb bc, $2, $4 + ld a, $4 + call Function9af1 + hlcoord 2, 14, wAttrmap + lb bc, $2, $4 + ld a, $5 + call Function9af1 + hlcoord 6, 14, wAttrmap + lb bc, $2, $4 + ld a, $6 + call Function9af1 + hlcoord 10, 14, wAttrmap + lb bc, $2, $4 + ld a, $7 + call Function9af1 + call Function9b35 + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Function98be: ; 98be (2:58be) + ld de, wTempBGPals + ld a, $10 + call Function9ac7 + call Function9ad2 + ld a, [wPlayerHPPal] + ld l, a + ld h, $0 + add hl, hl + add hl, hl + ld bc, Palettes_ad2d + add hl, bc + call Function9adb + call Function9b1d + hlcoord 11, 1, wAttrmap + lb bc, $2, $9 + ld a, $1 + call Function9af1 + call Function9b35 + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Function98f1: ; 98f1 (2:58f1) + ld hl, PalPacket_a0b5 + 1 + call Function9ab2 + call Function9b1d + call Function9b35 + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Function9905: ; 9905 (2:5905) + ld de, wTempBGPals + ld a, $1d + call Function9ac7 + call Function9ad2 + call Function9b1d + call Function9b35 + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Function991e: ; 991e (2:591e) + ld de, wTempBGPals + ld hl, Palettes_996f + ld bc, $40 + call CopyBytes + call Function9b1d + hlcoord 0, 0, wAttrmap + lb bc, $1, $a + ld a, $1 + call Function9af1 + hlcoord 10, 0, wAttrmap + lb bc, $1, $a + ld a, $2 + call Function9af1 + hlcoord 7, 2, wAttrmap + lb bc, $9, $1 + ld a, $3 + call Function9af1 + hlcoord 0, 7, wAttrmap + lb bc, $3, $5 + ld a, $4 + call Function9af1 + hlcoord 0, 3, wAttrmap + lb bc, $3, $5 + ld a, $5 + call Function9af1 + call Function9b35 + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Palettes_996f: + RGB 31, 31, 31 + RGB 15, 15, 31 + RGB 0, 0, 31 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 15, 15, 31 + RGB 0, 0, 31 + RGB 0, 0, 0 + + RGB 31, 11, 31 + RGB 15, 15, 31 + RGB 0, 0, 31 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 15, 15, 31 + RGB 0, 0, 31 + RGB 31, 0, 0 + + RGB 31, 31, 31 + RGB 15, 15, 31 + RGB 31, 0, 0 + RGB 0, 0, 0 + + RGB 31, 31, 31 + RGB 7, 19, 7 + RGB 7, 19, 7 + RGB 0, 0, 0 + +Function999f: ; 999f (2:599f) + call Function9757 + call SwapTextboxPalettes + ld de, $14 + hlcoord 0, 0, wAttrmap + ld a, [wMenuBorderTopCoord] +.asm_99ae + and a + jr z, .asm_99b5 + dec a + add hl, de + jr .asm_99ae + +.asm_99b5 + ld a, [wMenuBorderLeftCoord] + ld e, a + ld d, $0 + add hl, de + ld a, [wMenuBorderTopCoord] + ld b, a + ld a, [wMenuBorderBottomCoord] + inc a + sub b + ld b, a + ld a, [wMenuBorderLeftCoord] + ld c, a + ld a, [wMenuBorderRightCoord] + sub c + inc a + ld c, a + ld a, $0 + call Function9af1 + call Function9b35 + ret + +Function99d9: ; 99d9 (2:59d9) + ld hl, PalPacket_a015 + 1 + call Function9ab2 + call Function9b1d + hlcoord 0, 4, wAttrmap + lb bc, $a, $14 + ld a, $2 + call Function9af1 + hlcoord 0, 6, wAttrmap + lb bc, $6, $14 + ld a, $1 + call Function9af1 + call Function9b35 + call Function9b28 + ld a, $1 + ldh [hCGBPalUpdate], a + ret + +Function9a03: ; 9a03 (2:5a03) + ld de, wTempBGPal0 + ld a, $4e + call Function9ac7 + call Function9ad2 + ld de, wTempOBPal0 + ld a, $4d + call Function9ac7 + call Function9ad2 + ld de, wTempOBPal1 + ld a, $4d + call Function9ac7 + call Function9ad2 + call Function9b1d + call Function9b35 + call Function9b28 + ret + +Function9a2e: ; 9a2e (2:5a2e) + ld de, wTempBGPal0 + ld a, [wCurPartySpecies] + ld bc, wTempMonDVs + call Function9bcb + call Function9adb + call Function9b1d + call Function9b35 + call Function9b28 + ret + +Function9a47: ; 9a47 (2:5a47) + ld de, wTempBGPal0 + ld a, [wCurPartySpecies] + call Function9be4 + call Function9adb + call Function9b1d + call Function9b35 + ret + +Function9a5a: ; 9a5a (2:5a5a) + ld hl, PalPacket_a135 + 1 + call Function9ab2 + ld hl, Palettes_bac6 + ld de, wTempOBPal0 + ld bc, $8 + call CopyBytes + ld de, wTempOBPal7 + ld a, $1c + call Function9ac7 + call Function9ad2 + call Function9b1d + ret + +Function9a7b: ; 9a7b (2:5a7b) + ld de, wTempBGPal0 + ld a, [wCurPartySpecies] + ld bc, wTempMonDVs + call Function9bd3 + call Function9adb + call Function9b1d + call Function9b35 + call Function9b28 + ret diff --git a/engine/gfx/color.asm b/engine/gfx/color.asm index b388675f..10507851 100755 --- a/engine/gfx/color.asm +++ b/engine/gfx/color.asm @@ -1,5 +1,5 @@ PALPACKET_LENGTH EQU $10 -INCLUDE "predef/sgb.asm" +INCLUDE "engine/gfx/sgb_layouts.asm" SHINY_ATK_BIT EQU 5 SHINY_DEF_VAL EQU 10 @@ -378,7 +378,7 @@ LoadMailPalettes: .MailPals: INCLUDE "gfx/mail/mail.pal" -INCLUDE "predef/cgb.asm" +INCLUDE "engine/gfx/cgb_layouts.asm" Function9a94: ; 9a94 (2:5a94) ld hl, Palettes_9aaa diff --git a/engine/gfx/sgb_layouts.asm b/engine/gfx/sgb_layouts.asm new file mode 100755 index 00000000..e94ad9fc --- /dev/null +++ b/engine/gfx/sgb_layouts.asm @@ -0,0 +1,589 @@ +LoadSGBLayout: ; 8c2d (2:4c2d) + call CheckCGB + jp nz, Predef_LoadSGBLayoutCGB + ld a, b + cp SCGB_RAM + jr nz, .asm_8c3b + ld a, [wColorLayoutPredefID] +.asm_8c3b + cp SCGB_PARTY_MENU_HP_PALS + jp z, SGB_ApplyPartyMenuHPPals + ld l, a + ld h, $0 + add hl, hl + ld de, .Jumptable + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld de, FinishSGBPredefFunction + push de + jp hl + +.Jumptable + dw Function8c90 + dw Function8c97 + dw Function8d3f + dw Function8d46 + dw Function8d95 + dw Function8e3c + dw Function8e43 + dw Function8e51 + dw Function8e4a + dw Function8e9b + dw Function8d8e + dw Function8eb7 + dw Function8e6e + dw Function8f04 + dw Function8d1f + dw Function8e81 + dw Function8e14 + dw Function8e88 + dw Function8f12 + dw Function8e7a + dw Function8e35 + dw Function8f04 + dw Function8e0d + dw Function8dd3 + dw Function8f0b + dw Function8f90 + dw Function8f97 + dw Function8fc3 + dw Function8fca + dw Function8e4a + dw Function8f53 + dw Function8dcc + +Function8c90: ; 8c90 (2:4c90) + ld hl, PalPacket_a0d5 + ld de, BlkPacket_9f05 + ret + +Function8c97: ; 8c97 (2:4c97) + ld hl, BlkPacket_9f05 + call PushSGBPals_ + ld hl, PalPacket_a155 + ld de, wcca9 + ld bc, $10 + call CopyBytes + ld a, [wPlayerHPPal] + ld l, a + ld h, $0 + add hl, hl + add hl, hl + ld de, Palettes_ad2d + add hl, de + 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 a, [wcc9a] + ld l, a + ld h, $0 + add hl, hl + add hl, hl + ld de, Palettes_ad2d + add hl, de + ld a, [hli] + ld [wccb2], a + ld a, [hli] + ld [wccb3], a + ld a, [hli] + ld [wccb4], a + ld a, [hl] + ld [wccb5], a + ld hl, PalPacket_a165 + ld de, wccb9 + ld bc, $10 + call CopyBytes + call Function9ba9 + ld a, [hli] + ld [wccbc], a + ld a, [hli] + ld [wccbd], a + ld a, [hli] + ld [wccbe], a + ld a, [hl] + ld [wccbf], a + call Function9bba + ld a, [hli] + ld [wccc2], a + ld a, [hli] + ld [wccc3], a + ld a, [hli] + ld [wccc4], a + ld a, [hl] + ld [wccc5], a + ld hl, wcca9 + ld de, wccb9 + ld a, $1 + ld [wColorLayoutPredefID], a + ret + +Function8d1f: ; 8d1f (2:4d1f) + ld hl, PalPacket_a045 + ld de, wcca9 + ld bc, $10 + call CopyBytes + ld hl, wccaa + ld [hl], $10 + inc hl + inc hl + ld a, [wPlayerHPPal] + add $2f + ld [hl], a + ld hl, wcca9 + ld de, BlkPacket_9f35 + ret + +Function8d3f: ; 8d3f (2:4d3f) + ld hl, PalPacket_a0e5 + ld de, BlkPacket_9ee5 + ret + +Function8d46: ; 8d46 (2:4d46) + ld hl, PalPacket_a155 + ld de, wcca9 + ld bc, $10 + call CopyBytes + ld a, [wcca1] + ld l, a + ld h, $0 + add hl, hl + add hl, hl + ld de, Palettes_ad2d + add hl, de + 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 a, [wCurPartySpecies] + ld bc, wTempMonDVs + call Function9bcb + ld a, [hli] + ld [wccb2], a + ld a, [hli] + ld [wccb3], a + ld a, [hli] + ld [wccb4], a + ld a, [hl] + ld [wccb5], a + ld hl, wcca9 + ld de, BlkPacket_9f25 + ret + +Function8d8e: ; 8d8e (2:4d8e) + ld hl, PalPacket_a0c5 + ld de, wccaa + ret + +Function8d95: ; 8d95 (2:4d95) + ld hl, PalPacket_a155 + ld de, wcca9 + ld bc, $10 + call CopyBytes + ld hl, wccac + ld [hl], $9f + inc hl + ld [hl], $2a + inc hl + ld [hl], $5a + inc hl + ld [hl], $19 + ld a, [wCurPartySpecies] + call Function9be4 + ld a, [hli] + ld [wccb2], a + ld a, [hli] + ld [wccb3], a + ld a, [hli] + ld [wccb4], a + ld a, [hl] + ld [wccb5], a + ld hl, wcca9 + ld de, BlkPacket_9f45 + ret + +Function8dcc: ; 8dcc (2:4dcc) + call Function8d95 + ld de, BlkPacket_9f65 + ret + +Function8dd3: ; 8dd3 (2:4dd3) + ld hl, PalPacket_a155 + ld de, wcca9 + ld bc, $10 + call CopyBytes + ld hl, wccac + ld [hl], $9f + inc hl + ld [hl], $2a + inc hl + ld [hl], $5a + inc hl + ld [hl], $19 + ld a, [wCurPartySpecies] + ld bc, wTempMonDVs + call Function9bcb + ld a, [hli] + ld [wccb2], a + ld a, [hli] + ld [wccb3], a + ld a, [hli] + ld [wccb4], a + ld a, [hl] + ld [wccb5], a + ld hl, wcca9 + ld de, BlkPacket_9f55 + ret + +Function8e0d: ; 8e0d (2:4e0d) + call Function8d95 + ld de, BlkPacket_9f75 + ret + +Function8e14: ; 8e14 (2:4e14) + ld hl, PalPacket_a155 + ld de, wcca9 + ld bc, $10 + call CopyBytes + ld hl, wccac + ld [hl], $9f + inc hl + ld [hl], $2a + inc hl + ld [hl], $5a + inc hl + ld [hl], $19 + ld hl, wcca9 + ld de, BlkPacket_9ee5 + ret + +Function8e35: ; 8e35 (2:4e35) + ld hl, PalPacket_a0a5 + ld de, BlkPacket_9ee5 + ret + +Function8e3c: ; 8e3c (2:4e3c) + ld hl, PalPacket_a105 + ld de, BlkPacket_9f85 + ret + +Function8e43: ; 8e43 (2:4e43) + ld hl, PalPacket_a115 + ld de, BlkPacket_9fe5 + ret + +Function8e4a: ; 8e4a (2:4e4a) + ld hl, PalPacket_a125 + ld de, BlkPacket_9ee5 + ret + +Function8e51: ; 8e51 (2:4e51) + ld b, $0 + ld hl, .Table + add hl, bc + add hl, bc + add hl, bc + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld a, [hli] + ld h, [hl] + ld l, a + ret + +.Table + dw BlkPacket_9ee5, PalPacket_a055 + dw BlkPacket_9ef5, PalPacket_a075 + dw BlkPacket_9ee5, PalPacket_a085 + +Function8e6e: ; 8e6e (2:4e6e) + ld hl, PalPacket_a005 + ld de, BlkPacket_9fd5 + ld a, $8 + ld [wColorLayoutPredefID], a + ret + +Function8e7a: ; 8e7a (2:4e7a) + ld hl, PalPacket_a015 + ld de, BlkPacket_9ff5 + ret + +Function8e81: ; 8e81 (2:4e81) + ld hl, PalPacket_a0b5 + ld de, BlkPacket_9ee5 + ret + +Function8e88: ; 8e88 (2:4e88) + ld hl, BlkPacket_9ee5 + ld de, wc602 + ld bc, $10 + call CopyBytes + ld hl, PalPacket_a025 + ld de, BlkPacket_9ee5 + ret + +Function8e9b: ; 8e9b (2:4e9b) + ld hl, PalPacket_a045 + ld de, wcca9 + ld bc, $10 + call CopyBytes + call Function8ff6 + ld hl, wccaa + ld [hld], a + ld de, BlkPacket_9ee5 + ld a, $9 + ld [wColorLayoutPredefID], a + ret + +Function8eb7: ; 8eb7 (2:4eb7) + push bc + ld hl, PalPacket_a155 + ld de, wcca9 + ld bc, $10 + call CopyBytes + pop bc + ld a, c + and a + jr z, .asm_8ed9 + ld hl, wccac + ld [hl], $e7 + inc hl + ld [hl], $1c + inc hl + ld [hl], $62 + inc hl + ld [hl], $c + jr .asm_8efd + +.asm_8ed9 + ld hl, wPartyMon1DVs + ld bc, $30 + ld a, [wCurPartyMon] + call AddNTimes + ld c, l + ld b, h + ld a, [wPlayerHPPal] + call Function9bcb + ld a, [hli] + ld [wccac], a + ld a, [hli] + ld [wccad], a + ld a, [hli] + ld [wccae], a + ld a, [hl] + ld [wccaf], a +.asm_8efd + ld hl, wcca9 + ld de, BlkPacket_9ee5 + ret + +Function8f04: ; 8f04 (2:4f04) + ld hl, PalPacket_a125 + ld de, BlkPacket_9ee5 + ret + +Function8f0b: ; 8f0b (2:4f0b) + ld hl, PalPacket_a035 + ld de, BlkPacket_9ee5 + ret + +Function8f12: ; 8f12 (2:4f12) + ld hl, PalPacket_a045 + ld de, wcca9 + ld bc, $10 + call CopyBytes + ld hl, BlkPacket_9ee5 + ld de, wccb9 + ld bc, $10 + call CopyBytes + call Function8ff6 + ld hl, wccaa + ld [hl], a + ld hl, wccac + ld [hl], $2e + ld hl, wccbc + ld a, $5 + ld [hli], a + ld a, [wMenuBorderLeftCoord] + ld [hli], a + ld a, [wMenuBorderTopCoord] + ld [hli], a + ld a, [wMenuBorderRightCoord] + ld [hli], a + ld a, [wMenuBorderBottomCoord] + ld [hl], a + ld hl, wcca9 + ld de, wccb9 + ret + +Function8f53: ; 8f53 (2:4f53) + ld hl, PalPacket_a155 + ld de, wcca9 + ld bc, $10 + call CopyBytes + ld a, [wCurPartySpecies] + ld l, a + ld h, $0 + add hl, hl + add hl, hl + add hl, hl + ld de, PokemonPalettes + add hl, de + ld a, [wce65] + and $3 + sla a + sla a + ld c, a + ld b, $0 + add hl, bc + 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 + ld de, BlkPacket_9ee5 + ret + +Function8f90: ; 8f90 (2:4f90) + ld hl, PalPacket_a145 + ld de, BlkPacket_9ee5 + ret + +Function8f97: ; 8f97 (2:4f97) + ld hl, PalPacket_a155 + ld de, wcca9 + ld bc, $10 + call CopyBytes + ld a, [wCurPartySpecies] + ld bc, wTempMonDVs + call Function9bcb + 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 + ld de, BlkPacket_9ee5 + ret + +Function8fc3: ; 8fc3 (2:4fc3) + ld hl, PalPacket_a135 + ld de, BlkPacket_9ee5 + ret + +Function8fca: ; 8fca (2:4fca) + ld hl, PalPacket_a155 + ld de, wcca9 + ld bc, $10 + call CopyBytes + ld a, [wCurPartySpecies] + ld bc, wTempMonDVs + call Function9bd3 + 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 + ld de, BlkPacket_9ee5 + ret + +Function8ff6: ; 8ff6 (2:4ff6) + ld a, [wTimeOfDayPal] + cp $2 + jr c, .asm_9000 + ld a, $19 + ret + +.asm_9000 + ld a, [wPermission] + cp $2 + jr z, .asm_9023 + cp $4 + jr z, .asm_9026 + cp $7 + jr z, .asm_9026 + cp $5 + jr z, .asm_9029 + cp $6 + jr z, .asm_902c + ld a, [wMapGroup] + ld e, a + ld d, $0 + ld hl, .SGBRoofPalInds + add hl, de + ld a, [hl] + ret + +.asm_9023 + ld a, $0 + ret + +.asm_9026 + ld a, $18 + ret + +.asm_9029 + ld a, $6 + ret + +.asm_902c + ld a, $3 + ret + +.SGBRoofPalInds: + db $00 ; Unused + db $12 ; Olivine + db $14 ; Mahogany + db $18 ; Various Dungeons + db $11 ; Ecruteak + db $15 ; Blackthorn + db $09 ; Cinnabar + db $04 ; Cerulean + db $0f ; Azalea + db $16 ; Lake Of Rage + db $0e ; Violet + db $10 ; Goldenrod + db $06 ; Vermilion + db $01 ; Palette + db $03 ; Pewter + db $06 ; Fast Ship + db $0b ; Indigo Plateau + db $08 ; Fuchsia + db $05 ; Lavender + db $17 ; Silver Cave Outside + db $08 ; Pokemon Center 2F + db $07 ; Celadon + db $13 ; Cianwood + db $02 ; Viridian + db $0c ; New Bark + db $0a ; Saffron + db $0d ; Cherrygrove + +FinishSGBPredefFunction: ; 904a (2:504a) + push de + call PushSGBPals_ + pop hl + jp PushSGBPals_ diff --git a/engine/menus/intro_menu.asm b/engine/menus/intro_menu.asm index 0b5862ac..e31900d5 100644 --- a/engine/menus/intro_menu.asm +++ b/engine/menus/intro_menu.asm @@ -277,13 +277,13 @@ Function5c41: ; 5c41 (1:5c41) call ByteFill ldh a, [rLY] - ldh [hSecondsBackup], a + ldh [hUnusedBackup], a call DelayFrame ldh a, [hRandomSub] ld [wPlayerID], a ldh a, [rLY] - ldh [hSecondsBackup], a + ldh [hUnusedBackup], a call DelayFrame ldh a, [hRandomAdd] ld [wPlayerID + 1], a diff --git a/engine/overworld/init_map.asm b/engine/overworld/init_map.asm index 39873677..37a5207c 100644 --- a/engine/overworld/init_map.asm +++ b/engine/overworld/init_map.asm @@ -60,10 +60,10 @@ Function656b: ; 656b (1:656b) ld a, $1 ldh [hOAMUpdate], a ld a, $3 - ldh [hVBlankCounter + 1], a + ldh [hFF9E], a .asm_65bc call DelayFrame - ldh a, [hVBlankCounter + 1] + ldh a, [hFF9E] and a jr nz, .asm_65bc pop af |