shithub: pokecrystal

ref: cb1c6967ed57b38d4cf85fb7fa8bb08ce00cde75
dir: /misc/mobile_42.asm/

View raw version
MobileTradeAnimation_SendGivemonToGTS: ; 108000
	ld a, $80
	ld [wcf65], a
	ld de, .TradeAnimScript
	jp RunMobileTradeAnim_NoFrontpics
; 10800b

.TradeAnimScript:
	mobiletradeanim_showgtsgivemon
	mobiletradeanim_12
	mobiletradeanim_10
	mobiletradeanim_sendmon
	mobiletradeanim_06
	mobiletradeanim_0f
	mobiletradeanim_end

MobileTradeAnimation_RetrieveGivemonFromGTS:
	ld a, $80
	jr asm_108018

MobileTradeAnimation_ReceiveGetmonFromGTS: ; 108016
	ld a, $0
asm_108018:
	ld [wcf65], a
	ld de, .TradeAnimScript
	jp RunMobileTradeAnim_NoFrontpics
; 108021

.TradeAnimScript:
	mobiletradeanim_11
	mobiletradeanim_07
	mobiletradeanim_receivemon
	mobiletradeanim_showgtsgetmon
	mobiletradeanim_end

Function108026: ; 108026
	ld a, $0
	jr asm_10802c

Function10802a: ; 10802a
	ld a, $1

asm_10802c:
	ld [wcf65], a
	ld de, .TradeAnimScript
	jp RunMobileTradeAnim_Frontpics
; 108035

.TradeAnimScript: ; trade
	mobiletradeanim_showgivemon
	mobiletradeanim_12
	mobiletradeanim_02
	mobiletradeanim_sendmon
	mobiletradeanim_05
	mobiletradeanim_receivemon
	mobiletradeanim_showgetmon
	mobiletradeanim_end

Function10803d: ; 10803d
	ld a, $0
	ld [wcf65], a
	ld de, .TradeAnimScript
	jp RunMobileTradeAnim_NoFrontpics
; 108048

.TradeAnimScript:
	mobiletradeanim_11
	mobiletradeanim_07
	mobiletradeanim_receivemon
	mobiletradeanim_showoddegg
	mobiletradeanim_end

Function10804d: ; 10804d
	ld a, $0
	ld [wcf65], a
	ld de, .TradeAnimScript
	jp RunMobileTradeAnim_NoFrontpics
; 108058

.TradeAnimScript:
	mobiletradeanim_11
	mobiletradeanim_showgtsgetmon
	mobiletradeanim_end

RunMobileTradeAnim_Frontpics: ; 10805b
	ld hl, wTradeAnimAddress
	ld [hl], e
	inc hl
	ld [hl], d
	ld a, [hMapAnims]
	push af
	xor a
	ld [hMapAnims], a
	ld hl, VramState
	ld a, [hl]
	push af
	res 0, [hl]
	ld hl, Options
	ld a, [hl]
	push af
	set NO_TEXT_SCROLL, [hl]
	call Function1080b7
.loop
	call MobileTradeAnim_JumptableLoop
	jr nc, .loop
	pop af
	ld [Options], a
	pop af
	ld [VramState], a
	pop af
	ld [hMapAnims], a
	ret
; 108089

RunMobileTradeAnim_NoFrontpics: ; 108089
	ld hl, wTradeAnimAddress
	ld [hl], e
	inc hl
	ld [hl], d
	ld a, [hMapAnims]
	push af
	xor a
	ld [hMapAnims], a
	ld hl, VramState
	ld a, [hl]
	push af
	res 0, [hl]
	ld hl, Options
	ld a, [hl]
	push af
	set NO_TEXT_SCROLL, [hl]
	call Function108157
.loop
	call MobileTradeAnim_JumptableLoop
	jr nc, .loop
	pop af
	ld [Options], a
	pop af
	ld [VramState], a
	pop af
	ld [hMapAnims], a
	ret
; 1080b7

Function1080b7: ; 1080b7
	xor a
	ld [wJumptableIndex], a
	call ClearBGPalettes
	call ClearSprites
	call ClearTileMap
	call DisableLCD
	call MobileTradeAnim_ClearVTiles
	call MobileTradeAnim_ClearBGMap
	call LoadStandardFont
	call LoadFontsBattleExtra

	ld a, $1
	ld [rVBK], a
	ld hl, LZ_108da7
	ld de, VTiles2
	call Decompress

	ld a, $0
	ld [rVBK], a
	ld hl, LZ_108d27
	ld de, VTiles0 tile $20
	call Decompress

	call EnableLCD

	xor a
	ld [hSCX], a
	ld [hSCY], a
	ld a, $7
	ld [hWX], a
	ld a, $90
	ld [hWY], a
	callba ClearSpriteAnims

	call DelayFrame

	ld de, TradeBallGFX
	ld hl, VTiles0
	lb bc, BANK(TradeBallGFX), $06
	call Request2bpp

	ld de, TradePoofGFX
	ld hl, VTiles0 tile $06
	lb bc, BANK(TradePoofGFX), $0c
	call Request2bpp

	xor a
	ld hl, wSpriteAnimDict
	ld [hli], a
	ld [hl], $0

	ld a, [wPlayerTrademonSpecies]
	ld hl, wPlayerTrademonDVs
	ld de, VTiles0 tile $30
	call MobileTradeAnim_GetFrontpic

	ld a, [wOTTrademonSpecies]
	ld hl, wOTTrademonDVs
	ld de, VTiles2 tile $31
	call MobileTradeAnim_GetFrontpic

	ld a, [wPlayerTrademonSpecies]
	ld de, wPlayerTrademonSpeciesName
	call MobileTradeAnim_InitSpeciesName

	ld a, [wOTTrademonSpecies]
	ld de, wOTTrademonSpeciesName
	call MobileTradeAnim_InitSpeciesName

	xor a
	call Function108b98
	call Function108af4
	ret
; 108157

Function108157: ; 108157
	xor a
	ld [wJumptableIndex], a
	call ClearBGPalettes
	call ClearSprites
	call ClearTileMap
	call DisableLCD
	call MobileTradeAnim_ClearVTiles
	call MobileTradeAnim_ClearBGMap
	call LoadStandardFont
	call LoadFontsBattleExtra
	call EnableLCD
	xor a
	ld [hSCX], a
	ld [hSCY], a
	ld a, $7
	ld [hWX], a
	ld a, $90
	ld [hWY], a
	callba ClearSpriteAnims
	xor a
	ld hl, wSpriteAnimDict
	ld [hli], a
	ld [hl], $0
	call DelayFrame
	ld a, [wPlayerTrademonSpecies]
	ld de, wPlayerTrademonSpeciesName
	call MobileTradeAnim_InitSpeciesName
	ld a, [wOTTrademonSpecies]
	ld de, wOTTrademonSpeciesName
	call MobileTradeAnim_InitSpeciesName
	xor a
	call Function108b98
	call Function108af4
	ret
; 1081ad

MobileTradeAnim_ClearVTiles: ; 1081ad
	ld a, $1
	ld [rVBK], a
	ld hl, VTiles0
	ld bc, 3 * $80 tiles
	xor a
	call ByteFill
	ld a, $0
	ld [rVBK], a
	ld hl, VTiles0
	ld bc, 3 * $80 tiles
	xor a
	call ByteFill
	ret
; 1081ca

MobileTradeAnim_ClearBGMap: ; 1081ca
	ld a, $1
	ld [rVBK], a
	hlbgcoord 0, 0
	ld bc, 2 * BG_MAP_HEIGHT * BG_MAP_WIDTH
	ld a, $0
	call ByteFill
	ld a, $0
	ld [rVBK], a
	hlbgcoord 0, 0
	ld bc, 2 * BG_MAP_HEIGHT * BG_MAP_WIDTH
	ld a, $7f
	call ByteFill
	ret
; 1081e9

MobileTradeAnim_GetFrontpic: ; 1081e9
	push de
	push af
	predef GetUnownLetter
	pop af
	ld [CurPartySpecies], a
	ld [CurSpecies], a
	call GetBaseData
	pop de
	predef GetFrontpic
	ret
; 108201

Function108201: ; 108201
	push de
	push af
	predef GetUnownLetter
	pop af
	ld [CurPartySpecies], a
	ld [CurSpecies], a
	call GetBaseData
	pop de
	predef FrontpicPredef
	ret
; 108219

Function108219: ; 108219
	ld [CurPartySpecies], a
	hlcoord 7, 2
	ld d, $0
	ld e, ANIM_MON_TRADE
	predef AnimateFrontpic
	ret
; 108229

Function108229: ; 108229
	ld [CurPartySpecies], a
	hlcoord 7, 2
	ld d, $0
	ld e, ANIM_MON_TRADE
	predef LoadMonAnimation
	ret
; 108239

MobileTradeAnim_InitSpeciesName: ; 108239
	push de
	ld [wd265], a
	call GetPokemonName
	ld hl, StringBuffer1
	pop de
	ld bc, PKMN_NAME_LENGTH
	call CopyBytes
	ret
; 10824b

MobileTradeAnim_JumptableLoop: ; 10824b
	ld a, [wJumptableIndex]
	bit 7, a
	jr nz, .StopAnim
	call .ExecuteMobileTradeAnimCommand
	call DelayFrame
	and a
	ret

.StopAnim:
	xor a
	ld [hSCX], a
	ld [hSCY], a
	ld a, $7
	ld [hWX], a
	ld a, $90
	ld [hWY], a
	call LoadStandardFont
	call LoadFontsBattleExtra
	callba MobileFunc_106462
	callba Function106464
	scf
	ret
; 10827b

.ExecuteMobileTradeAnimCommand: ; 10827b
	ld a, [wJumptableIndex]
	ld e, a
	ld d, 0
	ld hl, .Jumptable
	add hl, de
	add hl, de
	ld a, [hli]
	ld h, [hl]
	ld l, a
	jp hl
; 10828a

.Jumptable: ; 10828a

	dw GetMobileTradeAnimByte ; 00
	dw MobileTradeAnim_ShowPlayerMonToBeSent ; 01
	dw MobileTradeAnim_02 ; 02
	dw MobileTradeAnim_GiveTrademon1 ; 03
	dw MobileTradeAnim_GiveTrademon2 ; 04
	dw MobileTradeAnim_05 ; 05
	dw MobileTradeAnim_06 ; 06
	dw MobileTradeAnim_07 ; 07
	dw MobileTradeAnim_GetTrademon1 ; 08
	dw MobileTradeAnim_GetTrademon2 ; 09
	dw MobileTradeAnim_GetTrademon3 ; 0a
	dw MobileTradeAnim_ShowOTMonFromTrade ; 0b
	dw EndMobileTradeAnim ; 0c
	dw MobileTradeAnim_ShowPlayerMonForGTS ; 0d
	dw MobileTradeAnim_ShowOTMonFromGTS ; 0e
	dw MobileTradeAnim_0f ; 0f
	dw MobileTradeAnim_10 ; 10
	dw MobileTradeAnim_11 ; 11
	dw MobileTradeAnim_FadeToBlack ; 12
	dw MobileTradeAnim_GetOddEgg ; 13 get odd egg
; 1082b2

MobileTradeAnim_Next: ; 1082b2
	ld hl, wJumptableIndex
	inc [hl]
	ret
; 1082b7

GetMobileTradeAnimByte: ; 1082b7
	ld hl, wTradeAnimAddress
	ld e, [hl]
	inc hl
	ld d, [hl]
	ld a, [de]
	ld [wJumptableIndex], a
	inc de
	ld [hl], d
	dec hl
	ld [hl], e
	ret
; 1082c6

EndMobileTradeAnim: ; 1082c6
	ld hl, wJumptableIndex
	set 7, [hl]
	ret
; 1082cc

WaitMobileTradeSpriteAnims: ; 1082cc
.loop
	push bc
	callba PlaySpriteAnimations
	pop bc
	call DelayFrame
	dec c
	jr nz, .loop
	ret
; 1082db

Function1082db: ; 1082db
.loop
	callba PlaySpriteAnimations
	callba SetUpPokeAnim
	callba HDMATransferTileMapToWRAMBank3
	jr nc, .loop
	ret
; 1082f0

Function1082f0: ; 1082f0
.loop
	call Function108b78
	call DelayFrame
	dec c
	jr nz, .loop
	ret
; 1082fa

Function1082fa: ; 1082fa
.loop
	call Function108b78
	push hl
	push bc
	callba PlaySpriteAnimations
	pop bc
	pop hl
	call DelayFrame
	dec c
	jr nz, .loop
	ret
; 10830e

MobileTradeAnim_ShowPlayerMonToBeSent: ; 10830e
	ld de, MUSIC_EVOLUTION
	call PlayMusic2
	ld a, $80
	ld [hSCX], a
	xor a
	ld [hSCY], a
	ld a, $87
	ld [hWX], a
	ld a, $50
	ld [hWY], a
	call MobileTradeAnim_DisplayMonToBeSent
	ld a, [wPlayerTrademonSpecies]
	ld [CurPartySpecies], a
	call Function10895e
	ld a, [wPlayerTrademonDVs]
	ld [TempMonDVs], a
	ld a, [wPlayerTrademonDVs + 1]
	ld [TempMonDVs + 1], a
	ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS
	call GetSGBLayout
	ld a, %11100100 ; 3,2,1,0
	call DmgToCgbBGPals
	call WaitBGMap
.loop
	ld a, [hWX]
	cp $7
	jr z, .okay
	sub $4
	ld [hWX], a
	ld a, [hSCX]
	sub $4
	ld [hSCX], a
	call DelayFrame
	jr .loop

.okay
	ld a, $7
	ld [hWX], a
	xor a
	ld [hSCX], a
	ld a, [wPlayerTrademonSpecies]
	call GetCryIndex
	jr c, .skip_cry
	ld e, c
	ld d, b
	call PlayCryHeader

.skip_cry
	ld c, 80
	call DelayFrames
	call Function108bec
	depixel 10, 11, 4, 0
	ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
	call _InitSpriteAnimStruct
	ld de, SFX_BALL_POOF
	call PlaySFX
	hlcoord 0, 0
	ld bc, 12 * SCREEN_WIDTH
	ld a, " "
	call ByteFill
	ld c, 80
	call WaitMobileTradeSpriteAnims
	call GetMobileTradeAnimByte
	ret
; 10839b

MobileTradeAnim_ShowOTMonFromTrade: ; 10839b
	call ClearBGPalettes
	call ClearSprites
	call ClearTileMap
	call DisableLCD
	call MobileTradeAnim_ClearBGMap
	ld a, [wOTTrademonSpecies]
	ld [CurPartySpecies], a
	ld hl, wOTTrademonDVs
	ld de, VTiles2
	call Function108201
	call EnableLCD
	callba DeinitializeAllSprites
	xor a
	ld [hSCX], a
	ld [hSCY], a
	ld a, $7
	ld [hWX], a
	ld a, $90
	ld [hWY], a
	depixel 10, 11, 4, 0
	ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
	call _InitSpriteAnimStruct
	call Function108b45
	ld a, $1
	call Function108b98
	call Function108af4
	ld c, 48
	call WaitMobileTradeSpriteAnims
	ld de, SFX_BALL_POOF
	call PlaySFX
	call MobileTradeAnim_DisplayReceivedMon
	xor a
	ld [hSCX], a
	ld [hSCY], a
	ld a, $7
	ld [hWX], a
	ld a, $50
	ld [hWY], a
	ld a, [wOTTrademonSpecies]
	ld [CurPartySpecies], a
	ld a, [wOTTrademonDVs]
	ld [TempMonDVs], a
	ld a, [wOTTrademonDVs + 1]
	ld [TempMonDVs + 1], a
	ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS
	call GetSGBLayout
	ld a, %11100100 ; 3,2,1,0
	call DmgToCgbBGPals
	call Function108963
	ld a, [wOTTrademonSpecies]
	call Function108229
	call Function1082db
	call Function108c16
	call GetMobileTradeAnimByte
	ret
; 10842c

MobileTradeAnim_ShowPlayerMonForGTS: ; 10842c
	ld de, MUSIC_EVOLUTION
	call PlayMusic2
	ld a, $80
	ld [hSCX], a
	xor a
	ld [hSCY], a
	ld a, $87
	ld [hWX], a
	ld a, $50
	ld [hWY], a
	call MobileTradeAnim_DisplayMonToBeSent
	ld a, [wPlayerTrademonSpecies]
	ld [CurPartySpecies], a
	ld hl, wPlayerTrademonDVs
	call Function10898a
	call DelayFrame
	ld de, TradeBallGFX
	ld hl, VTiles0
	lb bc, BANK(TradeBallGFX), $06
	call Request2bpp
	ld de, TradePoofGFX
	ld hl, VTiles0 tile $06
	lb bc, BANK(TradePoofGFX), $0c
	call Request2bpp
	ld a, [wPlayerTrademonDVs]
	ld [TempMonDVs], a
	ld a, [wPlayerTrademonDVs + 1]
	ld [TempMonDVs + 1], a
	ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS
	call GetSGBLayout
	ld a, %11100100 ; 3,2,1,0
	call DmgToCgbBGPals
	call WaitBGMap
.loop
	ld a, [hWX]
	cp $7
	jr z, .done
	sub $4
	ld [hWX], a
	ld a, [hSCX]
	sub $4
	ld [hSCX], a
	call DelayFrame
	jr .loop

.done
	ld a, $7
	ld [hWX], a
	xor a
	ld [hSCX], a
	ld a, [wPlayerTrademonSpecies]
	call GetCryIndex
	jr c, .skip_cry
	ld e, c
	ld d, b
	call PlayCryHeader

.skip_cry
	ld c, 80
	call DelayFrames
	call Function108c2b
	depixel 10, 11, 4, 0
	ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
	call _InitSpriteAnimStruct
	ld de, SFX_BALL_POOF
	call PlaySFX
	hlcoord 0, 0
	ld bc, 12 * SCREEN_WIDTH
	ld a, " "
	call ByteFill
	ld c, 80
	call WaitMobileTradeSpriteAnims
	call GetMobileTradeAnimByte
	ret
; 1084d7

MobileTradeAnim_ShowOTMonFromGTS: ; 1084d7
	call ClearBGPalettes
	call ClearSprites
	call ClearTileMap
	call DisableLCD
	call MobileTradeAnim_ClearBGMap
	ld a, [wOTTrademonSpecies]
	ld [CurPartySpecies], a
	ld hl, wOTTrademonDVs
	ld de, VTiles2
	call Function108201
	call EnableLCD
	callba DeinitializeAllSprites
	call DelayFrame
	ld de, TradeBallGFX
	ld hl, VTiles0
	lb bc, BANK(TradeBallGFX), $06
	call Request2bpp
	ld de, TradePoofGFX
	ld hl, VTiles0 tile $06
	lb bc, BANK(TradePoofGFX), $0c
	call Request2bpp
	xor a
	ld [hSCX], a
	ld [hSCY], a
	ld a, $7
	ld [hWX], a
	ld a, $90
	ld [hWY], a
	depixel 10, 11, 4, 0
	ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
	call _InitSpriteAnimStruct
	call Function108b45
	ld a, $1
	call Function108b98
	call Function108af4
	ld c, 48
	call WaitMobileTradeSpriteAnims
	ld de, SFX_BALL_POOF
	call PlaySFX
	call MobileTradeAnim_DisplayReceivedMon
	xor a
	ld [hSCX], a
	ld [hSCY], a
	ld a, $7
	ld [hWX], a
	ld a, $50
	ld [hWY], a
	ld a, [wOTTrademonSpecies]
	ld [CurPartySpecies], a
	ld a, [wOTTrademonDVs]
	ld [TempMonDVs], a
	ld a, [wOTTrademonDVs + 1]
	ld [TempMonDVs + 1], a
	ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS
	call GetSGBLayout
	ld a, %11100100 ; 3,2,1,0
	call DmgToCgbBGPals
	ld a, [wOTTrademonSpecies]
	ld hl, wOTTrademonDVs
	call Function10898a
	ld a, [wOTTrademonSpecies]
	call Function108229
	call Function1082db
	call Function108c40
	call GetMobileTradeAnimByte
	ret
; 108589

MobileTradeAnim_GetOddEgg: ; 108589
	call ClearBGPalettes
	call ClearSprites
	call ClearTileMap
	call DisableLCD
	call MobileTradeAnim_ClearBGMap
	ld a, [wOTTrademonSpecies]
	ld [CurPartySpecies], a
	ld hl, wOTTrademonDVs
	ld de, VTiles2
	call Function108201
	call EnableLCD
	callba DeinitializeAllSprites
	call DelayFrame
	ld de, TradeBallGFX
	ld hl, VTiles0
	lb bc, BANK(TradeBallGFX), $06
	call Request2bpp
	ld de, TradePoofGFX
	ld hl, VTiles0 tile $06
	lb bc, BANK(TradePoofGFX), $0c
	call Request2bpp
	xor a
	ld [hSCX], a
	ld [hSCY], a
	ld a, $7
	ld [hWX], a
	ld a, $90
	ld [hWY], a
	depixel 10, 11, 4, 0
	ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
	call _InitSpriteAnimStruct
	call Function108b45
	ld a, $1
	call Function108b98
	call Function108af4
	ld c, 48
	call WaitMobileTradeSpriteAnims
	ld de, SFX_BALL_POOF
	call PlaySFX
	call Function108a33
	xor a
	ld [hSCX], a
	ld [hSCY], a
	ld a, $7
	ld [hWX], a
	ld a, $50
	ld [hWY], a
	ld a, [wOTTrademonSpecies]
	ld [CurPartySpecies], a
	ld a, [wOTTrademonDVs]
	ld [TempMonDVs], a
	ld a, [wOTTrademonDVs + 1]
	ld [TempMonDVs + 1], a
	ld b, SCGB_PLAYER_OR_MON_FRONTPIC_PALS
	call GetSGBLayout
	ld a, %11100100 ; 3,2,1,0
	call DmgToCgbBGPals
	ld a, [wOTTrademonSpecies]
	ld hl, wOTTrademonDVs
	call Function10898a
	ld a, [wOTTrademonSpecies]
	call Function108229
	call Function1082db
	call GetMobileTradeAnimByte
	ret
; 108638

MobileTradeAnim_02: ; 108638
	callba DeinitializeAllSprites
	call ClearBGPalettes
	call ClearSprites
	call ClearTileMap
	xor a
	ld [hBGMapMode], a
	call DisableLCD
	call MobileTradeAnim_ClearBGMap
	call Function108c80
	call Function108c6d
	call EnableLCD
	ld a, $c
	ld [hSCX], a
	ld a, $78
	ld [hSCY], a
	ld a, $7
	ld [hWX], a
	ld a, $90
	ld [hWY], a
	ld a, [rSVBK]
	push af
	ld a, $5
	ld [rSVBK], a
	ld hl, Palette_109107
	ld de, UnknBGPals
	ld bc, 8 palettes
	call CopyBytes
	pop af
	ld [rSVBK], a
	call Function108d07
	call Function108af4
	call GetMobileTradeAnimByte
	ret
; 108689

MobileTradeAnim_10: ; 108689
	callba DeinitializeAllSprites
	call ClearBGPalettes
	call ClearSprites
	call ClearTileMap
	xor a
	ld [hBGMapMode], a
	call DisableLCD
	call MobileTradeAnim_ClearBGMap
	ld a, $1
	ld [rVBK], a
	ld hl, LZ_108da7
	ld de, VTiles2
	call Decompress
	ld a, $0
	ld [rVBK], a
	ld hl, LZ_108d27
	ld de, VTiles0 tile $20
	call Decompress
	call Function108c80
	call Function108c6d
	call EnableLCD
	ld a, $c
	ld [hSCX], a
	ld a, $78
	ld [hSCY], a
	ld a, $7
	ld [hWX], a
	ld a, $90
	ld [hWY], a
	ld a, [rSVBK]
	push af
	ld a, $5
	ld [rSVBK], a
	ld hl, Palette_109107
	ld de, UnknBGPals
	ld bc, 8 palettes
	call CopyBytes
	pop af
	ld [rSVBK], a
	call Function108d07
	call Function108af4
	call GetMobileTradeAnimByte
	ret
; 1086f4

MobileTradeAnim_11: ; 1086f4
	call ClearBGPalettes
	call ClearSprites
	call ClearTileMap
	xor a
	ld [hBGMapMode], a
	call DisableLCD
	ld a, $1
	ld [rVBK], a
	ld hl, LZ_108da7
	ld de, VTiles2
	call Decompress
	ld a, $0
	ld [rVBK], a
	ld hl, LZ_108d27
	ld de, VTiles0 tile $20
	call Decompress
	call Function108c80
	call Function108c6d
	call EnableLCD
	ld a, $80
	ld [hSCX], a
	ld a, $90
	ld [hSCY], a
	ld a, $7
	ld [hWX], a
	ld a, $90
	ld [hWY], a
	ld a, [rSVBK]
	push af
	ld a, $5
	ld [rSVBK], a
	ld hl, Palette_109107
	ld de, UnknBGPals
	ld bc, 8 palettes
	call CopyBytes
	pop af
	ld [rSVBK], a
	call Function108d07
	call Function108af4
	call Function108b5a
	ld a, $e0
	ld [hSCX], a
	ld de, MUSIC_EVOLUTION
	call PlayMusic2
	call GetMobileTradeAnimByte
	ret
; 108763

MobileTradeAnim_GiveTrademon1: ; 108763
	ld de, SFX_GIVE_TRADEMON
	call PlaySFX
	ld c, 40
	ld hl, BGPals + 6 palettes
	call Function1082f0
	call Function108af4
.loop
	ld a, [hSCX]
	cp $e0
	jr z, .loop2
	dec a
	dec a
	ld [hSCX], a
	cp $f8
	jr nz, .next
	depixel 10, 11, 4, 0
	ld a, SPRITE_ANIM_INDEX_MOBILE_22
	call _InitSpriteAnimStruct

.next
	ld c, 1
	call WaitMobileTradeSpriteAnims
	jr .loop

.loop2
	ld a, [hSCY]
	cp $f8
	jr z, .done
	dec a
	dec a
	ld [hSCY], a
	cp $40
	jr z, .init
	cp $30
	jr z, .delete
	cp $68
	jr z, .replace
	jr .next2

.init
	depixel 10, 11, 4, 0
	ld a, SPRITE_ANIM_INDEX_MOBILE_22
	call _InitSpriteAnimStruct
	xor a
	call Function108ad4
	jr .next2

.delete
	call MobileTradeAnim_DeleteSprites
	jr .next2

.replace
	call MobileTradeAnim_DeleteSprites
	ld a, $1
	call Function108ad4
.next2
	ld c, 1
	call WaitMobileTradeSpriteAnims
	jr .loop2

.done
	call MobileTradeAnim_Next
	ret
; 1087cf

MobileTradeAnim_GiveTrademon2: ; 1087cf
	ld c, 40
	ld hl, BGPals + 1 palettes
	call Function1082f0
	call Function108af4
	call Function108b5a
	depixel 9, 10, 2, 0
	ld a, SPRITE_ANIM_INDEX_MOBILE_25
	call _InitSpriteAnimStruct
	ld de, SFX_FORESIGHT
	call PlaySFX
	ld c, 10
	call WaitMobileTradeSpriteAnims
	xor a
	ld [wcf64], a
	depixel 9, 10, 2, 0
	ld a, SPRITE_ANIM_INDEX_MOBILE_23
	call _InitSpriteAnimStruct
.loop
	ld a, [hSCY]
	cp $90
	jr z, .done
	sub $8
	ld [hSCY], a
	ld c, 1
	call WaitMobileTradeSpriteAnims
	jr .loop

.done
	call GetMobileTradeAnimByte
	ret
; 108811

MobileTradeAnim_05: ; 108811
	ld c, 40
	call WaitMobileTradeSpriteAnims
	ld a, $1
	ld [wcf64], a
	ld de, SFX_SHARPEN
	call PlaySFX
	ld c, 60
	call WaitMobileTradeSpriteAnims
	depixel 30, 10, 2, 0
	ld a, SPRITE_ANIM_INDEX_MOBILE_24
	call _InitSpriteAnimStruct
	call GetMobileTradeAnimByte
	ld de, SFX_THROW_BALL
	call PlaySFX
	ret
; 108838

MobileTradeAnim_06: ; 108838
	ld c, 40
	call WaitMobileTradeSpriteAnims
	ld a, $1
	ld [wcf64], a
	ld de, SFX_SHARPEN
	call PlaySFX
	call GetMobileTradeAnimByte
	ret
; 10884c

MobileTradeAnim_07: ; 10884c
	ld c, 80
	call DelayFrames
	depixel 30, 10, 2, 0
	ld a, SPRITE_ANIM_INDEX_MOBILE_24
	call _InitSpriteAnimStruct
	call GetMobileTradeAnimByte
	ld de, SFX_THROW_BALL
	call PlaySFX
	ret
; 108863

MobileTradeAnim_GetTrademon1: ; 108863
	ld c, 40
	call WaitMobileTradeSpriteAnims
.loop
	ld a, [hSCY]
	cp $f8
	jr z, .done
	add $8
	ld [hSCY], a
	ld c, 1
	call WaitMobileTradeSpriteAnims
	jr .loop

.done
	callba DeinitializeAllSprites
	depixel 9, 10, 2, 0
	ld a, SPRITE_ANIM_INDEX_MOBILE_25
	call _InitSpriteAnimStruct
	ld de, SFX_GLASS_TING_2
	call PlaySFX
	call Function108af4
	call MobileTradeAnim_Next
	ret
; 108894

MobileTradeAnim_GetTrademon2: ; 108894
	ld c, 20
	ld hl, BGPals + 1 palettes
	call Function1082fa
	ld de, SFX_GIVE_TRADEMON
	call PlaySFX
	ld c, 20
	ld hl, BGPals + 1 palettes
	call Function1082fa
	call Function108af4
.asm_1088ad
	ld a, [hSCY]
	cp $78
	jr z, .asm_1088ee
	inc a
	inc a
	ld [hSCY], a
	cp $30
	jr z, .asm_1088c5
	cp $40
	jr z, .asm_1088dd
	cp $68
	jr z, .asm_1088cf
	jr .asm_1088e7

.asm_1088c5
	depixel 10, 11, 4, 0
	ld a, SPRITE_ANIM_INDEX_MOBILE_22
	call _InitSpriteAnimStruct
	jr .asm_1088e7

.asm_1088cf
	depixel 10, 11, 4, 0
	ld a, SPRITE_ANIM_INDEX_MOBILE_22
	call _InitSpriteAnimStruct
	xor a
	call Function108ad4
	jr .asm_1088e7

.asm_1088dd
	call MobileTradeAnim_DeleteSprites
	ld a, $1
	call Function108ad4
	jr .asm_1088e7

.asm_1088e7
	ld c, 1
	call WaitMobileTradeSpriteAnims
	jr .asm_1088ad

.asm_1088ee
	ld a, [hSCX]
	cp $c
	jr z, .asm_108906
	inc a
	inc a
	ld [hSCX], a
	cp -8
	jr nz, .asm_1088e7
	call MobileTradeAnim_DeleteSprites
	ld c, 1
	call WaitMobileTradeSpriteAnims
	jr .asm_1088ee

.asm_108906
	call MobileTradeAnim_Next
	ret
; 10890a

MobileTradeAnim_GetTrademon3: ; 10890a
	ld c, 40
	ld hl, BGPals + 6 palettes
	call Function1082f0
	call Function108af4
	call GetMobileTradeAnimByte
	ret
; 108919

MobileTradeAnim_0f: ; 108919
	ld c, 40
	call WaitMobileTradeSpriteAnims
	callba DeinitializeAllSprites
	call ClearBGPalettes
	call ClearSprites
	call ClearTileMap
	call DisableLCD
	call MobileTradeAnim_ClearVTiles
	call MobileTradeAnim_ClearBGMap
	call EnableLCD
	call GetMobileTradeAnimByte
	ret
; 10893d

MobileTradeAnim_FadeToBlack: ; 10893d
.loop
	ld a, [rBGP]
	and a
	jr z, .blank
	sla a
	sla a
	call DmgToCgbBGPals
	call DmgToCgbObjPal0
	ld c, 4
	call DelayFrames
	jr .loop

.blank
	xor a
	call DmgToCgbBGPals
	call DmgToCgbObjPal0
	call GetMobileTradeAnimByte
	ret
; 10895e

Function10895e: ; 10895e
	ld de, VTiles0 tile $30
	jr asm_108966

Function108963:
	ld de, VTiles2 tile $31
asm_108966
	call DelayFrame
	ld hl, VTiles2
	lb bc, $a, $31 ; $a is the bank of ?????
	call Request2bpp
	call WaitTop
	call MobileTradeAnim_ClearTilemap
	hlcoord 7, 2
	xor a
	ld [hGraphicStartTile], a
	lb bc, 7, 7
	predef PlaceGraphic
	call WaitBGMap
	ret
; 10898a

Function10898a: ; 10898a
	ld de, VTiles2
	call MobileTradeAnim_GetFrontpic
	call WaitTop
	call MobileTradeAnim_ClearTilemap
	hlcoord 7, 2
	xor a
	ld [hGraphicStartTile], a
	lb bc, 7, 7
	predef PlaceGraphic
	call WaitBGMap
	ret
; 1089a8

MobileTradeAnim_DisplayMonToBeSent: ; 1089a8
	ld de, wPlayerTrademonSpecies
	ld a, [de]
	cp EGG
	jr z, MobileTradeAnim_DisplayEggData
	call MobileTradeAnim_LoadMonTemplate
	ld de, wPlayerTrademonSpecies
	call MobileTradeAnim_MonDisplay_PrintSpeciesNumber
	ld de, wPlayerTrademonSpeciesName
	call MobileTradeAnim_MonDisplay_PrintSpeciesName
	ld a, [wPlayerTrademonCaughtData]
	ld de, wPlayerTrademonOTName
	call MobileTradeAnim_MonDisplay_PrintOTNameAndGender
	ld de, wPlayerTrademonID
	call MobileTradeAnim_MonDisplay_PrintIDNumber
	call MobileTradeAnim_MonDisplay_UpdateBGMap
	ret

MobileTradeAnim_DisplayReceivedMon:
	ld de, wOTTrademonSpecies
	ld a, [de]
	cp EGG
	jr z, MobileTradeAnim_DisplayEggData
	call MobileTradeAnim_LoadMonTemplate
	ld de, wOTTrademonSpecies
	call MobileTradeAnim_MonDisplay_PrintSpeciesNumber
	ld de, wOTTrademonSpeciesName
	call MobileTradeAnim_MonDisplay_PrintSpeciesName
	ld a, [wOTTrademonCaughtData]
	ld de, wOTTrademonOTName
	call MobileTradeAnim_MonDisplay_PrintOTNameAndGender
	ld de, wOTTrademonID
	call MobileTradeAnim_MonDisplay_PrintIDNumber
	call MobileTradeAnim_MonDisplay_UpdateBGMap
	ret

MobileTradeAnim_DisplayEggData
	call WaitTop
	call MobileTradeAnim_ClearTilemap
	ld a, VBGMap1 / $100
	ld [hBGMapAddress + 1], a
	hlcoord 5, 0
	ld b, 6
	ld c, 9
	call TextBox
	hlcoord 6, 2
	ld de, .EggTemplate
	call PlaceString
	call MobileTradeAnim_MonDisplay_UpdateBGMap
	ret
; 108a1d

.EggTemplate: ; 108a1d
	db   "タマゴ"
	next "おや/?????"
	next "<ID>№<DOT>?????"
	db   "@"
; 108a33

Function108a33: ; 108a33
	call WaitTop
	call MobileTradeAnim_ClearTilemap
	ld a, VBGMap1 / $100
	ld [hBGMapAddress + 1], a
	hlcoord 5, 0
	ld b, 6
	ld c, 9
	call TextBox
	hlcoord 7, 4
	ld de, .OddEgg
	call PlaceString
	call MobileTradeAnim_MonDisplay_UpdateBGMap
	ret
; 108a54

.OddEgg: ; 108a54
	db "なぞのタマゴ@"
; 108a5b

MobileTradeAnim_LoadMonTemplate: ; 108a5b
	call WaitTop
	call MobileTradeAnim_ClearTilemap
	ld a, VBGMap1 / $100
	ld [hBGMapAddress + 1], a
	hlcoord 4, 0
	ld b,  6
	ld c, 10
	call TextBox
	hlcoord 5, 0
	ld de, .MonTemplate
	call PlaceString
	ret
; 108a79

.MonTemplate: ; 108a79
	db   "─ №<DOT>"
	next ""
	next "おや/"
	next "<ID>№<DOT>"
	db   "@"
; 108a87

MobileTradeAnim_MonDisplay_UpdateBGMap: ; 108a87
	call WaitBGMap
	call WaitTop
	ld a, VBGMap0 / $100
	ld [hBGMapAddress + 1], a
	ret
; 108a92

MobileTradeAnim_MonDisplay_PrintSpeciesNumber: ; 108a92
	hlcoord 9, 0
	lb bc, PRINTNUM_LEADINGZEROS | 1, 3
	call PrintNum
	ret
; 108a9c

MobileTradeAnim_MonDisplay_PrintSpeciesName: ; 108a9c
	hlcoord 5, 2
	call PlaceString
	ret
; 108aa3

MobileTradeAnim_MonDisplay_PrintOTNameAndGender: ; 108aa3
	cp $3
	jr c, .got_gender
	xor a
.got_gender
	push af
	hlcoord 8, 4
	call PlaceString
	inc bc
	pop af
	ld hl, .GenderChars
	ld d, 0
	ld e, a
	add hl, de
	ld a, [hl]
	ld [bc], a
	ret
; 108abb

.GenderChars: ; 108abb
	db " "
	db "♂"
	db "♀"
; 108abe

MobileTradeAnim_MonDisplay_PrintIDNumber: ; 108abe
	hlcoord 8, 6
	lb bc, PRINTNUM_LEADINGZEROS | 2, 5
	call PrintNum
	ret
; 108ac8

MobileTradeAnim_ClearTilemap: ; 108ac8
	hlcoord 0, 0
	ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
	ld a, " "
	call ByteFill
	ret
; 108ad4

Function108ad4: ; 108ad4
	and a
	jr z, .asm_108adc
	ld de, GFX_1092c7
	jr .asm_108adf

.asm_108adc
	ld de, GFX_1091c7
.asm_108adf
	ld a, $1
	ld [rVBK], a
	ld hl, VTiles2 tile $4a
	lb bc, BANK(GFX_1092c7), 16
	call Get2bpp_2
	call DelayFrame
	ld a, $0
	ld [rVBK], a
	ret
; 108af4

Function108af4: ; 108af4
	ld a, [rSVBK]
	push af
	ld a, $5
	ld [rSVBK], a
	ld a, [wcf65]
	and $1
	jr z, .copy_palette_109147
	ld hl, Palette_109187
	ld de, UnknOBPals
	ld bc, 8 palettes
	call CopyBytes
	ld hl, Palette_109187
	ld de, OBPals
	ld bc, 8 palettes
	call CopyBytes
	jr .done_copy

.copy_palette_109147
	ld hl, Palette_109147
	ld de, UnknOBPals
	ld bc, 8 palettes
	call CopyBytes
	ld hl, Palette_109147
	ld de, OBPals
	ld bc, 8 palettes
	call CopyBytes

.done_copy
	pop af
	ld [rSVBK], a
	ld a, %11100100 ; 3,2,1,0
	call DmgToCgbObjPal0
	ld a, %11100100 ; 3,2,1,0
	call DmgToCgbBGPals
	call DelayFrame
	ret
; 108b45

Function108b45: ; 108b45
	ld a, [rSVBK]
	push af
	ld a, $5
	ld [rSVBK], a
	ld de, (31 << 10) + (31 << 5) + 31 ; $7fff
	ld hl, UnknBGPals
	ld a, e
	ld [hli], a
	ld d, a
	ld [hli], a
	pop af
	ld [rSVBK], a
	ret
; 108b5a

Function108b5a: ; 108b5a
	ld a, [rSVBK]
	push af
	ld a, $5
	ld [rSVBK], a
	ld de, (15 << 10) + (31 << 5) + 18 ; $3ff2
	ld hl, BGPals + 4 palettes
	ld c, $10
.loop
	ld a, e
	ld [hli], a
	ld a, d
	ld [hli], a
	dec c
	jr nz, .loop
	pop af
	ld [rSVBK], a
	ld a, $1
	ld [hCGBPalUpdate], a
	ret
; 108b78

Function108b78: ; 108b78
	ld a, [rSVBK]
	push af
	ld a, $5
	ld [rSVBK], a
	ld a, c
	and $2
	jr z, .Orange
	ld de, (31 << 10) + (31 << 5) + 31 ; $7fff
	jr .load_pal

.Orange:
	ld de, ( 1 << 10) + (15 << 5) + 31 ; $05ff
.load_pal
	ld a, e
	ld [hli], a
	ld a, d
	ld [hld], a
	pop af
	ld [rSVBK], a
	ld a, $1
	ld [hCGBPalUpdate], a
	ret
; 108b98

Palette_108b98:
; removed

Function108b98: ; 108b98
	ld d, a
	ld a, [rSVBK]
	push af
	ld a, $5
	ld [rSVBK], a
	ld a, [wcf65]
	and $1
	xor d
	jr z, .asm_108bad
	ld hl, Palette_108b98 + 1 palettes
	jr .asm_108bb0

.asm_108bad
	ld hl, Palette_108b98
.asm_108bb0
	ld de, UnknBGPals + 7 palettes
	ld bc, 8 palettes
	call CopyBytes
	pop af
	ld [rSVBK], a
	ret
; 108bbd

MobileTradeAnim_DeleteSprites: ; 108bbd
	callba DeinitializeAllSprites
	call ClearSprites
	ret
; 108bc7

Function108bc7: ; 108bc7 (42:4bc7)
	ld a, [wcf64]
	and a
	ret z
	ld hl, SPRITEANIMSTRUCT_YCOORD
	add hl, bc
	ld a, [hl]
	cp -1 * 8 - 6
	jr z, .delete
	sub 1 * 8
	ld [hl], a
	ret

.delete
	callba DeinitializeSprite
	ret

Function108be0: ; 108be0 (42:4be0)
	ld hl, SPRITEANIMSTRUCT_YCOORD
	add hl, bc
	ld a, [hl]
	cp 9 * 8 + 2
	ret z
	add 1 * 8
	ld [hl], a
	ret
; 108bec (42:4bec)

Function108bec: ; 108bec
	ld a, $90
	ld [hWY], a
	ld hl, .PlayerWillTradeMon
	call PrintText
	ld c, 80
	call DelayFrames
	ld hl, .ForPartnersMon
	call PrintText
	ld c, 80
	call DelayFrames
	ret
; 108c07

.PlayerWillTradeMon: ; 0x108c07
	text_jump UnknownText_0x1bc787
	db "@"
; 0x108c0c

.ForPartnersMon: ; 0x108c0c
	text_jump UnknownText_0x1bc79d
	db "@"
; 0x108c11

.UnusedTextPlayersMonTrade: ; 0x108c11
	text_jump UnknownText_0x1bc7b0
	db "@"
; 0x108c16

Function108c16: ; 108c16
	ld a, $90
	ld [hWY], a
	ld hl, .TakeGoodCareOfMon
	call PrintText
	ld c, 80
	call DelayFrames
	ret
; 108c26

.TakeGoodCareOfMon: ; 0x108c26
	text_jump UnknownText_0x1bc7c3
	db "@"
; 0x108c2b

Function108c2b: ; 108c2b
	ld a, $90
	ld [hWY], a
	ld hl, .PlayersMonTrade
	call PrintText
	ld c, 80
	call DelayFrames
	ret
; 108c3b

.PlayersMonTrade: ; 0x108c3b
	text_jump UnknownText_0x1bc7dd
	db "@"
; 0x108c40

Function108c40: ; 108c40
	ld a, $90
	ld [hWY], a
	ld a, [wcf65]
	and %10000000
	jr z, .Getmon
	ld hl, .CameBack
	call PrintText
	ld c, 80
	call DelayFrames
	ret

.Getmon:
	ld hl, .TakeGoodCareOf
	call PrintText
	ld c, 80
	call DelayFrames
	ret
; 108c63

.TakeGoodCareOf: ; 0x108c63
	text_jump UnknownText_0x1bc7f0
	db "@"
; 0x108c68

.CameBack: ; 0x108c68
	text_jump UnknownText_0x1bc80a
	db "@"
; 0x108c6d

Function108c6d: ; 108c6d
	ld hl, LZ_108fe7
	debgcoord 0, 0
	call Decompress
	ld hl, LZ_108fe7
	debgcoord 0, 0, VBGMap1
	call Decompress
	ret
; 108c80

Function108c80: ; 108c80
	ld a, $1
	ld [rVBK], a
	ld hl, LZ_1090a7
	debgcoord 0, 0
	call Decompress
	ld hl, LZ_1090a7
	debgcoord 0, 0, VBGMap1
	call Decompress
	ld a, $0
	ld [rVBK], a
	ret
; 108c9b

DebugMobileTrade: ; 108c9b
; localization error: NAME_LENGTH (11) should be 6 here

	ld hl, .DebugTradeData
	ld a, [hli]
	ld [wPlayerTrademonSpecies], a

	ld de, wPlayerTrademonSenderName
	ld c, NAME_LENGTH
.your_name_loop
	ld a, [hli]
	ld [de], a
	inc de
	dec c
	jr nz, .your_name_loop

	ld de, wPlayerTrademonID
	ld c, 2
.your_id_loop
	ld a, [hli]
	ld [de], a
	inc de
	dec c
	jr nz, .your_id_loop

	ld de, wPlayerTrademonOTName
	ld c, NAME_LENGTH
.your_ot_loop
	ld a, [hli]
	ld [de], a
	inc de
	dec c
	jr nz, .your_ot_loop

	ld a, [hli]
	ld [wOTTrademonSpecies], a

	ld de, wOTTrademonSenderName
	ld c, NAME_LENGTH
.their_name_loop
	ld a, [hli]
	ld [de], a
	inc de
	dec c
	jr nz, .their_name_loop

	ld de, wOTTrademonID
	ld c, 2
.their_id_loop
	ld a, [hli]
	ld [de], a
	inc de
	dec c
	jr nz, .their_id_loop

	ld de, wOTTrademonOTName
	ld c, NAME_LENGTH
.their_ot_loop
	ld a, [hli]
	ld [de], a
	inc de
	dec c
	jr nz, .their_ot_loop

	ret
; 108ce9

.DebugTradeData:
	db VENUSAUR
	db "ゲーフり@@"
	dw $0123
	db "かびーん@@"
	db CHARIZARD
	db "クりーチャ@"
	dw $0456
	db "マツミヤ@@"
; 108d07

Function108d07: ; 108d07
	ld a, [wc74e]
	and $7f
	cp $8
	jr c, .asm_108d12
	ld a, $7

.asm_108d12
	ld bc, 1 palettes
	ld hl, Palette_1093c7
	call AddNTimes
	ld a, $5
	ld de, UnknBGPals + 4 palettes
	ld bc, 1 palettes
	call FarCopyWRAM
	ret
; 108d27

LZ_108d27:
INCBIN "gfx/unknown/108d27.2bpp.lz"

LZ_108da7:
INCBIN "gfx/unknown/108da7.2bpp.lz"

LZ_108fe7:
INCBIN "gfx/unknown/108fe7.tilemap.lz"

LZ_1090a7:
INCBIN "gfx/unknown/1090a7.tilemap.lz"

Palette_1090f7:
; unreferenced
	RGB 31, 31, 31
	RGB  0,  0,  0

	RGB 31,  0, 25
	RGB  0,  0,  0

	RGB 31, 31, 31
	RGB  0,  0,  0

	RGB  9, 19, 31
	RGB  0,  0,  0

Palette_109107:
	RGB 18, 31, 15
	RGB 20, 20, 20
	RGB 11, 11, 11
	RGB  0,  0,  0

	RGB 31, 15,  1
	RGB 14, 14, 31
	RGB 12,  9, 31
	RGB  0,  0,  0

	RGB 18, 31, 15
	RGB 14, 14, 31
	RGB 12,  9, 31
	RGB  0,  0,  0

	RGB 18, 31, 15
	RGB 20, 20, 20
	RGB 11, 11, 11
	RGB  0,  0,  0

	RGB 18, 31, 15
	RGB 31,  7,  9
	RGB 18,  0,  1
	RGB  0,  0,  0

	RGB 18, 31, 15
	RGB 20, 20, 20
	RGB 11, 11, 11
	RGB  0,  0,  0

	RGB 31, 15,  1
	RGB 18,  0, 30
	RGB  9,  0, 17
	RGB  0,  0,  0

	RGB 18, 31, 15
	RGB 18,  0, 30
	RGB  9,  0, 17
	RGB  0,  0,  0

Palette_109147:
	RGB 31, 31, 31
	RGB 31, 31, 12
	RGB 31, 13, 12
	RGB  0,  0,  0

	RGB 31, 31, 31
	RGB 31, 23, 15
	RGB 31, 18,  7
	RGB 31, 15,  0

	RGB 31, 31, 31
	RGB 20, 20, 20
	RGB 11, 11, 11
	RGB  0,  0,  0

	RGB 31, 31, 31
	RGB 31,  0, 25
	RGB 31,  0, 25
	RGB  0,  0,  0

	RGB 31, 31, 31
	RGB  9, 19, 31
	RGB  9, 19, 31
	RGB  0,  0,  0

	RGB 31, 31, 31
	RGB  0,  0,  0
	RGB  0,  0,  0
	RGB  0,  0,  0

	RGB 31, 31, 31
	RGB  0,  0,  0
	RGB  0,  0,  0
	RGB  0,  0,  0

	RGB 31, 31, 31
	RGB  0,  0,  0
	RGB  0,  0,  0
	RGB  0,  0,  0

Palette_109187:
	RGB 31, 31, 31
	RGB 31, 31, 12
	RGB 31, 13, 12
	RGB  0,  0,  0

	RGB 31, 31, 31
	RGB 31, 23, 15
	RGB 31, 18,  7
	RGB 31, 15,  0

	RGB 31, 31, 31
	RGB 20, 20, 20
	RGB 11, 11, 11
	RGB  0,  0,  0

	RGB 31, 31, 31
	RGB  9, 19, 31
	RGB  9, 19, 31
	RGB  0,  0,  0

	RGB 31, 31, 31
	RGB 31,  0, 25
	RGB 31,  0, 25
	RGB  0,  0,  0

	RGB 31, 31, 31
	RGB  0,  0,  0
	RGB  0,  0,  0
	RGB  0,  0,  0

	RGB 31, 31, 31
	RGB  0,  0,  0
	RGB  0,  0,  0
	RGB  0,  0,  0

	RGB 31, 31, 31
	RGB  0,  0,  0
	RGB  0,  0,  0
	RGB  0,  0,  0

GFX_1091c7:
INCBIN "gfx/unknown/1091c7.2bpp"
GFX_1092c7:
INCBIN "gfx/unknown/1092c7.2bpp"

Palette_1093c7:
	RGB 18, 31, 15
	RGB  4, 13, 31
	RGB  0,  0, 31
	RGB  0,  0,  0

	RGB 18, 31, 15
	RGB 31, 31,  0
	RGB 31, 15,  0
	RGB  0,  0,  0

	RGB 18, 31, 15
	RGB  9, 24,  0
	RGB  2, 16,  0
	RGB  0,  0,  0

	RGB 18, 31, 15
	RGB 31,  7,  9
	RGB 18,  0,  1
	RGB  0,  0,  0

	RGB 18, 31, 15
	RGB 28,  5, 31
	RGB 17,  0, 17
	RGB  0,  0,  0

	RGB 18, 31, 15
	RGB  9,  9,  9
	RGB  4,  4,  4
	RGB  0,  0,  0

	RGB 18, 31, 15
	RGB 31, 13, 21
	RGB 27,  7, 12
	RGB  0,  0,  0

	RGB 18, 31, 15
	RGB 21, 20, 20
	RGB 14, 14, 31
	RGB  0,  0,  0