pokecrystal/engine/gfx/crystal_layouts.asm

303 lines
4.9 KiB
NASM
Raw Normal View History

GetCrystalCGBLayout:
2015-12-17 02:57:42 +00:00
ld a, b
cp SCGB_DEFAULT
jr nz, .not_default
ld a, [wDefaultSGBLayout]
.not_default
2015-12-17 02:57:42 +00:00
push af
2017-12-24 17:47:30 +00:00
farcall ResetBGPals
2015-12-17 02:57:42 +00:00
pop af
ld l, a
ld h, 0
add hl, hl
ld de, .Jumptable
2015-12-17 02:57:42 +00:00
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
ld de, .done
push de
jp hl
.done:
2015-12-17 02:57:42 +00:00
ret
.Jumptable:
dw _CrystalCGB_MobileLayout0
dw _CrystalCGB_MobileLayout1
dw _CrystalCGB_NameCard
2015-12-17 02:57:42 +00:00
Crystal_FillBoxCGB:
; This is a copy of FillBoxCGB.
2015-12-17 02:57:42 +00:00
.row
push bc
push hl
.col
ld [hli], a
dec c
jr nz, .col
pop hl
ld bc, SCREEN_WIDTH
add hl, bc
pop bc
dec b
jr nz, .row
ret
Crystal_WipeAttrmap:
; This is a copy of WipeAttrmap.
hlcoord 0, 0, wAttrmap
2015-12-17 02:57:42 +00:00
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
xor a
call ByteFill
ret
2018-06-24 14:09:41 +00:00
MG_Mobile_Layout_LoadPals:
2018-01-01 14:08:21 +00:00
ld de, wBGPals1
2018-03-03 00:39:16 +00:00
ld hl, Palette_MysteryGiftMobile
2015-12-17 02:57:42 +00:00
ld bc, 5 palettes
2018-01-01 14:08:21 +00:00
ld a, BANK(wBGPals1)
2015-12-17 02:57:42 +00:00
call FarCopyWRAM
2018-01-01 14:08:21 +00:00
ld de, wBGPals1 palette PAL_BG_TEXT
2015-12-17 02:57:42 +00:00
ld hl, Palette_TextBG7
ld bc, 1 palettes
2018-01-01 14:08:21 +00:00
ld a, BANK(wBGPals1)
2015-12-17 02:57:42 +00:00
call FarCopyWRAM
ret
_CrystalCGB_MobileLayout0:
2015-12-17 02:57:42 +00:00
call MG_Mobile_Layout_LoadPals
call Crystal_WipeAttrmap
2015-12-17 02:57:42 +00:00
call MG_Mobile_Layout_CreatePalBoxes
farcall ApplyAttrmap
2017-12-24 17:47:30 +00:00
farcall ApplyPals
2015-12-17 02:57:42 +00:00
ret
2018-06-24 14:09:41 +00:00
MG_Mobile_Layout_CreatePalBoxes:
hlcoord 0, 0, wAttrmap
2015-12-17 02:57:42 +00:00
lb bc, 4, 1
ld a, $1
call Crystal_FillBoxCGB
2015-12-17 02:57:42 +00:00
lb bc, 2, 1
ld a, $2
call Crystal_FillBoxCGB
2015-12-17 02:57:42 +00:00
lb bc, 6, 1
ld a, $3
call Crystal_FillBoxCGB
hlcoord 1, 0, wAttrmap
2015-12-17 02:57:42 +00:00
ld a, $1
lb bc, 3, 18
call Crystal_FillBoxCGB
2015-12-17 02:57:42 +00:00
lb bc, 2, 18
ld a, $2
call Crystal_FillBoxCGB
2015-12-17 02:57:42 +00:00
lb bc, 12, 18
ld a, $3
call Crystal_FillBoxCGB
hlcoord 19, 0, wAttrmap
2015-12-17 02:57:42 +00:00
lb bc, 4, 1
ld a, $1
call Crystal_FillBoxCGB
2015-12-17 02:57:42 +00:00
lb bc, 2, 1
ld a, $2
call Crystal_FillBoxCGB
2015-12-17 02:57:42 +00:00
lb bc, 6, 1
ld a, $3
call Crystal_FillBoxCGB
hlcoord 0, 12, wAttrmap
2015-12-17 02:57:42 +00:00
ld bc, 6 * SCREEN_WIDTH
ld a, $7
call ByteFill
ret
2018-06-24 14:09:41 +00:00
Palette_MysteryGiftMobile:
INCLUDE "gfx/mystery_gift/mg_mobile.pal"
2015-12-17 02:57:42 +00:00
2018-06-24 14:09:41 +00:00
LoadOW_BGPal7::
2015-12-17 02:57:42 +00:00
ld hl, Palette_TextBG7
2018-01-01 14:08:21 +00:00
ld de, wBGPals1 palette PAL_BG_TEXT
2017-12-16 03:36:33 +00:00
ld bc, 1 palettes
2018-01-01 14:08:21 +00:00
ld a, BANK(wBGPals1)
2015-12-17 02:57:42 +00:00
call FarCopyWRAM
ret
2018-06-24 14:09:41 +00:00
Palette_TextBG7:
INCLUDE "gfx/font/bg_text.pal"
2015-12-17 02:57:42 +00:00
2018-06-24 14:09:41 +00:00
Function49420::
ld hl, MansionPalette1 + 8 palettes
2018-01-01 14:08:21 +00:00
ld de, wBGPals1 palette PAL_BG_ROOF
2017-12-16 03:36:33 +00:00
ld bc, 1 palettes
2018-01-01 14:08:21 +00:00
ld a, BANK(wBGPals1)
2015-12-17 02:57:42 +00:00
call FarCopyWRAM
ret
_CrystalCGB_MobileLayout1:
2015-12-17 02:57:42 +00:00
call MG_Mobile_Layout_LoadPals
2018-01-01 14:08:21 +00:00
ld de, wBGPals1 palette PAL_BG_TEXT
ld hl, .TextPalette
2017-12-16 03:36:33 +00:00
ld bc, 1 palettes
2018-01-01 14:08:21 +00:00
ld a, BANK(wBGPals1)
2015-12-17 02:57:42 +00:00
call FarCopyWRAM
call Crystal_WipeAttrmap
hlcoord 0, 0, wAttrmap
2015-12-17 02:57:42 +00:00
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
xor a
call ByteFill
hlcoord 0, 14, wAttrmap
2015-12-17 02:57:42 +00:00
ld bc, 4 * SCREEN_WIDTH
ld a, $7
call ByteFill
ld a, [wd002]
bit 6, a
jr z, .asm_49464
call Function49480
jr .done
2015-12-17 02:57:42 +00:00
.asm_49464
call Function49496
.done
farcall ApplyAttrmap
2017-12-24 17:47:30 +00:00
farcall ApplyPals
2020-08-03 21:41:01 +00:00
ld a, TRUE
ldh [hCGBPalUpdate], a
2015-12-17 02:57:42 +00:00
ret
.TextPalette:
2015-12-17 02:57:42 +00:00
RGB 31, 31, 31
RGB 26, 31, 00
RGB 20, 16, 03
RGB 00, 00, 00
2018-06-24 14:09:41 +00:00
Function49480:
hlcoord 0, 0, wAttrmap
2015-12-17 02:57:42 +00:00
lb bc, 4, SCREEN_WIDTH
ld a, $7
call Crystal_FillBoxCGB
hlcoord 0, 2, wAttrmap
2015-12-17 02:57:42 +00:00
ld a, $4
ld [hl], a
hlcoord 19, 2, wAttrmap
2015-12-17 02:57:42 +00:00
ld [hl], a
ret
2018-06-24 14:09:41 +00:00
Function49496:
hlcoord 0, 0, wAttrmap
2015-12-17 02:57:42 +00:00
lb bc, 2, SCREEN_WIDTH
ld a, $7
call Crystal_FillBoxCGB
hlcoord 0, 1, wAttrmap
2015-12-17 02:57:42 +00:00
ld a, $4
ld [hl], a
hlcoord 19, 1, wAttrmap
2015-12-17 02:57:42 +00:00
ld [hl], a
ret
INCLUDE "engine/tilesets/tileset_palettes.asm"
2015-12-17 02:57:42 +00:00
_CrystalCGB_NameCard:
ld hl, .BGPalette
2018-01-01 14:08:21 +00:00
ld de, wBGPals1
2015-12-17 02:57:42 +00:00
ld bc, 1 palettes
2018-01-01 14:08:21 +00:00
ld a, BANK(wBGPals1)
2015-12-17 02:57:42 +00:00
call FarCopyWRAM
2017-12-24 17:47:30 +00:00
farcall ApplyPals
call Crystal_WipeAttrmap
farcall ApplyAttrmap
ld hl, .OBPalette
2018-01-01 14:08:21 +00:00
ld de, wOBPals1
2015-12-17 02:57:42 +00:00
ld bc, 1 palettes
2018-01-01 14:08:21 +00:00
ld a, BANK(wOBPals1)
2015-12-17 02:57:42 +00:00
call FarCopyWRAM
ret
.BGPalette:
2015-12-17 02:57:42 +00:00
RGB 31, 31, 31
RGB 23, 16, 07
RGB 23, 07, 07
RGB 03, 07, 20
.OBPalette:
2015-12-17 02:57:42 +00:00
RGB 00, 00, 00
RGB 07, 05, 31
RGB 14, 18, 31
RGB 31, 31, 31
2018-06-24 14:09:41 +00:00
Function49742:
2020-02-27 19:33:30 +00:00
ld hl, .MobileBorderPalettes
2018-01-01 14:08:21 +00:00
ld de, wBGPals1
2017-12-25 17:41:31 +00:00
ld bc, 8 palettes
ld a, BANK(wBGPals1)
2015-12-17 02:57:42 +00:00
call FarCopyWRAM
2017-12-24 17:47:30 +00:00
farcall ApplyPals
2015-12-17 02:57:42 +00:00
ret
2020-02-27 19:33:30 +00:00
.MobileBorderPalettes:
INCLUDE "gfx/trade/mobile_border.pal"
2015-12-17 02:57:42 +00:00
2018-06-24 14:09:41 +00:00
_InitMG_Mobile_LinkTradePalMap:
hlcoord 0, 0, wAttrmap
2015-12-17 02:57:42 +00:00
lb bc, 16, 2
ld a, $4
call Crystal_FillBoxCGB
2015-12-17 02:57:42 +00:00
ld a, $3
ldcoord_a 0, 1, wAttrmap
ldcoord_a 0, 14, wAttrmap
hlcoord 2, 0, wAttrmap
2015-12-17 02:57:42 +00:00
lb bc, 8, 18
ld a, $5
call Crystal_FillBoxCGB
hlcoord 2, 8, wAttrmap
2015-12-17 02:57:42 +00:00
lb bc, 8, 18
ld a, $6
call Crystal_FillBoxCGB
hlcoord 0, 16, wAttrmap
2015-12-17 02:57:42 +00:00
lb bc, 2, SCREEN_WIDTH
ld a, $4
call Crystal_FillBoxCGB
2015-12-17 02:57:42 +00:00
ld a, $3
lb bc, 6, 1
hlcoord 6, 1, wAttrmap
call Crystal_FillBoxCGB
2015-12-17 02:57:42 +00:00
ld a, $3
lb bc, 6, 1
hlcoord 17, 1, wAttrmap
call Crystal_FillBoxCGB
2015-12-17 02:57:42 +00:00
ld a, $3
lb bc, 6, 1
hlcoord 6, 9, wAttrmap
call Crystal_FillBoxCGB
2015-12-17 02:57:42 +00:00
ld a, $3
lb bc, 6, 1
hlcoord 17, 9, wAttrmap
call Crystal_FillBoxCGB
2015-12-17 02:57:42 +00:00
ld a, $2
hlcoord 2, 16, wAttrmap
2015-12-17 02:57:42 +00:00
ld [hli], a
ld a, $7
ld [hli], a
ld [hli], a
ld [hli], a
2015-12-17 02:57:42 +00:00
ld a, $2
ld [hl], a
hlcoord 2, 17, wAttrmap
2015-12-17 02:57:42 +00:00
ld a, $3
ld bc, 6
call ByteFill
ret
_LoadTradeRoomBGPals:
2017-12-16 03:36:33 +00:00
ld hl, TradeRoomPalette
2018-01-01 14:08:21 +00:00
ld de, wBGPals1 palette PAL_BG_GREEN
2017-12-16 03:36:33 +00:00
ld bc, 6 palettes
2018-01-01 14:08:21 +00:00
ld a, BANK(wBGPals1)
2015-12-17 02:57:42 +00:00
call FarCopyWRAM
2017-12-24 17:47:30 +00:00
farcall ApplyPals
2015-12-17 02:57:42 +00:00
ret
2018-06-24 14:09:41 +00:00
TradeRoomPalette:
INCLUDE "gfx/trade/border.pal"
2015-12-17 02:57:42 +00:00
2018-06-24 14:09:41 +00:00
InitMG_Mobile_LinkTradePalMap:
2015-12-21 19:10:16 +00:00
call _InitMG_Mobile_LinkTradePalMap
2015-12-17 02:57:42 +00:00
ret