ref: 24b7b2c1cf4a83967c441f1d23c28760e0dadcc1
dir: /engine/card_flip.asm/
_CardFlip: ; e00ee (38:40ee) ld hl, Options set 4, [hl] call ClearBGPalettes call ClearTileMap call ClearSprites ld de, MUSIC_NONE call PlayMusic call DelayFrame call DisableLCD call LoadStandardFont call LoadFontsExtra ld hl, LZ_e0d16 ld de, VTiles2 tile $00 call Decompress ld hl, LZ_e0ea8 ld de, VTiles2 tile $3e call Decompress ld hl, LZ_e0cdb ld de, VTiles0 tile $00 call Decompress ld hl, GFX_e0cf6 ld de, VTiles1 tile $6f ld bc, $10 call CopyBytes ld hl, GFX_e0d06 ld de, VTiles1 tile $75 ld bc, $10 call CopyBytes call Functione0521 call Functione04c1 call Functione0c37 call EnableLCD call Function3200 ld a, $e4 call DmgToCgbBGPals ld de, $e4e4 call DmgToCgbObjPals call DelayFrame xor a ld [wJumptableIndex], a ld a, $2 ld [wcf64], a ld [wcf65], a ld de, MUSIC_GAME_CORNER call PlayMusic .MasterLoop ld a, [wJumptableIndex] bit 7, a jr nz, .leavethegame call .CardFlip jr .MasterLoop .leavethegame call WaitSFX ld de, SFX_QUIT_SLOTS call PlaySFX call WaitSFX call ClearBGPalettes ld hl, Options res 4, [hl] ret .CardFlip: ; e0191 (38:4191) ld a, [wJumptableIndex] ld e, a ld d, 0 ld hl, .Jumptable rept 2 add hl, de endr ld a, [hli] ld h, [hl] ld l, a jp [hl] ; e01a0 (38:41a0) .Jumptable: ; e01a0 dw .AskPlayWithThree dw .DeductCoins dw .ChooseACard dw .PlaceYourBet dw .CheckTheCard dw .TabulateTheResult dw .PlayAgain dw .Quit ; e01b0 .Increment: ; e01b0 ld hl, wJumptableIndex inc [hl] ret ; e01b5 .AskPlayWithThree: ; e01b5 ld hl, .PlayWithThreeCoinsText call Functione0489 call YesNoBox jr c, .SaidNo call Functione0366 call .Increment ret .SaidNo ld a, $7 ld [wJumptableIndex], a ret ; e01cd .PlayWithThreeCoinsText: ; 0xe01cd ; Play with three coins? text_jump UnknownText_0x1c5793 db "@" ; 0xe01d2 .DeductCoins: ; e01d2 ld a, [Coins] ld h, a ld a, [Coins + 1] ld l, a ld a, h and a jr nz, .deduct ; You have at least 256 coins. ld a, l cp 3 jr nc, .deduct ; You have at least 3 coins. ld hl, .NotEnoughCoinsText call Functione0489 ld a, $7 ld [wJumptableIndex], a ret .deduct ld de, -3 add hl, de ld a, h ld [Coins], a ld a, l ld [Coins + 1], a ld de, SFX_TRANSACTION call PlaySFX xor a ld [hBGMapMode], a call Functione049c ld a, $1 ld [hBGMapMode], a call WaitSFX call .Increment ret ; e0212 .NotEnoughCoinsText: ; 0xe0212 ; Not enough coins… text_jump UnknownText_0x1c57ab db "@" ; 0xe0217 .ChooseACard: ; e0217 xor a ld [hBGMapMode], a hlcoord 0, 0 lb bc, 12, 9 call Functione04e5 hlcoord 9, 0 ld bc, SCREEN_WIDTH ld a, [wc6e8] call AddNTimes ld [hl], $f5 ld a, $1 ld [hBGMapMode], a ld c, 20 call DelayFrames hlcoord 2, 0 call Functione03c1 ld a, $1 ld [hBGMapMode], a ld c, 20 call DelayFrames hlcoord 2, 6 call Functione03c1 call WaitBGMap ld hl, .ChooseACardText call Functione0489 xor a ld [wcf66], a .loop call JoyTextDelay ld a, [hJoyLast] and A_BUTTON jr nz, .next ld de, SFX_KINESIS call PlaySFX call Functione0849 ld c, 4 call DelayFrames ld hl, wcf66 ld a, [hl] xor $1 ld [hl], a jr .loop .next ld de, SFX_SLOT_MACHINE_START call PlaySFX ld a, $3 .loop2 push af call Functione0849 ld c, 4 call DelayFrames call ClearSprites ld c, 4 call DelayFrames pop af dec a jr nz, .loop2 ld hl, wcf66 ld a, [hl] push af xor $1 ld [hl], a call Functione03ac lb bc, 6, 5 call Functione04e5 pop af ld [wcf66], a call .Increment ret ; e02b2 .ChooseACardText: ; 0xe02b2 ; Choose a card. text_jump UnknownText_0x1c57be db "@" ; 0xe02b7 .PlaceYourBet: ; e02b7 ld hl, .PlaceYourBetText call Functione0489 .betloop call JoyTextDelay ld a, [hJoyLast] and A_BUTTON jr nz, .betdone call Functione089c call Functione0960 call DelayFrame jr .betloop .betdone call .Increment ret ; e02d5 .PlaceYourBetText: ; 0xe02d5 ; Place your bet. text_jump UnknownText_0x1c57ce db "@" ; 0xe02da .CheckTheCard: ; e02da xor a ld [hVBlankCounter], a call Functione0960 call WaitSFX ld de, SFX_CHOOSE_A_CARD call PlaySFX call WaitSFX ld a, [wc6e8] ld e, a ld d, 0 ld hl, wc6d0 rept 2 add hl, de endr ld a, [wcf66] ld e, a add hl, de ld a, [hl] ld [CurEnemyMoveNum], a ld e, a ld hl, wc6ea add hl, de ld [hl], $1 call Functione03ac call Functione03ec call Function3200 call .Increment ret ; e0314 .TabulateTheResult: ; e0314 call Functione0637 call WaitPressAorB_BlinkCursor call .Increment ret ; e031e .PlayAgain: ; e031e call ClearSprites ld hl, .PlayAgainText call Functione0489 call YesNoBox jr nc, .Continue call .Increment ret .Continue ld a, [wc6e8] inc a ld [wc6e8], a cp $c jr c, .KeepTheCurrentDeck call Functione04c1 ld a, $1 ld [hBGMapMode], a call Functione0366 ld hl, .CardsShuffledText call PrintText jr .LoopAround .KeepTheCurrentDeck call Functione0534 .LoopAround ld a, $1 ld [wJumptableIndex], a ret ; e0356 .PlayAgainText: ; 0xe0356 ; Want to play again? text_jump UnknownText_0x1c57df db "@" ; 0xe035b .CardsShuffledText: ; 0xe035b ; The cards have been shuffled. text_jump UnknownText_0x1c57f4 db "@" ; 0xe0360 .Quit: ; e0360 ld hl, wJumptableIndex set 7, [hl] ret ; e0366 Functione0366: ; e0366 ld hl, wc6d0 ld bc, $18 xor a call ByteFill ld de, wc6d0 ld c, $17 .asm_e0375 call Random and $1f cp $18 jr nc, .asm_e0375 ld l, a ld h, $0 add hl, de ld a, [hl] and a jr nz, .asm_e0375 ld [hl], c dec c jr nz, .asm_e0375 xor a ld [wc6e8], a ld hl, wc6ea ld bc, $18 call ByteFill ret ; e0398 Functione0398: ; e0398 ld hl, 0 ld bc, 6 ld a, [wcf64] call AddNTimes ld b, $0 ld a, [wcf65] ld c, a add hl, bc ret ; e03ac Functione03ac: ; e03ac ld a, [wcf66] and a jr nz, .asm_e03ba hlcoord 2, 0 ld bc, $1018 jr .asm_e03c0 .asm_e03ba hlcoord 2, 6 ld bc, $4018 .asm_e03c0 ret ; e03c1 Functione03c1: ; e03c1 xor a ld [hBGMapMode], a ld de, Unknown_e03ce lb bc, 6, 5 call Functione04f7 ret ; e03ce Unknown_e03ce: ; e03ce db $08, $09, $09, $09, $0a db $0b, $28, $2b, $28, $0c db $0b, $2c, $2d, $2e, $0c db $0b, $2f, $30, $31, $0c db $0b, $32, $33, $34, $0c db $0d, $0e, $0e, $0e, $0f ; e03ec Functione03ec: ; e03ec xor a ld [hBGMapMode], a push hl push hl ld de, Unknown_e043b lb bc, 6, 5 call Functione04f7 ld a, [CurEnemyMoveNum] ld e, a ld d, 0 ld hl, Unknown_e0459 rept 2 add hl, de endr ld a, [hli] ld e, a ld d, [hl] pop hl ld bc, $17 add hl, bc ld [hl], e ld bc, SCREEN_HEIGHT add hl, bc ld a, d ld de, SCREEN_WIDTH ld b, $3 .asm_e0418 push hl ld c, $3 .asm_e041b ld [hli], a inc a dec c jr nz, .asm_e041b pop hl add hl, de dec b jr nz, .asm_e0418 pop hl ld a, [hCGB] and a ret z ld de, AttrMap - TileMap add hl, de ld a, [CurEnemyMoveNum] and 3 inc a lb bc, 6, 5 call Functione04e7 ret ; e043b Unknown_e043b: ; e043b db $18, $19, $19, $19, $1a db $1b, $35, $7f, $7f, $1c db $0b, $28, $28, $28, $0c db $0b, $28, $28, $28, $0c db $0b, $28, $28, $28, $0c db $1d, $1e, $1e, $1e, $1f ; e0459 Unknown_e0459: ; e0459 db $f7,$4e, $f7,$57, $f7,$69, $f7,$60 db $f8,$4e, $f8,$57, $f8,$69, $f8,$60 db $f9,$4e, $f9,$57, $f9,$69, $f9,$60 db $fa,$4e, $fa,$57, $fa,$69, $fa,$60 db $fb,$4e, $fb,$57, $fb,$69, $fb,$60 db $fc,$4e, $fc,$57, $fc,$69, $fc,$60 ; e0489 Functione0489: ; e0489 push hl hlcoord 0, 12 ld b, $4 ld c, $12 call TextBox pop hl call PrintTextBoxText call Functione049c ret ; e049c Functione049c: ; e049c hlcoord 9, 15 ld b, $1 ld c, $9 call TextBox hlcoord 10, 16 ld de, String_e04bc call PlaceString hlcoord 15, 16 ld de, Coins lb bc, PRINTNUM_LEADINGZEROS | 2, 4 call PrintNum ret ; e04bc String_e04bc: db "COIN@" ; e04c1 Functione04c1: ; e04c1 (38:44c1) xor a ld [hBGMapMode], a hlcoord 0, 0 ld bc, SCREEN_HEIGHT * SCREEN_WIDTH ld a, $29 call ByteFill hlcoord 9, 0 ld de, Unknown_e110c lb bc, 12, 11 call Functione04f7 hlcoord 0, 12 lb bc, 4, 18 call TextBox ret ; e04e5 (38:44e5) Functione04e5: ; e04e5 ld a, $29 Functione04e7: ; e04e7 (38:44e7) push bc push hl .asm_e04e9 ld [hli], a dec c jr nz, .asm_e04e9 pop hl ld bc, $14 add hl, bc pop bc dec b jr nz, Functione04e7 ret Functione04f7: ; e04f7 (38:44f7) push bc push hl .asm_e04f9 ld a, [de] inc de ld [hli], a dec c jr nz, .asm_e04f9 pop hl ld bc, $14 add hl, bc pop bc dec b jr nz, Functione04f7 ret ; e0509 (38:4509) Functione0509: ; e0509 ld de, Sprites ld a, [hli] .asm_e050d push af ld a, [hli] add b ld [de], a inc de ld a, [hli] add c ld [de], a inc de ld a, [hli] ld [de], a inc de ld a, [hli] ld [de], a inc de pop af dec a jr nz, .asm_e050d ret ; e0521 Functione0521: ; e0521 (38:4521) ld de, VTiles1 tile $76 ld hl, $8f62 ld bc, $9e call CopyBytes ld hl, $8ffe xor a ld [hli], a ld [hl], a ret ; e0534 (38:4534) Functione0534: ; e0534 xor a ld [hBGMapMode], a ld a, [CurEnemyMoveNum] ld e, a ld d, 0 and 3 ld c, a ld b, 0 ld a, e and $1c srl a add Jumptable_e0553 % $100 ld l, a ld a, 0 adc Jumptable_e0553 / $100 ld h, a ld a, [hli] ld h, [hl] ld l, a jp [hl] ; e0553 Jumptable_e0553: ; e0553 dw Functione055f dw Functione0583 dw Functione05a7 dw Functione05cb dw Functione05ef dw Functione0613 ; e055f Functione055f: ; e055f ld hl, wc6e6 + 8 add hl, de ld a, [hl] and a jr nz, .asm_e0575 hlcoord 13, 3 rept 2 add hl, bc endr ld [hl], $36 ld bc, SCREEN_WIDTH add hl, bc ld [hl], $37 ret .asm_e0575 hlcoord 13, 3 rept 2 add hl, bc endr ld [hl], $36 ld bc, SCREEN_WIDTH add hl, bc ld [hl], $3d ret ; e0583 Functione0583: ; e0583 ld hl, wc6e6 add hl, de ld a, [hl] and a jr nz, .asm_e0599 hlcoord 13, 4 rept 2 add hl, bc endr ld [hl], $3b ld bc, SCREEN_WIDTH add hl, bc ld [hl], $3a ret .asm_e0599 hlcoord 13, 4 rept 2 add hl, bc endr ld [hl], $3d ld bc, SCREEN_WIDTH add hl, bc ld [hl], $3a ret ; e05a7 Functione05a7: ; e05a7 ld hl, wc6e6 + 8 add hl, de ld a, [hl] and a jr nz, .asm_e05bd hlcoord 13, 6 rept 2 add hl, bc endr ld [hl], $36 ld bc, SCREEN_WIDTH add hl, bc ld [hl], $38 ret .asm_e05bd hlcoord 13, 6 rept 2 add hl, bc endr ld [hl], $36 ld bc, SCREEN_WIDTH add hl, bc ld [hl], $3d ret ; e05cb Functione05cb: ; e05cb ld hl, wc6e6 add hl, de ld a, [hl] and a jr nz, .asm_e05e1 hlcoord 13, 7 rept 2 add hl, bc endr ld [hl], $3c ld bc, SCREEN_WIDTH add hl, bc ld [hl], $3a ret .asm_e05e1 hlcoord 13, 7 rept 2 add hl, bc endr ld [hl], $3d ld bc, SCREEN_WIDTH add hl, bc ld [hl], $3a ret ; e05ef Functione05ef: ; e05ef ld hl, wc6e6 + 8 add hl, de ld a, [hl] and a jr nz, .asm_e0605 hlcoord 13, 9 rept 2 add hl, bc endr ld [hl], $36 ld bc, SCREEN_WIDTH add hl, bc ld [hl], $39 ret .asm_e0605 hlcoord 13, 9 rept 2 add hl, bc endr ld [hl], $36 ld bc, SCREEN_WIDTH add hl, bc ld [hl], $3d ret ; e0613 Functione0613: ; e0613 ld hl, wc6e6 add hl, de ld a, [hl] and a jr nz, .asm_e0629 hlcoord 13, 10 rept 2 add hl, bc endr ld [hl], $3c ld bc, SCREEN_WIDTH add hl, bc ld [hl], $3a ret .asm_e0629 hlcoord 13, 10 rept 2 add hl, bc endr ld [hl], $3d ld bc, SCREEN_WIDTH add hl, bc ld [hl], $3a ret ; e0637 Functione0637: ; e0637 call Functione0398 add hl, hl ld de, Jumptable_e0643 add hl, de ld a, [hli] ld h, [hl] ld l, a jp [hl] ; e0643 Jumptable_e0643: ; e0643 dw Functione06a3 dw Functione06a3 dw Functione06a6 dw Functione06a6 dw Functione06b0 dw Functione06b0 dw Functione06a3 dw Functione06a3 dw Functione06ec dw Functione06f6 dw Functione0702 dw Functione070e dw Functione06c2 dw Functione0722 dw Functione0770 dw Functione0774 dw Functione0778 dw Functione077c dw Functione06c2 dw Functione072c dw Functione0780 dw Functione0784 dw Functione0788 dw Functione078c dw Functione06cc dw Functione0738 dw Functione0790 dw Functione0794 dw Functione0798 dw Functione079c dw Functione06cc dw Functione0744 dw Functione07a0 dw Functione07a4 dw Functione07a8 dw Functione07ac dw Functione06d8 dw Functione0750 dw Functione07b0 dw Functione07b4 dw Functione07b8 dw Functione07bc dw Functione06d8 dw Functione075c dw Functione07c0 dw Functione07c4 dw Functione07c8 dw Functione07cc ; e06a3 Functione06a3: ; e06a3 jp Functione07db ; e06a6 Functione06a6: ; e06a6 ld a, [CurEnemyMoveNum] and $2 jp nz, Functione07db jr Functione06ba Functione06b0: ; e06b0 ld a, [CurEnemyMoveNum] and $2 jr nz, Functione06ba jp Functione07db Functione06ba: ; e06ba ld c, $6 ld de, SFX_2ND_PLACE jp Functione07eb ; e06c2 Functione06c2: ; e06c2 ld a, [CurEnemyMoveNum] and $18 jr z, Functione06e4 jp Functione07db Functione06cc: ; e06cc ld a, [CurEnemyMoveNum] and $18 cp $8 jr z, Functione06e4 jp Functione07db Functione06d8: ; e06d8 ld a, [CurEnemyMoveNum] and $18 cp $10 jr z, Functione06e4 jp Functione07db Functione06e4: ; e06e4 ld c, $9 ld de, SFX_2ND_PLACE jp Functione07eb ; e06ec Functione06ec: ; e06ec ld a, [CurEnemyMoveNum] and $3 jr z, Functione071a jp Functione07db Functione06f6: ; e06f6 ld a, [CurEnemyMoveNum] and $3 cp $1 jr z, Functione071a jp Functione07db Functione0702: ; e0702 ld a, [CurEnemyMoveNum] and $3 cp $2 jr z, Functione071a jp Functione07db Functione070e: ; e070e ld a, [CurEnemyMoveNum] and $3 cp $3 jr z, Functione071a jp Functione07db Functione071a: ; e071a ld c, $c ld de, SFX_2ND_PLACE jp Functione07eb ; e0722 Functione0722: ; e0722 ld a, [CurEnemyMoveNum] and $1c jr z, Functione0768 jp Functione07db Functione072c: ; e072c ld a, [CurEnemyMoveNum] and $1c cp $4 jr z, Functione0768 jp Functione07db Functione0738: ; e0738 ld a, [CurEnemyMoveNum] and $1c cp $8 jr z, Functione0768 jp Functione07db Functione0744: ; e0744 ld a, [CurEnemyMoveNum] and $1c cp $c jr z, Functione0768 jp Functione07db Functione0750: ; e0750 ld a, [CurEnemyMoveNum] and $1c cp $10 jr z, Functione0768 jp Functione07db Functione075c: ; e075c ld a, [CurEnemyMoveNum] and $1c cp $14 jr z, Functione0768 jp Functione07db Functione0768: ; e0768 ld c, $12 ld de, SFX_2ND_PLACE jp Functione07eb ; e0770 Functione0770: ; e0770 ld e, $0 jr Functione07ce Functione0774: ; e0774 ld e, $1 jr Functione07ce Functione0778: ; e0778 ld e, $2 jr Functione07ce Functione077c: ; e077c ld e, $3 jr Functione07ce Functione0780: ; e0780 ld e, $4 jr Functione07ce Functione0784: ; e0784 ld e, $5 jr Functione07ce Functione0788: ; e0788 ld e, $6 jr Functione07ce Functione078c: ; e078c ld e, $7 jr Functione07ce Functione0790: ; e0790 ld e, $8 jr Functione07ce Functione0794: ; e0794 ld e, $9 jr Functione07ce Functione0798: ; e0798 ld e, $a jr Functione07ce Functione079c: ; e079c ld e, $b jr Functione07ce Functione07a0: ; e07a0 ld e, $c jr Functione07ce Functione07a4: ; e07a4 ld e, $d jr Functione07ce Functione07a8: ; e07a8 ld e, $e jr Functione07ce Functione07ac: ; e07ac ld e, $f jr Functione07ce Functione07b0: ; e07b0 ld e, $10 jr Functione07ce Functione07b4: ; e07b4 ld e, $11 jr Functione07ce Functione07b8: ; e07b8 ld e, $12 jr Functione07ce Functione07bc: ; e07bc ld e, $13 jr Functione07ce Functione07c0: ; e07c0 ld e, $14 jr Functione07ce Functione07c4: ; e07c4 ld e, $15 jr Functione07ce Functione07c8: ; e07c8 ld e, $16 jr Functione07ce Functione07cc: ; e07cc ld e, $17 Functione07ce: ; e07ce ld a, [CurEnemyMoveNum] cp e jr nz, Functione07db ld c, $48 ld de, SFX_2ND_PLACE jr Functione07eb Functione07db: ; e07db ld de, SFX_WRONG call PlaySFX ld hl, UnknownText_0xe0816 call Functione0489 call WaitSFX ret Functione07eb: ; e07eb push bc push de ld hl, UnknownText_0xe0811 call Functione0489 pop de call PlaySFX call WaitSFX pop bc .asm_e07fb push bc call Functione0833 jr c, .asm_e0804 call Functione081b .asm_e0804 call Functione049c ld c, 2 call DelayFrames pop bc dec c jr nz, .asm_e07fb ret ; e0811 UnknownText_0xe0811: ; 0xe0811 ; Yeah! text_jump UnknownText_0x1c5813 db "@" ; 0xe0816 UnknownText_0xe0816: ; 0xe0816 ; Darn… text_jump UnknownText_0x1c581a db "@" ; 0xe081b Functione081b: ; e081b ld a, [Coins] ld h, a ld a, [Coins + 1] ld l, a inc hl ld a, h ld [Coins], a ld a, l ld [Coins + 1], a ld de, SFX_PAY_DAY call PlaySFX ret ; e0833 Functione0833: ; e0833 ld a, [Coins] cp 9999 / $100 jr c, .asm_e0847 jr z, .asm_e083e jr .asm_e0845 .asm_e083e ld a, [Coins + 1] cp 9999 % $100 jr c, .asm_e0847 .asm_e0845 scf ret .asm_e0847 and a ret ; e0849 Functione0849: ; e0849 call Functione03ac ld hl, Unknown_e0853 call Functione0509 ret ; e0853 Unknown_e0853: ; e0853 db 18 db $00, $00, $04, $00 db $00, $08, $06, $00 db $00, $10, $06, $00 db $00, $18, $06, $00 db $00, $20, $04, $20 db $08, $00, $05, $00 db $08, $20, $05, $20 db $10, $00, $05, $00 db $10, $20, $05, $20 db $18, $00, $05, $00 db $18, $20, $05, $20 db $20, $00, $05, $00 db $20, $20, $05, $20 db $28, $00, $04, $40 db $28, $08, $06, $40 db $28, $10, $06, $40 db $28, $18, $06, $40 db $28, $20, $04, $60 ; e089c Functione089c: ; e089c ld hl, hJoyLast ld a, [hl] and D_LEFT jp nz, Functione08b8 ld a, [hl] and D_RIGHT jp nz, Functione08ef ld a, [hl] and D_UP jp nz, Functione090a ld a, [hl] and D_DOWN jp nz, Functione093d ret ; e08b8 Functione08b8: ; e08b8 ld hl, wcf65 ld a, [wcf64] and a jr z, .asm_e08d5 cp $1 jr z, .asm_e08cc ld a, [hl] and a ret z dec [hl] jp Functione0959 .asm_e08cc ld a, [hl] cp $3 jr c, .asm_e08e2 dec [hl] jp Functione0959 .asm_e08d5 ld a, [hl] and $e ld [hl], a cp $3 jr c, .asm_e08e2 rept 2 dec [hl] endr jp Functione0959 .asm_e08e2 ld a, $2 ld [wcf64], a ld a, $1 ld [wcf65], a jp Functione0959 ; e08ef Functione08ef: ; e08ef ld hl, wcf65 ld a, [wcf64] and a jr z, .asm_e08ff ld a, [hl] cp $5 ret nc inc [hl] jr Functione0959 .asm_e08ff ld a, [hl] and $e ld [hl], a cp $4 ret nc rept 2 inc [hl] endr jr Functione0959 Functione090a: ; e090a ld hl, wcf64 ld a, [wcf65] and a jr z, .asm_e0925 cp $1 jr z, .asm_e091d ld a, [hl] and a ret z dec [hl] jr Functione0959 .asm_e091d ld a, [hl] cp $3 jr c, .asm_e0931 dec [hl] jr Functione0959 .asm_e0925 ld a, [hl] and $e ld [hl], a cp $3 jr c, .asm_e0931 rept 2 dec [hl] endr jr Functione0959 .asm_e0931 ld a, $1 ld [wcf64], a ld a, $2 ld [wcf65], a jr Functione0959 Functione093d: ; e093d ld hl, wcf64 ld a, [wcf65] and a jr z, .asm_e0950 ld hl, wcf64 ld a, [hl] cp $7 ret nc inc [hl] jr Functione0959 .asm_e0950 ld a, [hl] and $e ld [hl], a cp $6 ret nc rept 2 inc [hl] endr Functione0959: ; e0959 ld de, SFX_POKEBALLS_PLACED_ON_TABLE call PlaySFX ret ; e0960 Functione0960: ; e0960 call ClearSprites ld a, [hCGB] and a jr nz, .asm_e096d ld a, [hVBlankCounter] and $4 ret nz .asm_e096d call Functione0398 rept 2 add hl, hl endr ld de, Unknown_e0981 add hl, de ld a, [hli] ld c, a ld a, [hli] ld b, a ld a, [hli] ld h, [hl] ld l, a call Functione0509 ret ; e0981 Unknown_e0981: ; e0981 dbbw $58, $10, Unknown_e0c26 dbbw $60, $10, Unknown_e0c26 dbbw $68, $10, Unknown_e0b8d dbbw $68, $10, Unknown_e0b8d dbbw $88, $10, Unknown_e0b8d dbbw $88, $10, Unknown_e0b8d dbbw $58, $18, Unknown_e0c26 dbbw $60, $18, Unknown_e0c26 dbbw $68, $18, Unknown_e0a5a dbbw $78, $18, Unknown_e0a5a dbbw $88, $18, Unknown_e0a5a dbbw $98, $18, Unknown_e0a5a dbbw $58, $28, Unknown_e0b14 dbbw $60, $28, Unknown_e0ac3 dbbw $68, $28, Unknown_e0a41 dbbw $78, $28, Unknown_e0a41 dbbw $88, $28, Unknown_e0a41 dbbw $98, $28, Unknown_e0a41 dbbw $58, $28, Unknown_e0b14 dbbw $60, $34, Unknown_e0ac3 dbbw $68, $34, Unknown_e0a41 dbbw $78, $34, Unknown_e0a41 dbbw $88, $34, Unknown_e0a41 dbbw $98, $34, Unknown_e0a41 dbbw $58, $40, Unknown_e0b14 dbbw $60, $40, Unknown_e0ac3 dbbw $68, $40, Unknown_e0a41 dbbw $78, $40, Unknown_e0a41 dbbw $88, $40, Unknown_e0a41 dbbw $98, $40, Unknown_e0a41 dbbw $58, $40, Unknown_e0b14 dbbw $60, $4c, Unknown_e0ac3 dbbw $68, $4c, Unknown_e0a41 dbbw $78, $4c, Unknown_e0a41 dbbw $88, $4c, Unknown_e0a41 dbbw $98, $4c, Unknown_e0a41 dbbw $58, $58, Unknown_e0b14 dbbw $60, $58, Unknown_e0ac3 dbbw $68, $58, Unknown_e0a41 dbbw $78, $58, Unknown_e0a41 dbbw $88, $58, Unknown_e0a41 dbbw $98, $58, Unknown_e0a41 dbbw $58, $58, Unknown_e0b14 dbbw $60, $64, Unknown_e0ac3 dbbw $68, $64, Unknown_e0a41 dbbw $78, $64, Unknown_e0a41 dbbw $88, $64, Unknown_e0a41 dbbw $98, $64, Unknown_e0a41 ; e0a41 Unknown_e0a41: ; e0a41 db 6 db $00, $ff, $00, $80 db $00, $00, $02, $80 db $00, $08, $03, $80 db $05, $ff, $00, $c0 db $05, $00, $02, $c0 db $05, $08, $03, $80 Unknown_e0a5a: ; e0a5a db 26 db $00, $ff, $00, $80 db $00, $00, $02, $80 db $00, $08, $00, $a0 db $08, $ff, $01, $80 db $08, $08, $01, $a0 db $10, $ff, $01, $80 db $10, $08, $03, $80 db $18, $ff, $01, $80 db $18, $08, $03, $80 db $20, $ff, $01, $80 db $20, $08, $03, $80 db $28, $ff, $01, $80 db $28, $08, $03, $80 db $30, $ff, $01, $80 db $30, $08, $03, $80 db $38, $ff, $01, $80 db $38, $08, $03, $80 db $40, $ff, $01, $80 db $40, $08, $03, $80 db $48, $ff, $01, $80 db $48, $08, $03, $80 db $50, $ff, $01, $80 db $50, $08, $03, $80 db $51, $ff, $00, $c0 db $51, $00, $02, $c0 db $51, $08, $03, $80 Unknown_e0ac3: ; e0ac3 db 20 db $00, $ff, $00, $80 db $00, $00, $02, $80 db $00, $08, $02, $80 db $00, $10, $03, $80 db $00, $18, $02, $80 db $00, $20, $03, $80 db $00, $28, $02, $80 db $00, $30, $03, $80 db $00, $38, $02, $80 db $00, $40, $03, $80 db $05, $ff, $00, $c0 db $05, $00, $02, $c0 db $05, $08, $02, $c0 db $05, $10, $03, $80 db $05, $18, $02, $c0 db $05, $20, $03, $80 db $05, $28, $02, $c0 db $05, $30, $03, $80 db $05, $38, $02, $c0 db $05, $40, $03, $80 Unknown_e0b14: ; e0b14 db 30 db $00, $00, $00, $80 db $00, $08, $02, $80 db $00, $10, $02, $80 db $00, $18, $03, $80 db $00, $20, $02, $80 db $00, $28, $03, $80 db $00, $30, $02, $80 db $00, $38, $03, $80 db $00, $40, $02, $80 db $00, $48, $03, $80 db $08, $00, $01, $80 db $08, $18, $03, $80 db $08, $28, $03, $80 db $08, $38, $03, $80 db $08, $48, $03, $80 db $10, $00, $01, $80 db $10, $18, $03, $80 db $10, $28, $03, $80 db $10, $38, $03, $80 db $10, $48, $03, $80 db $11, $00, $00, $c0 db $11, $08, $02, $c0 db $11, $10, $02, $c0 db $11, $18, $03, $80 db $11, $20, $03, $80 db $11, $28, $03, $80 db $11, $30, $03, $80 db $11, $38, $03, $80 db $11, $40, $03, $80 db $11, $48, $03, $80 Unknown_e0b8d: ; e0b8d db 38 db $00, $ff, $00, $80 db $00, $18, $00, $a0 db $08, $ff, $01, $80 db $08, $18, $01, $a0 db $10, $ff, $01, $80 db $10, $18, $01, $a0 db $18, $ff, $01, $80 db $18, $08, $03, $80 db $18, $18, $03, $80 db $20, $ff, $01, $80 db $20, $08, $03, $80 db $20, $18, $03, $80 db $28, $ff, $01, $80 db $28, $08, $03, $80 db $28, $18, $03, $80 db $30, $ff, $01, $80 db $30, $08, $03, $80 db $30, $18, $03, $80 db $38, $ff, $01, $80 db $38, $08, $03, $80 db $38, $18, $03, $80 db $40, $ff, $01, $80 db $40, $08, $03, $80 db $40, $18, $03, $80 db $48, $ff, $01, $80 db $48, $08, $03, $80 db $48, $18, $03, $80 db $50, $ff, $01, $80 db $50, $08, $03, $80 db $50, $18, $03, $80 db $58, $ff, $01, $80 db $58, $08, $03, $80 db $58, $18, $03, $80 db $59, $ff, $00, $c0 db $59, $00, $02, $c0 db $59, $08, $03, $c0 db $59, $10, $02, $c0 db $59, $18, $03, $e0 Unknown_e0c26: ; e0c26 db 4 db $00, $00, $00, $80 db $00, $08, $00, $a0 db $08, $00, $00, $c0 db $08, $08, $00, $e0 ; e0c37 Functione0c37: ; e0c37 (38:4c37) ld a, [hCGB] and a ret z hlcoord 0, 0, AttrMap ld bc, SCREEN_HEIGHT * SCREEN_WIDTH xor a call ByteFill hlcoord 12, 1, AttrMap lb bc, 2, 2 ld a, $1 call Functione04e7 hlcoord 14, 1, AttrMap lb bc, 2, 2 ld a, $2 call Functione04e7 hlcoord 16, 1, AttrMap lb bc, 2, 2 ld a, $3 call Functione04e7 hlcoord 18, 1, AttrMap lb bc, 2, 2 ld a, $4 call Functione04e7 hlcoord 9, 0, AttrMap lb bc, 12, 1 ld a, $1 call Functione04e7 ld a, [rSVBK] push af ld a, $5 ld [rSVBK], a ld hl, Palette_e0c93 ld de, UnknBGPals ld bc, $48 call CopyBytes pop af ld [rSVBK], a ret ; e0c93 (38:4c93) Palette_e0c93: ; e0c93 RGB 31, 31, 31 RGB 17, 07, 31 RGB 06, 19, 08 RGB 00, 00, 00 RGB 31, 31, 31 RGB 29, 25, 00 RGB 06, 19, 08 RGB 00, 00, 00 RGB 31, 31, 31 RGB 31, 13, 30 RGB 06, 19, 08 RGB 00, 00, 00 RGB 31, 31, 31 RGB 08, 17, 30 RGB 06, 19, 08 RGB 00, 00, 00 RGB 31, 31, 31 RGB 08, 31, 08 RGB 06, 19, 08 RGB 00, 00, 00 RGB 31, 31, 31 RGB 17, 07, 31 RGB 06, 19, 08 RGB 00, 00, 00 RGB 31, 31, 31 RGB 17, 07, 31 RGB 06, 19, 08 RGB 00, 00, 00 RGB 31, 31, 31 RGB 17, 07, 31 RGB 06, 19, 08 RGB 00, 00, 00 RGB 31, 31, 31 RGB 31, 31, 31 RGB 31, 00, 00 RGB 31, 00, 00 ; e0cdb LZ_e0cdb: ; e0cdb INCBIN "gfx/unknown/0e0cdb.2bpp.lz" GFX_e0cf6: ; e0cf6 INCBIN "gfx/unknown/0e0cf6.2bpp" GFX_e0d06: ; e0d06 INCBIN "gfx/unknown/0e0d06.2bpp" LZ_e0d16: ; e0d16 INCBIN "gfx/unknown/0e0d16.2bpp.lz" LZ_e0ea8: ; e0ea8 INCBIN "gfx/unknown/0e0ea8.2bpp.lz" Unknown_e110c: ; e110c db $ef, $15, $27, $2a, $2a, $06, $27, $2a, $2a, $06, $27 db $ef, $07, $27, $3e, $3f, $42, $43, $46, $47, $4a, $4b db $ef, $17, $26, $40, $41, $44, $45, $48, $49, $4c, $4d db $ef, $25, $04, $00, $01, $00, $01, $00, $01, $00, $01 db $ef, $05, $14, $10, $11, $10, $11, $10, $11, $10, $11 db $ef, $16, $24, $20, $21, $20, $21, $20, $21, $20, $21 db $ef, $25, $04, $00, $02, $00, $02, $00, $02, $00, $02 db $ef, $05, $14, $10, $12, $10, $12, $10, $12, $10, $12 db $ef, $16, $24, $20, $22, $20, $22, $20, $22, $20, $22 db $ef, $25, $04, $00, $03, $00, $03, $00, $03, $00, $03 db $ef, $05, $14, $10, $13, $10, $13, $10, $13, $10, $13 db $ef, $16, $24, $20, $23, $20, $23, $20, $23, $20, $23 ; e1190 Functione1190: ; e1190 ld a, [hInMenu] push af ld a, $1 ld [hInMenu], a call ClearBGPalettes call ClearTileMap call ClearSprites xor a ld [hBGMapMode], a call DisableLCD ld hl, wc608 ld bc, $1e0 xor a call ByteFill ld hl, GFX_e17c5 ld de, VTiles1 tile $60 ld bc, $40 call CopyBytes ld hl, LZ_e1805 ld de, VTiles1 tile $6d call Decompress call Functione17a3 hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, $ee call ByteFill hlcoord 4, 3 lb bc, 12, 12 ld a, $ef call Functione13ee call Functione124e call Functione13fe call Functione127d xor a ld [hSCY], a ld [hSCX], a ld [rWY], a ld [wJumptableIndex], a ld [wcf64], a ld [wcf65], a ld [wcf66], a ld a, $93 ld [rLCDC], a call WaitBGMap ld b, SCGB_18 call GetSGBLayout ld a, $e4 call DmgToCgbBGPals ld a, $24 call Functioncf8 xor a ld [wd0ec], a call DelayFrame .asm_e1217 call JoyTextDelay ld a, [wJumptableIndex] bit 7, a jr nz, .asm_e123d call Functione12ca ld a, [wcf64] and a jr nz, .asm_e1230 ld a, [hVBlankCounter] and $10 jr z, .asm_e1235 .asm_e1230 call Functione14d9 jr .asm_e1238 .asm_e1235 call ClearSprites .asm_e1238 call DelayFrame jr .asm_e1217 .asm_e123d pop af ld [hInMenu], a call ClearBGPalettes call ClearTileMap call ClearSprites ld a, $e3 ld [rLCDC], a ret ; e124e Functione124e: ; e124e ld c, $1 ld b, $10 .asm_e1252 call Random and $f ld hl, Unknown_e126d ld e, a ld d, $0 add hl, de ld e, [hl] ld hl, wc6d0 add hl, de ld a, [hl] and a jr nz, .asm_e1252 ld [hl], c inc c dec b jr nz, .asm_e1252 ret ; e126d Unknown_e126d: ; e126d db $00, $01, $02, $03 db $04, $05, $06, $0b db $0c, $11, $12, $17 db $18, $1d, $1e, $23 ; e127d Functione127d: ; e127d call Functione128d hlcoord 5, 16 ld a, $f6 ld c, $a .asm_e1287 ld [hli], a inc a dec c jr nz, .asm_e1287 ret ; e128d Functione128d: ; e128d hlcoord 4, 15 ld a, $f0 ld [hli], a ld bc, $a ld a, $f1 call ByteFill hlcoord 15, 15 ld a, $f2 ld [hli], a hlcoord 4, 16 ld a, $f3 ld [hli], a ld bc, $a ld a, $ef call ByteFill hlcoord 15, 16 ld a, $f3 ld [hli], a hlcoord 4, 17 ld a, $f4 ld [hli], a ld bc, $a ld a, $f1 call ByteFill hlcoord 15, 17 ld a, $f5 ld [hl], a ret ; e12ca Functione12ca: ; e12ca ld a, [wJumptableIndex] ld e, a ld d, 0 ld hl, Jumptable_e12d9 rept 2 add hl, de endr ld a, [hli] ld h, [hl] ld l, a jp [hl] ; e12d9 Jumptable_e12d9: ; e12d9 dw Functione12db ; e12db Functione12db: ; e12db ld a, [hJoyPressed] and START jp nz, Functione13de ld a, [hJoyPressed] and A_BUTTON jp nz, Functione1376 ld hl, hJoyLast ld a, [hl] and D_UP jr nz, .asm_e1301 ld a, [hl] and D_DOWN jr nz, .asm_e130d ld a, [hl] and D_LEFT jr nz, .asm_e1325 ld a, [hl] and D_RIGHT jr nz, .asm_e1345 ret .asm_e1301 ld hl, wcf65 ld a, [hl] cp $6 ret c sub $6 ld [hl], a jr .asm_e1364 .asm_e130d ld hl, wcf65 ld a, [hl] cp $19 ret z cp $1a ret z cp $1b ret z cp $1c ret z cp $1e ret nc add $6 ld [hl], a jr .asm_e1364 .asm_e1325 ld hl, wcf65 ld a, [hl] and a ret z cp $6 ret z cp $c ret z cp $12 ret z cp $18 ret z cp $1e ret z cp $23 jr z, .asm_e1341 dec [hl] jr .asm_e1364 .asm_e1341 ld [hl], $1e jr .asm_e1364 .asm_e1345 ld hl, wcf65 ld a, [hl] cp $5 ret z cp $b ret z cp $11 ret z cp $17 ret z cp $1d ret z cp $23 ret z cp $1e jr z, .asm_e1362 inc [hl] jr .asm_e1364 .asm_e1362 ld [hl], $23 .asm_e1364 ld a, [wcf64] and a jr nz, .asm_e136f ld de, SFX_POUND jr .asm_e1372 .asm_e136f ld de, SFX_MOVE_PUZZLE_PIECE .asm_e1372 call PlaySFX ret ; e1376 Functione1376: ; e1376 ld a, [wcf64] and a jr nz, .asm_e139f call Functione1475 and a jr z, Functione13e4 ld de, SFX_MEGA_KICK call PlaySFX ld [hl], $0 ld [wcf66], a call Functione14d9 call Functione1441 call WaitBGMap call WaitSFX ld a, $1 ld [wcf64], a ret .asm_e139f call Functione1475 and a jr nz, Functione13e4 ld de, SFX_PLACE_PUZZLE_PIECE_DOWN call PlaySFX ld a, [wcf66] ld [hl], a call Functione141f call WaitBGMap xor a ld [wcf66], a call Functione14d9 xor a ld [wcf64], a call WaitSFX call Functione14a0 ret nc call Functione128d call ClearSprites ld de, SFX_1ST_PLACE call PlaySFX call WaitSFX call SimpleWaitPressAorB ld a, $1 ld [wd0ec], a Functione13de: ; e13de ld hl, wJumptableIndex set 7, [hl] ret Functione13e4: ; e13e4 ld de, SFX_WRONG call PlaySFX call WaitSFX ret ; e13ee Functione13ee: ; e13ee ld de, SCREEN_WIDTH .asm_e13f1 push bc push hl .asm_e13f3 ld [hli], a dec c jr nz, .asm_e13f3 pop hl add hl, de pop bc dec b jr nz, .asm_e13f1 ret ; e13fe Functione13fe: ; e13fe xor a ld [wcf65], a ld c, $24 .asm_e1404 push bc call Functione1475 ld [wcf66], a and a jr z, .asm_e1413 call Functione141f jr .asm_e1416 .asm_e1413 call Functione1441 .asm_e1416 ld hl, wcf65 inc [hl] pop bc dec c jr nz, .asm_e1404 ret ; e141f Functione141f: ; e141f ld a, $2 call Functione1463 ld a, [hli] ld h, [hl] ld l, a push hl call Functione1481 pop hl ld de, SCREEN_WIDTH ld b, $3 .asm_e1431 ld c, $3 push hl .asm_e1434 ld [hli], a inc a dec c jr nz, .asm_e1434 add $9 pop hl add hl, de dec b jr nz, .asm_e1431 ret ; e1441 Functione1441: ; e1441 ld a, $2 call Functione1463 ld a, [hli] ld h, [hl] ld l, a push hl ld a, $4 call Functione1463 ld a, [hl] pop hl ld de, SCREEN_WIDTH ld b, $3 .asm_e1456 ld c, $3 push hl .asm_e1459 ld [hli], a dec c jr nz, .asm_e1459 pop hl add hl, de dec b jr nz, .asm_e1456 ret ; e1463 Functione1463: ; e1463 ld e, a ld d, 0 ld hl, Unknown_e1559 add hl, de ld a, [wcf65] ld e, a rept 4 add hl, de endr rept 2 add hl, de endr ret ; e1475 Functione1475: ; e1475 ld hl, wc6d0 ld a, [wcf65] ld e, a ld d, $0 add hl, de ld a, [hl] ret ; e1481 Functione1481: ; e1481 ld a, [wcf66] ld hl, Unknown_e148f add l ld l, a ld a, $0 adc h ld h, a ld a, [hl] ret ; e148f Unknown_e148f: ; e148f db $e0 db $00, $03, $06, $09 db $24, $27, $2a, $2d db $48, $4b, $4e, $51 db $6c, $6f, $72, $75 ; e14a0 Functione14a0: ; e14a0 ld hl, Unknown_e14b5 ld de, wc6d0 ld c, $24 .asm_e14a8 ld a, [de] cp [hl] jr nz, .asm_e14b3 inc de inc hl dec c jr nz, .asm_e14a8 scf ret .asm_e14b3 and a ret ; e14b5 Unknown_e14b5: ; e14b5 db $00, $00, $00, $00, $00, $00 db $00, $01, $02, $03, $04, $00 db $00, $05, $06, $07, $08, $00 db $00, $09, $0a, $0b, $0c, $00 db $00, $0d, $0e, $0f, $10, $00 db $00, $00, $00, $00, $00, $00 ; e14d9 Functione14d9: ; e14d9 call Functione1481 ld [wd002], a xor a call Functione1463 ld a, [hli] ld b, [hl] ld c, a ld a, [wd002] cp $e0 jr z, .asm_e14f2 ld hl, Unknown_e150f jr .asm_e14f5 .asm_e14f2 ld hl, Unknown_e1534 .asm_e14f5 ld de, Sprites .asm_e14f8 ld a, [hli] cp $ff ret z add b ld [de], a inc de ld a, [hli] add c ld [de], a inc de ld a, [wd002] add [hl] ld [de], a inc hl inc de ld a, [hli] ld [de], a inc de jr .asm_e14f8 ; e150f Unknown_e150f: ; e150f db $f4, $f4, $00, $00 db $f4, $fc, $01, $00 db $f4, $04, $02, $00 db $fc, $f4, $0c, $00 db $fc, $fc, $0d, $00 db $fc, $04, $0e, $00 db $04, $f4, $18, $00 db $04, $fc, $19, $00 db $04, $04, $1a, $00 db $ff Unknown_e1534: ; e1534 db $f4, $f4, $00, $00 db $f4, $fc, $01, $00 db $f4, $04, $00, $20 db $fc, $f4, $02, $00 db $fc, $fc, $03, $00 db $fc, $04, $02, $20 db $04, $f4, $00, $40 db $04, $fc, $01, $40 db $04, $04, $00, $60 db $ff Unknown_e1559: ; e1559 macro_e1559: macro db \1, \2 dwcoord \3, \4 db \5, \6 endm macro_e1559 $1c, $1c, 1, 0, $ee, $00 macro_e1559 $34, $1c, 4, 0, $ee, $00 macro_e1559 $4c, $1c, 7, 0, $ee, $00 macro_e1559 $64, $1c, 10, 0, $ee, $00 macro_e1559 $7c, $1c, 13, 0, $ee, $00 macro_e1559 $94, $1c, 16, 0, $ee, $00 macro_e1559 $1c, $34, 1, 3, $ee, $00 macro_e1559 $34, $34, 4, 3, $ef, $00 macro_e1559 $4c, $34, 7, 3, $ef, $00 macro_e1559 $64, $34, 10, 3, $ef, $00 macro_e1559 $7c, $34, 13, 3, $ef, $00 macro_e1559 $94, $34, 16, 3, $ee, $00 macro_e1559 $1c, $4c, 1, 6, $ee, $00 macro_e1559 $34, $4c, 4, 6, $ef, $00 macro_e1559 $4c, $4c, 7, 6, $ef, $00 macro_e1559 $64, $4c, 10, 6, $ef, $00 macro_e1559 $7c, $4c, 13, 6, $ef, $00 macro_e1559 $94, $4c, 16, 6, $ee, $00 macro_e1559 $1c, $64, 1, 9, $ee, $00 macro_e1559 $34, $64, 4, 9, $ef, $00 macro_e1559 $4c, $64, 7, 9, $ef, $00 macro_e1559 $64, $64, 10, 9, $ef, $00 macro_e1559 $7c, $64, 13, 9, $ef, $00 macro_e1559 $94, $64, 16, 9, $ee, $00 macro_e1559 $1c, $7c, 1, 12, $ee, $00 macro_e1559 $34, $7c, 4, 12, $ef, $00 macro_e1559 $4c, $7c, 7, 12, $ef, $00 macro_e1559 $64, $7c, 10, 12, $ef, $00 macro_e1559 $7c, $7c, 13, 12, $ef, $00 macro_e1559 $94, $7c, 16, 12, $ee, $00 macro_e1559 $1c, $94, 1, 15, $ee, $00 macro_e1559 $34, $94, 4, 15, $ee, $00 macro_e1559 $4c, $94, 7, 15, $ee, $00 macro_e1559 $64, $94, 10, 15, $ee, $00 macro_e1559 $7c, $94, 13, 15, $ee, $00 macro_e1559 $94, $94, 16, 15, $ee, $00 Functione1631: ; e1631 ld hl, VTiles2 ld de, VTiles0 ld b, $6 .asm_e1639 push bc push hl push hl call Functione1654 pop hl ld bc, 8 add hl, bc call Functione1654 pop hl ld bc, $60 add hl, bc pop bc dec b jr nz, .asm_e1639 call Functione16c7 ret ; e1654 Functione1654: ; e1654 ld c, $6 .asm_e1656 push bc push hl push hl ld c, $4 .asm_e165b push bc ld a, [hli] and $f0 swap a call Functione16aa ld c, a ld a, [hli] and $f0 swap a call Functione16aa ld b, a ld a, c ld [de], a inc de ld a, b ld [de], a inc de ld a, c ld [de], a inc de ld a, b ld [de], a inc de pop bc dec c jr nz, .asm_e165b pop hl ld c, $4 .asm_e1681 push bc ld a, [hli] and $f call Functione16aa ld c, a ld a, [hli] and $f call Functione16aa ld b, a ld a, c ld [de], a inc de ld a, b ld [de], a inc de ld a, c ld [de], a inc de ld a, b ld [de], a inc de pop bc dec c jr nz, .asm_e1681 pop hl ld bc, $10 add hl, bc pop bc dec c jr nz, .asm_e1656 ret ; e16aa Functione16aa: ; e16aa push hl ld hl, Unknown_e16b7 add l ld l, a ld a, 0 adc h ld h, a ld a, [hl] pop hl ret ; e16b7 Unknown_e16b7: ; e16b7 db $00, $03, $0c, $0f db $30, $33, $3c, $3f db $c0, $c3, $cc, $cf db $f0, $f3, $fc, $ff ; e16c7 Functione16c7: ; e16c7 ld hl, Unknown_e1703 ld a, $8 .asm_e16cc push af push hl ld a, [hli] ld e, a ld a, [hli] ld d, a ld a, [hli] ld h, [hl] ld l, a call Functione16e2 pop hl rept 4 inc hl endr pop af dec a jr nz, .asm_e16cc ret ; e16e2 Functione16e2: ; e16e2 lb bc, 4, 4 .asm_e16e5 push bc .asm_e16e6 push de push hl ld b, $10 .asm_e16ea ld a, [de] or [hl] ld [hli], a inc de dec b jr nz, .asm_e16ea pop hl ld de, $30 add hl, de pop de dec c jr nz, .asm_e16e6 ld bc, $180 add hl, bc pop bc dec b jr nz, .asm_e16e5 ret ; e1703 Unknown_e1703: ; e1703 dw GFX_e1723 + $00, $8000 dw GFX_e1723 + $10, $8010 dw GFX_e1723 + $20, $8020 dw GFX_e1723 + $30, $80c0 dw GFX_e1723 + $40, $80e0 dw GFX_e1723 + $50, $8180 dw GFX_e1723 + $60, $8190 dw GFX_e1723 + $70, $81a0 ; e1723 GFX_e1723: ; e1723 INCBIN "gfx/unknown/0e1723.2bpp" Functione17a3: ; e17a3 ld a, [ScriptVar] and 3 ld e, a ld d, 0 ld hl, Unknown_e17bd rept 2 add hl, de endr ld a, [hli] ld h, [hl] ld l, a ld de, VTiles2 call Decompress call Functione1631 ret ; e17bd Unknown_e17bd: ; e17bd dw LZ_e1bab dw LZ_e1c9b dw LZ_e19fb dw LZ_e18ab ; e17c5 GFX_e17c5: ; e17c5 INCBIN "gfx/unknown/0e17c5.2bpp" LZ_e1805: ; e1805 INCBIN "gfx/unknown/0e1805.2bpp.lz" LZ_e18ab: ; e18ab INCBIN "gfx/unknown/0e18ab.2bpp.lz" LZ_e19fb: ; e19fb INCBIN "gfx/unknown/0e19fb.2bpp.lz" LZ_e1bab: ; e1bab INCBIN "gfx/unknown/0e1bab.2bpp.lz" LZ_e1c9b: ; e1c9b INCBIN "gfx/unknown/0e1c9b.2bpp.lz"